Teradata Database SQL デー タ 制御言語 Release リ リ ース 15.0 B035-1149-015K-JPN 2014 年 3 月 本書に記載 さ れてい る 製品は、 Teradata Corporation ま たはその関連会社が ラ イ セ ン ス を有する 製品です。 Teradata、 Active Data Warehousing、 Active Enterprise Intelligence、 Applications-Within、 Aprimo Marketing Studio、 Aster、 BYNET、 Claraview、 DecisionCast、 Gridscale、 MyCommerce、 SQL-MapReduce、 Teradata Decision Experts、 Teradata Labs ロ ゴ、 Teradata ServiceConnect、 Teradata Source Experts、 WebAnalyst、 お よ び Xkoto は、 Teradata Corporation ま たはその関連会社の米国お よ びその 他の国におけ る 商標ま たは登録商標です。 Adaptec お よ び SCSISelect は、 Adaptec, Inc. の商標ま たは登録商標です。 AMD Opteron お よ び Opteron は、 Advanced Micro Devices, Inc. の商標です。 Apache、 Apache Hadoop、 Hadoop、 お よ び黄色い象の ロ ゴは、 Apache Software Foundation の米国お よ びその他の国におけ る 登録商 標ま たは商標です。 Apple、 Mac、 お よ び OS X すべては、 Apple Inc. の登録商標です。 Axeda は、 Axeda Corporation の登録商標です。 Axeda Agents、 Axeda Applications、 Axeda Policy Manager、 Axeda Enterprise、 Axeda Access、 Axeda Software Management、 Axeda Service、 Axeda ServiceLink、 お よ び Firewall-Friendly は、 Axeda Corporation の商標であ り 、 Maximum Results お よ び Maximum Support は、 Axeda Corporation の役務商標です。 Data Domain、 EMC、 PowerPath、 SRDF、 お よ び Symmetrix は、 EMC Corporation の登録商標です。 GoldenGate は、 Oracle の商標です。 Hewlett-Packard お よ び HP は、 Hewlett-Packard Company の登録商標です。 Hortonworks、 Hortonworks ロ ゴお よ びその他の Hortonworks 商標は、 Hortonworks Inc. の米国お よ びその他の国におけ る 商標です。 Intel、 Pentium、 お よ び XEON は、 Intel Corporation の登録商標です。 IBM、 CICS、 RACF、 Tivoli、 お よ び z/OS は、 International Business Machines Corporation の登録商標です。 Linux は、 Linus Torvalds の登録商標です。 LSI は、 LSI Corporation の登録商標です。 Microsoft、 Active Directory、 Windows、 Windows NT、 お よ び Windows Server は、 Microsoft Corporation の米国お よ びその他の国にお け る 登録商標です。 NetVault は、 Dell, Inc. の米国ま たはその他の国におけ る 商標ま たは登録商標です。 Novell お よ び SUSE は、 Novell, Inc. の米国お よ びその他の国におけ る 登録商標です。 Oracle、 Java、 お よ び Solaris は、 Oracle ま たはその関連会社の登録商標です。 QLogic お よ び SANbox は、 QLogic Corporation の商標ま たは登録商標です。 Quantum お よ び Quantum ロ ゴは、 Quantum Corporation の商標であ り 、 米国お よ びその他の国で登録 さ れてい ます。 Red Hat は、 Red Hat, Inc. の商標であ り 、 米国お よ びその他の国で登録 さ れてい ます。 ラ イ セン ス に基づいて使用 さ れます。 SAS お よ び SAS/C は、 SAS Institute Inc. の商標ま たは登録商標です。 SPARC は、 SPARC International, Inc. の登録商標です。 Symantec、 NetBackup、 お よ び VERITAS は、 Symantec Corporation ま たはその関連会社の米国お よ びその他の国におけ る 商標ま た は登録商標です。 Unicode は、 Unicode, Inc. の米国お よ びその他の国におけ る 登録商標です。 UNIX は、 The Open Group の米国お よ びその他の国におけ る 登録商標です。 その他記載 さ れてい る 製品名お よ び企業名は、 各社の商標です。 本書に記載 さ れてい る 情報は、 「現状の ま ま」 提供 さ れ、 商用お よ び特定の用途での使用に対す る 適合性、 ま た は権利侵害がない こ と に関す る 暗黙的な保証を含め、 明示的ま たは暗黙的なすべての保証は一切あ り ません。 一 部の法域では暗黙的保証の除外を許可 し ないため、 上記制限が適用 さ れない こ と があ り ます。 いかな る 場合 も TERADATA CORPORATION は、 逸失利益ま たは逸失財産を含む、 あ ら ゆ る 間接的、 直接的、 特殊、 付随的、 ま たは 必然的な損害に対 し 、 た と えその よ う な損害の可能性を明示的に通知 さ れていた と し て も 、 責任を負 う こ と はあ り ません。 本書に記載 さ れてい る 情報は、 日本では発表 さ れていないか も し く は利用で き ない機能、 製品やサービ ス を参照ま たは相互参照 し てい る 場合があ り ます。 こ れ ら の参照は、 必ず し も Teradata Corporation が日本で こ れ ら の機能、 製品やサービ ス を発表す る 意図 があ る こ と を意味す る も のではあ り ません。 日本で利用可能な機能、 製品やサービ ス については、 日本テ ラ デー タ 株式会社の担 当者に確認 く だ さ い。 本書に記載 さ れてい る 情報には、 技術的に不正確な記述ま たは誤植が含まれてい る 可能性があ り ます。 本書の情報は、 予告な し に変更ま たは更新 さ れ る 場合があ り ます。 ま た、 Teradata Corporation は、 本書に記載 さ れてい る 製品やサービ ス を随時予告な し に 改良ま たは変更す る こ と がで き ます。 製品お よ びサービ ス の品質を維持す る ため、 本書の正確性、 明瞭性、 構成、 有用性について コ メ ン ト を頂け る と 幸いです。 次の ア ド レ ス に E メ ールで連絡 く だ さ い。 [email protected] Teradata Corporation に送 ら れた コ メ ン ト や資料 ( 「フ ィ ー ド バ ッ ク 」 と 総称す る ) は、 機密情報 と は見な さ れません。 Teradata Corporation は、 フ ィ ー ド バ ッ ク に関 し ていかな る 種類の義務 も 負わず、 フ ィ ー ド バ ッ ク と その派生物を無償で制限な し に使用、 複製、 開示、 公開、 表示、 変換、 派生物の作成、 お よ び配布で き る も の と し ます。 さ ら に、 Teradata Corporation は、 その よ う な フ ィ ー ド バ ッ ク に含まれ る 、 あ ら ゆ る 考え、 概念、 ノ ウ ハ ウ や技術を、 フ ィ ー ド バ ッ ク を組み込んだ製品やサービ ス の開発、 製 造、 ま たは販売を含め、 ど の よ う な目的にで も 自由に使用で き る も の と し ます。 Copyright © 2000-2014 by Teradata. All Rights Reserved. ま えがき 目的 こ のマニ ュ アルでは、 シ ス テ ム内のデー タ ベース ・ オブジ ェ ク ト やデー タ へのア ク セ ス を管理す る ために使用 さ れ る 、 Teradata SQL デー タ 制御言語 (DCL) 文について 説明 し ます。 Teradata SQL は ANSI 準拠製品です。 Teradata では言語を独自に拡張 し てい ます。 Teradata Database セキ ュ リ テ ィ の詳細については、 < セキ ュ リ テ ィ 管理ガ イ ド > を 参照 し て く だ さ い。 対象読者 こ のマニ ュ アルは以下の読者を対象 と し ます。 • ユーザー権限の定義を通 し てデー タ ベース ・ ア ク セ ス を制御す る こ と が許可 さ れた管理者お よ びその他のデー タ ベース ・ ユーザー • Teradata Database の設計 と 保守を担当す る Teradata 技術担当者 サポー ト さ れる ソ フ ト ウ ェ ア ・ リ リ ース と オペ レ ー テ ィ ン グ ・ シ ス テム こ のマニ ュ アルは、 Teradata® Database 15.0 用です。 Teradata Database 15.0 は、 以下のオペレーテ ィ ン グ ・ シ ス テ ムでサポー ト さ れてい ます。 • SUSE Linux Enterprise Server 10 SP3 • SUSE Linux Enterprise Server 11 SP1 Teradata Database ク ラ イ ア ン ト ・ アプ リ ケーシ ョ ンは他のオペレーテ ィ ン グ ・ シ ス テ ムに対応 し てい ます。 SQL デー タ 制御言語 3 ま えが き こ のマニ ュ アルの改訂内容 こ のマ ニ ュ アルの改訂内容 リ リ ース 説明 Teradata Database 15.0 GRANT(SQL 形式 ) 構文図お よ び CTCONTROL の表を更新 し ま し た。 2014 年 3 月 GRANT(SQL 形式 ) 構文図および表か ら REPLCONTROL を 削除 し 、 テ キ ス ト 全体か ら その参照を削除 し ま し た。 追加情報 URL 説明 www.info.teradata.com/ 「Teradata Information Products Publishing Library」 サ イ ト で は、 英語版について以下が可能です。 • マニ ュ アルを表示ま たはダ ウ ン ロ ー ド し ます。 1 [Downloadable Publications] で [General Search] を 選択 し ます。 2 検索基準を入力 し て、 [Search] を ク リ ッ ク し ます。 • マニ ュ アル CD-ROM を ダ ウ ン ロ ー ド し ます。 1 [Downloadable Publications] で [General Search] を 選択 し ます。 2 [Title or Keyword] フ ィ ール ド で CD-ROM と 入力 し 、 [Search] を ク リ ッ ク し ます。 www.teradata.com Teradata ホームページには、 Teradata に関す る 情報を得 る ための リ ン ク が多数用意 さ れてい ます。 次の リ ン ク があ り ます。 • エグゼ ク テ ィ ブ ・ レ ポー ト 、 ホ ワ イ ト ・ ペーパー、 Teradata 導入企業の事例研究、 お よ び ソ ー ト ・ リ ー ダーシ ッ プ • 技術情報、 ソ リ ュ ーシ ョ ン、 お よ び専門的ア ド バ イ ス • プ レ ス ・ リ リ ース、 関連記事、 お よ び メ デ ィ ア ・ リ ソ ース 4 www.teradata.com/t/TEN/ Teradata Customer Education では、 お客様の Teradata への 投資を最大化すべ く 、 お客様の技能 と 能力を構築す る た めの ト レーニ ン グ を提供 し てい ます。 tays.teradata.com/ Teradata @ Your Service を利用すれば、 オ レ ン ジ ・ ブ ッ ク 、 テ ク ニ カル ・ ア ラ ー ト 、 ナ レ ッ ジ ・ リ ポジ ト リ の参 照、 フ ォ ー ラ ムの閲覧 と 参加、 ソ フ ト ウ ェ ア ・ パ ッ チの ダ ウ ン ロ ー ド を行な う こ と がで き ます。 SQL デー タ 制御言語 ま えが き 製品安全情報 URL 説明 developer.teradata.com/ Teradata Developer Exchange では、 Teradata 製品の使い 方、 技術検討フ ォ ー ラ ム、 コ ー ド のダ ウ ン ロ ー ド な ど の コ ーナーを提供 し てい ます。 製品お よ びサービ ス の品質を維持す る ため、 本書の正確性、 明瞭性、 構成、 有用性 について コ メ ン ト を頂け る と 幸いです。 次のア ド レ ス に E メ ールで連絡 く だ さ い。 [email protected] 製品安全情報 こ のマニ ュ アルには、 数種類の製品の安全に関す る 注意書 き が記載 さ れてい る 場合 があ り ます。 安全情報の種類 説明 注記 注意を怠 る と 、 機器やデー タ な ど の財産に損傷を与え る 恐れがあ る が、 人がケガ をす る 恐れはない状況を示 し ます。 注意 注意を怠 る と 、 人が軽微な ケ ガ ま たは中程度のケガ をす る 恐れが あ る 危険な状況を示 し ます。 警告 回避 し なか っ た場合、 死亡や重大な怪我が生 じ る 可能性のあ る 危 険な状況を示 し ます。 例: 注記 : Reconfiguration ユーテ ィ リ テ ィ を不適切に使用す る と 、 デー タ が失われ る おそれが あ り ます。 注意 : ド ラ イ ブ ・ ト レ イ ・ シ ャ シーの重量は約 28.6 kg (63 lb) です。 すべての ド ラ イ ブお よ びモジ ュ ールが取 り 外 さ れ る ま で、 シ ャ ーシの取 り 外 し や取 り 付け を行なわない で く だ さ い。 警告 : 感電の危険 ! 修理前は常に電源ま たはフ ァ ン ・ モジ ュ ールに電力が残っ ていない よ う に し て く だ さ い。 Teradata Database のオ プ シ ョ ン機能 こ のマニ ュ アルには、 Teradata Database の以下のオプシ ョ ン機能 と 製品に関す る 説 明が含まれてい る 場合があ り ます。 • Teradata Columnar • Teradata 行レベル ・ セキ ュ リ テ ィ • Teradata SQL-H SQL デー タ 制御言語 5 ま えが き Teradata Database のオプシ ョ ン機能 • Teradata Temporal • Teradata Virtual Storage (VS) • Unity Source Link こ れ ら の機能は適切な ラ イ セ ン ス がない と 使用で き ません。 こ れ ら の機能が製品 メ デ ィ アに含まれていた り 、 ダ ウ ン ロ ー ド で き た り し て も 、 ま たは入手 し た資料で説 明 さ れていた と し て も 、 適切な ラ イ セン ス な し ではそれ ら の機能を使用で き ません。 オプシ ョ ン機能の購入お よ び有効化については、 Teradata 営業担当者ま で ご連絡 く だ さ い。 6 SQL デー タ 制御言語 目次 ま えがき . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 対象読者 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 サポー ト さ れ る ソ フ ト ウ ェ ア ・ リ リ ース と オペレーテ ィ ン グ ・ シ ス テ ム . . . . . . . . . 3 こ のマニ ュ アルの改訂内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 追加情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 製品安全情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Teradata Database のオプシ ョ ン機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 第 1 章 : Teradata Database 権限 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 デー タ ベース権限について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 権限レベル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 ユーザー権限の種類 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 ユーザー権限以外の権限 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 第 2 章 : 文の構文規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 GIVE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 GRANT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 GRANT (MONITOR 形式 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 GRANT ( ロ ール形式 ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 GRANT (SQL 形式 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 GRANT CONNECT THROUGH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 GRANT LOGON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 REVOKE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 REVOKE (MONITOR 形式 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 REVOKE ( ロ ール形式 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 REVOKE (SQL 形式 ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 REVOKE CONNECT THROUGH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 REVOKE LOGON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 SQL デー タ 制御言語 7 目次 付録 A: 表記法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133 構文図の規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 こ のマニ ュ アルで使用 し てい る 文字簡略表記 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 付録 B: 権限デ ィ ク シ ョ ナ リ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141 権限 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 単一のキー ワー ド に よ る 複数の権限 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 必要な DBC 権限 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 デフ ォ ル ト PUBLIC 権限 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 デー タ ベース管理に必要な権限 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 ユーザーの権限の判別 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 用語集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163 索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171 8 SQL デー タ 制御言語 第1章: Teradata Database 権限 こ の章では、 Teradata Database の各種権限について概説 し 、 それぞれの権限でサ ポー ト さ れてい る ア ク セ ス制御 ( セキ ュ リ テ ィ ) の タ イ プ を要約 し ます。 デー タ ベース権限につい て デー タ ベース権限 と は、 デー タ ベース ・ オブジ ェ ク ト やデー タ にア ク セ ス し た り 、 そのオブジ ェ ク ト やデー タ を操作 し た り す る ための許可の こ と です。 Teradata Database で可能なほ と ん どすべての処理において、 特定の権限が必要 と さ れます。 権限は 「ア ク セ ス権」 ま たは 「許可」 と 呼ばれる こ と があ り ますが、 こ のマニ ュ アル では、 ANSI/ISO SQL:2011 仕様に準拠 し て 「権限」 と い う 語を使用 し てい ます。 管理者は Teradata Database 権限を使用 し て、 デー タ ベース ・ オブジ ェ ク ト やデー タ へのア ク セ ス を制御 し た り 、 ユーザーが使用可能な ア ク シ ョ ンやア ク テ ィ ビ テ ィ の タ イ プを制御 し た り し ます。 権限の完全な リ ス ト については、 < セキ ュ リ テ ィ 管理 ガ イ ド > の 「Appendix B Privilege Dictionary ( 付録 B 権限デ ィ ク シ ョ ナ リ )」 を参照 し て く だ さ い。 こ れ ら の権限は、 ど のユーザーが次の こ と を実行で き る かを制御す る ために使用 し ます。 • 特定のデー タ ベース ・ オブジ ェ ク ト お よ びデー タ のア ク セ ス、 作成、 変更、 ま たは削除 • 特定のマ ク ロ 、 ス ト ア ド ・ プ ロ シージ ャ 、 お よ び UDF の実行 • シ ス テ ム全体のア ク テ ィ ビ テ ィ のモニ タ ー • 他のユーザーに対す る 権限付与 Teradata デー タ 制御言語 (DCL) 要求は、 ユーザーが こ れ ら のア ク シ ョ ンやア ク テ ィ ビ テ ィ を実行で き る よ う にす る 権限を付与 し た り 、 取 り 消 し た り し ます。 必要な権限 権限を付与す る には、 ユーザーがオブジ ェ ク ト に対す る 権限 と 権限を付与す る 権 利を持っ てい る 必要があ り ます。 SQL デー タ 制御言語 9 第 1 章 : Teradata Database 権限 権限レベル 権限 レ ベル Teradata Database は以下をサポー ト し てい ます。 • シ ス テ ム ・ レベルの権限。 以下の ト ピ ッ ク を参照 し て く だ さ い。 • オブジ ェ ク ト ・ レベルの権限。 「オブジ ェ ク ト ・ レベルの権限」 (10 ページ ) を 参照 し て く だ さ い。 • デー タ ベース • 表 • 行ま たは列 • その他のオブジ ェ ク ト ・ タ イ プ • 行レベルの権限。 「行レベルの権限」 (11 ページ ) を参照 し て く だ さ い。 シ ス テム ・ レベルの権限 シ ス テ ム ・ レ ベルの権限は、 シ ス テ ム全体に適用 さ れ、 デー タ ベー ス ・ オブジ ェ ク ト に対 し て定義す る こ と はで き ません。 通常、 こ の権限は管理者が使用 し ます。 シ ス テ ム ・ レベルの権限には次の も のがあ り ます。 • CONSTRAINT ASSIGNMENT • CONSTRAINT DEFINITION • CREATE ROLE • CREATE PROFILE • CTCONTROL • DROP ROLE • DROP PROFILE • MONITOR • ABORTSESSION • MONRESOURCE • MONSESSION • SETRESRATE • SETSESSRATE オブ ジ ェ ク ト ・ レベルの権限 Teradata Database のオブジ ェ ク ト ・ レベルの権限は以下に対 し て付与で き ます。 • デー タ ベース ・ オブジ ェ ク ト ( デー タ ベース、 表、 列お よ びその他のオブジ ェ ク ト ) に対 し て。 • デー タ ベース ・ オブジ ェ ク ト の作成者ま たは所有者に よ り 、 他のユーザーに対 し て シ ス テ ムに よ っ て自動的にオブジ ェ ク ト 作成者 と オブジ ェ ク ト 所有者に付 与 さ れ る 権限については、 < デー タ ベース の管理 > の 「自動的に付与 さ れ る 権 限」 のセ ク シ ョ ン を参照 し て く だ さ い。 10 SQL デー タ 制御言語 第 1 章 : Teradata Database 権限 権限レベル オブジ ェ ク ト に対す る 権限が付与 さ れた後、 ユーザーはその権限に よ っ て許可 さ れ る 特定のア ク シ ョ ン を オブジ ェ ク ト に対 し て実行で き ます。 行レベルの権限 表やビ ュ ーな ど の Teradata Database オブジ ェ ク ト へのア ク セ ス は、 主に、 オブジ ェ ク ト ・ レベルのユーザー権限に基づ き ます。 オブジ ェ ク ト ・ レベルの権限は、 基本 的な ア ク セ ス制御を提供 し ますが、 自由裁量に任 さ れます。 つま り 、 オブジ ェ ク ト 所有者には、 自動的に、 所有す る オブジ ェ ク ト に対す る ア ク セ ス権を他のユーザー に付与す る 権利が与え ら れます。 オブジ ェ ク ト ・ レベルの権限に加え て、 Teradata 行レベル ・ セキ ュ リ テ ィ (RLS) を 使用 し て、 SQL 操作に よ る 表の行単位のユーザー ・ ア ク セ ス を制御で き ます。 RLS ア ク セ ス ・ ルールは、 各ユーザーの RLS ア ク セ ス権限 と 各行の RLS ア ク セ ス要件 の比較に基づ き ます。 オブジ ェ ク ト 所有者は、 行ア ク セ ス権を他のユーザーに付与す る ための任意裁量権 限を持っ てい ません。 行レベルのア ク セ ス制御を管理で き る のはセキ ュ リ テ ィ 制約 管理権限を持つユーザーだけです。 通常、 政府機関はセキ ュ リ テ ィ ・ ラ ベル ( 分類 ) を作成 し 、 それ ら を使用 し てユー ザー ・ ア ク セ ス権限 と 行ア ク セ ス要件を定義 し ます。 行レベル ・ セキ ュ リ テ ィ のセ ッ ト ア ッ プ方法の詳細については、 < セキ ュ リ テ ィ 管理 ガ イ ド > を参照 し て く だ さ い。 行レベル ・ セキ ュ リ テ ィ の要素に関する情報が格納 さ れる場所 現在のすべての行レベル ・ セキ ュ リ テ ィ 制約、 制約の割 り 当てお よ び制約関数に関 す る 情報は、 以下の < デー タ ・ デ ィ ク シ ョ ナ リ > 表に格納 さ れます。 情報 デー タ ・ デ ィ ク シ ョ ナ リ 表 行レベル ・ セキ ュ リ テ ィ 制約の名前 と 値 DBC.SecConstraints ( 名前 ) DBC.ConstraintValues SQL デー タ 制御言語 行レベル ・ セキ ュ リ テ ィ 制約 と 文ア ク シ ョ ン用の制約 関数 DBC.ConstraintFunctions 行レベル ・ セキ ュ リ テ ィ 制約値の現在の割当て DBC.AsgdSecConstraints 11 第 1 章 : Teradata Database 権限 ユーザー権限の種類 ユーザー権限の種類 すべてのデー タ ベース権限は暗黙的か明示的のいずれかです。 暗黙的権限 権限 説明 所有権 Teradata Database は、 デー タ ベース ・ オブジ ェ ク ト に対す る 暗黙的権限を そ のオブジ ェ ク ト が含まれ る 領域の所有者に付与 し ます。 権限 説明 自動 ユーザーがデー タ ベース ・ オブジ ェ ク ト を作成す る と 、 Teradata Database に よ っ て自動的に以下に権限が付与 さ れます。 明示的権限 • オブジ ェ ク ト の作成者 • 新 し く 作成 さ れたユーザーま たはデー タ ベース 付与 次の よ う に権限を付与で き ます。 • ユーザーま たはデー タ ベース に直接付与す る • ロ ールに付与 し てか ら 、 その ロ ール内の メ ンバーシ ッ プ を 1 人以上の ユーザーに付与す る • 外部 ロ ールに付与 し てか ら 、 その ロ ールを 1 つ以上のデ ィ レ ク ト リ ・ ユーザーのグループにマ ッ プす る 継承 ユーザーが間接的に取得す る 権限 : • すべてのユーザーに、 自動的に、 ロ ールに似たデフ ォ ル ト 権限の集合で あ る PUBLIC の権限が付与 さ れ ます。 PUBLIC の権限 も 付与 し た り 、 取 り 消 し た り で き ます。 • ユーザーは、 それが属 し てい る ロ ールに付与 さ れたすべての権限を継承 し ます。 • デ ィ レ ク ト リ ・ ユーザーは、 デー タ ベース ・ ユーザー と それ ら がマ ッ プ さ れた外部 ロ ールの権限を継承 し ます。 12 SQL デー タ 制御言語 第 1 章 : Teradata Database 権限 詳細情報 権限 説明 割 り 当て セキ ュ リ テ ィ 制約に よ っ て、 対応す る セ キ ュ リ テ ィ 制約列で保護 さ れた表の 行へのユーザー ・ ア ク セ ス が定義 さ れ ます。 CONSTRAINT オブジ ェ ク ト 内のセキ ュ リ テ ィ 制約を以下に割 り 当て る こ と がで き ます。 • ユーザー。 以下で CONSTRAINT オブジ ェ ク ト を指定す る こ と に よ っ て • CREATE USER 文ま たは MODIFY USER 文 • CREATE PROFILE ま たは MODIFY PROFILE 文 ( その後で、 ユーザー にプ ロ フ ァ イ ルを割 り 当て る ) 注 : ユーザーに行レベルのセキ ュ リ テ ィ 保護の省略を許可す る 制約 OVERRIDE 権限は、 GRANT OVERRIDE CONSTRAINT 文を使用 し て付与 さ れ ます。 • 表。 CREATE TABLE 文ま たは ALTER TABLE 文に含まれる CONSTRAINT オブジ ェ ク ト に対 し て指定 さ れた制約列を定義す る こ と に よ っ て。 詳細情報 特定の DCL 文の構文 と 必要な権限については、 第 2 章 : 「文の構文規則」 を参照 し て く だ さ い。 各種のユーザー ・ タ イ プ と 、 それ ら に付随す る 権限戦略については、 < セキ ュ リ テ ィ 管理ガ イ ド > を参照 し て く だ さ い。 ユーザー権限の確認 ユーザーま たは ロ ールに対 し て明示的に権限を付与す る 前に、 以下のデー タ ・ デ ィ ク シ ョ ナ リ ・ ビ ュ ーに ア ク セ ス し て、 すでに付与 さ れて い る 権限 を 確認 し て く だ さ い。 ビ ュー 含まれ る 情報 AllRightsV ユーザーご と に有効にな っ てい る 明示的な権限 と 自動的な 権限。 AllRoleRights ロ ールご と に有効にな っ てい る 明示的な権限。 RoleMembersV ロ ールご と の メ ンバー ( ユーザー )。 Teradata Database では、 所有権か ら 派生す る 権限につい ては記録 さ れな い ため、 それ ら の権限については DBC.AllRightsV では保守 さ れません。 データ ・ デ ィ ク シ ョ ナ リ ・ ビ ューの詳細については、 < デー タ ・ デ ィ ク シ ョ ナ リ > を 参照 し て く だ さ い。 SQL デー タ 制御言語 13 第 1 章 : Teradata Database 権限 ユーザー権限以外の権限 ユーザー権限以外の権限 次に示す よ う な場合には、 ユーザー以外のオブジ ェ ク ト に権限を割 り 当て る こ と が 必要にな る こ と があ り ます。 • 特定のユーザー ・ グループのデー タ ベース ・ ア ク セ ス要件に基づいて、 ロ ール に対 し て権限を付与す る こ と がで き ます。 その後で、 その ロ ールの メ ンバー シ ッ プを各ユーザーに個別に付与 し ます。 • 個別の ビ ュ ーのデー タ ベース を セ ッ ト ア ッ プす る と き には、 そのデー タ ベース に格納 さ れ る ビ ュ ーの基にな る 表に対す る デー タ ベース権限を付与す る 必要が あ り ます。 14 SQL デー タ 制御言語 第2章: 文の構文規則 こ の章では、 Teradata Database でサポー ト さ れてい る 権限を付与 し た り 、 取 り 消 し た り す る ための Teradata DCL 文について説明 し ます。 各文について以下の情報が提供 さ れます。 • 説明 • 構文 • ANSI/ISO SQL 規格への準拠 • 必要な権限 ( 文を使用す る のに必要な権限 ) • 使用例 SQL デー タ 制御言語 15 第 2 章 : 文の構文規則 GIVE GIVE 目的 GIVE 文は、 デー タ ベース ま たはユーザー領域の所有権を別のユーザーに譲渡 し ま す。 ま た、 譲渡 さ れたデー タ ベース ま たはユーザーが所有す る すべてのデー タ ベー ス と ユーザー も 譲渡 し ます。 構文 GIVE database_name TO recipient_name ; user_name FF07A025 説明 構文要素 指定内容 database_name user_name 所有権を譲 ら れ る 側のデー タ ベース ま たはユーザーの名前を指定 し ます。 TO こ の後に続 く 受領者の名前を指定 し ます。 recipient_name 譲 ら れたデー タ ベース ま たはユーザーの新 し い直接所有者の名前を 指定 し ます。 ANSI 準拠 GIVE は、 ANSI/ISO SQL:2011 規格の Teradata 拡張機能です。 その他の SQL 用語では、 TRANSFER OWNERSHIP な ど の同様の非 ANSI 規格文を サポー ト し てい ます。 必要な権限 指定 し たオブジ ェ ク ト に対す る DROP DATABASE 権限 と 、 受領者に対す る CREATE DATABASE 権限が必要です。 GIVE 文は、 特定のデー タ ベー ス ま たはユーザーに対す る ど の権限 も 取 り 消 し ま せん。 GIVE 文の結果 と し て、 与え ら れたデー タ ベース ま たはユーザーへの ど の明 示権限 も 新 し い所有権の階層構造に付与 さ れ る こ と はあ り ません。 ま た、 与え ら れ る デー タ ベース ま たはユーザー も 、 何の明示権限 も 受け取 り ません。 GIVE 文の受領者は、 与え ら れ る オブ ジ ェ ク ト に所有 さ れ る こ と はで き ま せん。 すなわち、 A が B を所有 し てい る のな ら 、 A を B に譲 る こ と はで き ません。 16 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GIVE スペース割 り 当て譲渡 所有権を譲渡す る と 、 指定 さ れたデー タ ベース ま たはユーザーに割 り 当て ら れた固 定領域 も 譲渡 さ れます。 こ れに よ り 、 シ ス テ ムの スペース割 り 当ては次の よ う な影 響を受け ます。 • 元の所有者 (GIVE 文を発行す る 所有者 と 、 階層構造内で こ の所有者 よ り 上位の 所有者 ) が利用で き る 固定領域のバ イ ト 総数は、 譲 ら れ る デー タ ベース の固定領 域のバ イ ト 数分減 ら さ れます。 こ れは、 デー タ ベース に割 り 当て ら れた総領域 に、 譲 ら れ る デー タ ベース が所有す る すべてのデー タ ベース と ユーザーを加え た も のです。 • 譲渡 さ れ る デー タ ベース が削除 さ れた場合、 譲渡 さ れたデー タ ベース の新 し い 直接所有者に割 り 当て ら れ る 固定領域のバ イ ト 数は、 削除 さ れたデー タ ベース の固定領域のバ イ ト 数分だけ増え ます。 さ ら に、 階層構造内で こ の所有者の上 位の所有者が利用で き る 固定領域の総バ イ ト 数は、 譲渡 さ れたデー タ ベース に 割 り 当て ら れていた固定領域のバ イ ト 数分だけ増え ます。 た と えば、 次の階層構造を考え ます。 DBC A (60) B (80) C (40) D (30) F (10) FF07A070 デー タ ベース C の所有権がデー タ ベース D に渡 さ れ る 場合、 その階層構造は、 次の よ う に変化 し ます。 DBC A (60) B (80) D (30) C (40) F (10) FF07A071 SQL デー タ 制御言語 17 第 2 章 : 文の構文規則 GIVE デー タ ベース C が譲渡 さ れた場合 : • C が所有す る デー タ ベース F も 譲渡 さ れます。 • デー タ ベース A に割 り 当てた固定領域のバ イ ト 数に変化はあ り ませんが、 デー タ ベース A で利用可能な固定領域の集約バ イ ト 数は 50 ( デー タ ベース C お よ び F に割 り 当て ら れた固定領域の合計バ イ ト 数 ) 減少 し ます。 • デー タ ベース D お よ び B に割 り 当て ら れてい る バ イ ト 数は変わ り ません。 • ただ し 、 利用可能な固定領域のバ イ ト 数は 50 増加 し ます。 つま り 、 デー タ ベー ス C お よ び F が削除 さ れ る と 、 C お よ び F に割 り 当て ら れたバ イ ト 数がデー タ ベース D に譲渡 さ れ る こ と にな り ます。 • A が所持 し ていた C お よ び F に対す る 権限は、 暗黙的に取 り 消 さ れてい ます。 • こ の時点で、 B お よ び D は、 C お よ び F に対す る 権限 を 暗黙的に所持 し て い ます。 • 特定のデー タ ベース ま たはユーザーに よ っ て保持 さ れていた明示的権限 も 変更 さ れます。 例えば、 A がそれ自体に、 C ま たは F ( ま たは、 それ ら に収容 さ れてい る オブ ジ ェ ク ト ) に対す る 明示的権限を付与 し ていた場合に、 GIVE 文が実行 さ れ る と 、 それ ら の明示的権限はその ま ま D が所持す る こ と にな り ます。 例 次の文では、 finance デー タ ベース の所有権を、 ユーザー administrator か ら ユーザー Chin に譲渡 し てい ます。 GIVE Finance TO Chin; 18 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT GRANT 目的 GRANT は、 1 人ま たは複数のユーザー、 プ ロ キ シ ・ ユーザー、 デー タ ベース、 ま たは ロ ールに対 し て明示権限を規定 し ます。 こ れには次のい く つかの形式があ り ま す。 こ れ ら の機能 と 構文規則は異な り ます。 GRANT の形式 目的 GRANT (MONITOR 形式 ) Teradata Database の性能監視。 「GRANT (MONITOR 形式 )」 (20 ページ ) を参照 し て く だ さ い。 GRANT ( ロ ール形式 ) ロ ールの メ ンバーシ ッ プ を ユーザーお よ び 他の ロ ールに与え ます。 「GRANT ( ロ ール 形式 )」 (23 ページ ) を参照 し て く だ さ い。 GRANT (SQL 形式 ) Teradata の各種デー タ ベー ス ・ オブ ジ ェ ク ト に対す る ア ク セ スや作成、 ロ ギ ン グ の権限を与え ます。 「GRANT (SQL 形式 )」 (26 ページ ) を参照 し て く だ さ い。 GRANT CONNECT THROUGH 信頼済みユーザーを介 し たプ ロ キ シ永久 ユーザーま たはプ ロ キ シ ・ アプ リ ケー シ ョ ン ・ ユーザー と し て接続す る ための 権限を与え ます。 「GRANT CONNECT THROUGH」 (80 ページ ) を参照 し て く だ さ い。 GRANT LOGON シ ス テ ム ・ ロ グオ ン権限を与え ます。 「GRANT LOGON」 (94 ページ ) を参照 し て く だ さ い。 GRANT (SQL 形式 ) はデー タ ベース ・ オブジ ェ ク ト へのア ク セ スお よ び操作を制御 す る のに対 し て、 GRANT (MONITOR 形式 ) 権限セ ッ ト はシ ス テ ム全体の性能監視 に関係 し ま す。 ユーザーに、 MONITOR を 含むすべて の権限 を 与え る た めには、 以下の要求を両方 と も 実行 し なければな り ません。 GRANT ALL PRIVILEGES ON object TO user WITH GRANT OPTION; GRANT MONITOR PRIVILEGES TO user WITH GRANT OPTION; ALL PRIVILEGES は、 デー タ ベース関連の権限だけ を参照 し ます。 MONITOR PRIVILEGES は、 すべての監視関連の権限を示 し ます。 GRANT MONITOR には、 ON object 句が含まれてい ません。 こ の文では、 シ ス テ ム 全体に影響を与え る こ と がで き る ため、 許可が暗黙的に ON PUBLIC にな り ます。 SQL デー タ 制御言語 19 第 2 章 : 文の構文規則 GRANT (MONITOR 形式 ) GRANT (MONITOR 形式 ) 目的 シ ス テ ム全体の性能監視の権限を与え ます。 構文 GRANT A TO MONITOR PRIVILEGES , BUT NOT monitor_privilege , monitor_privilege , A user_name WITH GRANT OPTION ALL ; PUBLIC , role_name FF07B056 説明 構文要素 指定内容 MONITOR PRIVILEGES 指定 さ れた受領者に、 MONITOR に関連す る すべての権限を付与 し ます。 WITH GRANT OPTION を 指定 し な い限 り 、 MONITOR[PRIVILEGES] は、 指定 さ れた権 限を別のユーザーに与え る こ と を許可 し ません。 MONITOR BUT NOT 指定 し た受領者は、 BUT NOT の後に指定 し た も の を 除い て、 付与可能なすべて の 権限を受け取 る こ と にな り ます。 こ れ ら の権限を付与す る 能力を含め る 場合には、 WITH GRANT OPTION を明示的に指定 し なければな り ません。 monitor_privilege 有効なモニ タ ー権限。 有効なモニ タ ー権限の リ ス ト については、 「モニ タ ー権限」 (22 ページ ) を参照 し て く だ さ い。 ALL 指定 し たオブジ ェ ク ト 権限セ ッ ト を、 指定 し たデー タ ベース ま たはユーザー、 お よ びそのデー タ ベース ま たはユーザーに よ っ て現在 と 将来に所有 さ れ る すべてのデー タ ベース ま たはユーザーに与え ます。 user_name 指定 し た MONITOR 権限を与え ら れ る ユーザーま たはデー タ ベース の名前。 最大 25 個の名前を指定す る こ と がで き ます。 user_name は、 すでにシ ス テ ム に定義 さ れてい る ユーザーの識別子でなければな り ません。 PUBLIC 20 権限が、 すべての Teradata Database ユーザーに継承 さ れ る こ と を指定 し ます。 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (MONITOR 形式 ) 構文要素 指定内容 WITH GRANT OPTION 権限 を 与え ら れ る ユーザーが、 WITH GRANT OPTION と と も に権限 を 受け取 る こ と を指定 し ます。 こ のオプシ ョ ン を指定 し ない場合、 受領者は付与オプシ ョ ンのな い権限セ ッ ト を受け取 り ます。 ANSI 準拠 GRANT の MONITOR 形式は、 ANSI/ISO SQL:2011 規格の拡張機能です。 必要な権限 監視形式の GRANT を 使用す る 場合は、 MONITOR 権限 を 持 っ て い る こ と が必要 です。 こ れ ら の権限は、 すべてのセ ッ シ ョ ンのすべてのアプ リ ケーシ ョ ン を監視する許可を 得たユーザーにのみ与え ら れ る べ き です。 低い レベルの MONITOR 権限は、 存在 し ません。 こ の権限の有効範囲は、 常にグ ロ ーバルです。 た と えば、 デー タ ベース管理者は、 ユーザー Addams に自分のアプ リ ケーシ ョ ンのみをセ ッ シ ョ ン ・ レベルで監視する能力を与え る こ と がで き ません。 代わ り に、 デー タ ベース管理者は、 Addams にすべてのセ ッ シ ョ ンに よ る すべての アプ リ ケーシ ョ ン をセ ッ シ ョ ン ・ レベルで監視する許可を与えなければな り ません。 現在 MONITOR パーテ ィ シ ョ ン を使用 し てい る 人を判別す る ためには、 以下の問合 わせを発行 し ます。 SELECT UserName, IFPNo FROM DBC.SessionInfoV WHERE partition = 'MONITOR'; GRANT 文は、 特定の権限の指定にだけ使用 さ れます。 デー タ ベース ま たはユー ザーの所有権を譲渡す る には、 「GIVE」 (16 ページ ) を参照 し て く だ さ い。 GRANT (SQL 形式 ) および GRANT (MONITOR 形式 ) GRANT (SQL 形式 ) はデー タ ベース ・ オブジ ェ ク ト へのア ク セ スお よ び操作を制御 す る のに対 し て、 GRANT (MONITOR 形式 ) 権限セ ッ ト はシ ス テ ム全体の性能監視 に関係 し ま す。 ユーザーに、 MONITOR を含むすべての権限を与え る ためには、 以下の要求を両方 と も 実行 し なければな り ません。 GRANT ALL PRIVILEGES ON object TO user WITH GRANT OPTION; GRANT MONITOR PRIVILEGES TO user WITH GRANT OPTION; SQL デー タ 制御言語 21 第 2 章 : 文の構文規則 GRANT (MONITOR 形式 ) ALL PRIVILEGES は、 デー タ ベース関連の権限だけ を参照 し ます。 MONITOR PRIVILEGES は、 すべての監視関連の権限を示 し ます。 GRANT MONITOR には、 ON object 句が含まれてい ません。 こ の文では、 シ ス テ ム 全体に影響を与え る こ と がで き る ため、 許可が暗黙的に ON PUBLIC にな り ます。 権限は即座に付与 さ れる GRANT MONITOR は、 次の文が実行 さ れ る と 直ちに有効にな り ます。 与え ら れた 権限を受け取 る ために ロ グ ア ウ ト す る 必要はあ り ません。 モニ タ ー権限 以下のいずれの権限 も 、 GRANT (MONITOR 形式 ) 文を使用 し て指定で き ます。 オプシ ョ ン 説明 ABORTSESSION 1 つま たは複数の Teradata Database のセ ッ シ ョ ン の未解決の要求ま た は実行中の ト ラ ンザ ク シ ョ ン を アボー ト し ます。 ま た、 任意選択で セ ッ シ ョ ン を ロ グオ フ し ます。 MONRESOURCE 各 PE お よ び AMP の性能お よ び可用性についての情報を収集 し ます。 MONSESSION ロ グオ ン し たセ ッ シ ョ ン と 、 シ ス テ ム全体の使用状況についての情 報を、 セ ッ シ ョ ン ご と に収集 し ます。 SETRESRATE プ ロ セ ッ サの資源の使用状況のデー タ が、 シ ス テ ム内で更新 さ れ る 頻度を設定 し ます。 SETSESSRATE セ ッ シ ョ ン ・ レベルの性能のデー タ が、 シ ス テ ム内で更新 さ れ る 頻 度を設定 し ます。 詳細情報 MONITOR 形式の GRANT に よ っ て与え ら れ る 権限の取 り 消 し については、 「REVOKE (MONITOR 形式 )」 (101 ページ ) を参照 し て く だ さ い。 ア ク セスの試みのセキ ュ リ テ ィ ・ ログ ア ク セ ス の試みのセキ ュ リ テ ィ ・ ロ グ を維持す る には、 <SQL デー タ 定義言語 - 構文規則お よ び例 > の 「BEGIN LOGGING」 を参照 し て く だ さ い。 22 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT ( ロ ール形式 ) GRANT ( ロ ール形式 ) 目的 ユーザーお よ び他の ロ ールに ロ ールを与え ます。 注 : こ の GRANT 文に よ っ て外部 ロ ールを付与す る こ と はで き ません。 Teradata Database 内では、 個別の権限 と デー タ ベース ・ ロ ールを外部 ロ ールに付与す る こ と だけが可能です。 詳細は、 < セキ ュ リ テ ィ 管理ガ イ ド > お よ び < デー タ ベース の管 理 > を参照 し て く だ さ い。 構文 , , GRANT role_name TO user_name role_name WITH ADMIN OPTION ; KZ01a008 説明 構文要素 指定内容 role_name 指定 し たユーザーま たは他の ロ ールに与え る 、 1 つま たは複数 のカ ン マで区切 ら れた ロ ールの名前を指定 し ます。 シ ス テ ム では重複 し た ロ ール名は無視 さ れ ます。 TO user_name role_name ロ ールの受領者の名前を指定 し ます。 GRANT 要求につ き 最大 25 個の名前を指定で き ます。 受領者はユーザーま たは ロ ールのいずれかですが、 ロ ールを ロ ール自体ま たは PUBLIC に与え る こ と はで き ません。 指定 し た ロ ールがすでに受領者に与え ら れてい る 場合、 GRANT はエ ラ ーを生成 し ません。 WITH ADMIN OPTION ロールの受領者が DROP ROLE、 GRANT、 および REVOKE 文を 使用 し て、 指定 し た ロ ールを管理す る 権限を持つ こ と を指定 し ます。 過去に WITH ADMIN OPTION を指定 し て付与 さ れた権限を変 更す る には、 GRANT 文に WITH ADMIN OPTION を含め る 必要 があ り ます。 ANSI への準拠 GRANT は、 ANSI/ISO SQL:2011 に準拠 し てい ます。 SQL デー タ 制御言語 23 第 2 章 : 文の構文規則 GRANT ( ロ ール形式 ) 必要な権限 ロ ールを与え る 場合は、 ロ ールに対す る WITH ADMIN OPTION 権限を持っ てい る こ と が必要です。 以下のユーザーが、 ロ ールを ユーザーま たは他の ロ ールに付与で き ます。 • ユーザー DBC。 • WITH ADMIN OPTION 付 き で指定 さ れた ロ ールを与え ら れたユーザー。 ロ ールの作成者には、 WITH ADMIN OPTION 付 き で指定 さ れた ロ ールが自動的 に与え ら れます。 • WITH ADMIN OPTION で指定 さ れた ロ ールが与え ら れた ア ク テ ィ ブ ・ ロ ールを 持つユーザー。 ア ク テ ィ ブ ・ ロ ールは、 現行 ロ ール ま たは現行 ロ ールの入れ子 ロ ールです。 受領者が ロ ールであ っ て も ユーザーであ っ て も 、 付与者が受領者に権限を与え る た めに WITH ADMIN OPTION な ど の権限を受領者に対 し て持っ てい る 必要は あ り ま せん 。 制限付きの権限 ロ ールはそれ自体に対 し て も 、 PUBLIC に対 し て も 付与で き ません。 ま た、 次に示 すど の権限に対 し て も ロ ールを付与す る こ と はで き ません。 • CREATE PROFILE • CREATE ROLE • CREATE USER • CTCONTROL • DROP PROFILE • DROP ROLE • DROP USER ロールについて ロ ールは、 デー タ ベース ・ オブジ ェ ク ト に対す る 複数のユーザーの権限を定義す る ために使用 し ます。 ロ ールを割 り 当て ら れてい る ユーザーは、 ロ ール と 入れ子 ロ ー ルが権限を持っ てい る すべてのオブジ ェ ク ト にア ク セ ス で き ます。 ユーザーには、 ユーザーに付与 さ れた ロ ールだけ を割 り 当て る こ と がで き ます。 新 し く 作成 し た ロ ールがデー タ ベース ・ オブジ ェ ク ト に対す る 権限を ま だ持っ てい な く て も 、 その ロ ールを ユーザーま たは他の ロ ールに付与で き ます。 ロ ール ま たはユーザーに付与で き る ロ ールの数に制限はあ り ません。 ロールの階層構造 ロールは深 さ に し て 1 つのレベルでのみ入れ子にで き ます。 つま り 、 入れ子ロールを 持つ ロ ールは、 入れ子 ロ ールにはなれません。 ANSI/ISO SQL:2011 規格は複数の入れ子レベルを使用で き る ので、 こ の点で異な り ます。 24 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT ( ロ ール形式 ) 例 以下の文は、 services お よ び sales と い う ロ ールを作成 し ます。 CREATE ROLE services; CREATE ROLE sales; sales を services の入れ子 ロ ールにす る には、 以下の GRANT 文を使用す る 必要があ り ます。 GRANT sales TO services; sales ロ ールを ユーザー marks に与え、 他の メ ンバーを sales に追加す る 権限を marks に与え る には、 以下の GRANT 文を使用す る 必要があ り ます。 GRANT sales TO marks WITH ADMIN OPTION; 詳細情報 内容 参照先 データベース ・ オブジ ェ ク ト に対する権限を ロ ールに付与す る 方法 と CREATE ROLE シ ス テ ム権限を取得す る 方法の詳細 「GRANT (SQL 形式 )」 (26 ページ ) GRANT の ロ ール形式に よ っ て付与 さ れた権 限を取 り 消す方法の詳細 「REVOKE ( ロ ール形式 )」 (105 ページ ) CONNECT THROUGH プ ロ キ シ接続権限に ロ ールのセ ッ ト を付加 し て、 永久ユーザー ま たはアプ リ ケーシ ョ ン ・ ユーザーに付与 す る 方法の詳細 「GRANT CONNECT THROUGH」 (80 ページ ) ユーザーへのデフ ォ ル ト ・ ロ ールの割当て 方法の詳細 • <SQL デー タ 定義言語 - 構文規則お よ び例 > の 「CREATE USER」 • <SQL デー タ 定義言語 - 構文規則お よ び例 > の 「MODIFY USER」 セ ッ シ ョ ン に関す る 現在の ロ ールの変更方 法の詳細 SQL デー タ 制御言語 <SQL デー タ 定義言語 - 構文規則お よ び 例 > の 「SET ROLE」 25 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) GRANT (SQL 形式 ) 目的 デー タ ベース、 ユーザー、 プ ロ キ シ ・ ロ グオン ・ ユーザー、 表、 ハ ッ シ ュ 索引、 結 合索引、 ビ ュ ー、 ス ト ア ド ・ プ ロ シージ ャ 、 ユーザー定義関数 (UDF)、 ユーザー定 義 メ ソ ッ ド (UDM)、 ユーザー定義 タ イ プ (UDT)、 ま たはマ ク ロ に対す る 1 つ以上の 明示的権限を ロ ール、 ロ ールのグループ、 ユーザー、 あ る いはユーザーま たはデー タ ベース のグループに付与 し ます。 Teradata Database 権限の リ ス ト については、 「付録 B: 権限デ ィ ク シ ョ ナ リ 」 (141 ページ ) を参照 し て く だ さ い。 NONTEMPORAL 権限の付与については、 < テ ン ポ ラ ル表サポー ト > を参照 し て く だ さ い。 26 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 構文 ALL GRANT ON database_name PRIVILEGES , database_name.object_name privilege user_name.object_name , ALL BUT A user_name object_name privilege procedure_name CTCONTROL database_name. user_name. PROCEDURE SPECIFIC FUNCTION specific_function_name database_name. user_name. a function_name database_name. user_name. FUNCTION , a ( ) data type parameter_name TYPE UDT_name SYSUDTLIB. , role_privilege , profile_privilege CONSTRAINT ASSIGNMENT CONSTRAINT DEFINITION 1149-001A , A 25 user_name TO ALL database_name WITH GRANT OPTION ; PUBLIC , role_name SQL デー タ 制御言語 1101B754 27 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) data type INTEGER SMALLINT BIGINT BYTEINT DATE TIME TIMESTAMP (fractional_seconds_precision) WITH TIME ZONE INTERVAL YEAR (precision) TO MONTH INTERVAL MONTH (precision) INTERVAL DAY (precision) TO HOUR MINUTE SECOND ( fractional_seconds_precision ) INTERVAL HOUR (precision) TO MINUTE SECOND ( fractional_seconds_precision ) INTERVAL MINUTE (precision) TO SECOND ( fractional_seconds_precision ) INTERVAL SECOND (precision ) ,fractional_seconds_precision PERIOD(DATE) PERIOD(TIME PERIOD(TIMESTAMP A 28 ) (precision) WITH TIME ZONE B SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) A B REAL DOUBLE PRECISION FLOAT ( integer ) NUMBER ( integer * ) , integer DECIMAL ( integer NUMERIC ) , integer CHAR ( integer ) BYTE GRAPHIC ( integer ) VARCHAR CHAR VARYING VARBYTE VARGRAPHIC LONG VARCHAR LONG VARGRAPHIC BINARY LARGE OBJECT ( integer BLOB ( G K M CHARACTER LARGE OBJECT CLOB XML XMLTYPE JSON ( integer ) CHARACTER SET UNICODE LATIN UDT_name SYSUDTLIB. ST_Geometry MBR ARRAY_name VARRAY_name SQL デー タ 制御言語 29 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 説明 構文要素 指定内容 ALL [PRIVILEGES] ユーザーま たはデー タ ベース が、 指定 さ れたオブジ ェ ク ト に対 し て付与可能なすべ ての権限を受け取 る よ う に指定 し ます。 GRANT ALL の場合は、 その タ イ プのオブ ジ ェ ク ト に関 し て WITH GRANT OPTION 付 き の付与者が所有す る すべての暗黙お よ び明示オブジ ェ ク ト 権限だけが指定のデー タ ベース ・ オブジ ェ ク ト に関 し て付与 さ れ ます。 他のユーザーま たはデー タ ベースへの GRANT オブジ ェ ク ト 権限に対す る 指定 し た ユーザーの能力を含め る には、 WITH GRANT OPTION 句を指定 し ます。 注 : ALL を ロ ールに付与す る こ と はで き ません。 付与者が、 オブジ ェ ク ト に対す る WITH GRANT OPTION 権限を持っ ていない場合 には、 エ ラ ーが返 さ れ ます。 モニ タ ー権限を与え る には、 監視形式の GRANT 文を使用す る 必要があ り ます。 「GRANT (MONITOR 形式 )」 (20 ページ ) を参照 し て く だ さ い。 権限 「付録 B: 権限デ ィ ク シ ョ ナ リ 」 (141 ページ ) の ト ピ ッ ク に リ ス ト さ れてい る 権限の いずれか、 ま たは権限組合わせ用のキー ワ ー ド のいずれか。 有効な組み合わせ権限キー ワ ー ド と その意味の リ ス ト については、 「単一のキー ワー ド に よ る 複数権限の付与」 (36 ページ ) を参照 し て く だ さ い。 INSERT、 REFERENCES、 SELECT お よ び UPDATE の各権限には、 表レベルのオプ シ ョ ン と 列レベルのオプシ ョ ン があ り ます。 「REFERENCES」 (41 ページ ) を参照 し て く だ さ い。 DELETE 権限は DELETE DML 文だけに適用 さ れ、 DELETE USER ま たは DELETE DATABASE には適用 さ れ ません ( こ れ ら は、 それぞれ DROP USER お よ び DROP DATABASE に よ っ て権限が与え ら れます )。 「privilege キー ワー ド のルール」 (38 ページ ) も 参照。 特定の文に必要な権限の詳細 につい ては、 SQL マ ニ ュ アル一式の該当す る 巻で そ の 「許可」 の節 を 参照 し て く だ さ い。 ALL BUT 権限 ユーザーが、 権限 リ ス ト で指定 さ れたオブジ ェ ク ト を除 く すべての指定 さ れたオブ ジ ェ ク ト に対 し て付与可能なすべての権限を受け取 る よ う に指定 し ます。 ALL の場 合 と 同様に、 付与者が WITH GRANT OPTION を所有 し てい る オブジ ェ ク ト 権限だけ が与え ら れ ます。 ALL BUT は、 ANSI/ISO SQL:2011 規格の Teradata 拡張機能です。 デー タ ベース ま たはユーザーへの権限の付与は、 ANSI/ISO SQL:2011 規格に対す る Teradata の拡張機能です。 database_name | user_name 権限のセ ッ ト が付与 さ れ る デー タ ベース ま たはユーザーの名前。 database_name.object_ name | user_name.object_name 指定 さ れたデー タ ベース ・ オブジ ェ ク ト を直接所有 し てい る デー タ ベース ま たは ユーザーの名前 と 、 権限のセ ッ ト が付与 さ れ る デー タ ベース ・ オブジ ェ ク ト ( 表、 ビ ュ ー、 ス ト ア ド ・ プ ロ シージ ャ 、 ま たはマ ク ロ ) の名前。 指定 さ れた権限のセ ッ ト は、 指定 さ れたデー タ ベース ・ オブジ ェ ク ト にのみ付与 さ れ ます。 指定 さ れたデー タ ベース ま たはユーザーの領域に格納 さ れてい る すべてのオブジ ェ ク ト に、 指定 さ れた権限のセ ッ ト が付与 さ れます。 権限が与え ら れ る オブジ ェ ク ト ( 表、 ビ ュ ー、 ス ト ア ド ・ プ ロ シージ ャ 、 ま たはマ ク ロ ) を直接所有 し てい る デー タ ベース ま たはユーザーの名前 と 、 そのオブジ ェ ク ト 名を指定 し ます。 指定 し たオブジ ェ ク ト だけに有効です。 30 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 構文要素 指定内容 object_name 権限のセ ッ ト が付与 さ れ る デー タ ベース ・ オブジ ェ ク ト ( 表、 ビ ュ ー、 結合索引、 関数、 ス ト ア ド ・ プ ロ シージ ャ 、 ま たはマ ク ロ ) の名前。 Teradata Database はオブジ ェ ク ト 名を検証す る 前にデー タ ベース名 と 一致す る か ど う か を検証す る ので、 権限を与え る 際には常にオブジ ェ ク ト 名を修飾す る 必要があ り ます。 • オブジ ェ ク ト 名が修飾 さ れてお ら ず、 同 じ 名前を持つデー タ ベース がシ ス テ ム に よ り 見つか っ た場合、 Teradata Database はそれがデー タ ベース名であ る と みな し ます。 • オブジ ェ ク ト 名が修飾 さ れてお ら ず、 同 じ 名前を持つデー タ ベース が見つか ら な か っ た場合、 Teradata Database はそれが現在のデフ ォ ル ト ・ デー タ ベース内のオ ブジ ェ ク ト であ る と みな し ます。 • 指定 さ れた名前を持つデー タ ベース と オブジ ェ ク ト のいずれ も 見つか ら なか っ た 場合、 Teradata Database はその要求を アボー ト し て要求側にエ ラ ーを返 し ます。 [PROCEDURE] [database_name | user_name] procedure_name オブジ ェ ク ト が ス ト ア ド ・ プ ロ シージ ャ であ る こ と を指定 し ます。 付与 さ れ る 権限に PROCEDURE キー ワー ド が含ま れてい る 場合、 PROCEDURE は任 意です。 「ス ト ア ド ・ プ ロ シージ ャ 固有の権限」 (57 ページ ) を参照 し て く だ さ い。 必要に応 じ て、 procedure_name は、 それを収容 し てい る database_name ま たは user_name で修飾で き ます。 PROCEDURE を指定す る 場合は、 次の権限を付与で き ます。 • EXECUTE を指定す る と 、 EXECUTE PROCEDURE 権限が付与 さ れ ます。 • DROP を指定す る と 、 DROP PROCEDURE 権限が付与 さ れ ます。 ALTER EXTERNAL PROCEDURE 権限お よ び CREATE EXTERNAL PROCEDURE 権 限を明示的に付与す る 必要があ り ます。 SPECIFIC FUNCTION [database_name | user_name] specific_function_name 権限セ ッ ト を付与す る 関数の名前を指定 し ます。 オーバー ロ ー ド 関数に対す る 権限を付与す る 場合は、 SPECIFIC FUNCTION キー ワ ー ド を指定す る 必要があ り ます。 必要に応 じ て、 specific_function_name は、 それを収容 し てい る database_name ま たは user_name で修飾で き ます。 FUNCTION [database_name | user_name] function_name 権限セ ッ ト を付与す る UDF の名前を指定 し ます。 付与 さ れ る 権限に FUNCTION キー ワ ー ド が含まれてい る 場合、 FUNCTION は任意 です。 UDF に関す る 権限を呼出 し 名に よ っ て付与す る 場合は、 FUNCTION キー ワー ド を 指定す る 必要があ り ます。 必要に応 じ て、 function_name は、 それを収容 し てい る database_name ま たは user_name で修飾で き ます。 SQL デー タ 制御言語 31 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 構文要素 指定内容 [parameter_name] data_type UDF に渡す変数についての、 括弧に入れた カ ン マ区切 り のデー タ ・ タ イ プ と 任意指 定のパ ラ メ ー タ 名の リ ス ト 。 同 じ 名前のオーバー ロ ー ド 関数を区別す る ためにデー タ ・ タ イ プが必要です。 BLOB お よ び CLOB タ イ プは、 ロ ケー タ ーで表わす必要があ り ます ( ロ ケー タ ーの 説明は、 <SQL デー タ 操作言語 > の 「USING 要求修飾子」 を参照 )。 Teradata Database は、 メ モ リ 内 LOB パ ラ メ ー タ を サポー ト し てい ません。 LOB パ ラ メ ー タ と 戻 り 値ご と に、 AS LOCATOR 句を指定す る 必要があ り ます。 関数に渡すパ ラ メ ー タ がない場合で も 、 開 き 括弧 と 閉 じ 括弧を指定す る 必要があ り ます。 パ ラ メ ータ名を 1 つで も 指定し た場合には、 関数に渡 さ れるすべてのパ ラ メ ータ名を 指定す る 必要があ り ます。 <SQL デー タ 定義言語 - 構文規則お よ び例 > の 「HELP FUNCTION」 を参照 し て く だ さ い。 各パ ラ メ ー タ に関連 し たデー タ 型は、 パ ラ メ ー タ ま たは戻 り 値の型です。 すべての Teradata Database のデー タ 型は有効です。 文字デー タ は、 CHARACTER SET 句 も 指 定で き ます。 TYPE [SYSUDTLIB.] UDT_name 権限セ ッ ト を付与す る UDT の名前を指定 し ます。 UDT_name を含むデー タ ベース を指定す る 場合、 デー タ ベース は SYSUDTLIB でなけ ればな り ません。 以下の リ ス ト に、 UDT に付与で き る 各種の TYPE 権限を示 し ます。 • UDTMETHOD は SYSUDTLIB デー タ ベース に対 し てのみ付与で き ます。 • UDTTYPE は SYSUDTLIB デー タ ベース に対 し てのみ付与で き ます。 • UDTUSAGE は、 SUSUDTLIB デー タ ベース ま たは TYPE、 あ る いはその両方に対 し て付与で き ます。 role_privilege 以下の ロ ール権限 う ちの 1 つです。 • CREATE ROLE • DROP ROLE • ROLE ROLE 自体は単独の特権ではあ り ません。 CREATE ROLE と DROP ROLE の両方を 指定す る 簡便な方法です。 ロ ール権限は、 ロ ールま たは PUBLIC に対 し て 付与で き ません 。 CREATE ROLE お よ び DROP ROLES 権限を付与す る には、 ROLE を指定 し ます。 32 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 構文要素 指定内容 profile_privilege 以下の権限の う ちの 1 つです。 • CREATE PROFILE • DROP PROFILE • PROFILE PROFILE は単独の権限ではあ り ません。 CREATE PROFILE と DROP PROFILE の両方を指定す る 簡便な方法です。 プ ロ フ ァ イ ル権限は、 ユーザーのセ ッ ト ま たは ロ ールに対 し てのみ付与で き ます。 オブジ ェ ク ト に付与す る こ と はで き ません。 プ ロ フ ァ イ ルに行レベル ・ セキ ュ リ テ ィ 権限を割 り 当て て、 その後、 そのプ ロ フ ァ イ ルにデ ィ レ ク ト リ ・ ユーザーを マ ッ プで き ます。 そのデ ィ レ ク ト リ ・ ユーザーが 永久ユーザーにマ ッ プ さ れていな く て も 、 そのユーザーに制約が適用 さ れます。 詳 細は、 < セ キ ュ リ テ ィ 管理ガ イ ド > を参照 し て く だ さ い。 CREATE PROFILE お よ び DROP PROFILE 権限を付与す る には、 PROFILE を指定 し ます。 database_name | user_name | role_name | PUBLIC 明示的に与え ら れた権限が付与 さ れ る デー タ ベース、 ユーザー、 ロ ールの名前、 ま たは PUBLIC を指定 し ます。 こ のデー タ ベース ま たはユーザー領域に含まれ る すべ てのオブジ ェ ク ト が対象にな り ます。 行レベル ・ セキ ュ リ テ ィ 権限を PUBLIC に付与す る こ と はで き ません。 database_name | user_name 権限が与え ら れ る デー タ ベース ま たはユーザーの名前を指定 し ます。 こ のデー タ ベース ま たはユーザー領域内のすべてのオブジ ェ ク ト が対象にな り ます。 database_name. object_name | user_name.object_name 権限が与え ら れ る オブジ ェ ク ト ( 表、 ビ ュ ー、 ス ト ア ド ・ プ ロ シージ ャ 、 ま たはマ ク ロ ) を直接所有 し てい る デー タ ベース ま たはユーザーの名前 と 、 そのオブジ ェ ク ト 名を指定 し ます。 指定 し たオブジ ェ ク ト だけに有効です。 CONSTRAINT ASSIGNMENT シ ス テ ム ・ レベルの CONSTRAINT ASSIGNMENT 権限。 CONSTRAINT ASSIGNMENT は、 ユーザーが、 ユーザー、 プ ロ フ ァ イ ル、 お よ び表 への行レベル ・ セ キ ュ リ テ ィ 制約オブジ ェ ク ト 割 り 当て を維持で き る よ う に し ます (ALTER TABLE、 CREATE PROFILE、 CREATE TABLE、 CREATE USER、 MODIFY PROFILE、 MODIFY USER な ど )。 CONSTRAINT ASSIGNMENT は、 特定のユーザーま たは ロ ールにのみ付与で き ます。 表やデー タ ベース には付与で き ません。 CONSTRAINT ASSIGNMENT を PUBLIC に付与す る こ と はで き ません。 詳細は、 「CONSTRAINT ASSIGNMENT 権限」 (64 ページ ) を参照 し て く だ さ い。 CONSTRAINT DEFINITION シ ス テ ム ・ レベルの CONSTRAINT DEFINITION 権限。 CONSTRAINT DEFINITION は、 ユーザーが、 行レベル ・ セ キ ュ リ テ ィ 制約を作成 し て維持で き る よ う に し ます (ALTER CONSTRAINT、 CREATE CONSTRAINT、 DROP CONSTRAINT な ど )。 CONSTRAINT DEFINITION は、 特定のユーザーま たは ロ ールにのみ付与で き ます。 表やデー タ ベース には付与で き ません。 CONSTRAINT DEFINITION を PUBLIC に付与す る こ と はで き ません。 詳細は、 「CONSTRAINT DEFINITION 権限」 (65 ページ ) を参照 し て く だ さ い。 SQL デー タ 制御言語 33 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 構文要素 指定内容 CTCONTROL シ ス テ ム ・ レベルの CTCONTROL 権限。 CTCONTROL では、 GRANT CONNECT ま たは REVOKE CONNECT 文を使用 し て、 ユーザーが CONNECT THROUGH 権限 ( 「GRANT CONNECT THROUGH」 (80 ペー ジ ) を参照 ) を付与 し た り 、 あ る いは取 り 消 し た り す る こ と を許可 し ます。 ON 句で CTCONTROL を付与で き る のはユーザーのみです。 デー タ ベース ・ オブ ジ ェ ク ト の他の タ イ プには付与で き ません。 CTCONTROL を PUBLIC に付与す る こ と はで き ません。 CTCONTROL 権限はシ ス テ ム内のすべてのデー タ ベース ・ オブジ ェ ク ト に適用 さ れ る ため、 こ の権限の付与には十分な注意が必要です。 詳細は、 「CTCONTROL 権限」 (53 ページ ) を参照 し て く だ さ い。 [ALL] user_name | database_name 権限が与え ら れ る デー タ ベース ま たはユーザーの名前を指定 し ます。 user_name は、 すでにシ ス テ ム内に定義済みのユーザーの識別子でなければな り ません。 GRANT 要求につ き 最大 25 個の名前を指定で き ます。 ALL を指定す る と 、 そのオブジ ェ ク ト 権限が、 指定 し たデー タ ベース ま たはユー ザー、 お よ びそのデー タ ベース ま たはユーザーに よ っ て現在 と 将来に所有 さ れ る す べてのデー タ ベース ま たはユーザーに与え ら れます。 [ALL] user_name は、 ANSI/ISO SQL:2011 規格に対す る Teradata の拡張機能です。 PUBLIC 権限が、 既存お よ び今後のすべての Teradata Database ユーザーお よ びデー タ ベース に継承 さ れ る こ と を指定 し ます。 WITH GRANT OPTION 権限を与え ら れ る ユーザーが、 WITH GRANT OPTION と と も に付与 さ れた権限を受 け取 る こ と を指定 し ます。 こ のオプシ ョ ンは、 ロ ールの受領者には適用 さ れ ません。 受領者の リ ス ト 内に ロ ールがあ る 場合に、 GRANT 文に WITH GRANT OPTION を指 定す る と 、 アボー ト し てエ ラ ー ・ メ ッ セージが返 さ れ ます。 database_name | user_name role_name が含まれてい る デー タ ベース ま たはユーザーを指定 し ます ( 現在のデー タ ベース ま たはユーザー以外の場合 )。 role_name 既存の ロ ールの名前。 Teradata Database ロ ール ま たは EXTERNAL ロ ールを指定で き ます。 注 : 行レベル ・ セキ ュ リ テ ィ 制約値を ロ ールに割 り 当て る こ と はで き ません。 こ れ ら はユーザーやプ ロ フ ァ イ ルにのみ割当て可能です。 こ れ ら の権限は、 デー タ ベース、 ユーザーお よ び ロ ールに付与で き ます。 例外 と し て、 USER 権限を ロ ールに付与す る こ と はで き ません。 • CREATE DATABASE • CREATE FUNCTION • CREATE MACRO • CREATE TABLE • CREATE VIEW • CREATE PROCEDURE • CREATE USER ( ロ ールには付与で き ない ) • DROP DATABASE • DROP USER ( ロ ールには付与で き ない ) 34 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) ANSI への準拠 SQL 形式の GRANT は、 拡張機能付 き で ANSI/ISO SQL:2011 に準拠 し てい ます。 必要な権限 オブジ ェ ク ト に SQL GRANT 文を使用 し て権限を与え る 場合には、 ユーザーは以下 のいずれかでなければな り ません。 • ユーザー DBC • オブジ ェ ク ト の所有者 所有者権限に関連す る セキ ュ リ テ ィ 問題の詳細については、 「CREATE MACRO 権限のセキ ュ リ テ ィ に関す る 考慮事項」 (42 ページ ) を参照 し て く だ さ い。 • 付与す る 各権限を所有 し てい る ユーザー ユーザーは、 明示的に権限を付与 さ れていた り 、 ビ ュ ー、 マ ク ロ 、 ま たは ス ト ア ド ・ プ ロ シージ ャ を作成 し た結果 と し て ロ ールか ら 権限を継承 し た り す る こ と で、 権限を所持 し てい る こ と があ り ます。 以下の権限を付与す る には、 CONSTRAINT ASSIGNMENT 権限を持っ てい る 必要が あ り ます。 • OVERRIDE DELETE CONSTRAINT • OVERRIDE DUMP CONSTRAINT • OVERRIDE INSERT CONSTRAINT • OVERRIDE RESTORE CONSTRAINT • OVERRIDE SELECT CONSTRAINT • OVERRIDE UPDATE CONSTRAINT GRANT (SQL 形式 ) 要求を実行す る ために必要な権限については、 以下の詳細情報 に注意 し て く だ さ い。 • ユーザーは、 権限を受け取 る ために所有権を介 し て付与者 と 関係す る 必要はあ り ません。 受領者が ロ ール、 ユーザー、 デー タ ベース、 ま たは PUBLIC のいずれであ っ て も 、 付与者が受領者に権限を与え る ために WITH ADMIN OPTION な ど の権限を 受領者に対 し て持っ てい る 必要はあ り ません。 • GRANT 文がデー タ ベース ま たはユーザーを対象 と し てい る 場合には、 今後その 領域に作成 さ れ る すべてのオブジ ェ ク ト に権限が適用 さ れます。 後で REVOKE 文に よ っ て権限を取 り 消 し た場合には、 オブジ ェ ク ト がいつ作成 さ れたかに関係な く 、 その権限はすべてのオブジ ェ ク ト か ら 取 り 消 さ れます。 オブジ ェ ク ト ・ レベルの REVOKE 文は、 デー タ ベース ま たはユーザーに対 し て 与え ら れたオブジ ェ ク ト の権限を取 り 消す こ と はで き ません。 • WITH GRANT OPTION 句を指定す る と 、 権限の受領者はその権限を他のユー ザーに付与で き る よ う にな り ます。 所有者は、 所有す る すべてのデー タ ベース、 ユーザー、 ま たはオブジ ェ ク ト に 対す る WITH TRANT OPTION 権限を暗黙的に所持 し てい ます。 SQL デー タ 制御言語 35 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 所有者が明示的に付与で き る すべて ま た は任意の権限 • 子デー タ ベース • 子ユーザー • デー タ ベース ・ オブジ ェ ク ト 実行内容 • 他の任意のデー タ ベース • 他の任意のユーザー • ロ ール • PUBLIC 行レベル ・ セキ ュ リ テ ィ 権限を PUBLIC に割 り 当て る こ と はで き ません。 • 自動的に与え ら れた、 ま たは明示し て与え ら れたすべての権限は、 REVOKE 文を 使用 し て取 り 消す こ と がで き ます。 「REVOKE (SQL 形式 )」 (108 ページ ) を参照 し て く だ さ い。 • 暗黙権限は、 取 り 消す こ と がで き ません。 詳細情報 Teradata Database 権限の リ ス ト については、 「付録 B: 権限デ ィ ク シ ョ ナ リ 」 (141 ページ ) を参照 し て く だ さ い。 単一のキーワー ド によ る複数権限の付与 Teradata Database には、 複数の権限を付与す る ために使用で き る 、 特別な カ テ ゴ リ のキーワ ー ド があ り ます。 た と えば、 次に示す GRANT 要求では、 キーワー ド DATABASE を使用す る こ と で、 CREATE DATABASE 権限 と DROP DATABASE 権 限の両方を user_name に付与 し ます。 GRANT DATABASE on user_name; 次の表では、 こ の ク ラ ス のキー ワー ド を リ ス ト し 、 そのキーワー ド に よ っ てユー ザーま たはデー タ ベース に対 し て付与 さ れ る 複数の権限を示 し ます。 キー ワ ー ド 権限 ALL 指定 し たオブジ ェ ク ト の タ イ プに関係す る WITH GRANT OPTION 付 き の付与者が、 暗黙的お よ び明示的に所有す る すべ てのオブジ ェ ク ト 権限 のみ が、 指定 し たデー タ ベース ・ オブ ジ ェ ク ト に対 し て付与 さ れ る 。 AUTHORIZATION • CREATE AUTHORIZATION • DROP AUTHORIZATION CHECKPOINT • CHECKPOINT SQL 文を実行で き る よ う にな る • HUT CHECKPOINT コ マ ン ド を実行で き る よ う にな る DATABASE • CREATE DATABASE • DROP DATABASE 36 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) キーワ ー ド 権限 DROP • ON 句で FUNCTION が指定 さ れてい る 場合、 付与 さ れ る 権限 は DROP FUNCTION です。 • ON 句で PROCEDURE が指定 さ れてい る 場合、 付与 さ れ る 権 限は DROP PROCEDURE です。 EXECUTE • ON 句で FUNCTION が指定 さ れてい る 場合、 付与 さ れ る 権限 は EXECUTE FUNCTION です。 • ON 句で PROCEDURE が指定 さ れてい る 場合、 付与 さ れ る 権 限は EXECUTE PROCEDURE です。 • ON 句で何 も 指定 さ れていない場合、 付与 さ れ る 権限は EXECUTE MACRO です。 FUNCTION • CREATE FUNCTION • DROP FUNCTION GLOP • CREATE GLOP • DROP GLOP INDEX • CREATE INDEX • DROP INDEXDROP INDEX MACRO • CREATE MACRO • DROP MACRO PROCEDURE • CREATE PROCEDURE • DROP PROCEDURE PROFILE • CREATE PROFILE • DROP PROFILE RESTORE 指定 し たオブジ ェ ク ト に対 し て、 次の HUT コ マ ン ド を実行で き る よ う にな る 。 • DELETE JOURNAL • ROLLBACK • ROLLFORWARD ROLE • CREATE ROLE • DROP ROLE SHOW 次の SQL 文のみ を実行で き る よ う な る 。 • HELP database_object • SHOW database_object STATISTICS • COLLECT STATISTICS • DROP STATISTICS TABLE • CREATE TABLE • DROP TABLE SQL デー タ 制御言語 37 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) キー ワ ー ド 権限 TRIGGER • CREATE TRIGGER • DROP TRIGGER USER • CREATE USER • DROP USER VIEW • CREATE VIEW • DROP VIEW デー タ ・ デ ィ ク シ ョ ナ リ の権限の略語 権限 と DBC.AccessRights で維持 さ れ る その略語の完全な リ ス ト は、 「付録 B: 権限 デ ィ ク シ ョ ナ リ 」 (141 ページ ) を参照 し て く だ さ い。 GRANT (SQL 形式 ) 要求で は、 こ れ ら の略語を使用 で き ません。 完全な権限名を指定す る 必要があ り ます。 privilege キーワー ド のルール privilege キーワ ー ド の使用時には、 以下のルールが適用 さ れます。 • 権限は任意の組合わせで指定す る こ と がで き ます。 ただ し 、 文を実行す る ユー ザーは、 それ ら を許可す る ための所定の権限を持っ てい る 必要があ り ます。 • 権限の受領者は、 権限を与え ら れたオブジ ェ ク ト に対 し て、 対応す る 文を実行 す る こ と がで き ます。 た と えば、 user_1 がデー タ ベース DBTest に対す る CREATE TABLE 権限を受領 し た場合、 user_1 は、 新 し い表が DBTest に作成 さ れ る CREATE TABLE 文を実 行で き ます ( 宛先デー タ ベース は、 user1 のデフ ォ ル ト のデー タ ベース に よ っ て 暗黙の う ちに、 ま たは完全修飾の表名に よ っ て明示的に解釈 さ れます )。 • STATISTICS 権限は COLLECT STATISTICS 文を許可 し ます。 STATISTICS は、 表レベルお よ びデー タ ベース ・ レベルで付与で き ます。 • CHECKPOINT 権限は、 SQL 文 と ホ ス ト ・ ユーテ ィ リ テ ィ (HUT) コ マ ン ド の実 行を参照 し ます。 DUMP お よ び RESTORE 権限は、 指定 さ れたオブジ ェ ク ト に対 し て実行 さ れ る 、 対応す る HUT コ マ ン ド を参照 し ます。 RESTORE も 、 HUT コ マ ン ド の ROLLBACK、 ROLLFORWARD、 お よ び DELETE JOURNAL の実行を参照 し ます。 • DATABASE、 FUNCTION、 MACRO、 TABLE、 VIEW、 PROCEDURE、 ま たは USER の CREATE 形式、 お よ び DATABASE、 USER の DROP 形式は、 デー タ ベース ま たはユーザーに対 し てのみ許可 さ れます。 • DROP TABLE は、 表に対す る 次の文を許可 し ます。 • ALTER TABLE 38 • CREATE INDEX • DROP INDEX SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) • DROP MACRO、 PROCEDURE、 ま たは VIEW には、 REPLACE MACRO、 PROCEDURE、 ま たは VIEW が含まれます。 • DROP MACRO お よ び EXECUTE のみがマ ク ロ に対 し て許可 さ れます。 • ALTER PROCEDURE、 DROP PROCEDURE、 EXECUTE PROCEDURE、 お よ び CREATE OWNER PROCEDURE のみが ス ト ア ド ・ プ ロ シージ ャ に対 し て許可 さ れます。 • CREATE OWNER PROCEDURE は、 明示的にユーザーま たはデー タ ベース に付 与 し なければな ら ない明示権限です。 • ALTER PROCEDURE ( 外部形式 ) 文を使用 し て、 PROTECTED 状態 と NOT PROTECTED 状態 と の間で外部プ ロ シージ ャ の実行状態を変更す る には、 ALTER EXTERNAL PROCEDURE が必要です。 <SQL デー タ 定義言語 - 構文規 則お よ び例 > の 「ALTER PROCEDURE ( 外部形式 )」 を参照 し て く だ さ い。 • UDF で使用で き る のは、 ALTER FUNCTION、 DROP FUNCTION、 お よ び EXECUTE FUNCTION のみです。 • UDF に対 し て ALTER FUNCTION 権限を付与す る こ と はで き ません。 • DUMP、 RESTORE、 INDEX、 お よ び CHECKPOINT は、 ビ ュ ーに対 し て許可 さ れません。 • DATABASE、 FUNCTION、 INDEX、 GLOP、 MACRO、 PROCEDURE、 PROFILE、 ROLE、 TABLE、 USER、 お よ び VIEW を指定す る と 、 CREATE お よ び DROP の権限が与え ら れます。 DATABASE、 FUNCTION、 INDEX、 GLOP、 MACRO、 PROCEDURE、 PROFILE、 ROLE、 TABLE、 USER、 ま たは VIEW キー ワー ド に CREATE ま たは DROP を指定 し ない と 、 デフ ォ ル ト で CREATE お よ び DROP が与え ら れます。 • INDEX は、 表に対す る 次の文を許可 し ます。 • CREATE INDEX • DROP INDEX • INSERT、 REFERENCES、 SELECT および UPDATE には、 表レベルのオプシ ョ ン と 列レベルのオプシ ョ ンがあ り ます。 • GENERATED BY DEFAULT の識別列に対す る UPDATE 権限は付与で き ません。 • 権限は、 ト リ ガーに付与す る こ と は で き ません。 その ト リ ガーが適用 さ れ る デー タ ベース ま たは表にのみ付与で き ます。 CREATE TRIGGER お よ び DROP TRIGGER 権限は、 指定 さ れたデー タ ベース ま たは ト リ ガーの対象 と な る 表に対 し て、 ユーザーに付与 さ れます。 • CREATE ROLE、 DROP ROLE、 CREATE PROFILE、 お よ び DROP PROFILE 権限 は、 ユーザーのみに付与で き 、 ロ ール、 デー タ ベース、 ま たは PUBLIC には付 与で き ません。 • CREATE ROLE、 DROP ROLE、 CREATE PROFILE、 お よ び DROP PROFILE はシ ス テ ム権限です。 こ の権限はユーザーに付与す る も ので、 特定のオブジ ェ ク ト に対 し て付与す る も のではあ り ません。 • CONSTRAINT ASSIGNMENT、 CONSTRAINT DEFINITION、 CTCONTROL シ ス テ ム権限に対す る GRANT ま たは REVOKE 要求は、 ユーザー DBC か、 事前に WITH GRANT OPTION 権限を付与 さ れてい る ユーザーのみが実行で き ます。 こ れ ら の権限を PUBLIC や EXTUSER に付与す る こ と はで き ません。 SQL デー タ 制御言語 39 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) • CONSTRAINT ASSIGNMENT、 CONSTRAINT DEFINITION、 CTCONTROL 権限を 付与す る 際に指定す る ユーザーや ロ ールの名前は、 既存のユーザーや ロ ールに 割 り 当て られてい る固有な識別子にする必要があ り ます。 PUBLIC や EXTUSER を 指定す る こ と はで き ません。 • SHOW 権限に よ り 、 ユーザーは、 デー タ ベース ・ オブジ ェ ク ト の定義を表示 (SHOW object_type 要求 ) し た り 、 デー タ ベース ・ オブジ ェ ク ト の定義 と その他 の情報についてのヘルプ を要求 (HELP object_type 要求 ) で き る よ う にな り ます が、 オブジ ェ ク ト の定義を変更 し た り 、 オブジ ェ ク ト か ら 行を取得す る こ と は で き ません。 明示的に付与す る 必要があ る SHOW は、 オブジ ェ ク ト ・ レベルお よ びデー タ ベース ・ レベルで付与で き ます。 オブジ ェ ク ト の作成者が、 作成 し たオブジ ェ ク ト に対す る SHOW 権限を自動的に受け取 る こ と はあ り ません。 ユーザー DBC は、 デ ィ ク シ ョ ナ リ 表に対す る こ の権限を他のユーザーやデー タ ベース に付与 す る こ と も で き ます。 SHOW CONSTRAINT には CONSTRAINT ASSIGNMENT ま たは CONSTRAINT DEFINITION 権限が必要です。 SHOW を使用す る と 、 SHOW TABLE、 HELP TABLE お よ び HELP STATISTICS の よ う な、 あ ら ゆ る 種類のすべての権限が必要な文へのア ク セ ス を提供で き ま す。 ま た、 あ ら ゆ る 権限が必要なすべての文に SHOW が使用で き ます。 DBA は こ の権限に よ っ て、 表に対 し て SELECT ア ク セ スす る こ と な く 、 表や ビ ュ ーの SHOW ま たは、 HELP STATISTICS な ど を実行す る 能力を ユーザーに 付与で き る よ う にな り ます。 GRANT と GIVE の相違点 GRANT 文は特定の権限を割 り 当て る ためだけに使用 し 、 GIVE 文はデー タ ベース ま たはユーザーの所有権を他のデー タ ベースやユーザーに譲渡す る ために使用 し ま す。 詳細は 「GIVE」 (16 ページ ) を参照 し て く だ さ い。 権限が付与 さ れる タ イ ミ ング GRANT は、 後続の文が実行 さ れ る と 直ちに有効にな り ます。 直前に付与 さ れた権 限を受け取 る ために、 ロ グ ア ウ ト す る 必要はあ り ません。 オブ ジ ェ ク ト 名 object_name 要素は、 表、 結合索引、 ハ ッ シ ュ 索引、 ビ ュ ー、 ス ト ア ド ・ プ ロ シー ジ ャ 、 UDF、 UDM、 UDT、 ま たはマ ク ロ の名前です。 権限オプシ ョ ンの形式に一 連の列名が含まれてい る 場合は、 object_name で表ま たはビ ュ ーの ど ち ら かを指定 す る 必要があ り ます。 object_name がデー タ ベース名ま たはユーザー名で修飾 さ れてお ら ず、 実行す る ユーザーの現在のデー タ ベース と 受領者のデー タ ベース の両方に、 その同 じ 名前を 持つオブジ ェ ク ト があ る 場合には、 そのオブジ ェ ク ト は、 実行す る ユーザーの現在 のデー タ ベース内にあ る と 想定 さ れます。 唯一の例外は、 UDT 関連の UDF お よ び メ ソ ッ ド を含む、 UDT に関係す る すべてのオブジ ェ ク ト の場合です。 こ れ ら はすべ て SYSUDTLIB デー タ ベース に含まれていなければな り ません。 40 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 修飾 さ れていない object_name が現在のデー タ ベース のオブジ ェ ク ト の名前で も あ り 、 現在のデー タ ベース内ま たは受領者のデー タ ベース内の表の名前で も あ る 場合 には、 現在のデー タ ベース のオブジ ェ ク ト であ る と みな さ れます。 REFERENCES REFERENCES 権限は、 表レベル と 列レベルの両方に適用 さ れます。 CREATE TABLE ま たは ALTER TABLE 文の FOREIGN KEY 句で暗黙に ま たは明示的に参照 さ れ る すべての列に必須です。 シ ス テ ムは、 表の作成者に対 し て、 付与権限 と と も に こ の権限を自動的に与え ます。 所有者は、 権限を暗黙的に取得 し ます。 キー ワ ー ド INSERT、 REFERENCES、 SELECT ま たは UPDATE と と も に列 リ ス ト ( カ ン マで区切 ら れて括弧で囲まれた列名の リ ス ト - 例えば、 (column_name_1, ..., column_name_n)) を指定 し た と き 、 指定 さ れた一連の受領者が、 表レベルの 指定 さ れ た権限 と 該当す る 付与権限 を すで に持 っ て い る 場合、 シ ス テ ム では、 その文を受け付け ますが、 何 も 処理 し ません。 こ れは、 表レベルでの INSERT、 REFERENCES、 SELECT ま たは UPDATE 権限を持っ てい る こ と で も 、 そのすべて の列に対す る その動作が許可 さ れ る か ら です。 INDEX INDEX 権限は、 表レベルでのみ適用 さ れます。 CREATE INDEX 文ま たは DROP INDEX 文を実行す る には、 こ の権限 と DROP TABLE の ど ち ら かを持っ てい る 必要 が あ り ま す。 シ ス テ ム は、 表の直接の所有者に対 し て、 付与権限 と と も に こ の権 限を作成時に暗黙に与え ます。 列レベルの権限 DBC.AccessRights 表には、 INSERT、 REFERENCES、 SELECT、 ま たは UPDATE 権 限が与え ら れてい る 列の フ ィ ール ド ID が保管 さ れます。 列の タ イ プは SMALLINT です。 ヌ ルにはな り ません。 行に よ っ て定義 さ れた権限が列レベルでない場合に は、 その列の値はゼ ロ に設定 さ れます。 列レベルの権限は、 表の所有者に よ っ て暗黙に保持 さ れます。 暗黙権限の場合には 常に当ては ま る こ と ですが、 列レベルの暗黙権限の場合 も DBC.AccessRights に行が 挿入 さ れません。 INSERT、 REFERENCES、 SELECT、 ま たは UPDATE 権限が表レベルで与え ら れた 場合、 DBC.AccessRights には個々の列に対す る 行は生成 さ れません。 行が DBC.AccessRights で生成 さ れ る のは、 受領者が表レベルの権限を持っ て いない 場合に、 GRANT 文の実行に よ っ て列 レ ベルで権限が与え ら れた と き だけ です。 唯一の例外は、 GRANT 権限な し で表レベルの権限を持っ てい る ユーザーま たは デー タ ベー ス が、 個々の列に対 し て その権限 を 、 付与権限 と と も に 与え ら れた 場合です。 SQL デー タ 制御言語 41 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) デー タ の変更に必要な権限 何 ら かの形式の更新、 削除、 ま たは挿入操作 (MERGE 要求に よ っ て実行 さ れ る 挿 入お よ び更新操作を含む ) を行な う 必要のあ る ユーザーは、 削除、 挿入、 マージ ま たは更新要求で読み取 ら れ る すべての列に対 し て、 そのユーザーが値を読み取 る た めの SELECT 権限を所持 し てい る 必要があ り ます。 INSERT 文については、 自身に対 し て実行 さ れ る INSERT … SELECT 文に よ っ て表 自体が再帰的に拡大す る 場合のみ、 SELECT 権限が必要にな り ます。 更新、 削除ま たは挿入先の列が UDT 型の場合、 その UDT に対す る UDTUSAGE ま たは UDTTYPE 権限 も 必要 と な り ます。 ユーザーが ビ ュ ーを通 し て行を削除す る と 、 ビ ュ ーで定義 さ れていない列内のデー タ ( 場合に よ っ ては企業に と っ て重要なデー タ ) が誤っ て削除 さ れて し ま う 可能性 があ る ため、 ビ ュ ーを通 し て削除を行な う 権限の付与には注意が必要です。 CREATE MACRO 権限のセキ ュ リ テ ィ に関する考慮事項 デー タ ベース ま たはユーザーに対す る CREATE MACRO 権限を付与す る 前に、 権限 の受領者がそのデー タ ベース ま たはユーザーのすべての権限を持つマ ク ロ を作成 し て実行で き る こ と を理解 し ておいて く だ さ い。 こ れは、 CREATE MACRO では、 権限はマ ク ロ の作成者でな く 所有者か ら 継承 さ れ る ためです。 その結果、 受領者は作成者の権限が検査 さ れない DCL お よ び DDL 文を含むマ ク ロ を作成で き ます。 つま り 、 マ ク ロ 作成者には、 実行す る 明示的、 暗黙的、 ま たは 自動的な権限を持たない権限が、 暗黙に割 り 当て ら れ る こ と にな り ます。 こ れは望 ま し い結果にな ら ない こ と があ る ので、 こ の権限を与え る 際は十分に注意す る 必要 があ り ます。 た と えば、 次の図で示 さ れてい る シナ リ オ を考え ます。 SysAdmin DBA DBA GRANT CREATE MACRO ON Compensation TO CompAnalyst 6; CompAnalyst 6 Compensation CREATE MACRO everything AS (GRANT ALL PRIVILEGES ON Compensation TO CompAnalyst 6;); 1101B001 compensation デー タ ベース は DBA に よ っ て所有 さ れてい ます。 compensation のシ ス テ ム管理者で あ る ユーザー SysAdminDBA は、 compensation に 対す る 権限 (CREATE MACRO WITH GRANT OPTION を含む ) と 、 compensation に よ っ て所有 さ れ る すべてのオブジ ェ ク ト に対す る 権限を所持 し てい ます。 42 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) SysAdminDBA は、 結果的に次の も の を自身に与え る こ と も で き ます。 • compensation に よ っ て所有 さ れ る オブジ ェ ク ト に対す る 権限 • compensation が WITH GRANT OPTION を持っ てい る 権限 • compensation に よ っ て所有 さ れ る 暗黙権限 SysAdminDBA は、 州お よ び連邦の規制局に よ っ て実行 さ れた日常的な監査につい ての補正報告を作成す る 作業を担当す る 基本レベルのプ ロ グ ラ マ用に、 ユーザー CompAnalyst6 を作成 し ます。 重要機密であ る 従業員の基本給お よ びボーナ ス情報に ア ク セ ス で き ない よ う にす る ため、 CompAnalyst6 には、 compensation デー タ ベース 内のオブジ ェ ク ト に対す る 権限の制限セ ッ ト だけ を与え ら れます。 CompAnalyst6 が レ ポー ト を作成 し やす く す る ため、 SysAdminDBA は、 次の よ う に compensation に対す る CREATE MACRO 権限 も CompAnalyst6 に与え ます。 GRANT CREATE MACRO ON compensation TO companalyst6; compensation でマ ク ロ を実行する権限は compensation か ら派生する ので、 CompAnalyst6 は、 表示を制限 さ れ る 種類の私用デー タ についてのみ報告す る マ ク ロ を作成 し て実 行で き ます。 た と えば、 次のプ ロ シージ ャ で概要を示 し てい る 3 つの手順に よ り 、 CompAnalyst6 は、 単純なマ ク ロ を介 し てすべての表への完全ア ク セ ス を与えてか ら 、 デー タ ベー ス ・ オブジ ェ ク ト を作成 し た り 、 企業内の各従業員の給与お よ びボーナ ス のデー タ について報告す る 問合わせを実行 し た り す る こ と がで き ます。 1 CREATE MACRO everything AS (GRANT ALL PRIVILEGES ON compensation TO companalyst6;); 2 EXECUTE everything; 3 SELECT * FROM salary, bonus; CompAnalyst6 は、 compensation デー タ ベース内のデー タ を変更 し 、 表を削除す る こ と も で き ます。 ロギン グ ・ ア ク セスの試み ア ク セ ス試行に関す る セキ ュ リ テ ィ ・ ロ グ を保守す る 必要があ る 場合は、 ア ク セ ス ・ ロ ギ ン グ機能を使用で き ます (<SQL デー タ 定義言語 - 構文規則お よ び例 > の 「BEGIN LOGGING」 を参照 )。 付与権限の制限 他のユーザー、 デー タ ベース、 ロ ール、 ま たは PUBLIC へ明示 し て権限を与え る 場 合、 その要求 さ れた権限が、 与え ら れ る か、 ど の よ う に与え ら れ る のか、 お よ びど のオブジ ェ ク ト に対 し て与え る こ と が き る のかを決め る 一定の規則があ り ます。 明 示的に付与 さ れる権限に対する制限について、 次のページの表で詳し く 説明し ます。 SQL デー タ 制御言語 43 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) こ の表の最初の列では権限の タ イ プ を示 し 、 2 番目の列ではその権限をデー タ ベー ス、 ユーザー、 ロ ール、 ま たは PUBLIC に付与す る と き の制限を説明 し 、 3 番目の 列では表、 ビ ュ ー、 関数、 ス ト ア ド ・ プ ロ シージ ャ 、、 メ ソ ッ ド 、 UDT、 ま たはマ ク ロ に付与す る と き の制限を説明 し てい ます。 権限 ALL オブジ ェ ク ト ( デー タ ベース、 ユーザー、 ロ ール、 PUBLIC) 付与者がオブジ ェ ク ト に対 し て付与で き る すべての権限。 以下は、 付与者が権限を所有 し てい る 場 合にのみ適用 さ れます。 • SYSUDTLIB デー タ ベース に対 し て UDTMETHOD を付与 し ます。 • マ ク ロ に対す る EXECUTE と DROP の付与。 • デー タ の表に対す る DROP、 DELETE、 INDEX、 INSERT、 REFERENCES、 SELECT、 UPDATE、 RESTORE、 CREATE TRIGGER、 DROP TRIGGER、 お よ び DUMP の付与。 • ハ ッ シ ュ 索引 と 結合索引に対す る DROP の付与。 • ビ ュ ーに対す る DROP、 DELETE、 INSERT、 SELECT、 お よ び UPDATE の付与。 • ジ ャ ーナル表に対す る INSERT、 DUMP、 RESTORE、 お よ び CHECKPOINT の付与。 • ス ト ア ド ・ プ ロ シージ ャ に対す る ALTER PROCEDURE、 DROP PROCEDURE、 お よ び EXECUTE PROCEDURE 権限の付与。 • 指定 さ れた UDF に対す る ALTER FUNCTION、 DROP FUNCTION、 お よ び EXECUTE FUNCTION 権限の付与。 • ユーザーへの CREATE GLOP、 GLOP、 お よ び DROP GLOP の付与。 • 指定 し たユーザーま たはデー タ ベース への GLOP MEMBER の付与。 • 指定 し たユーザー、 デー タ ベース ま た は表への NONTEMPORAL の付与。 詳細は、 < テ ン ポ ラ ル表サポー ト > を 参照 し て く だ さ い。 WITH GRANT OPTION 付 き で付与 さ れた場合、 権限を与え ら れ る ユー ザーは他のユーザーに UDTMETHOD、 UDTTYPE、 お よ び UDTUSAGE を付 与で き 、 任意に WITH GRANT OPTION 付 き で付与す る こ と も 可能 です。 44 表、 ビ ュ ー、 関数、 GLOP、 メ ソ ッ ド 、 UDT、 プ ロ シージ ャ 、 制約、 ま たはマ ク ロ SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 権限 ALTER FUNCTION ALTER PROCEDURE オブジ ェ ク ト ( デー タ ベース、 ユーザー、 ロ ール、 PUBLIC) 指定 さ れた領域内のすべての外部 UDF ま たは内部ス ト ア ド ・ プ ロ シージ ャ に適 用 さ れ る 権限。 ALTER FUNCTION は UDF に対 し て無 効です。 表、 ビ ュ ー、 関数、 GLOP、 メ ソ ッ ド 、 UDT、 プ ロ シージ ャ 、 制約、 ま たはマ ク ロ 指定 さ れた外部 UDF ま たは ス ト ア ド ・ プ ロ シージ ャ に適用 さ れ る 権限。 ALTER FUNCTION は UDF に対 し て無効 です。 ALTER EXTERNAL PROCEDURE 指定 さ れた領域内のすべての外部ス ト ア ド ・ プ ロ シージ ャ に適用 さ れ る 権限。 指定 さ れた外部ス ト ア ド ・ プ ロ シージ ャ に適用 さ れ る 権限。 CHECKPOINT 指定 し たデー タ ベース内のジ ャ ーナル表 に適用 さ れ る 権限。 指定 し た ジ ャ ーナル表に適用 さ れ る 権限。 CONSTRAINT ASSIGNMENT WITH GRANT OPTION が指定 さ れた ユーザー DBC に付与 さ れ る シ ス テ ム ・ レベルの権限。 DBC は こ の権限を、 シ ス テ ム用に定義 さ れた他の任意のユー ザーま たは ロ ールに付与で き ます。 CONSTRAINT ASSIGNMENT は、 プ ロ フ ァ イ ル、 表お よ びユーザーに関す る 制 約割 り 当て を保守す る ために使用 さ れ る 以下の SQL 文に適用 さ れ ます。 • ALTER TABLE • CREATE PROFILE • CREATE TABLE • CREATE USER • MODIFY PROFILE • MODIFY USER • SHOW CONSTRAINT CONSTRAINT DEFINITION WITH GRANT OPTION が指定 さ れた ユーザー DBC に付与 さ れ る シ ス テ ム ・ レ ベルの権限。 DBC は こ の権限 を 、 シ ス テ ム用に定義 さ れた他の任意のユー ザーま たは ロ ールに付与で き ます。 CONSTRAINT DEFINITION は、 以下の SQL 文を実行す る 際に適用 さ れます。 • ALTER CONSTRAINT • CREATE CONSTRAINT • DROP CONSTRAINT CREATE DATABASE CREATE USER SQL デー タ 制御言語 指定 し た領域に対す る CREATE 権限。 適用 さ れない。 45 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 権限 オブジ ェ ク ト ( デー タ ベース、 ユーザー、 ロ ール、 PUBLIC) CREATE EXTERNAL PROCEDURE CREATE FUNCTION CREATE MACRO CREATE PROCEDURE CREATE TABLE CREATE VIEW 指定 し た領域のオブジ ェ ク ト に対す る CREATE 権限。 CREATE GLOP 指定 し たユーザーに対す る CREATE 権限。 表、 ビ ュ ー、 関数、 GLOP、 メ ソ ッ ド 、 UDT、 プ ロ シージ ャ 、 制約、 ま たはマ ク ロ 適用 さ れない。 こ の権限は、 ユーザーま たはデー タ ベース の作成時に、 自動的には付与 さ れない。 CREATE PROFILE CREATE ROLE オブジ ェ ク ト に対す る CREATE PROFILE お よ び CREATE ROLE は付与で き ない。 オブジ ェ ク ト に対す る CREATE PROFILE お よ び CREATE ROLE は付与で き ない。 CREATE TRIGGER 指定 し た領域のオブジ ェ ク ト に対す る CREATE 権限。 指定 し た表に対す る CREATE 権限。 CTCONTROL 総合的なシ ス テ ム権限であ り 、 特定の表ま たはデー タ ベース に対 し ては付与ま たは 取消 し さ れない権限。 CTCONTROL 権限は、 ユーザーに対 し てのみ付与で き る 。 ユーザー DBC は、 WITH GRANT OPTION で他の ど のユーザーにで も CTCONTROL 権限を付与で き る 。 DATABASE FUNCTION GLOP INDEX MACRO PROCEDURE PROFILE ROLE TABLE TRIGGER USER VIEW 指定 し た領域の指定 し た種類に対す る CREATE お よ び DROP 権限。 適用 さ れない。 DELETE INSERT SELECT UPDATE 指定 し たデー タ ベース内のすべての表ま たはビ ュ ーに適用 さ れ る 権限。 指定 さ れた表、 ビ ュ ーま たは列にだけ適 用 さ れ る 権限。 UPDATE、 INSERT お よ び SELECT は、 表、 ま たはその表の列セ ッ ト に適用 さ れる。 GENERATED ALWAYS の識別列に対す る UPDATE は付与で き ない。 ビ ュ ーに対 し て与え ら れた権限を受領者 が使用す る ために、 ビ ュ ーの直接所有者 は、 その ビ ュ ーに よ っ て参照 さ れ る 表お よ びビ ュ ーに対す る 適切な権限を持っ て い る 必要があ る 。 46 TRIGGER は、 ト リ ガーが定義 さ れてい る 表に適用 さ れ る 。 ビ ュ ーに対 し て与え ら れた権限を受領者 が使用す る ために、 ビ ュ ーの直接所有者 は、 その ビ ュ ーに よ っ て参照 さ れ る 表お よ びビ ュ ーに対す る 適切な権限を持っ て い る 必要があ る 。 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 権限 DROP 表、 ビ ュ ー、 関数、 GLOP、 メ ソ ッ ド 、 UDT、 プ ロ シージ ャ 、 制約、 ま たはマ ク ロ オブジ ェ ク ト ( デー タ ベース、 ユーザー、 ロ ール、 PUBLIC) 適用 さ れない。 指定 し た以下の も のに対す る DROP 権限。 • ス ト ア ド ・ プ ロ シージ ャ 。 PROCEDURE を プ ロ シージ ャ 名の前 に、 ま たは指定 し た関数に対 し て指定 す る 場合。 • 関数。 FUNCTION ま たは SPECIFIC FUNCTION を関数名の前に指定す る 場合。 DROP DATABASE DROP USER 指定 し た領域に対す る DROP 権限。 適用 さ れない。 DROP FUNCTION DROP MACRO DROP PROCEDURE DROP TABLE DROP TRIGGER DROP VIEW 指定 し た領域のオブジ ェ ク ト に対す る DROP 権限。 指定 さ れた UDF、 マ ク ロ 、 ス ト ア ド ・ プ ロ シージ ャ 、 表、 ま たはビ ュ ーに対す る DROP 権限。 DROP GLOP 指定のユーザーま たはデー タ ベース に指定 し た GLOP セ ッ ト に対す る DROP 権限。 DROP TRIGGER は、 ト リ ガーが定義 さ れてい る 表に適用 さ れ る 。 こ の権限は、 ユーザーま たはデー タ ベース の作成時に、 自動的には付与 さ れない。 こ の権限は、 GLOP セ ッ ト の作成者お よ び所有者に、 自動的に付与 さ れ る 。 DROP PROFILE DROP ROLE DROP PROFILE お よ び DROP ROLE は、 ユーザーま たは ロ ールに対 し てだけ付与 で き る 。 オブジ ェ ク ト に付与す る こ と は で き ない。 DROP PROFILE お よ び DROP ROLE は、 ユーザーま たは ロ ールに対 し てだけ付与 で き る 。 オブジ ェ ク ト に付与す る こ と は で き ない。 DUMP RESTORE 指定 し たデー タ ベース内のすべての表に 適用 さ れ る 権限。 指定 し たデー タ 表ま たはジ ャ ーナル表に だけ適用 さ れ る 権限。 EXECUTE 指定 さ れたデー タ ベース内のすべての UDF ま たはマ ク ロ に適用 さ れ る 権限。 キー ワ ー ド FUNCTION、 SPECIFIC FUNCTION、 ま たは PROCEDURE が指 定 さ れていない場合、 権限は、 指定 し た マ ク ロ に適用 さ れ る 。 UDF ま たはマ ク ロ に対す る 権限を受領 者が使用す る ために、 マ ク ロ ま たは UDF の直接所有者は、 そのマ ク ロ ま た は UDF に よ っ て参照 さ れ る オブジ ェ ク ト に対す る 適切な権限を持っ てい る 必要 があ る 。 UDF ま たはマ ク ロ に対す る 権限を受領者 が使用す る ために、 マ ク ロ の直接所有者 は、 そのマ ク ロ に よ っ て参照 さ れ る オブ ジ ェ ク ト に対す る 適切な権限を持っ てい る 必要があ る 。 キー ワ ー ド FUNCTION、 SPECIFIC FUNCTION、 ま たは PROCEDURE が指 定 さ れてい る 場合、 権限は、 指定 さ れた UDF ま たは ス ト ア ド ・ プ ロ シージ ャ に適 用される。 SQL デー タ 制御言語 47 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 権限 EXECUTE FUNCTION EXECUTE PROCEDURE オブジ ェ ク ト ( デー タ ベース、 ユーザー、 ロ ール、 PUBLIC) 指定 さ れた領域内のすべての UDF ま た は ス ト ア ド ・ プ ロ シージ ャ に適用 さ れ る 権限。 プ ロ シージ ャ に対す る 権限を受領者が使 用す る ために、 ス ト ア ド ・ プ ロ シージ ャ の直接所有者は、 その ス ト ア ド ・ プ ロ シージ ャ が参照す る オブジ ェ ク ト に対す る 適切な権限を持っ てい る 必要があ る 。 GLOP MEMBER 表、 ビ ュ ー、 関数、 GLOP、 メ ソ ッ ド 、 UDT、 プ ロ シージ ャ 、 制約、 ま たはマ ク ロ 指定 さ れた UDF ま たは ス ト ア ド ・ プ ロ シージ ャ に適用 さ れ る 権限。 プ ロ シージ ャ に対す る 権限を受領者が使 用す る ために、 ス ト ア ド ・ プ ロ シージ ャ の直接所有者は、 その ス ト ア ド ・ プ ロ シージ ャ が参照す る オブジ ェ ク ト に対す る 適切な権限を持っ てい る 必要があ る 。 外部ルーチン が、 定義内の MEMBER OF GLOP SET 句で指定 し た GLOP セ ッ ト にア ク セ ス で き る よ う にす る 権限 ( その GLOP セ ッ ト が、 外部ルーチン を含むユーザー ま たはデー タ ベース内に含ま れていない場合 )。 こ の権限は、 ユーザーま たはデー タ ベース の作成時に、 自動的には付与 さ れない。 INDEX 適用 さ れない。 表、 ハ ッ シ ュ 索引、 お よ び結合索引に適 用 さ れ る 権限。 NONTEMPORAL 表、 デー タ ベース、 ま たはユーザーに適 用す る 権限。 表レベルで付与 さ れ る 権限。 詳細は、 < テ ン ポ ラ ル表サポー ト > を参照 し て く だ さ い。 こ の権限は自動的には付与 さ れ ません。 ま た、 ユーザー DBC、 あ る いは WITH GRANT OPTION 権限がすでに付与 さ れ てい る ユーザーに よ っ て、 明示的に付与 さ れ る 必要があ り ます。 詳細は、 < テ ン ポ ラ ル表サポー ト > を参照し て く ださい。 48 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 権限 オブジ ェ ク ト ( デー タ ベース、 ユーザー、 ロ ール、 PUBLIC) OVERRIDE DELETE CONSTRAINT 表、 ビ ュ ー、 関数、 GLOP、 メ ソ ッ ド 、 UDT、 プ ロ シージ ャ 、 制約、 ま たはマ ク ロ 表、 デー タ ベー ス 、 列 ま たはユーザー に付与で き る オブ ジ ェ ク ト ・ レ ベルの 権限。 OVERRIDE INSERT CONSTRAINT 行レベル ・ セキ ュ リ テ ィ 関数が文ア ク シ ョ ン ・ タ イ プ用に作成 さ れていない場 合、 その タ イ プの文は、 その文を実行す る ために必要な上書 き 権限を持っ てい る ユーザーだけが実行で き ます。 OVERRIDE SELECT CONSTRAINT OVERRIDE UPDATE CONSTRAINT ユーザーが上書 き 権限を持っ てい る 場 合、 要求では宛先行の制約列に割 り 当 て ら れ る 値を指定す る 必要があ り ます。 こ れ ら の権限を付与す る には、 CONSTRAINT ASSIGNMENT 権限が必要 です。 • オブジ ェ ク ト が表であ る 場合は、 その すべての制約列で OVERRIDE 権限が 付与 さ れます。 • オブジ ェ ク ト がデー タ ベースやユー ザーであ る 場合は、 そのデー タ ベース ま たはユーザー内に含ま れ る すべての 表のすべて の制約列に対 し て OVERRIDE 権限が付与 さ れます。 こ れ ら の権限を指定す る GRANT 要求で は、 権限が付与 さ れ る CONSTRAINT オ ブジ ェ ク ト も 指定す る 必要があ り ます。 OVERIDE DUMP CONSTRAINT OVERIDE RESTORE CONSTRAINT OVERIDE DUMP CONSTRAINT と OVERIDE RESTORE CONSTRAINT は、 ユーザー と ロ ールにのみ付与で き ます。 ユーザーや ロ ールに付与で き る オブジ ェ ク ト ・ レベルの権限。 こ れ ら の権限を付与す る には、 CONSTRAINT ASSIGNMENT 権限が必要 です。 • オブジ ェ ク ト が表であ る 場合、 少な く と も 1 つの行レベル ・ セ キ ュ リ テ ィ 制 約がそれ と 共に定義 さ れてい る 必要が あ り ます。 • オブジ ェ ク ト がユーザーであ る 場合、 1 つ以上の行レベル ・ セキ ュ リ テ ィ 制 約を持つ表が少な く と も 1 つ含まれて い る 必要があ り ます。 注 : デー タ ベース に、 1 つ以上の行レ ベル ・ セキ ュ リ テ ィ 制約を持つ表が含 ま れてい る 必要はあ り ません。 SQL デー タ 制御言語 49 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) オブジ ェ ク ト ( デー タ ベース、 ユーザー、 ロ ール、 PUBLIC) 表、 ビ ュ ー、 関数、 GLOP、 メ ソ ッ ド 、 UDT、 プ ロ シージ ャ 、 制約、 ま たはマ ク ロ PROFILE ROLE CREATE PROFILE、 DROP PROFILE、 CREATE ROLE、 お よ び DROP ROLE は、 ユーザーお よ び ロ ールに対 し てだけ 付与で き る 。 オブジ ェ ク ト に付与す る こ と はで き ない。 CREATE PROFILE、 DROP PROFILE、 CREATE ROLE、 お よ び DROP ROLE は、 ユーザーお よ び ロ ールに対 し てだけ付与 で き る 。 オブジ ェ ク ト に付与す る こ と は で き ない。 REFERENCES 適用 さ れない。 表ま たは表の列に対し て適用さ れる権限。 SHOW 適用 さ れない。 表、 ハ ッ シ ュ 索引、 結合索引ま たはデー タ ベース に対 し て適用 さ れ る 権限。 権限 受領者が権限を付与 さ れたデー タ ベー ス ・ オブジ ェ ク ト に対 し て、 HELP ま た は SHOW 要求以外のあ ら ゆ る 操作を実 行す る 能力が許可 さ れない権限。 STATISTICS 50 適用 さ れない。 表、 ハ ッ シ ュ 索引、 結合索引、 ま たは デー タ ベース に関す る 統計を収集す る た めの権限。 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 権限 UDTMETHOD オブジ ェ ク ト ( デー タ ベース、 ユーザー、 ロ ール、 PUBLIC) SYSUDTLIB デー タ ベース に対 し てのみ 付与で き ます。 表、 ビ ュ ー、 関数、 GLOP、 メ ソ ッ ド 、 UDT、 プ ロ シージ ャ 、 制約、 ま たはマ ク ロ 適用 さ れない。 SYSUDTLIB デー タ ベース内に含ま れ る すべての UDT、 メ ソ ッ ド 、 お よ び UDF に適用 さ れ る 権限。 実質的には、 SYSUDTLIB デー タ ベース 内に含ま れ る すべての UDT に対 し て UDTUSAGE を付与 し 、 SYSUDTLIB デー タ ベース に対 し て UDTTYPE を付与 し ます。 指定 し た UDT オブジ ェ ク ト に適用 さ れ る 権限。 • 表ま たはビ ュ ーの UDT 列にア ク セ ス で き る よ う に し ます。 • メ ソ ッ ド ・ シ グ ネチ ャ を含んでい る 場合、 CREATE TYPE、 ALTER TYPE、 お よ び DROP TYPE を付与 し ます。 • CREATE ORDERING お よ び DROP ORDERING を付与 し ます。 • CREATE CAST お よ び DROP CAST を 付与 し ます。 • CREATE TRANSFORM お よ び DROP TRANSFORM を付与 し ます。 • UDT 列に対す る CREATE TABLE を 付与 し ます。 • UDF ま たは ス ト ア ド ・ プ ロ シージ ャ に含まれ る UDT を参照で き る よ う に し ます。 • すべての メ ソ ッ ド を実行で き る よ う に し ます。 • CREATE METHOD、 ALTER METHOD、 お よ び REPLACE METHOD を付与 し ます。 SQL デー タ 制御言語 51 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 権限 UDTTYPE オブジ ェ ク ト ( デー タ ベース、 ユーザー、 ロ ール、 PUBLIC) SYSUDTLIB デー タ ベース に対 し てのみ 付与で き ます。 表、 ビ ュ ー、 関数、 GLOP、 メ ソ ッ ド 、 UDT、 プ ロ シージ ャ 、 制約、 ま たはマ ク ロ 適用 さ れない。 SYSUDTLIB デー タ ベース内に含ま れ る すべての UDT、 メ ソ ッ ド 、 お よ び UDF に適用 さ れ る 権限。 実質的には、 SYSUDTLIB デー タ ベース 内に含ま れ る すべての UDT に対 し て UDTUSAGE を付与 し ます。 指定 し た UDT オブジ ェ ク ト に適用 さ れ る 権限。 • 表ま たはビ ュ ーの UDT 列にア ク セ ス で き る よ う に し ます。 • メ ソ ッ ド ・ シ グ ネチ ャ が指定 さ れて いない場合にのみ、 CREATE TYPE お よ び ALTER TYPE を付与 し ます。 • DROP TYPE を付与 し ます。 • CREATE ORDERING お よ び DROP ORDERING を付与 し ます。 • CREATE CAST お よ び DROP CAST を 付与 し ます。 • CREATE TRANSFORM お よ び DROP TRANSFORM を付与 し ます。 • UDT 列に対す る CREATE TABLE を 付与 し ます。 • UDF ま たは ス ト ア ド ・ プ ロ シージ ャ に含まれ る UDT を参照で き る よ う に し ます。 • すべての メ ソ ッ ド を実行で き る よ う に し ます。 UDTUSAGE 付与す る 対象 • SYSUDTLIB デー タ ベース • TYPE SYSUDTLIB デー タ ベース内に含ま れ る すべての UDT、 メ ソ ッ ド 、 お よ び UDF に適用 さ れ る 権限。 指定 し た UDT オブジ ェ ク ト に適用 さ れ る 権限。 • 表ま たはビ ュ ーの UDT 列にア ク セ ス で き る よ う に し ます。 • 指定 し た UDT にのみ関連付け ら れて い る すべての メ ソ ッ ド を実行で き る よ う に し ます。 グローバル一時表および揮発表の権限の付与 GRANT は、 常にグ ロ ーバル一時表の実表に適用 さ れ、 実体化 さ れた イ ン ス タ ン ス には適用 さ れません。 永久表の場合 と 同様に、 ユーザーは、 GRANT 要求を実行す る 前に適切な権限を持っ ていなければな り ません。 52 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) Teradata Database では権限のチェ ッ ク が行なわれないため、 揮発表に権限を GRANT す る こ と はで き ません。 ビ ュ ー、 マ ク ロ、 およびス ト ア ド ・ プ ロ シージ ャ に対する権限の検証 こ の文が実行 さ れ る タ イ ミ ン グ 作成者に対す る シ ス テ ムに よ る 検証 CREATE MACRO マ ク ロ 本体の SQL 文を実行す る ために必要な権限を 検証す る 。 CREATE PROCEDURE (SQL 形式 ) ス ト ア ド ・ プ ロ シージ ャ 本体の SQL 文を実行す る た めに必要な権限を検証す る 。 • CREATE PROCEDURE ( 外部形式 ) • ALTER PROCEDURE ( 外部形式 ) CREATE EXTERNAL PROCEDURE 権限 と 、 有効な API 関数呼出 し のいずれか を 使用 し て指定 し た表、 列お よ びビ ュ ーにア ク セ スす る ために必要な権限を 検証。 CREATE PROCEDURE … SQL SECURITY OWNER ( 両方の 形式 ) CREATE OWNER PROCEDURE 権限 と 、 以下のいずれ かの権限を検証 し ます。 CREATE VIEW 下層の基本表お よ びビ ュ ーに対す る SELECT 権限を検 証す る 。 • SQL 形式の場合は、 基礎 と な る 表、 列お よ び ビ ュ ーに対 し て ス ト ア ド ・ プ ロ シージ ャ 本体にあ る SQL 文を実行す る ために必要な権限。 • 外部形式の場合は、 基礎 と な る 表、 列お よ びビ ュ ー に対 し て有効な API 関数呼出 し を使用す る ために 必要な権限。 ま た、 Teradata Database は、 ビ ュ ーにア ク セ スす る か、 マ ク ロ ま たは ス ト ア ド ・ プ ロ シージ ャ を実行す る ユーザーに対 し て も 、 対象 と な る オブジ ェ ク ト に適切な権限が存在す る か ど う か を検証 し ます。 し たが っ て、 対象のオブジ ェ ク ト を変更 し て も 、 そのオブ ジ ェ ク ト を参照す る ビ ュ ー、 マ ク ロ 、 ス ト ア ド ・ プ ロ シージ ャ のいずれかが呼び出 さ れた と き に、 権限の違反が発生 し ない よ う にな っ てい ます。 CTCONTROL 権限 CTCONTROL では、 GRANT CONNECT ま たは REVOKE CONNECT 文を使用 し て、 ユーザーが CONNECT THROUGH 権限の付与す る か取 り 消す こ と を可能に し ます。 CTCONTROL 権限は、 特定のユーザーにのみ付与で き ます。 CTCONTROL 権限の不要に適用 さ れ る ルールは、 次の と お り です。 • user_name で指定 し たユーザーは、 シ ス テ ムで既存のユーザーにす る 必要があ り ます。 user_name に、 ロールを指定する こ と はで き ません。 ロールに CTCONTROL 権限を付与 し よ う と す る と 、 その要求はアボー ト さ れ、 ユーザーに メ ッ セージ が返 さ れます。 • ユーザー DBC は、 WITH GRANT OPTION で他のど のユーザーにで も CTCONTROL 権限を付与で き ます。 SQL デー タ 制御言語 53 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) • ユーザーに対 し て CTCONTROL 権限の GRANT 要求を実行す る には、 ユーザー DBC か、 事前に WITH GRANT OPTION で CTCONTROL 権限が付与 さ れてい る ユーザーであ る 必要があ り ます。 WITH GRANT OPTION は、 受領者が他のユーザーに権限を付与す る こ と を許可 し ます。 SHOW 権限 SHOW 権限に よ り 、 その権限が付与 さ れたオブジ ェ ク ト に収容 さ れてい る デー タ に 対す る ア ク セ ス権がな く て も 、 デー タ ベース ・ オブジ ェ ク ト の定義お よ び作成テ キ ス ト にア ク セ ス で き ます。 た と えば、 SHOW に よ り 、 ユーザーはオブジ ェ ク ト か ら の SELECT が実行で き ない ま ま で、 そのオブジ ェ ク ト に対す る HELP お よ び SHOW 要求を実行す る こ と が許可 さ れます。 実行に なん ら かの権限を必要 と す る (HELP や SHOW 文な ど )SQL 文に、 SHOW 権限を付与す る こ と がで き ます。 SHOW は、 明示権限です。 Teradata Database では、 作成 し たユーザー、 デー タ ベー ス ま たはデー タ ベース ・ オブジ ェ ク ト に対す る こ の権限を、 オブジ ェ ク ト の作成者 に自動的に付与す る こ と はあ り ません。 SHOW は、 明示的に付与す る 必要があ り ま す。 こ の権限を明示的に他のユーザーお よ びデー タ ベース に付与で き る よ う にす る ために、 WITH GRANT OPTION で SHOW 権限を所持 し てい る 必要があ り ます。 ユーザー DBC は自動的に SHOW 権限を所持す る ので、 デ ィ ク シ ョ ナ リ 表に対す る その権限を他のユーザーお よ びデー タ ベース に付与で き ます。 キ ュ ー表に対する権限の付与 ユーザーが CONSUME モー ド の SELECT 文を実行す る ユーザー、 デー タ ベース、 ロ ール、 ま たは PUBLIC に、 キ ュ ー表に関す る SELECT 権限お よ び DELETE 権限 の両方を付与 し ます。 GLOP 権限 Teradata Database は、 デー タ ベース ま たはユーザーの作成時に、 ど の GLOP 権限 も 自動的には付与 し ません。 GLOP 権限は、 WITH GRANT OPTION 権限を処理す る ユーザーが付与す る 場合で も 、 明示的に付与す る 必要があ り ます。 GLOP 権限には、 次の 3 つの権限があ り ます。 • CREATE GLOP は、 CREATE GLOP SET 文を実行す る 権限が付与 さ れたユーザー に対 し て、 新 し い GLOP セ ッ ト を作成で き る よ う に し ます。 • DROP GLOP は、 DROP GLOP SET 文を実行す る 権限が付与 さ れたユーザーに対 し て、 既存の GLOP セ ッ ト を削除で き る よ う に し ます。 DROP GLOP は、 GLOP セ ッ ト の作成者お よ び所有者に自動的に付与 さ れます。 • GLOP MEMBER は、 外部ルーチンが、 その外部ルーチン を含むユーザーま たは デー タ ベース に含まれていない GLOP セ ッ ト にア ク セ ス で き る よ う に し ます。 具体的には、 GLOP MEMBER は、 関数、 メ ソ ッ ド ま たはプ ロ シージ ャ の定義で 参照す る GLOP セ ッ ト の句が、 MEMBER OF GLOP SET 句で指定 し た GLOP セ ッ ト を使用で き る よ う に し ます。 54 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) キー ワー ド GLOP その も の を指定す る こ と で、 CREATE GLOP 権限 と DROP GLOP 権限の両方を表わす こ と も で き ます。 「単一のキーワー ド に よ る 複数の 権限」 (145 ページ ) を参照 し て く だ さ い。 NONTEMPORAL 権限 NONTEMPORAL 権限について、 詳細は < テ ン ポ ラ ル表サポー ト > を参照 し て く だ さ い。 ス ト ア ド ・ プ ロ シージ ャ に対する権限の付与 以下の表で、 ス ト ア ド ・ プ ロ シージ ャ 固有の権限に関連 し た、 様々な タ イ プのユー ザー / 付与者の権限を説明 し ます。 権限 付与先 付与者 ALTER PROCEDURE と CREATE PROCEDURE 暗黙的にユーザー DBC に ユーザー DBC 明示的に、 他の ユーザー、 ロ ール、 デー タ ベー ス 、 ま たは PUBLIC に • ユーザー DBC • 自分自身に対 し て こ の権限を WITH GRANT OPTION 付 き で持つユーザー ま たはデー タ ベース の所有者 • 権限が付与 さ れ る デー タ ベース ま たは ユーザーに対 し て こ の権限を WITH GRANT OPTION 付 き で持つデー タ ベー ス ま たはユーザー 暗黙的にユーザー DBC に ユーザー DBC 明示的に他のユー ザーに • ユーザー DBC • 自分自身に対 し て こ の権限を WITH GRANT OPTION 付 き で持つデー タ ベー ス ま たはユーザー 明示的に、 すべて のユーザー、 ロ ー ル、 デー タ ベース、 ま たは PUBLIC に デフ ォ ル ト ALTER EXTERNAL PROCEDURE DROP PROCEDURE SQL デー タ 制御言語 55 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 権限 付与先 付与者 EXECUTE PROCEDURE ま たは EXEC PROCEDURE 暗黙的にユーザー DBC に ユーザー DBC 自動的に、 ス ト ア ド ・ プ ロ シージ ャ の作成者に 作成者 ユーザー DBC を除いて、 所有者は こ の権 限を暗黙的に持ち ません。 プ ロ シージ ャ の直接所有者が作成者 と は異 な る 場合、 所有者が こ の権限を自動的に受 け取 る こ と はあ り ません。 明示的に、 他の ユーザー、 ロ ール、 デー タ ベー ス 、 お よ び PUBLIC に • ユーザー DBC • 自分自身に対 し て こ の権限を WITH GRANT OPTION 付 き で持つユーザー ま たはデー タ ベース の所有者 • 権限が付与 さ れ る デー タ ベース ま たは ユーザーに対 し て こ の権限を WITH GRANT OPTION 付 き で持つデー タ ベー ス ま たはユーザー 外部 ス ト ア ド ・ プ ロ シージ ャ には、 ALTER EXTERNAL PROCEDURE お よ び CREATE EXTERNAL PROCEDURE 権限 も 必要です。 ALTER PROCEDURE ( 外部形式 ) 文を 使用す る には、 ALTER EXTERNAL PROCEDURE 権限が必要です。 ALTER PROCEDURE( 外部形式 ) 文は、 既存の外部 ス ト ア ド ・ プ ロ シージ ャ を再 コ ンパ イ ルす る ために使用で き ます。 ALTER EXTERNAL PROCEDURE 権限の目的は、 現行 の ラ イ ブ ラ リ が破損 し た場合、 ま たはシ ス テ ムが再 ロ ー ド さ れた場合に、 DBA が 実行モー ド を変更 し た り 既存の外部 ス ト ア ド ・ プ ロ シージ ャ を再 コ ンパ イ ルで き る よ う にす る こ と です。 こ の権限は、 DBA 以外のユーザーに付与 し ない で く だ さ い。 ALTER EXTERNAL PROCEDURE 権限を持っ た DBA は、 ALTER PROCEDURE( 外 部形式 ) 要求を使用 し て、 特定の外部 ス ト ア ド ・ プ ロ シージ ャ の実行モー ド を変更 し 、 非保護モー ド で直接実行す る か (EXECUTE NOT PROTECTED)、 ま たは保護 モー ド 内の別のプ ロ セ ス と し て実行で き ます (EXECUTE PROTECTED)。 ALTER EXTERNAL PROCEDURE は、 デー タ ベース ま たはユーザーの作成時にユー ザーに自動的に付与 さ れ る 権限ではあ り ません。 代わ り に、 DBA は こ の権限を保 持 し て ( 初期状態ではユーザー DBC だけが こ の権限を暗黙的に保持 )、 デバ ッ グが 完了 し 実働が保証 さ れた外部 ス ト ア ド ・ プ ロ シージ ャ だけに対 し て、 こ の権限を適正 に割 り 当て ます。 その結果、 EXECUTE PROTECTED か ら EXECUTE NOT PROTECTED に実行モー ド が変わ り ます。 <SQL デー タ 定義言語 - 構文規則お よ び例 > の 「ALTER PROCEDURE ( 外部形式 )」 を参照 し て く だ さ い。 影響を注意深 く 検討 し て、 ALTER PROCEDURE ( 外部形式 ) 文を実行す る 権限を ユーザーに付与す る 必要が あ り ま す。 検討が十分で な い場合、 その権限が不正に 使用 さ れた と き に、 シ ス テ ムの整合性が容易に失われて し ま う おそれがあ り ます。 ALTER EXTERNAL PROCEDURE 権限は、 特定の外部 ス ト ア ド ・ プ ロ シージ ャ 、 ま た はデー タ ベースやユーザー全体に付与で き ます。 56 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 詳細情報 こ のセ ク シ ョ ン で言及 さ れて い る 権限の詳細情報は、 以下の情報 を 参照 し て く だ さ い。 • <SQL デー タ 定義言語 - 構文規則お よ び例 > の 「ALTER PROCEDURE( 外部 形式 )」。 • <SQL デー タ 定義言語 - 構文規則お よ び例 > の 「CREATE PROCEDURE( 外部 形式 )/REPLACE PROCEDURE( 外部形式 )」。 • 「CREATE EXTERNAL PROCEDURE 権限」 (57 ページ )。 ス ト ア ド ・ プ ロ シージ ャ 固有の権限 次のルールが ス ト ア ド ・ プ ロ シージ ャ 固有の権限に適用 さ れます。 • CREATE PROCEDURE お よ び CREATE EXTERNAL PROCEDURE は、 デー タ ベース ・ レベルま たはユーザー ・ レベルだけの権限です。 • ALTER PROCEDURE、 ALTER EXTERNAL PROCEDURE、 DROP PROCEDURE、 お よ び EXECUTE PROCEDURE は、 デー タ ベース、 ユーザー、 ま たは指定 し た ス ト ア ド ・ プ ロ シージ ャ に対 し て許可 さ れます。 • オブジ ェ ク ト ・ タ イ プ PROCEDURE を ス ト ア ド ・ プ ロ シージ ャ 名の修飾子 と し て 指定 し た場合は、 権限の付与時に DROP PROCEDURE お よ び EXECUTE PROCEDURE の短縮形 と し て DROP お よ び EXECUTE を使用で き ます。 PROCEDURE がオブジ ェ ク ト 名の前に指定 さ れていない場合には、 以下の こ と が起 き ます。 要求 結果 GRANT EXECUTE オブジ ェ ク ト はマ ク ロ と 想定 さ れ る 。 その名前のマ ク ロ が 存在 し ない場合、 エ ラ ーま たは失敗が返 さ れ る 。 GRANT DROP エ ラ ーま たは失敗が返 さ れ る 。 CREATE EXTERNAL PROCEDURE 権限 注記 : サ イ ト の外部プ ロ シージ ャ を コ ーデ ィ ン グす る よ う に明示的に割 り 当て ら れたユー ザー以外の ど のユーザーに も 、 CREATE EXTERNAL PROCEDURE 権限を付与 し な いで く だ さ い。 明示的に割 り 当て ら れたユーザーであ っ て も 、 こ の権限は最 も 信頼 で き る プ ロ グ ラ マに限定 し て付与す る 必要があ り ます。 さ ら に、 外部プ ロ シージ ャ のテ ス ト を十分に行な っ て、 シ ス テ ムに障害を生 じ さ せない こ と を検証す る 必要が あ り ます。 ユーザーま たはデータベースの作成時に、 シ ス テムが自動的に CREATE EXTERNAL PROCEDUR 権限を付与す る こ と はあ り ません。 ま た、 デー タ ベース に対 し て CREATE EXTERNAL PROCEDURE が暗黙的に付与 さ れ る こ と も あ り ません ( ただ し 、 所有者が自身に対す る こ の権限を WITH GRANT OPTION 付 き で明示的に持っ てい る 場合は例外です )。 SQL デー タ 制御言語 57 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 注 : こ の機能は、 CREATE MACRO 権限の場合 と は異な り ます ( デー タ ベース ま た はユーザーの作成時に、 シ ス テ ムは CREATE MACRO を自動的に付与 し 、 所有者 も こ の権限を暗黙的に保持 し ます )。 外部ス ト ア ド ・ プ ロ シージ ャ は、 非保護モー ド で動作中はシ ス テ ムの一部 と し て動 作す る のに対 し て、 保護モー ド の外部 ス ト ア ド ・ プ ロ シージ ャ は、 tdatuser と い う 名 前の一般ユーザー と し て別のプ ロ セ ス で動作 し ます。 <SQL デー タ 定義言語 - 構文 規則お よ び例 > の 「CREATE PROCEDURE ( 外部形式 )/REPLACE PROCEDURE ( 外部形式 )」 を参照 し て く だ さ い。 UDF に対する権限付与 UDF に対する権限の付与に関するルールは、 CREATE FUNCTION 権限 と EXECUTE FUNCTION 権限以外は、 マ ク ロ に関す る ルール と 同 じ です。 UDF に関連 し た ど の 権限が明示的に付与 さ れ る かについて説明 し てい る 以下の表を参照 し て く だ さ い。 権限 使用上の注意 ALTER FUNCTION • デー タ ベース ま たはユーザーの作成時に作成者に自動的に付 与 さ れない。 • デー タ ベース ま たはユーザーの作成時にデー タ ベース ま たは ユーザーに自動的に付与 さ れない。 • ユーザー DBC のみに よ り 暗黙的に保持 さ れ る 。 • UDF に付与す る こ と はで き ない。 CREATE FUNCTION • デー タ ベース ま たはユーザーの作成時に作成者に自動的に付 与 さ れない。 • ユーザー DBC のみに よ り 暗黙的に保持 さ れ る 。 DROP FUNCTION • ユーザー、 デー タ ベース、 ま たは関数の作成者に WITH GRANT OPTION 付 き で自動的に付与 さ れ る 。 • 作成 さ れたデー タ ベース ま たはユーザーに、 WITH GRANT OPTION な し で自動的に付与 さ れ る 。 • デー タ ベース ま たはユーザーに、 デー タ ベース ま たはユー ザーの所有者のために暗黙的に保持 さ れ る 。 EXECUTE FUNCTION • 関数の作成者に WITH GRANT OPTION 付 き で自動的に付与 さ れる。 • デー タ ベース ま たはユーザーの作成時に作成者に自動的に付 与 さ れない。 • ユーザー DBC のみに よ り 暗黙的に保持 さ れ る 。 デフ ォ ル ト では、 新 し く 作成 さ れたすべての外部 UDF は保護モー ド で実行 さ れま す (<SQL デー タ 定義言語 - 構文規則お よ び例 > の 「ALTER FUNCTION」 を参照 )。 こ の こ と は、 新 し く 作成 さ れたすべての メ ソ ッ ド お よ び外部 ス ト ア ド ・ プ ロ シージ ャ に も 適用 さ れます。 <SQL データ定義言語 - 構文規則および例 > の 「ALTER METHOD」 お よ び <SQL デー タ 定義言語 - 構文規則お よ び例 > の 「ALTER PROCEDURE」 を それぞれ参照し て く だ さ い。 UDF は複数モー ド では実行し ません。 58 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) ALTER FUNCTION 権限は、 DBA のみに制限す る 必要があ り ます。 その目的は、 UDF の実行モー ド を変更す る ために使用で き る ALTER FUNCTION 文を ユーザー が実行で き る よ う にす る こ と です。 UDF の実行モー ド を PROTECTED か ら NOT PROTECTED な ど に変更す る 場合は、 十分慎重に操作す る 必要があ り ます。 CREATE FUNCTION 権限 あ る デー タ ベース ま たはユーザーに対す る CREATE FUNCTION 権限を付与 さ れて い る 場合、 そのデー タ ベース ま たはユーザーに作成す る すべての関数は、 デフ ォ ル ト で以下の権限を WITH GRANT OPTION 付 き で持ち ます。 • DROP FUNCTION • EXECUTE FUNCTION DROP FUNCTION 権限 DROP FUNCTION 権限をデー タ ベース ・ オプシ ョ ンに対 し て付与す る 場合は、 DROP FUNCTION を指定す る 必要があ り ます。 特定の UDF のみに対 し て権限を付 与す る 場合は、 FUNCTION キーワ ー ド な し で DROP を指定で き ます。 作成者が関数に対す る WITH GRANT OPTION 権限を持っ てい る 場合は、 その関数 に対す る 以下の権限を別のユーザーに付与で き ます。 • DROP FUNCTION • EXECUTE FUNCTION 関数に対す る DROP FUNCTION 権限を保持 し ていれば、 ユーザーはその関数を置 き 換え る こ と も で き ます。 ただ し 、 そのユーザーが関数を削除 し て も 、 CREATE FUNCTION 権限を付与 さ れていない限 り 、 後でその関数を置 き 換え る こ と はで き ません。 EXECUTE FUNCTION 権限 大抵の場合、 EXECUTE FUNCTION を指定 し てその権限をデー タ ベース内の関数に 対 し て付与す る 必要があ り ます。 例外は制約関数です。 こ の権限は、 行レベル ・ セキ ュ リ テ ィ に よ って保護さ れた表を 問合わせ る 必要のあ る ユーザーに対す る 制約関数に付与す る 必要はあ り ません。 例えば、 次の GRANT 文は、 SYSLIB 内のすべての関数に対 し て EXECUTE 権限を付 与 し ます。 GRANT EXECUTE FUNCTION ON SYSLIB TO user_xyz; 個々の UDF に対す る EXECUTE FUNCTION 権限を付与す る 場合、 指定す る 必要が あ る のは EXECUTE だけです。 た と えば、 次の GRANT 文は、 特定関数名 sales を 持つ関数のみに対す る EXECUTE 権限を user_xyz に付与 し ます。 GRANT EXECUTE ON SPECIFIC FUNCTION SYSLIB.sales TO user_xyz; SQL デー タ 制御言語 59 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) UDT に関連する権限 最初は、 ユーザー DBC だけが SYSUDTLIB に対す る UDT 権限を持っ てお り 、 DBC はその権限を暗黙的に保持 し てい ます。 それ以外のすべてのユーザーま たは ロ ール が UDT に関係す る SQL 文を実行す る には、 SYSUDTLIB に対す る UDT 権限を それ ら のユーザーや ロ ールに明示的に付与す る 必要があ り ます。 UDT に関連す る 権限には、 3 つの種類があ り ます。 • UDTMETHOD ( 「UDTMETHOD 権限」 (62 ページ ) を参照 )。 UDTMETHOD 権限を持つユーザーは、 ど の UDT お よ びその メ ソ ッ ド に対 し て も 無制限に使用、 削除、 ま たは変更す る こ と がで き ます。 デー タ ベース ・ レベルで、 特に SYSUDTLIB デー タ ベース に こ の権限のみ付与で き ます。 UDTMETHOD には UDT オブジ ェ ク ト ・ レベルの権限があ り ません。 • UDTTYPE ( 「UDTTYPE 権限」 (62 ページ ) を参照 )。 UDTTYPE 権限を持つユーザーは、 UDTUSAGE が許可す る 権限に加え て、 UDT の作成、 更新、 お よ び削除を行な う こ と がで き ます。 デー タ ベース ・ レベルで、 こ の権限のみ付与で き ます。 UDTTYPE には UDT オ ブジ ェ ク ト ・ レベルの権限があ り ません。 • UDTUSAGE ( 「UDTUSAGE 権限」 (61 ページ ) を参照 )。 UDTUSAGE 権限を持つユーザーは、 既存の UDT と その既存 メ ソ ッ ド を参照す る すべての SQL 文を実行す る こ と がで き ます。 つま り 、 特定の UDT に対 し て UDTUSAGE 権限を持つユーザーは、 以下の操作を実行で き ます。 • • • • 特定の UDT 型を含む列を持つ よ う 定義 さ れた新 し い表を作成す る 。 特定の UDT 型を含む列を持つ よ う 定義 さ れた既存の表を更新す る 。 特定の UDT を問合わせ、 UDF、 ま たは ス ト ア ド ・ プ ロ シージ ャ 内で参照す る 。 特定の UDT 型にのみ関連付け ら れてい る すべての メ ソ ッ ド を実行す る 。 その他の UDT に関連す る メ ソ ッ ド を実行す る には、 それ ら の UDT に対す る UDTUSAGE 権限 も 必要 と な り ます。 UDTUSAGE は、 ユーザーに対 し て以下の処理のいずれ も 実行す る こ と を許可 し ません。 • 新 し い UDT を作成す る 。 • • 既存の UDT を削除す る 。 既存の UDT の順序付け、 キ ャ ス ト 、 ま たは変換の動作を変更す る 。 • 新 し い メ ソ ッ ド を作成す る 。 • 既存の メ ソ ッ ド を削除ま たは置換す る 。 UDTMETHOD お よ び UDTTYPE と は異な り 、 UDTUSAGE は特定の UDT (TYPE UDT_name と し て ) ま たは SYSUDTLIB デー タ ベース全体に対 し て付与す る こ と が で き ます。 60 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) ALL PRIVILEGES と UDT SYSUDTLIB デー タ ベース に対 し て ALL PRIVILEGES を指定す る と 、 シ ス テ ム は作成者が こ の権限を WITH GRANT OPTION 付 き で持つ も の と 判断 し て、 ALL PRIVILEGES で提供 さ れ る 権限 と と も に UDTMETHOD 権限を付与 し ます。 ALL PRIVILEGES パスに WITH GRANT OPTION を指定し た文よ り UDTMETHOD を 付与 さ れた ユーザーは、 他のユーザーに UDTUSAGE 、 UDTTYPE、 ま たは UDTMETHOD を付与す る こ と がで き 、 任意に WITH GRANT OPTION 付 き で付与 す る こ と も で き ます。 UDTUSAGE 権限 UDTUSAGE 権限を持つユーザーは、 表ま たはビ ュ ーに UDT を使用 し 、 その UDT にのみ関連付け ら れてい る すべての メ ソ ッ ド を実行す る こ と がで き ます。 それ ら の メ ソ ッ ド は、 UDT の作成や削除、 メ ソ ッ ド の作成や更新や削除、 あ る いは順序付 け、 キ ャ ス ト 、 ま たは変換機能に関す る UDT の動作の変更は行なえ ません。 UDTUSAGE 権限はデー タ ベース ・ レベル ま たは UDT オブジ ェ ク ト ・ レベルでのみ 付与す る こ と がで き ます。 付与す る 際の レベル UDTUSAGE を付与す る 必要があ る 対象 デー タ ベース SYSUDTLIB デー タ ベース のみ。 UDT オブジ ェ ク ト UDT の名前。 特定の UDT に対 し て UDTUSAGE 権限を持つユーザーは、 次の文 と 操作を実行で き ます。 • 特定の UDT を使用す る 列を含む表に対 し ての、 CREATE TABLE ま たは ALTER TABLE。 • 問合わせ、 UDF、 ま たは ス ト ア ド ・ プ ロ シージ ャ 内で特定の UDT を参照す る 。 • 特定の UDT にのみ関連付け ら れてい る すべての メ ソ ッ ド を実行す る 。 その他の UDT に関連す る メ ソ ッ ド を実行す る には、 それ ら の UDT に対す る UDTUSAGE 権限 も 必要 と な り ます。 入れ子の STRUCTURED 型 UDT に関 し ては、 権限がその親か ら 自動的には継承 さ れない こ と に注意 し て く だ さ い。 た と えば、 最上位レベルの STRUCTURED 型 UDT 属性に対す る UDTUSAGE が付与 さ れてい る 場合には、 表作成操作でその型の 列を指定す る こ と がで き ます。 し か し 、 UDTUSAGE 権限が付与 さ れていた と し て も 、 UDT の下位の層に含まれ る すべての構造化属性に対 し てオブザーバー ・ メ ソ ッ ド や ミ ュ テー タ ー ・ メ ソ ッ ド を使用で き る わけではな く 、 それ ら 下位の層の属性に 対 し て定義 さ れてい る メ ソ ッ ド を呼び出す こ と も で き ません。 こ う し た操作を可能にす る には、 入れ子 UDT 型の個々の UDT コ ン ポーネ ン ト に対 し て明示的に UDTUSAGE を付与す る か、 ま たは SYSUDTLIB デー タ ベース に対 し て明示的に UDTUSAGE を付与す る 必要があ り ます。 SQL デー タ 制御言語 61 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) UDTUSAGE は自動的に付与 さ れ る 権限ではあ り ません。 ユーザーは こ の権限を、 明示的に付与 さ れ る か、 ま たは ロ ールに よ っ て取得す る 必要が あ り ま す。 UDTUSAGE を WITH GRANT OPTION 付 き で付与 さ れたユーザーは、 他のユーザー に UDTUSAGE 権限を付与す る こ と がで き 、 任意に WITH GRANT OPTION 付 き で 付与す る こ と も で き ます。 UDTUSAGE は、 DBC.AccessRights 表の AccessRight 列に コ ー ド UU で表わ さ れます。 ユーザー DBC には、 SYSUDTLIB データベースに対する暗黙の UDT 権限があ り ます。 それ以外のすべてのユーザーま たは ロ ールが SYSUDTLIB 内の UDT に関連す る オ ブジ ェ ク ト にア ク セ スす る 必要があ る 場合には、 まず SYSUDTLIB に対す る ま たは SYSUDTLIB デー タ ベース内の特定の UDT に対す る 適切な UDT 権限を それ ら の ユーザーや ロ ールに明示的に付与す る 必要があ り ます。 UDTTYPE 権限 UDTTYPE 権限は、 UDTUSAGE に関連付け ら れてい る すべての権限を ユーザーに 付与す る と と も に、 新 し い メ ソ ッ ド を作成 し た り 既存の メ ソ ッ ド を削除ま たは置換 し た り せずに、 UDT を参照す る すべての SQL 文を実行す る こ と を許可 し ます。 UDTTYPE 権限を持つユーザーは、 次の文 と 操作を実行で き ます。 • CREATE TYPE ( メ ソ ッ ド ・ シ グネチ ャ の指定な し ) • DROP TYPE • ALTER TYPE ( メ ソ ッ ド ・ シ グ ネチ ャ の追加ま たは削除な し ) • CREATE ORDERING お よ び DROP ORDERING • CREATE CAST お よ び DROP CAST • CREATE TRANSFORM お よ び DROP TRANSFORM • CREATE TABLE (UDT 列を含む表 ) • SQL 要求、 UDF、 ま たは ス ト ア ド ・ プ ロ シージ ャ 内で特定の UDT を参照す る • すべての メ ソ ッ ド を実行す る ON 句に指定す る database_name は SYSUDTLIB にす る 必要があ り ます。 UDTTYPE は自動的に付与 さ れ る 権限ではあ り ません。 ユーザーは こ の権限を、 付 与 さ れ る か、 ま たは ロ ールに よ っ て取得す る 必要があ り ます。 UDTTYPE を WITH GRANT OPTION 付 き で付与 さ れたユーザーは、 他のユーザーに UDTUSAGE ま た は UDTTYPE 権限を付与す る こ と がで き 、 任意に WITH GRANT OPTION 付 き で付 与す る こ と も で き ます。 UDTTYPE は、 DBC.AccessRights 表の AccessRight 列に、 コ ー ド UT で表わ さ れます。 UDTMETHOD 権限 UDTMETHOD 権限を持つユーザーは、 ど の UDT お よ びその メ ソ ッ ド も 無制限に使 用す る こ と がで き ます。 こ の権限には次の権限の両方の機能が含まれます。 • SYSUDTLIB デー タ ベース内のすべての UDT に対す る UDTUSAGE 権限。 • SYSUDTLIB デー タ ベース に対す る UDTTYPE 権限。 62 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) UDTMETHOD 権限を持つユーザーは、 次の文 と 操作を実行で き ます。 • CREATE TYPE ( メ ソ ッ ド ・ シ グネチ ャ の指定あ り / な し ) • DROP TYPE • ALTER TYPE ( メ ソ ッ ド ・ シ グ ネチ ャ の追加ま たは削除あ り / な し ) • CREATE ORDERING お よ び DROP ORDERING • CREATE CAST お よ び DROP CAST • CREATE TRANSFORM お よ び DROP TRANSFORM • CREATE TABLE (UDT 列を含む表 ) • SQL 文、 UDF、 ま たは ス ト ア ド ・ プ ロ シージ ャ 内で特定の UDT を参照す る • すべての メ ソ ッ ド を実行す る • CREATE METHOD、 ALTER METHOD、 お よ び REPLACE METHOD ON 句に指定す る database_name は SYSUDTLIB にす る 必要があ り ます。 UDTMETHOD は、 自動的に付与される権限ではあ り ません。 ユーザーは こ の権限を、 明示的に付与 さ れ る か、 ALL PRIVILEGES に よ っ て取得す る か、 ま たは ロ ールに よ っ て取得す る 必要があ り ます。 UDTMETHOD を WITH GRANT OPTION 付 き で 付与 さ れ た ユーザーは、 他の ユーザーに UDTUSAGE 、 UDTTYPE 、 ま た は UDTMETHOD 権限を付与す る こ と がで き 、 任意に WITH GRANT OPTION 付 き で 付与す る こ と で き ます。 UDTMETHOD は、 DBC.AccessRights 表の AccessRight 列に コー ド UM で表わ さ れます。 Teradata 行レ ベル ・ セキ ュ リ テ ィ 権限 Teradata 行レベル ・ セキ ュ リ テ ィ 機能は、 管理者がシ ス テ ムの行レベル ・ セキ ュ リ テ ィ を規定 し て保守す る ために使用で き る 複数の権限を提供 し ます。 こ れ ら の権限 の一部はシ ス テム ・ レベルの権限であ り 、 一部はオブジ ェ ク ト ・ レベルの権限です。 初期設定では、 ユーザー DBC だけが行レベル ・ セキ ュ リ テ ィ 権限を持っ てい ます。 他のユーザーが以下の こ と を行なえ る よ う にす る には、 行レベル ・ セキ ュ リ テ ィ 権 限を明示的に付与す る 必要があ り ます。 • 行レベル ・ セキ ュ リ テ ィ 制約を作成す る 。 • 行レベル ・ セキ ュ リ テ ィ 制約値 ( セキ ュ リ テ ィ ・ ク レデン シ ャ ル ) を ユーザーや プ ロ フ ァ イ ルに割 り 当て る 。 • 表に対す る 行レベル ・ セキ ュ リ テ ィ 制約を定義す る 。 • 宛先表に適用 さ れ る 制約関数に含まれ る 、 行レベル ・ セキ ュ リ テ ィ ・ ポ リ シー の妥当性検査を上書 き ( 回避 ) す る 。 基本的な タ イ プの行レベル ・ セキ ュ リ テ ィ 権限は次の と お り です。 • シ ス テ ム ・ レベルの権限 • オブジ ェ ク ト ・ レベルの権限 ( 「オブジ ェ ク ト ・ レベルの権限」 (66 ページ ) を 参照 ) SQL デー タ 制御言語 63 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 注 : 行レベル ・ セキ ュ リ テ ィ ・ ク レデン シ ャ ルは権限ではあ り ませんが、 他の タ イ プのア ク セ ス制御におけ る 必須権限 と 同 じ よ う に機能 し ます。 セキ ュ リ テ ィ ・ ク レ デン シ ャ ルを ユーザーやプ ロ フ ァ イ ルに割 り 当て る 際、 実質的には、 行レベル ・ セ キ ュ リ テ ィ で保護 さ れてい る 表の行にユーザーがア ク セ ス で き る か ど う かを決定 し てい る こ と にな り ます ( ユーザーに割 り 当て ら れたセキ ュ リ テ ィ ・ ク レデン シ ャ ル は、 ア ク セ ス し よ う と し てい る 行に割 り 当て ら れたセキ ュ リ テ ィ 制約値 と 一致す る 必要があ り ます )。 許可す る ア ク セ ス の タ イ プは、 制約関数で定義 さ れてい る 行レ ベル ・ セキ ュ リ テ ィ ・ ポ リ シーに よ っ て決ま り ます。 シ ス テム ・ レ ベルの権限 管理者は、 行レベル ・ セキ ュ リ テ ィ を規定 し て保守す る 目的で、 シ ス テ ム ・ レベル の権限を ユーザーやプ ロ フ ァ イ ルに付与で き ます。 こ れ ら の権限に よ り 、 ユーザーは次の こ と を行な え る よ う にな り ます。 • SQL 要求を使用 し て行レベル ・ セキ ュ リ テ ィ 制約を作成す る 。 • SQL 要求を使用 し て表に対す る 行レベル ・ セキ ュ リ テ ィ 制約を定義す る 。 • SQL 要求を使用 し て行レベル ・ セキ ュ リ テ ィ 制約値 ( セキ ュ リ テ ィ ・ ク レデン シ ャ ル ) を ユーザーやプ ロ フ ァ イ ルに割 り 当て る 。 該当す る 権限は次の と お り です。 • CONSTRAINT ASSIGNMENT • CONSTRAINT DEFINITION ( 「CONSTRAINT DEFINITION 権限」 (65 ページ ) を 参照 ) こ れ ら の権限の 2 文字略語の リ ス ト については、 < デー タ ・ デ ィ ク シ ョ ナ リ > で DBC.AccessRights 表に関す る セ ク シ ョ ン を参照 し て く だ さ い。 CONSTRAINT ASSIGNMENT 権限 シ ス テ ム全体で有効な こ の権限に よ り 、 ユーザーは SQL DDL 文を使用 し て、 表に 対す る 行 レ ベル ・ セ キ ュ リ テ ィ 制約 を 定義 し た り 、 行 レ ベル ・ セ キ ュ リ テ ィ 制約 値を ユーザーやプ ロ フ ァ イ ルに割 り 当て る こ と が可能にな り ます。 管理者は、 こ の 権限を個々のユーザーやプ ロ フ ァ イ ルに付与で き ます。 Teradata Database は、 WITH GRANT OPTION が指定 さ れたユーザー DBC に こ の 権限を自動的に付与 し ます。 こ れに よ り 、 ユーザー DBC は こ の権限を他の任意 のユーザーや ロ ールに付与で き る よ う にな り ます。 この権限の付与に関するルール CONSTRAINT ASSIGNMENT 権限の付与に関す る ルール と 制限は次の と お り です。 • こ の権限を別のユーザーや ロ ールに付与で き る のは、 WITH GRANT OPTION 権 限を持っ てい る 場合のみです。 • 宛先のデー タ ベース ・ オブジ ェ ク ト を指定す る こ と はで き ません。 • こ の権限を PUBLIC に付与す る こ と はで き ません。 64 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) この権限が必要な DDL 文 行レベル ・ セキ ュ リ テ ィ 制約を持つ表、 ま たはセキ ュ リ テ ィ ・ ク レデン シ ャ ルが割 り 当て ら れたユーザーやプ ロ フ ァ イ ルに対 し て以下の SQL DDL 文を使用す る には、 CONSTRAINT ASSIGNMENT 権限が必要です。 こ れ ら の文は、 セキ ュ リ テ ィ ・ ク レ デンシ ャ ルが割 り 当て ら れていないユーザーやプ ロ フ ァ イ ルに対し て使用で き ます。 • ALTER TABLE • CREATE PROFILE • CREATE TABLE • CREATE USER • MODIFY PROFILE • MODIFY USER • SHOW CONSTRAINT CONSTRAINT DEFINITION 権限 も 、 SHOW CONSTRAINT 要求の実行を可能に し ます。 CONSTRAINT DEFINITION 権限 シ ス テ ム全体で有効な こ の権限に よ り 、 ユーザーは SQL DDL 文を使用 し て行レベ ル ・ セ キ ュ リ テ ィ 制約の作成 と 変更を行な え る よ う にな り ま す。 管理者は こ の権 限を個々のユーザーや ロ ールに付与で き ます。 Teradata Database は、 WITH GRANT OPTION が指定 さ れたユーザー DBC に こ の 権限を自動的に付与 し ます。 こ れに よ り 、 ユーザー DBC は こ の権限を他の任意 のユーザーや ロ ールに付与で き る よ う にな り ます。 この権限の付与に関するルール CONSTRAINT DEFINITION 権限の付与に関す る ルール と 制限は次の と お り です。 • こ の権限を別のユーザーや ロ ールに付与で き る のは、 WITH GRANT OPTION 権 限を持っ てい る 場合のみです。 • 宛先のデー タ ベース ・ オブジ ェ ク ト を指定す る こ と はで き ません。 • こ の権限を PUBLIC に付与す る こ と はで き ません。 この権限が必要な DDL 文 こ れ ら の SQL DDL 文を使用 し て行レベル ・ セキ ュ リ テ ィ 制約の作成、 変更、 ま た は SHOW を行な う には、 CONSTRAINT DEFINITION 権限が必要です。 • ALTER CONSTRAINT • CREATE CONSTRAINT • DROP CONSTRAINT • SHOW CONSTRAINT CONSTRAINT ASSIGNMENT 権限 も 、 SHOW CONSTRAINT 要求の実行を可能 に し ます。 SQL デー タ 制御言語 65 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) オブ ジ ェ ク ト ・ レ ベルの権限 管理者は、 ユーザーがデー タ ベース ・ オブジ ェ ク ト で定義 さ れてい る 行レベル ・ セ キ ュ リ テ ィ を一時的に回避 ( 上書 き ) で き る よ う にす る 目的で、 こ れ ら の権限を付 与す る こ と がで き ます。 こ れ ら の権限はユーザーが行レベル ・ セキ ュ リ テ ィ ・ ポ リ シー制限を上書 き す る こ と を可能にす る ため、 上書 き 権限 と 呼ばれます。 上書 き 権限には、 次の 2 つの基本的な タ イ プがあ り ます。 • DML 制限上書 き 権限 • アーカ イ ブ / リ カバ リ ー上書 き 権限 ( 「アーカ イ ブ / リ カバ リ ー制限上書 き 権限」 (68 ページ ) を参照 ) DML 制限上書き権限 こ れ ら のオブジ ェ ク ト ・ レベルの権限は、 ユーザーが、 削除、 挿入、 選択お よ び更 新操作を禁止す る 行レベル ・ セキ ュ リ テ ィ 制限を持つ表に対 し て DML 要求を実行 で き る よ う に し ます。 管理者は こ れ ら の権限を付与す る こ と に よ り 、 ユーザーが DML 要求を実行 し て削 除、 挿入、 選択お よ び更新な ど の禁止 さ れてい る 操作を一時的に実行で き る よ う に す る こ と がで き ます。 こ れ ら の権限は、 次の よ う に付与す る こ と が可能です。 • ユーザー と ロ ールに付与す る 。 • 表ま たは制約列に対 し て付与す る 。 DML 制限上書 き 権限には、 次の も のがあ り ます。 • OVERRIDE DELETE CONSTRAINT 宛先表に対 し て付与 さ れた場合、 ユーザーはその表に適用 さ れ る DELETE 制約 関数のそれぞれに含まれ る DELETE セキ ュ リ テ ィ ・ ポ リ シーの妥当性検査を回 避で き ます。 制約列に対 し て付与 さ れた場合、 ユーザーは特定の制約関数の DELETE セキ ュ リ テ ィ ・ ポ リ シーの妥当性検査を回避で き ます。 注 : こ の権限が宛先表に対し て付与 さ れた場合 も 、 ユーザーが表のすべての行を 削除す る こ と はで き ません。 こ れは、 表に対す る DELETE が SELECT 制約関数 に よ っ て も 制約 さ れてお り 、 ユーザーがア ク セ ス を許可 さ れていない行は除外 さ れ る ためです。 すべての行を削除す る には、 ユーザーがすべての DELETE お よ び SELECT 制約検査を回避で き る 必要があ り ます。 • OVERRIDE INSERT CONSTRAINT ユーザーが INSERT 要求 を 実行 し て INSERT 行 レ ベル ・ セ キ ュ リ テ ィ 制約 を 持つ列の値を指定で き る よ う に し ます。 INSERT 要求には、 制約列に割 り 当て ら れた値が含まれ る 必要があ り ます。 Teradata Database は、 制約列に割 り 当て ら れた値が制約の 「名前 : コ ー ド 」 対に よ っ て指定 さ れてい る も のであ る こ と を検証 し ます。 66 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) • OVERRIDE SELECT CONSTRAINT 単一の制約列に対 し て付与 さ れた場合、 ユーザーはその制約列に関連付け ら れた SELECT 制約関数内のセキ ュ リ テ ィ ・ ポ リ シーを回避で き ます。 こ れは、 ユーザーが単一の行を取得す る こ と を許可す る ために使用 さ れます。 すべての制約列に対 し て付与 さ れた場合、 ユーザーは表のすべての制約列に関 連付け ら れた SELECT 制約関数内のセキ ュ リ テ ィ ・ ポ リ シーを回避で き る ため、 表のすべての列を取得で き ます。 • OVERRIDE UPDATE CONSTRAINT ユーザーが、 UPDATE 要求を実行 し て UPDATE 行レベル ・ セキ ュ リ テ ィ 制約を 持つ列に関す る SET 句の値を指定で き る よ う に し ます。 注 : 行レベル ・ セキ ュ リ テ ィ 制約を持つ表に対 し て実行で き る DML 要求の タ イ プ ご と に、 行レベル ・ セキ ュ リ テ ィ 制約関数 (UDF) を作成で き ます。 あ る タ イ プの DML 要求について制約関数が存在 し ない場合、 その要求を実行で き る のは、 その タ イ プの要求に関す る 上書 き 権限を持っ てい る ユーザーだけです。 これらの権限の付与に関するルール DML 制限上書 き 権限の付与に関す る ルール と 制限は次の と お り です。 • こ れ ら の権限を付与す る には、 CONSTRAINT ASSIGNMENT 権限が必要です。 • こ れ ら の権限は、 次の方式でのみ付与で き ます。 • ユーザー と ロ ールに付与す る 。 • 行レベル ・ セキ ュ リ テ ィ を持つ表が含まれ るデータ ベース に対 し て付与する。 • 行レベル ・ セキ ュ リ テ ィ を持つ表に対 し て付与す る 。 制約列 ( 行レベル ・ セキ ュ リ テ ィ 制約を持つ列 ) に対 し て付与す る 。 • • WITH GRANT OPTION を指定 し て こ れ ら の権限を付与す る こ と はで き ません。 WITH GRANT OPTION を指定 し て こ れ ら の権限のいずれか を付与 し よ う と す る と 、 Teradata Database は要求を アボー ト し てエ ラ ーを返 し ます。 • GRANT 要求では、 権限を付与す る 対象の行レベル ・ セキ ュ リ テ ィ 制約オブジ ェ ク ト の名前を指定す る 必要があ り ます。 • GRANT 要求の宛先オブジ ェ ク ト は、 デー タ ベース、 行レベル ・ セキ ュ リ テ ィ を 持つ表 (1 つ以上の行レベル ・ セキ ュ リ テ ィ 制約を持つ表 )、 ま たは制約列であ る 必要があ り ます。 1 つ以上の行レベル ・ セキ ュ リ テ ィ 制約を持たない表、 ま た は制約を持たない列に対す る OVERRIDE CONSTRAINT 権限を付与 し よ う と す る と 、 エ ラ ーが返 さ れます。 SQL デー タ 制御言語 要求の宛先 必要な上書 き 権限の対象オブジ ェ ク ト デー タ ベース 指定 さ れたデー タ ベース内のすべての表のすべての制約列。 表 指定 さ れた表のすべての制約列。 列 該当す る 列。 67 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) アー カ イ ブ / リ カバ リ ー制限上書き権限 こ れ ら のオブジ ェ ク ト ・ レベル権限は、 ユーザーが行レベル ・ セキ ュ リ テ ィ 制約を 持つ表や行レベル ・ セキ ュ リ テ ィ 制約を持つ表を含むデー タ ベース を アーカ イ ブ ま たは復元す る ためにアーカ イ ブ / リ カバ リ ー ・ ユーテ ィ リ テ ィ ・ コ マ ン ド を実行す る こ と を可能に し ます。 管理者はデー タ ベース ま たは表に対す る こ れ ら の権限を付 与で き ます。 DML 制限上書 き 権限 と は異な り 、 こ れ ら の権限では、 制約関数 (UDF) で定義 さ れ た行レベル ・ セキ ュ リ テ ィ ・ ポ リ シーを回避で き ません。 注 : 行レベル ・ セキ ュ リ テ ィ 制約を持つ表や行レベル ・ セキ ュ リ テ ィ 制約を持つ表 のあ る デー タ ベース を アーカ イ ブ ま たは復元す る 場合、 こ れ ら の権限では不十分で す。 アーカ イ ブ ま たは復元す る 表やデー タ ベース に対す る DUMP ま たは RESTORE 権限 も 必要です。 アーカ イ ブ / リ カバ リ ー上書 き 権限には、 次の も のがあ り ます。 • OVERRIDE DUMP CONSTRAINT ユーザーが、 アーカ イ ブ / リ カバ リ ー ・ ユーテ ィ リ テ ィ の ARCHIVE コ マ ン ド を 実行 し て、 1 つ以上の行レベル ・ セキ ュ リ テ ィ 制約列 と 共に定義 さ れたデー タ ベース ・ オブジ ェ ク ト を アーカ イ ブで き る よ う に し ます。 ARCHIVE コ マ ン ド の すべての宛先オブジ ェ ク ト で必要です。 • OVERRIDE RESTORE CONSTRAINT ユーザーが、 1 つ以上の行レベル ・ セキ ュ リ テ ィ 制約列 と 共に定義 さ れたデー タ ベース ・ オブジ ェ ク ト に対 し て、 アーカ イ ブ / リ カバ リ ー ・ ユーテ ィ リ テ ィ の COPY お よ び RESTORE コ マ ン ド を実行で き る よ う に し ます。 COPY お よ び RESTORE コ マ ン ド のすべての宛先オブジ ェ ク ト で必要です。 これらの権限の付与に関するルール アーカ イ ブ / リ カバ リ ー上書 き 権限の付与に関す る ルール と 制限は次の と お り です。 • こ れ ら の権限を付与す る には、 CONSTRAINT ASSIGNMENT 権限が必要です。 • こ れ ら の権限は、 次の方式でのみ付与で き ます。 • ユーザー と ロ ールに付与す る 。 • デー タ ベース と 表に対 し て付与す る 。 • WITH GRANT OPTION を指定 し て こ れ ら の権限を付与す る こ と はで き ません。 WITH GRANT OPTION を指定 し て こ れ ら の権限のいずれか を付与 し よ う と す る と 、 Teradata Database は要求を アボー ト し てエ ラ ーを返 し ます。 • GRANT 要求では、 権限を付与す る 対象の行レベル ・ セキ ュ リ テ ィ 制約オブジ ェ ク ト の名前を指定す る 必要があ り ます。 • GRANT 要求の宛先オブジ ェ ク ト は、 デー タ ベース、 表ま たは制約列であ る 必要 があ り ます。 68 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) ロールに対する権限の付与 ロ ールは、 デー タ ベース ・ オブジ ェ ク ト に対す る 権限を定義 し ます。 デー タ ベース 管理者は、 さ ま ざ ま な職務お よ び責任に関す る さ ま ざ ま な ロ ールを作成 し 、 デー タ ベース ・ オブジ ェ ク ト に対す る 特定の権限を その ロ ールに与えてか ら 、 その ロ ール に対す る メ ンバーシ ッ プ を ユーザーに付与で き ます。 ロ ールの メ ンバーにな っ てい る ユーザーは、 その ロ ールが権限を持っ てい る すべてのオブジ ェ ク ト にア ク セ ス で き ます。 自身に付与 さ れた ロ ールを持つ ロ ールを他の ロ ールに付与す る こ と はで き ません。 以下の権限を ロ ールに付与す る こ と はで き ません。 • CREATE DATABASE • CREATE ROLE • CREATE PROFILE • CREATE USER • DROP DATABASE • DROP ROLE • DROP PROFILE • DROP USER • CTCONTROL デー タ ベース ま たは PUBLIC に対 し て ロ ールを付与す る こ と はで き ません。 ロ ールの メ ンバーシ ッ プ を ユーザーま たは他の ロ ールに与え る には、 GRANT ( ロ ー ル形式 ) 文を使用す る 必要があ り ます。 詳細は、 「GRANT ( ロ ール形式 )」 (23 ペー ジ ) を参照 し て く だ さ い。 ケース ・ ス タ デ ィ ー : ビ ュ ーに対する SELECT の付与 Allen と い う ユーザーが、 Allen.BaseTable と い う 表 と その表の Allen.ViewA と い う ビ ュ ーの 2 つのオブジ ェ ク ト を作成 し た と 想定 し ます。 シ ス テ ムは、 ViewA の作成 時に、 Allen が Allen.BaseTable に対す る SELECT 権限を持っ てい る か ど う かを検証 し ます。 さ ら に、 Allen が Bobby と い う ユーザーに、 ViewA に対す る SELECT 権限を与え た と 想定 し ます。 Bobby は次に、 Allen.ViewA を参照す る Bobby.ViewB を作成 し ます。 構文解析プ ロ グ ラ ムは、 Bobby.ViewB の作成時に、 Bobby が Allen.ViewA に対す る SELECT の権限を持っ てい る か ど う か を検証 し ます。 こ のプ ロ セ ス を ま と め る と 、 次の よ う にな り ます。 1 Allen が、 実表 Allen.BaseTable を作成す る 。 2 Allen が、 Allen.BaseTable を参照す る ビ ュ ー Allen.ViewA を作成す る 。 Allen は、 Allen.BaseTable に対す る SELECT 権限を持っ てい る 。 3 Allen が、 Allen.ViewA に対す る SELECT 権限を Bobby に付与す る 。 4 Bobby が、 Allen.ViewA を参照す る Bobby.ViewB を作成す る 。 Bobby は、 Allen.ViewA に対す る SELECT 権限を持っ てい る 。 SQL デー タ 制御言語 69 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) Bobby は Chuck と い う ユーザーに、 Bobby.ViewB に対す る SELECT 権限を与え る と し ます。 Bobby は権限を Chuck に付与で き ますが、 Allen が Allen.ViewA に対す る SELECT 権限を WITH GRANT OPTION 付 き で Bobby に付与 し ない限 り 、 Chuck は 問合わせで ビ ュ ーを使用で き ません。 マ ク ロ がその作成者以外のユーザーに よ り 所有 さ れてい る オブジ ェ ク ト を参照す る 場合 も 、 同 じ 権限が必要です。 た と えば、 マ ク ロ Bobby.MacroB が、 Allen.ViewA か ら 行を削除す る と し ます。 他のユーザーは、 Bobby が Bobby.MacroB に対す る WITH GRANT OPTION 付 き の EXECUTE 権限を持っ ていない限 り 、 Bobby.MacroB を実行で き ません。 ケース ・ ス タ デ ィ ー : ビ ュ ーに関する詳細 ビ ュー Bobby.ViewB がビ ュー Allen.ViewA を参照し、 Allen.ViewA が Allen.BaseTable を 参照す る と 想定 し ます。 Bobby が次の文を入力す る と 、 シ ス テ ムは、 文に続 く 表内 の権限が存在す る か ど う かを検証 し ます。 GRANT INSERT, DELETE ON Bobby.ViewB TO Chuck; こ のプ ロ セ ス を ま と め る と 、 次の よ う にな り ます。 1 Bobby の、 Bobby.ViewB ま たは自分自身に対す る INSERT WITH GRANT OPTION。 2 Bobby の、 Bobby.ViewB ま たは自分自身に対す る DELETE WITH GRANT OPTION。 取 り 消 さ れない限 り 、 Bobby は Bobby.ViewB に対す る こ れ ら の権限を明示的に持っ ています。 こ れ ら の権限は、 ビ ューの作成時に Bobby に自動的に付与 さ れています。 Bobby は、 ユーザー Bobby の作成時に明示的に付与 さ れてい る ため、 自分自身に対 す る こ れ ら の権限 も 持っ てい ます。 Bobby は Bobby.ViewB を所有 し てい る ため、 こ れ ら の権限を暗黙的に も 持っ てい ます。 暗黙権限は、 取 り 消す こ と がで き ません。 ただ し 、 他の タ イ プの権限については、 シ ス テ ムが必要な権限を見つけ ら れない こ と があ り ます。 こ の場合、 シ ス テ ムは GRANT 文を実行す る ユーザーにエ ラ ー ・ メ ッ セージ を返 し 、 その文は実行 さ れま せん。 こ の例の権限は、 次の よ う に分類 さ れます。 権限のカ テ ゴ リ 個人 所有権限 対象オブジ ェ ク ト 自動権限 Bobby INSERT WITH GRANT OPTION Bobby.ViewB DELETE WITH GRANT OPTION Allen INSERT WITH GRANT OPTION Allen.BaseTable DELETE WITH GRANT OPTION 70 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 権限のカ テ ゴ リ 個人 所有権限 対象オブジ ェ ク ト 明示権限 Bobby INSERT WITH GRANT OPTION Allen.ViewA DELETE WITH GRANT OPTION ケース ・ ス タ デ ィ ー : ス ト ア ド ・ プ ロ シージ ャ ユーザー user_1 には、 accounting デー タ ベース に対す る CREATE PROCEDURE 権限 が付与 さ れてい る と 想定 し ます。 付与者がデー タ ベース の所有者であ り 、 自分自身 に対す る WITH GRANT OPTION 付 き の明示的な CREATE PROCEDURE お よ び EXECUTE PROCEDURE 権限を持っ てい る と し ます。 こ の付与は、 次の ど ち ら かが 当ては ま ら ない限 り 行な え ません。 • 付与者が自身 と ユーザーやデー タ ベース に対す る 、 WITH GRANT OPTION 付 き で CREATE PROCEDURE と EXECUTE PROCEDURE の両方の権限を所有 し て いる。 • 付与者がユーザー DBC であ る 。 user_1 が accounting デー タ ベース内にプ ロ シージ ャ を作成で き る よ う 、 以下の GRANT 要求を実行依頼す る 必要があ り ます。 GRANT CREATE PROCEDURE ON accounting TO user_1; accounting デー タ ベース内のすべての ス ト ア ド ・ プ ロ シージ ャ に対す る CREATE PROCEDURE、 DROP PROCEDURE、 お よ び EXECUTE PROCEDURE 権限を user_1 に与え る ため、 以下の GRANT 要求を実行依頼 し ます。 GRANT CREATE PROCEDURE, EXECUTE PROCEDURE, DROP PROCEDURE ON accounting TO user_1; キー ワー ド PROCEDURE を、 GRANT 要求に CREATE ま たは DROP な し で指定 し た場合、 CREATE PROCEDURE お よ び DROP PROCEDURE 権限の両方が ( ユー ザーま たはデー タ ベース ・ レベルで ) 与え ら れます。 次の例では、 授与者が、 accounting デー タ ベース に対す る CREATE PROCEDURE お よ び DROP PROCEDURE 権限を user_1 に付与す る のに必要な権限を持っ てい る と 想定 し てい ます。 GRANT PROCEDURE ON accounting TO user_1; user_1 が、 デー タ ベース accounting 内の ス ト ア ド ・ プ ロ シージ ャ daily_updates に対す る 、 WITH GRANT OPTION があ る EXECUTE PROCEDURE 権限を受け る 必要があ る と 想定 し ます。 ま た、 付与者が ス ト ア ド ・ プ ロ シージ ャ ま たはそれを含むデー タ ベース に対す る EXECUTE PROCEDURE 権限を WITH GRANT OPTION 付 き で持っ てい る も の と し ます。 以下の GRANT 要求を実行依頼す る 必要があ り ます。 GRANT EXECUTE ON PROCEDURE accounting.daily_updates TO user_1 WITH GRANT OPTION; SQL デー タ 制御言語 71 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) こ の要求は以下の構文で指定す る こ と も で き ます。 GRANT EXECUTE PROCEDURE ON accounting.daily_updates TO user_1 WITH GRANT OPTION; 次の GRANT 要求はエ ラ ーを返 し ます。 構文はマ ク ロ に対 し てのみ有効であ り 、 daily_update はマ ク ロ ではあ り ません。 GRANT EXECUTE ON accounting.daily_update TO user_1 WITH GRANT OPTION; user_1 に、 ス ト ア ド ・ プ ロ シージ ャ weekly_update に対す る ALTER PROCEDURE、 EXECUTE PROCEDURE、 お よ び DROP PROCEDURE 権限を与え る 場合、 必要な GRANT 要求は以下のいずれかの よ う にな り ます ( 付与者には付与を実行す る 権限 があ る と 想定 し ます )。 GRANT ALTER PROCEDURE, EXECUTE, DROP PROCEDURE ON PROCEDURE weekly_update TO user_1; GRANT ALL ON PROCEDURE accounting.weekly_update TO user_1;. 例 1: ユーザー ・ グループへの権限の付与 次の要求は、 ユーザー ・ グループに権限を与え ます。 こ の例では、 finance と い う デー タ ベース の下に作成 さ れたすべてのユーザーに、 personnel デー タ ベース の下 にあ る department 表か ら デー タ を SELECT す る 権限を与え ます。 GRANT SELECT ON personnel.department TO ALL finance; 例 2: PUBLIC への権限の付与 PUBLIC キーワ ー ド は、 すべての既存のお よ び将来の Teradata Database ユーザーに 権限を付与 し ます。 GRANT SELECT ON personnel.department TO PUBLIC; 例 3: 任意のオブ ジ ェ ク ト に対する SELECT の付与 次の文で、 Moffit は、 personnel デー タ ベース のすべてのオブジ ェ ク ト か ら 情報を検 索で き る よ う にな り ます。 GRANT SELECT ON personnel TO moffit; 72 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 例 4: 表の列に対する SELECT の付与 こ の例では、 personnel デー タ ベース にあ る department と い う 名前の表の column_1 のみに対す る SELECT 権限を、 ユーザー Moffit に付与 し ます。 GRANT SELECT (column_1) ON personnel.department TO moffit; 例 5: 任意のオブ ジ ェ ク ト に対する SELECT、 INSERT、 UPDATE、 および DELETE の付与 次の文で、 Peterson は、 personnel デー タ ベース内のすべてのオブジ ェ ク ト に対す る 選択、 挿入、 更新、 お よ び削除が実行で き る よ う にな り ます。 GRANT SELECT, INSERT, UPDATE, DELETE ON personnel TO peterson; 例 6: デー タ ベース内のユーザーに対する CREATE と DROP の付与 次の文で、 Phan は、 personnel デー タ ベース でユーザーの作成 と 削除が実行で き る よ う にな り ます。 GRANT USER ON personnel TO phan; 例 7: GRANT SELECT TO ALL の使用 次の文で、 personnel デー タ ベース に作成 さ れ る すべてのユーザーは、 department 表か ら デー タ を選択で き る よ う にな り ます。 GRANT SELECT ON personnel.department TO ALL personnel; 例 8: WITH GRANT OPTION の使用 WITH GRANT OPTION は、 指定 さ れた権限だけに対 し て適用 さ れます。 こ の例では、 ユーザー George は、 自分自身のユーザー領域に対 し て持つすべての 権限を ユーザー Marston に与え る こ と がで き ますが、 以下の制限があ り ます。 • George はユーザー ・ レ ベルで WITH GRANT OPTION が あ る 権限のみ を 付与 で き る。 • George は Marston に付与す る 権限に対す る WITH GRANT OPTION 権限を持っ て いなければな ら ない。 GRANT ALL ON marston TO marston WITH GRANT OPTION; SQL デー タ 制御言語 73 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 例 9: CREATE ROLE および DROP ROLE の使用 以下の要求は、 ユーザー Franklin が ロ ールの作成お よ び削除を行な え る よ う に し ます。 GRANT ROLE TO Franklin; こ の形式には、 ON 句があ り ません。 ロ ール権限に ON 句を指定す る と 、 シ ス テ ム はエ ラ ーを返 し ます。 例 10: ロールへの権限の付与 以下の要求は、 ロ ールに権限を与え ます。 こ の例では、 finance と い う ロ ールに、 personnel デー タ ベース の下にあ る department 表か ら デー タ を SELECT す る 権限を 与え ます。 GRANT SELECT ON personnel.department TO Finance; Finance ロ ールに対す る メ ンバーシ ッ プ を与え ら れてい る すべてのユーザーは、 ユーザーに対 し てその ロ ールが活動化 さ れ る と 、 personnel デー タ ベース内の department 表か ら デー タ を SELECT す る 権限を継承 し ます。 例 11: ト リ ガーに関連 し た権限の付与 次の要求は、 デー タ ベース TrigDB 内の任意の表に対す る CREATE TRIGGER お よ び DROP TRIGGER 権限を ユーザー TrigUser に付与 し ます。 GRANT CREATE TRIGGER, DROP TRIGGER ON TrigDB TO TrigUser; 次の要求は、 対象 と な る TrigTable に対す る CREATE TRIGGER お よ び DROP TRIGGER 権限を ユーザー TrigUser に付与 し ます。 GRANT CREATE TRIGGER, DROP TRIGGER ON TrigTable TO TrigUser; CREATE TRIGGER と DROP TRIGGER の両方を意味す る 短縮形の TRIGGER を使用 し て、 前の要求 と 同 じ 権限を付与す る こ と も で き ます。 例: GRANT TRIGGER ON TrigDB TO TrigUser; GRANT TRIGGER ON TrigTable TO TrigUser; 74 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 例 12: 外部関数に対する権限の付与 以下の GRANT 要求は、 それぞれ以下の権限を付与 し ます。 • 特定の外部関数 find_text に対す る ALTER FUNCTION を ユーザー user_dba と user_in_house に付与。 • SYSLIB デー タ ベース内のすべての外部 UDF に対す る ALTER FUNCTION を user_dba に付与。 • デー タ ベース document_db に対す る CREATE FUNCTION を user_dba に付与。 • オーバー ロ ー ド 関数 text_process に対す る EXECUTE FUNCTION を ユーザー sammy に付与。 GRANT ALTER FUNCTION ON SPECIFIC FUNCTION find_text TO user_dba, user_in_house; GRANT ALTER FUNCTION ON syslib TO user_dba; GRANT CREATE FUNCTION ON document_db TO user_dba, user_in_house; GRANT EXECUTE ON FUNCTION text_process(CHAR,CHAR,INTEGER) TO sammy; 例 13: CREATE EXTERNAL PROCEDURE 権限の付与 次の例は、 ユーザー asst_dba に外部 ス ト ア ド ・ プ ロ シージ ャ を作成す る 権限を付与 し ます。 GRANT CREATE EXTERNAL PROCEDURE ON PROCEDURE classify TO asst_dba; 例 14: UDTUSAGE 権限の付与 以下の GRANT 要求は、 それぞれ以下の権限を付与 し ます。 • SYSUDTLIB デー タ ベース に対す る UDTUSAGE を ユーザー tester1 に付与。 • circle と い う 名前の UDT に対す る UDTUSAGE を ユーザー tester3 に付与。 • データベース SYSUDTLIB 内の square と い う 名前の UDT に対する UDTUSAGE を ユーザー tester4 に付与。 GRANT UDTUSAGE ON SYSUDTLIB TO tester1; GRANT UDTUSAGE ON TYPE circle TO tester3; SQL デー タ 制御言語 75 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) GRANT UDTUSAGE ON TYPE SYSUDTLIB.square TO tester4; 例 15: UDTTYPE 権限の付与 次の GRANT 要求は、 デー タ ベース SYSUDTLIB に対す る UDTTYPE 権限を ユー ザー tester2 に付与 し ます。 GRANT UDTTYPE ON SYSUDTLIB TO tester2; 例 16: UDTMETHOD 権限の付与 以下の GRANT 要求は、 それぞれ以下の権限を付与 し ます。 • SYSUDTLIB に対す る UDTMETHOD を ユーザー user_DBA に WITH GRANT OPTION 付 き で付与。 • SYSUDTLIB に対す る UDTMETHOD を ロ ール developer_role に付与。 GRANT UDTMETHOD ON SYSUDTLIB TO user_DBA WITH GRANT OPTION; GRANT UDTMETHOD ON SYSUDTLIB TO developer_role; 例 17: CTCONTROL 権限の付与 次の例は、 ユーザー trusteduser2 に CONNECT THROUGH 権限を付与す る ための権 限を、 ユーザー kate に付与 し ます。 GRANT CTCONTROL ON trusteduser2 TO kate; こ の後で、 GRANT CONNECT THROUGH 要求 ( 「GRANT CONNECT THROUGH」 (80 ページ ) を参照 ) を実行す る には、 trusteduser2 に以下の権限が必要にな り ます。 • 自分自身に対す る CTCONTROL • 指定 さ れたすべての ロ ールに対す る GRANT … WITH ADMIN OPTION ( 「GRANT ( ロ ール形式 )」 (23 ページ ) を参照 ) • プ ロ キ シ ・ ユーザー と し て指定 さ れたすべての PERMANENT ユーザーに対す る DROP USER 例 18: GLOP 権限の付与 あ る 企業において、 sales_bonus UDF に よ っ て特別な sales GLOP にア ク セ ス し よ う と 考え てい ます。 ユーザー Joe は、 SYSLIB に UDF と GLOP の両方を作成 し ます。 こ れを実現す る には、 次の要求を実行す る 必要があ り ます。 76 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) WITH GRANT OPTION 付 き のユーザーは、 次に示す GRANT 要求を実行す る 必要 があ り ます。 GRANT GLOP ON syslib TO Joe; た と えば、 Joe が SYSLIB に関数を作成す る 権限をすでに所有 し てい る と す る と 、 Joe は次の要求を実行す る で し ょ う 。 Joe は、 最初に GLOP セ ッ ト ・ オブジ ェ ク ト を作成 し て、 GLOP を追加で き る よ う に し ます。 CREATE GLOP SET syslib.sales; その後で、 Joe はプ ロ シージ ャ GLOP_Add を 呼び出 し て sales GLOP を 追加 し 、 それを SYSLIB に関連付け ます。 CALL DBCExtension.GLOP_Add('syslib.sales',...); 最後に、 Joe は関数 sales_bonus を SYSLIB に作成 し ます。 CREATE FUNCTION syslib.sales_bonus( … ) RETURNS DECIMAL(6,2) LANGUAGE C MEMBER OF GLOP SET syslib.sales PARAMETER STYLE SQL EXTERNAL; SYSLIB は、 パブ リ ッ ク ・ デー タ ベース です。 そのため、 セキ ュ リ テ ィ 管理者は sales GLOP を finance デー タ ベース に配置 し 、 Finance 部門に GLOP デー タ の作成責 任を負わせ る こ と に し ま し た。 さ ら に、 こ の管理者は UDF も finance デー タ ベース 内に格納 し よ う と 考え てい ます。 こ れを実現す る には、 次の要求を実行す る 必要があ り ます。 WITH GRANT OPTION 付 き のユーザーは、 次に示す GRANT 要求を実行す る 必要 があ り ます。 GRANT GLOP ON finance TO finance; その後で、 ユーザー finance は、 次の要求を実行す る 必要があ り ます。 CREATE GLOP SET sales; CALL DBCExtension.GLOP_Add('sales', … ); GRANT GLOP MEMBER ON finance.sales TO finance; ユーザー Joe は、 finance デー タ ベース に関数を作成 し ます。 その前に、 Joe には、 finance デー タ ベー ス に UDF を作成す る ための権限が ( それ を付与で き る 権限を 持つ人物か ら ) 付与 さ れてい る 必要があ り ます。 CREATE FUNCTION finance.sales_bonus( … ) RETURNS DECIMAL(6,2) LANGUAGE C MEMBER OF GLOP SET finance.sales PARAMETER STYLE SQL EXTERNAL; SQL デー タ 制御言語 77 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 例 19: ユーザーやロールへの行レ ベル ・ セキ ュ リ テ ィ OVERRIDE 権限の付与 すべてのユーザーに、 inventory 表に対す る INSERT、 UPDATE、 DELETE お よ び SELECT の DAC 任意ア ク セ ス制御 ) 権限が付与 さ れた と 想定し ます ( こ の表へのア ク セ スは行レベル ・ セキ ュ リ テ ィ 制約 classification_level お よ び classification_category に よ っ て制御 さ れます )。 次の GRANT 要求は、 こ れ ら の権限を PUBLIC に付与 し ます。 GRANT INSERT, UPDATE, DELETE, SELECT ON inventory TO PUBLIC; ユーザー top_gun に、 inventory 表の classification_level お よ び classification_category 列を更新す る ために必要な権限が付与 さ れてい る と 想定 し ます。 ユーザー top_gun は、 次の よ う に定義 さ れてい ます。 CREATE USER top_gun AS PERM=1E6, PASSWORD=Top1111GUN; inventory の classification_level お よ び classification_category 列を更新す る には、 top_gun が こ れ ら の制約に対す る OVERRIDE UPDATE 権限を持っ てい る 必要が あ り ます。 次の GRANT 要求は、 classification_level お よ び classification_category 制約に対す る OVERRIDE UPDATE CONSTRAINT 権限を ユーザー top_gun に付与 し ます。 GRANT OVERRIDE UPDATE CONSTRAINT (classification_level) ON inventory TO top_gun; GRANT OVERRIDE UPDATE CONSTRAINT (classification_category) ON inventory TO top_gun; group_membership と い う 制約 も 作成 し た と 想定 し ます。 こ の制約を最初に作成 し た と き に、 group_membership 制約の定義では、 UPDATE および DELETE 文ア ク シ ョ ン に対 し て指定 さ れた行レベル ・ セキ ュ リ テ ィ ・ ポ リ シー関数があ り ませんで し た。 emp_record 表の更新 と 削除を可能にす る には、 適切な権限を ユーザーま たは ロ ール に付与する必要があ り ます。 そのため、 以前にユーザー sally_jones に付与 さ れた ロー ル personnel_clerk に、 こ れら の権限を付与する こ と に し ま し た。 ロール personnel_clerk は、 表に対す る すべての任意ア ク セ ス制御権限をすでに持っ てい ます。 OVERRIDE UPDATE CONSTRAINT お よ び OVERRIDE DELETE CONSTRAINT 権限 は、 CONSTRAINT ASSIGNMENT 権限を持っ てい る セキ ュ リ テ ィ 管理者に よ っ て personnel_clerk に付与 さ れます。 次の GRANT 要求は、 group_membership 制約列に関す る OVERRIDE UPDATE CONSTRAINT お よ び OVERRIDE DELETE CONSTRAINT 権限を emp_record 表 の personnel_clerk ロ ールに付与 し ます。 GRANT OVERRIDE UPDATE, DELETE CONSTRAINT (group_membership) ON emp_record TO personnel_clerk; 78 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT (SQL 形式 ) 詳細情報 SQL 形式の GRANT に よ っ て与え ら れ る 権限の取 り 消 し については、 「REVOKE (SQL 形式 )」 (108 ページ ) を参照 し て く だ さ い。 NONTEMPORAL 権限 と 、 こ の権限の使用法について、 詳細は < テ ン ポ ラ ル表サ ポー ト > を参照 し て く だ さ い。 SQL デー タ 制御言語 79 第 2 章 : 文の構文規則 GRANT CONNECT THROUGH GRANT CONNECT THROUGH 目的 指定の信頼済みユーザーを介 し てプ ロ キ シ永久ユーザーま たはプ ロ キ シ ・ アプ リ ケーシ ョ ン ・ ユーザー と し て接続する ための権限を付与し ます。 DBC.ConnectRulesTbl に情報を保管 し ます。 こ の文では、 指定の信頼済みユーザーに次の権限を付与 し ます。 • 指定の永久ユーザーま たはアプ リ ケーシ ョ ン ・ ユーザー と し て接続す る 。 • 指定の永久ユーザーま たはアプ リ ケーシ ョ ン ・ ユーザーの ロ ールを設定す る 。 指定の信頼済みユーザーには、 SET QUERY_BAND 要求での定義で指定 し たプ ロ キ シ ・ ユーザー名の ID を アサー ト す る ための権限が付与 さ れます。 <SQL デー タ 定義 言語 - 構文規則お よ び例 > の 「SET QUERY_BAND」 を参照 し て く だ さ い。 構文 trusted_user_name GRANT CONNECT THROUGH A TO WITH TRUST_ONLY , A application_user_name , PERMANENT , 25 WITH ROLE 15 role_name , 25 permanent_user_name WITH ROLE 15 ; role_name WITHOUT ROLE 1101B541 説明 構文要素 指定内容 trusted_user_name CONNECT THROUGH 権限を受領す る ユーザーの名前。 trusted_user_name は、 Teradata Database で定義済みの永久ユーザーの名前にす る 必要 があ り ます。 ただ し 、 ユーザー DBC にす る こ と はで き ません。 こ れに よ り 、 指定の信頼済みユーザーは、 指定のプ ロ キ シ ・ ユーザー名の ID を ア サー ト す る ための権限を付与 さ れ ます。 trusted_user_name は、 エ ン ド ・ ユーザーを識別すべ き ではあ り ません。 こ れは、 CRM アプ リ ケーシ ョ ンや Teradata Viewpoint な ど の中間階層アプ リ ケーシ ョ ン を識別す る た めの も のです。 trusted_user_name WITH TRUST_ONLY を指定す る 場合、 application_user_name WITH ROLE ま たは permanent_user_name WITH[OUT] ROLE を同 じ 要求内で指定す る こ と は で き ません。 80 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT CONNECT THROUGH 構文要素 指定内容 WITH TRUST_ONLY プ ロ キ シ ・ ユーザーま たはプ ロ キ シ ・ ロ ールを設定ま たは削除す る 要求は、 すべて信 頼済みの要求でなければな ら ない こ と を trusted_user_name に対 し て要求 し ます。 こ のオプシ ョ ン では、 エ ン ド ・ ユーザーが SET QUERY_BAND 要求を SQL ス ト リ ー ムに挿入 し た り 、 ホ ス ト し てい る 中間階層アプ リ ケーシ ョ ン に認識 さ れ る こ と な く プ ロ キ シ ・ ユーザーま たはプ ロ キ シ ・ ロ ールの設定が変更 さ れ る こ と を防 ぐ 手段を提供 し ます。 application_user_name trusted_user_name を介 し てプ ロ キ シ ・ ロ グオ ン権限が付与 さ れ る アプ リ ケーシ ョ ン ・ ユーザーの名前。 同じ要求内で WITH TRUST_ONLY オプシ ョ ン を指定し ている場合、 application_user_name の指定は無効にな り ます。 中間階層アプ リ ケーシ ョ ン の各エ ン ド ・ ユーザーに、 永久ユーザーを作成す る こ と が 現実的に不可能な状況では、 アプ リ ケーシ ョ ン ・ ユーザー名はいつで も 指定で き ます。 アプ リ ケーシ ョ ン ・ ユーザー名は Teradata Database 内では定義 さ れませんが、 Teradata オブジ ェ ク ト の命名規則に従 う 必要があ り ます。 ク ラ イ ア ン ト 名や ATM 識別子な ど、 中間階層に接続する ク ラ イ ア ン ト を表現する も のであれば何で も 、 アプ リ ケーシ ョ ン ・ ユーザー名にな り え ます。 application_user_name は、 指定 し た trusted_user_name に対 し て固有であ る 必要があ り ます ( 「アプ リ ケーシ ョ ン ・ プ ロ キ シ ・ ユーザー」 (85 ページ ) を参照 )。 GRANT CONNECT THROUGH 要求ご と に最大 25 個の ア プ リ ケーシ ョ ン ・ ユーザー 名を指定で き ますが、 信頼済みユーザーへの ロ グオ ン権限が付与 さ れ る アプ リ ケー シ ョ ン ・ ユーザー名の数に制限は あ り ません 。 シ ス テ ムは、 trusted_user_name の CONNECT THROUGH 権限に指定 し た名前を追加 し ます。 指定す る アプ リ ケーシ ョ ン ・ プ ロ キ シ ・ ユーザーご と に、 少な く と も 1 つの ロ ールを WITH ROLE 句で指定す る 必要があ り ます。 permanent_user_name trusted_user_name を介し てプ ロ キシ ・ ロ グオン権限が付与 さ れる永久ユーザーの名前。 同じ要求内で WITH TRUST_ONLY オプシ ョ ン を指定し てい る場合、 permanent_user_name の指定は無効にな り ます。 permanent_user_name は、 Teradata Database の永久ユーザーの名前にす る 必要があ り ま す。 ただ し 、 ユーザー DBC にす る こ と はで き ません。 permanent_user_name は、 指定 し た trusted_user_name に対 し て固有にす る 必要があ り ます ( 「永久プ ロ キ シ ・ ユーザー」 (86 ページ ) を参照 )。 GRANT CONNECT THROUGH 要求ご と に最大 25 個の名前を指定で き ますが、 信頼済 みユーザーへの ロ グオ ン権限が付与 さ れ る 永久ユーザー名の数に制限は あ り ません 。 シ ス テ ムは、 trusted_user_name の CONNECT THROUGH 権限に指定 し た名前を追加 し ます。 SQL デー タ 制御言語 81 第 2 章 : 文の構文規則 GRANT CONNECT THROUGH 構文要素 指定内容 WITH ROLE role_name プ ロ キ シ接続に割 り 当て る ロ ール名のセ ッ ト 。 同 じ 要求内で WITH TRUST_ONLY オプシ ョ ン を指定 し てい る 場合、 WITH ROLE role_name の指定は無効 にな り ます。 こ のオプシ ョ ンは、 アプ リ ケーシ ョ ン ・ ユー ザーま たは永久ユーザーに対 し て指定 さ れた場合にのみ有効です。 role_name に指定す る 文字列は、 事前に Teradata Database で定義 さ れてい る 内部 ロ ール の名前にす る 必要があ り ます。 内部 ロ ールは、 デ ィ レ ク ト リ 管理の外部 ロ ールではな く 、 Teradata Database で管理 さ れ る ロ ールを指 し ます。 <SQL デー タ 定義言語 - 構文 規則お よ び例 > の 「CREATE ROLE」 を参照 し て く だ さ い。 こ の文脈では、 ALL、 NONE お よ び NULL は、 無効 な ロ ール名にな り ます。 アプ リ ケーシ ョ ン ・ プ ロ キ シ ・ ユーザーには、 少な く と も 1 つの ロ ール名を指定す る 必要があ り ますが、 永久プ ロ キ シ ・ ユーザーには WITHOUT ROLE を指定す る こ と も で き ます。 プ ロ キ シ ・ ユーザーご と に最大 15 個の ロ ール名を指定で き ます。 永久ユーザー名お よ びアプ リ ケーシ ョ ン ・ ユーザー名の制限条件 と は異な り 、 こ の数はプ ロ キ シ ・ ユー ザーご と の絶対最大数です。 要求ご と の最大数ではあ り ません。 指定の trusted_user:permanent_user ま たは trusted_user:application_user 名前ペアに CONNECT THROUGH 権限がすでに存在 し ていた場合、 シ ス テ ムは既存の CONNECT THROUGH 権限に指定 さ れた ロ ールを追加 し ます。 CONNECT THROUGH 権限に加え た変更はす ぐ に有効にな り ます。 そのため、 CONNECT THROUGH 権限に変更を加え た後にプ ロ キ シ接続で実行 さ れ る 後続の要求 では、 新 し い権限定義が採用 さ れ ます。 ロ ール を削除す る と 、 その ロ ールは CONNECT THROUGH 権限の定義か ら 削除 さ れ る ため、 存在 し ない ロ ールに定義 し たルールだけが残 さ れ る こ と があ り ます。 WITH ROLE 句付 き で設定 さ れた権限を所持す る プ ロ キ シ ・ ユーザーの ロ ールが後か ら 削除 さ れ る と 、 そのユーザーには、 Teradata Database に よ っ て PUBLIC 権限 のみ が付与 さ れ ます。 新 し い ロ ールの追加に よ っ て権限に割 り 当て ら れた ロ ールの数が 15 を超過す る 場合、 その要求はアボー ト さ れ、 シ ス テ ムは要求側にエ ラ ーを返 し ます。 こ の よ う な事態が 発生 し た と き には、 適切な REVOKE CONNECT 要求を実行 し て、 1 つ以上の ロ ールを 権限か ら 削除 し て く だ さ い。 こ の文の使用法について、 詳細は 「REVOKE CONNECT THROUGH」 (126 ページ ) を参照 し て く だ さ い。 Teradata Database は WITH ROLE 句で指定 さ れたすべての ロ ール名を、 デフ ォ ル ト で ア ク テ ィ ブ化す る か、 プ ロ キ シ接続を PROXYROLE=ALL に設定 し た と き にア ク テ ィ ブ化 し ます。 プ ロ キ シ接続に PROXYROLE=role_name を指定 し た場合、 指定す る ロ ール名は現在の 要求の WITH ROLE 句で指定 し た ロ ールのいずれかにす る 必要があ り ます。 こ う す る こ と で、 Teradata Database は、 こ の ロ ールを プ ロ キ シ接続の ロ ールに設定 し ます。 こ のオプシ ョ ンの role_name に、 NONE ま たは NULL の ど ち ら を指定す る こ と も で き ません。 WITHOUT ROLE 指定 し た永久ユーザーの権限およ び ロ ールを CONNECT THROUGH 権限に割 り 当て る。 WITHOUT ROLE は、 同 じ 要求内で WITH TRUST_ONLY オプシ ョ ン を指定す る と 無 効にな り ます。 ま た、 こ のオプシ ョ ンは、 アプ リ ケーシ ョ ン ・ ユーザーに対 し て も 無 効にな り ます。 指定の trusted_user:permanent_user ま たは trusted_user:application_user 名前ペアに CONNECT THROUGH 権限がすでに存在 し ていた場合、 シ ス テ ムは既存の CONNECT THROUGH 権限に指定 さ れた ロ ールを追加 し ます。 82 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT CONNECT THROUGH 構文要素 指定内容 CONNECT THROUGH 権限に加えた変更はすぐに有効にな り ます。 そのため、 CONNECT THROUGH 権限に変更を加え た後にプ ロ キ シ接続で実行 さ れ る 後続の要求では、 新 し い権限定義が採用 さ れ ます。 ロ ール を削除す る と 、 その ロ ールは CONNECT THROUGH 権限の定義か ら 削除 さ れ る ため、 存在 し ない ロ ールに定義 し たルールだけが残 さ れ る こ と があ り ます。 WITH ROLE 句付 き で設定 さ れた権限を所持す る プ ロ キ シ ・ ユーザーの ロ ールが後か ら 削除 さ れ る と 、 そのユーザーには、 Teradata Database に よ っ て PUBLIC 権限 のみ が付与 さ れ ます。 ANSI への準拠 GRANT CONNECT THROUGH は、 ANSI/ISO SQL:2011 規格に対す る Teradata の拡 張機能です。 必要な権限 GRANT CONNECT THROUGH 要求を実行す る には、 CTCONTROL 権限が必要です ( 「CTCONTROL 権限」 (53 ページ ) を参照 )。 ま た、 要求の WITH ROLE 句で指定 し た各 ロ ールに対す る WITH ADMIN OPTION 権限 も 必要です。 PERMANENT プ ロ キ シ ・ ユーザー と し て指定 し た各ユーザーに対す る DROP USER 権限が必要です。 GRANT CONNECT THROUGH と 信頼済みセ ッ シ ョ ン • WITH TRUST_ONLY オプシ ョ ンが指定 さ れてい る 場合を除 き 、 エ ン ド ・ ユー ザーに対 し 、 Teradata Database に送信す る SQL 要求の実行ま たは変更を許可 し てい る アプ リ ケーシ ョ ンで、 信頼済みセ ッ シ ョ ン を 使用 し ないで く だ さ い。 • GRANT CONNECT THROUGH 文は、 SQL 形式の特別なバージ ョ ンの GRANT 文 です ( 「GRANT (SQL 形式 )」 (26 ページ ) を参照 )。 こ の文の用途は、 指定の信 頼済みユーザーを介 し て、 CONNECT THROUGH 権限を指定 し た永久ユーザー ま たはアプ リ ケーシ ョ ン ・ ユーザーに付与す る こ と です。 ユーザーの定義を以下に示 し ます。 用語 アプ リ ケー シ ョ ン ・ ユー ザー 説明 GRANT CONNECT プ ロ キ シ ・ ロ グオ ン権限を付与す る アプ リ ケー シ ョ ン ・ ユーザーの名前。 アプ リ ケーシ ョ ン ・ ユーザー名は Teradata Database 内では定義 さ れ ませんが、 Teradata オブジ ェ ク ト の命名規則に従 う 必要があ り ます。 単一の権限付与要求に、 最大 25 個の名前を指定で き ます。 指定 し た名前は、 指定の信頼済みユーザーの付与権限に追加 さ れます。 単一の信頼済みユーザーが ロ グオ ン権限を付与で き る アプ リ ケー シ ョ ン ・ ユーザー名の数に制限はあ り ません。 SQL デー タ 制御言語 83 第 2 章 : 文の構文規則 GRANT CONNECT THROUGH 用語 永久ユーザー 説明 Teradata Database に定義 さ れたユーザー。 GRANT CONNECT THROUGH 要求では、 プ ロ キ シ ・ ロ グオ ン権限 が付与 さ れ る ユーザーの名前にな り ます。 信頼済みユーザーが ロ グオ ン権限を付与で き る 永久ユーザーの数に 制限はあ り ません。 信頼済みユー ザー 事前に Teradata Database に定義 さ れてい る 永久ユーザー。 こ のユー ザーは、 CONNECT THROUGH 権限を GRANT CONNECT THROUGH 要求に よ っ て受け取 り ます。 こ れに よ り 、 信頼済みユーザーには、 GRANT CONNECT THROUGH 要求で指定 し たプ ロ キ シ ・ ユーザーの ID を アサー ト す る 能力が付 与 さ れます。 • アプ リ ケーシ ョ ン ・ ユーザー と 永久ユーザーを総称 し て、 プ ロ キ シ ・ ユーザー と 呼びます。 信頼済みユーザーのセ ッ シ ョ ン を使用 し て Teradata Database に接続す る ユーザー は、 すべてプ ロ キ シ ・ ユーザーです。 • プ ロ キ シ接続 と は、 権限お よ び ロ ギ ン グ を検証 さ れ る ユーザーが、 割 り 当て ら れた権限を使用す る プ ロ キ シ ・ ユーザーであ る 場合の、 Teradata Database 接続の こ と です。 その他すべてのセ ッ シ ョ ン レベルの属性は、 実際に Teradata Database に ロ グオ ン し たユーザー名、 ア カ ウ ン ト 名、 お よ びス プール領域 と 一時領域の 割 り 当てな ど、 信頼済みユーザー用の設定にな り ます。 • 性能管理 API (MonitorSession や AbortSession な ど ) は、 信頼済みユーザー名を使 用 し て、 セ ッ シ ョ ン を識別 し ます。 • シ ス テ ムは、 Teradata Active System Management ルールを信頼済みユーザーに対 し て強制 し ますが、 プ ロ キ シ ・ ユーザーには強制 し ません。 • セ ッ シ ョ ンには、 次の各列に示 し た値があ り ます。 セ ッ シ ョ ンがプ ロ キ シ接続 であ っ て も な く て も 、 セ ッ シ ョ ンには同 じ 値が使用 さ れます。 • Account 84 • CharType • Collation • DateForm • DefaultDatabase • Profile • ProxyRole • ProxyRoleId • ProxyUser • ProxyUserId • Role • TimeZone • Transaction Isolation Level SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT CONNECT THROUGH • UDF Function Trace • UserId • UserName プ ロ キ シ ・ ユーザー プ ロ キ シ接続で作成 さ れたすべてのオブジ ェ ク ト の作成者 永久ユーザー 永久ユーザー。 アプ リ ケーシ ョ ン ・ ユーザー 信頼済みユーザー。 • 次に示すビル ト イ ン関数は、 プ ロ キ シ接続に関連す る セ ッ シ ョ ンの値について の情報を返 し ます。 詳細は <SQL 関数、 演算子、 式お よ び述語 > を参照 し て く だ さ い。 • USER 関数は、 そのセ ッ シ ョ ンの信頼済みユーザーの名前を返 し ます。 • • • CURRENT_USER 関数は、 ユーザーがプ ロ キ シ接続の状態にあ る 場合プ ロ キ シ ・ ユーザー名を返 し ます。 それ以外の場合、 CURRENT_USER 関数はセ ッ シ ョ ンのユーザー名を返 し ます。 ROLE 関数は、 信頼済みユーザーの現在の ロ ール名を返 し ます。 CURRENT_ROLE 関数は、 ユーザーがプ ロ キ シ接続の状態にあ る 場合プ ロ キ シ ・ ユーザーの現在の ロ ールを返 し ます。 それ以外の場合は、 信頼済みユー ザーの ロ ール名を返 し ます。 • IP ア ド レ ス に よ る 制限な ど の ロ グオン制限が設定 さ れてい る 場合、 シ ス テ ムは その制限を信頼済みユーザーの ロ グオンに のみ強制 し ます。 こ の よ う な制限は、 プ ロ キ シ ・ ユーザー名がセ ッ シ ョ ンにアサー ト さ れてい る と き には強制 さ れません。 ア プ リ ケーシ ョ ン ・ プ ロキシ ・ ユーザー アプ リ ケーシ ョ ン ・ プ ロ キ シ ・ ユーザー名は、 中間階層アプ リ ケーシ ョ ンに接続す る ク ラ イ ア ン ト ( た と えば、 ク ラ イ ア ン ト 名や ATM 識別子な ど ) を表わ し ます。 ア プ リ ケーシ ョ ン ・ プ ロ キ シ ・ ユーザーの粒度は、 おおむね管理者の裁量に任 さ れて い ます。 た と えば、 ATM 識別子 と い う 語では、 ATM ネ ッ ト ワー ク 内の個別の ATM の識別子 と 、 そのネ ッ ト ワー ク にあ る いずれかの ATM の個人ユーザーの識別子 と い っ た、 ま っ た く 異な る 粒度を表わす こ と があ り ます。 プ ロ キ シ接続でア ク テ ィ ブにで き る ロ ールは、 プ ロ キ シ接続が作成 さ れた時に CONNECT THROUGH 権限で定義 し た ロ ールにな り ます。 アプ リ ケーシ ョ ン ・ プ ロ キ シ ・ ユーザーに対す る GRANT CONNECT THROUGH 要 求は、 同 じ 要求で信頼済みユーザーに対す る WITH TRUST_ONLY 権限 も 指定 し て い る 場合には実行で き ません。 SQL デー タ 制御言語 85 第 2 章 : 文の構文規則 GRANT CONNECT THROUGH 同一の信頼済みユーザーに、 重複す る アプ リ ケーシ ョ ン ・ プ ロ キ シ ・ ユーザー名お よ び永久プ ロ キ シ ・ ユーザー名を持つ こ と はで き ません。 た と えば、 次の GRANT CONNECT THROUGH 要求が、 示 さ れた順序で実行 さ れた と し ます。 GRANT CONNECT THROUGH msi TO sbd WITH ROLE finance_role; GRANT CONNECT THROUGH msi TO sbd WITH ROLE hr_role; 2 番目の要求に よ り 、 重複す る プ ロ キ シ ・ ユーザー名のエ ラ ーが返 さ れます。 こ れ は、 sbd と 名付け ら れた アプ リ ケーシ ョ ン ・ プ ロ キ シ ・ ユーザーが、 信頼済みユー ザー msi を介 し て権限を付与 し た と き にはすでに存在 し てい る か ら です。 各アプ リ ケーシ ョ ン ・ プ ロ キ シ ・ ユーザーには、 少な く と も 1 つの ロ ールを WITH ROLE 句で指定す る 必要があ り ます。 アプ リ ケーシ ョ ン ・ プ ロ キ シ ・ ユーザーに割 り 当て る ロ ールには、 次のルールが適 用 さ れます。 • プ ロ キ シ接続でア ク テ ィ ブにで き る ロ ールは、 その接続が作成 さ れた時に CONNECT THROUGH 権限で定義 さ れた ロ ールに限 ら れます。 WITH ROLE 句で指定 し たすべての ロ ール名は、 プ ロ キ シ接続でデフ ォ ル ト で ア ク テ ィ ブにな り ます。 • 指定す る ロ ールは、 プ ロ キ シ接続に設定で き る ロ ールに限 ら れます。 • プ ロ キ シ接続で現在の ロ ール を NONE ま たは NULL に設定す る こ と はで き ま せん。 • プ ロ キ シ接続の権限は、 その接続のア ク テ ィ ブ ・ ロ ールお よ び PUBLIC の権限 にな り ます。 永久プ ロキシ ・ ユーザー 永久プ ロ キ シ ・ ユーザー と は、 Teradata Database に定義 さ れてい る 既存の永久ユー ザーの こ と です。 GRANT CONNECT THROUGH 要求では、 その要求で指定 さ れた 永久プ ロ キ シ ・ ユーザーが Teradata Database に存在 し てい る こ と を検証 し ます。 永 久プ ロ キ シ ・ ユーザーの予想 さ れ る 使用目的は、 た と えば、 イ ン ト ラ ネ ッ ト 型の中 間階層アプ リ ケーシ ョ ンの場合、 従業員の給与明細や、 利用で き る 休暇についての 情報の表示な ど にな る で し ょ う 。 Teradata Database は、 永久プ ロ キ シ ・ ユーザーの名前を、 プ ロ キ シ接続が有効であ る 間に作成 し た あ ら ゆ る オブジ ェ ク ト の作成者 と し て割 り 当て ます。 永久プ ロ キ シ ・ ユーザーに対す る GRANT CONNECT THROUGH 要求は、 同 じ 要求 で信頼済みユーザーに対す る WITH TRUST_ONLY 権限 も 指定 し てい る 場合には実 行で き ません。 同一の信頼済みユーザーに、 重複す る アプ リ ケーシ ョ ン ・ プ ロ キ シ ・ ユーザー名お よ び永久プ ロ キ シ ・ ユーザー名を持つ こ と はで き ません。 た と えば、 次の GRANT CONNECT THROUGH 要求が、 示 さ れた順序で実行 さ れた と し ます。 GRANT CONNECT THROUGH crm TO PERMANENT mary; GRANT CONNECT THROUGH crm TO mary WITH ROLE hr_role; 86 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT CONNECT THROUGH 2 番目の要求に よ り 、 重複す る プ ロ キ シ ・ ユーザー名のエ ラ ーが返 さ れます。 こ れ は、 mary と 名付け ら れた永久プ ロ キ シ ・ ユーザーが、 信頼済みユーザー crm を介 し て権限を付与 し た と き にはすでに存在 し てい る か ら です。 WITH ROLES 句で指定 し たすべての ロ ールは、 プ ロ キ シ接続でデフ ォ ル ト でア ク テ ィ ブにな り ます。 CONNECT THROUGH 権限定義に加えた変更はすぐ に有効にな り ます。 そのため、 CONNECT THROUGH 権限に変更を加え た後にプ ロ キ シ接続で実行 さ れ る 後続の 要求では、 新 し い権限定義が使用 さ れます。 ロ ールを削除す る と 、 その ロ ールは CONNECT THROUGH 権限の定義か ら も 削除 さ れ る ため、 存在 し ない ロ ールに定義 し たルールだけが残 さ れ る こ と があ り ます。 CONNECT THROUGH 権限定義に割 り 当て ら れたすべての ロ ールを削除す る と 、 Teradata Database は影響を受け る プ ロ キ シ ・ ユーザーに PUBLIC 権限のみ を付与 し ます。 プ ロ キ シ接続で永久プ ロ キ シ ・ ユーザーに設定で き る ロ ールは、 次の表に示す よ う に、 GRANT CONNECT THROUGH 要求の WITH ROLES 句に よ っ て異な り ます。 指定内容 結果 GRANT CONNECT THROUGH 要求の WITH ROLE 句 • 指定 し たすべての ロ ール名が、 プ ロ キ シ接続でデフ ォ ル ト でア ク テ ィ ブにな り ます。 WITH ROLE 句の ロ ールは、 ユーザーに直接付与す る 必要は あ り ません 。 GRANT CONNECT THROUGH 要 求に よ り 、 こ の権限がデフ ォ ル ト で付与 さ れます。 • 指定 さ れ る ロ ールは、 プ ロ キ シ接続用に設定で き る ロ ールに限 ら れます。 • プ ロ キシ接続で現在の ロールに NONE ま たは NULL を 設定す る こ と は、 許可 さ れてい ません。 • プ ロ キ シ接続の権限は、 その接続のア ク テ ィ ブ ・ ロ ー ルお よ び PUBLIC の権限にな り ます。 GRANT CONNECT THROUGH 要求の WITHOUT ROLE 句 • プ ロ キ シ接続のデフ ォ ル ト ・ ロ ールは、 永久ユーザー に定義 し たデフ ォ ル ト ・ ロ ールにな り ます。 • プ ロ キ シ接続に設定で き る ロ ールは、 ユーザーに付与 し た ロ ールに制限 さ れます。 こ ち ら の場合、 プ ロ キ シ接続の ロ ールに NONE ま た は NULL を設定す る こ と も で き ます。 • プ ロ キ シ接続の権限は、 永久ユーザーに付与 さ れた、 その接続のア ク テ ィ ブ ・ ロ ールお よ び PUBLIC の権限 にな り ます。 SQL デー タ 制御言語 87 第 2 章 : 文の構文規則 GRANT CONNECT THROUGH 複数の信頼済みユーザーへの CONNECT THROUGH の付与 永久ユーザーま たはアプ リ ケーシ ョ ン ・ ユーザーに、 異な る ロ ールを持つ別々の信 頼済みユーザーを介 し て CONNECT THROUGH 権限を付与で き ます。 次に示す要求の例について考察 し ます。 ど ち ら の例 も 、 アプ リ ケーシ ョ ン ・ プ ロ キ シ ・ ユーザー用です。 GRANT CONNECT THROUGH msi TO debbieg WITH ROLE msirole; GRANT CONNECT THROUGH tadmin TO debbieg WITH ROLE tadminrole; 上記の要求が正常に実行 さ れ る と 、 msi お よび tadmin の両方の信頼済みユーザーは、 アプ リ ケーシ ョ ン ・ ユーザー debbieg に対する プ ロ キシ接続権限を所持する こ と にな り ますが、 それぞれのプ ロ キ シ接続を実行する と 、 debbieg の各セ ッ シ ョ ンには異な る ロ ールが設定 さ れます。 つま り 、 信頼済みユーザー msi を介 し て msirole が設定 さ れ、 信頼済みユーザー tadmin を介 し て tadminrole が設定 さ れ る と い う こ と です。 永久ユーザーま たはアプ リ ケーシ ョ ン ・ ユーザーに対す る GRANT CONNECT THROUGH 要求は、 同 じ 要求で信頼済みユーザーに対す る WITH TRUST_ONLY 権限 も 指定 し てい る 場合には実行で き ません。 CONNECT THROUGH と ア ク セス ・ ロギング 次に示す よ う な BEGIN LOGGING 要求で ロ ギ ン グ を有効に し てお く と 、 シ ス テ ム は各 GRANT CONNECT THROUGH 要求を ア ク セ ス ・ ロ グに記録 し ます。 BEGIN LOGGING ON EACH GRANT; CONNECT THROUGH と 行レ ベル ・ セキ ュ リ テ ィ プ ロ キ シ ・ ユーザーは、 行レベル ・ セキ ュ リ テ ィ で保護 さ れた表に対 し て SQL 要 求を実行す る こ と はで き ません。 CONNECT THROUGH と パラ メ ー タ ・ マー カ ー パ ラ メ ー タ ・ マーカーは、 GRANT CONNECT THROUGH 要求ではサポー ト し て い ません。 CONNECT THROUGH と ユーザー DBC ユーザー DBC を信頼済みユーザー と し て指定 し た り 、 GRANT CONNECT THROUGH 要求のプ ロ キ シ ・ ユーザー と し て指定す る こ と はで き ません。 CONNECT THROUGH trusted_user_name WITH TRUST_ONLY Teradata Database を使用すれば、 中間階層アプ リ ケーシ ョ ンで SQL 要求を信頼済み かそ う でないかに分類で き ます。 こ れに よ り 、 電子ホ ワ イ ト ボー ド 経由で SQL コ ー ド を挿入ま たは実行す る こ と に よ っ て、 ユーザーがプ ロ キ シ ・ ユーザーを変更 す る リ ス ク が軽減 さ れます。 こ の メ カ ニズ ムでは、 実行依頼す る SQL 要求がアプ リ ケーシ ョ ンに よ っ て作成 さ れた も のか、 ユーザーが作成 し た も のか を アプ リ ケー シ ョ ンが把握 し てい る と 、 暗黙的に仮定 し てい ます。 88 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT CONNECT THROUGH 信頼済みユーザーに WITH TRUST_ONLY オプシ ョ ンが設定 さ れていて、 SQL 要求 には信頼済みではない と い う フ ラ グが立っ てい る と 、 Teradata Database は、 新 し い プ ロ キ シ ・ ユーザーを設定 し た り 、 現在のプ ロ キ シ ・ ユーザーを削除す る よ う な SET QUERY_BAND 要求を許可 し た り し な く な り ます。 Teradata Database は、 ク ラ イ ア ン ト ・ ソ フ ト ウ ェ ア と サーバー ・ ソ フ ト ウ ェ アの両 方で、 こ れを強制 し ます ( 「Teradata ク ラ イ ア ン ト ・ ソ フ ト ウ ェ アの信頼済みセ ッ シ ョ ンの実施」 (89 ページ ) お よ び 「Teradata サーバー ・ ソ フ ト ウ ェ アの信頼済み セ ッ シ ョ ンの実施」 (89 ページ ) を参照 )。 独自の SQL コ ー ド を作成す る 中間階層アプ リ ケーシ ョ ンは、 非信頼済み ( デフ ォ ル ト ) モー ド で実行で き る ため、 単純な下位互換性が維持 さ れます。 詳細は、 < セキ ュ リ テ ィ 管理ガ イ ド > を参照 し て く だ さ い。 Teradata ク ラ イ ア ン ト ・ ソ フ ト ウ ェ アの信頼済みセ ッ シ ョ ンの実施 こ のセキ ュ リ テ ィ 機能を ク ラ イ ア ン ト ・ ソ フ ト ウ ェ アで実施で き る よ う にす る ため に、 SQL 要求が信頼済みであ る こ と ( ま たは信頼済みでない こ と ) を示すための機 能を、 コ ー ド 開発者に提供 し てい ます。 こ れを CLIv2 アプ リ ケーシ ョ ンで実行す る 場合は、 CLIv2 のオプシ ョ ン ・ パーセルの信頼済みフ ラ グに、 要求が信頼済みの場 合は 「Y」、 信頼済みでない場合は 「N」 を指定 し ます。 注記 : 必ず、 パーセル ・ モー ド Fetch の CLIv2 操作のみ を使用 し て、 信頼済みユーザー ・ ベースの中間階層アプ リ ケーシ ョ ン を記述する必要があ り ます。 CLIv2 のバ ッ フ ァ ・ モー ド Fetch 操作を使用 し て アプ リ ケーシ ョ ン を記述す る と 、 信頼済みでないユー ザーが独自のオプシ ョ ン ・ パーセルを作成 し て、 アプ リ ケーシ ョ ンに信頼済みでな い SQL コ ー ド を注入で き る よ う にな っ て し ま い ます。 オプシ ョ ン ・ パーセルについての詳細 と 、 パーセル ・ モー ド Fetch 操作お よ び DBCAREAR を使用 し て CLIv2 アプ リ ケーシ ョ ン を記述す る 方法については、 <Teradata CLI V2 ワー ク ス テーシ ョ ン接続シ ス テ ム >、 ま たは <Teradata CLI V2 リ フ ァ レ ン ス - メ イ ン フ レーム接続シ ス テ ム > を必要に応 じ て参照 し て く だ さ い。 各 Teradata アプ リ ケーシ ョ ン API には、 要求が信頼済みであ る か、 信頼済みでない か を アプ リ ケーシ ョ ンで指定す る ための メ カ ニズ ムが用意 さ れてい ます。 こ の メ カ ニズ ムに よ っ て、 SQL 要求が信頼済みでない ス テー タ ス か ら 、 信頼済みであ る ス テー タ ス にア ッ プグ レー ド さ れ る こ と を防止 し ます。 Teradata Tools and Utilities の該 当す る マ ニ ュ アル を参照 し て、 中間階層ア プ リ ケーシ ョ ン の作成に使用す る API が、 こ の機能を ど の よ う に処理す る かについて確認 し て く だ さ い。 Teradata サーバー ・ ソ フ ト ウ ェ アの信頼済みセ ッ シ ョ ンの実施 信頼済みセ ッ シ ョ ン機能を使用す る アプ リ ケーシ ョ ンは、 信頼済みの要求 と 、 信頼 済みでない要求の両方の要求を実行依頼す る と 考え ら れます。 ど の要求が信頼で き て、 ど の要求が信頼で き ないか を把握 し てい る のは、 そのアプ リ ケーシ ョ ンであ っ て、 Teradata Database ではあ り ません。 Teradata Database は、 ロ グオン ・ ユーザーに WITH TRUST_ONLY オプシ ョ ンが設定 さ れてい る 場合には、 PROXYUSER を指定 し た SET QUERY_BAND 要求が信頼済みの要求であ る かど う かを検証する だけです。 SQL デー タ 制御言語 89 第 2 章 : 文の構文規則 GRANT CONNECT THROUGH サーバー ・ ソ フ ト ウ ェ アでは、 信頼済みユーザーが TRUST_ONLY 権限を所持す る よ う に設定す る GRANT CONNECT THROUGH 要求を使用 し て、 信頼済みの要求を 強制 し ます。 信頼済みユーザーに WITH TRUST_ONLY オプシ ョ ン を指定す る と 、 Teradata Database はプ ロ キ シ ・ ユーザーを信頼済みに設定す る 要求を許可 し ますが、 それ以外の場合はその要求を アボー ト し て、 要求側にエ ラ ーを返 し ます。 中間階層アプ リ ケーシ ョ ンが、 次に示す PROXYUSERS を指定 し た SET QUERY_BAND 要求を実行依頼 し た と し ます。 SET QUERY_BAND = 'PROXYUSER=client787'; 考え ら れ る 結果は以下の と お り です。 こ の要求が信頼済みであ る か ど う か、 ま た、 こ の要求を実行依頼 し た アプ リ ケーシ ョ ン ・ ユーザーに付与 さ れてい る CONNECT THROUGH 権限の内容に よ っ て結果が異な り ます。 信頼済みユー ザーの権限 オプシ ョ ン ・ パーセ ルの信頼済みフ ラ グ 要求の状態 TRUST_ONLY 権 限が付与 さ れて いる Y に設定 信頼済み。 SET QUERY_BAND … PROXYUSER 要求が許 可 さ れ ます。 N に設定 信頼済みでない。 SET QUERY_BAND … PROXYUSER 要求がア ボー ト さ れ ます。 TRUST_ONLY 権 限が付与 さ れて いない Y に設定 信頼済み、 信頼済みでない、 の ど ち ら で も あ り ません。 Teradata Database はフ ラ グの設定を無視し ます。 N に設定 信頼済み、 信頼済みでない、 の ど ち ら で も あ り ません。 Teradata Database はフ ラ グの設定を無視し ます。 こ れはデフ ォ ル ト の設定です。 CONNECT THROUGH メ タ デー タ のデ ィ ク シ ョ ナ リ ・ ス ト レージ デ ィ ク シ ョ ナ リ 表 DBC.ConnectRulesTbl は、 プ ロ キ シ ・ ユーザーがプ ロ キ シ接続を 行な う ために使用可能な、 信頼済みユーザー と ロ ールについての情報を格納 し ま す。 表には、 trusted_user_name:proxy_user_name の組合せご と に 1 行が収容 さ れ ま す。 シ ス テ ムに よ っ て GRANT CONNECT THROUGH 要求が処理 さ れ る と 、 次に示す指 定 し た各ペアの行が DBC.ConnectRulesTbl に書 き 込まれます。 • 信頼済みユーザー名 : 永久ユーザー名 • 信頼済みユーザー名 : アプ リ ケーシ ョ ン ・ ユーザー名 こ の行は、 信頼済みユーザーま たは永久ユーザーの ど ち ら かを削除す る ま で維持 さ れます。 90 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT CONNECT THROUGH 信頼済みユーザーに WITH TRUST_ONLY を付与す る と 、 Teradata Database は DBC.ConnectRulesTbl に、 次の情報を含む行を追加 し ます。 • TrustUserId • ProxyUser=space_characters • TrustOnly=Y さ ら に、 Teradata Database は DBC.ConnectRulesTbl 内で TrustUserId=specified_TrustUserID の値を持つすべての行を更新 し 、 TrustOnly=Y に設定 し ます。 ルールを管理す る 監査証跡を提供す る ために、 権限を取 り 消 し て も ユーザーを 削除 し ない と き には、 Teradata Database はその行を保持 し ます。 次の表は、 TRUST_ONLY 権限が信頼済みユーザーに付与 さ れてい る 場合 と 、 付与 さ れていない場合の DBC.ConnectRulesTbl.GrantStatus の値を示 し てい ます。 DBC.ConnectRulesTbl.GrantStatus に設定 さ れ る 値 TRUST_ONLY 権限 G trusted_user に付与 さ れてい ます。 R trusted_user か ら 取 り 消 さ れてい ます。 例1 次に示す GRANT CONNECT THROUGH 要求では、 信頼済みユーザー viewpoint を 介 し 、 割当済みのプ ロ キ シ接続の ロ ール admin と と も に、 CONNECT THROUGH 権限を永久ユーザー sbd に付与 し ます。 GRANT CONNECT THROUGH viewpoint TO PERMANENT sbd WITH ROLE admin; こ の要求が正常に実行 さ れ る と 、 ユーザー sbd は、 信頼済みユーザー viewpoint を介 し たプ ロ キ シ接続権限を所持 し ます。 ま た、 sbd には、 プ ロ キ シ接続を作成す る た びに admin ロ ールが割当て ら れます。 例 2: プ ロキシ接続のロールの指定 こ の例の WITH ROLE 句で指定 し たすべての ロ ールは、 プ ロ キ シ接続でデフ ォ ル ト でア ク テ ィ ブにな り ます。 プ ロ キ シ接続でアプ リ ケーシ ョ ン ・ ユーザー dg120 に ProxyRole が設定 さ れていな い場合、 ア ク テ ィ ブ ・ ロ ールは salesrole1、 salesrole2 お よ び salesrole3 にな り ます。 プ ロ キ シ接続は、 WITH ROLE 句に含まれ る ロ ールの 1 つに設定で き ます。 た と え ば、 アプ リ ケーシ ョ ン ・ ユーザー dg120 の ProxyRole を、 salesrole1、 salesrole2 ま た は salesrole3 に設定す る こ と はで き ますが、 その他の ロ ールは許可 さ れません。 GRANT CONNECT THROUGH dcm TO dg120, ks392, lm190 WITH ROLE salesrole1, salesrole2, salesrole3; SQL デー タ 制御言語 91 第 2 章 : 文の構文規則 GRANT CONNECT THROUGH 例 3: プ ロキシ接続の WITHOUT ROLE の指定 次に示す要求の例の よ う に、 永久プ ロ キ シ ・ ユーザーに WITHOUT ROLE 句を設定 す る と 、 シ ス テ ムは永久ユーザーに付与 さ れた権限 と ロ ールを使用 し ます。 ま た、 デフ ォ ル ト のプ ロ キ シ ・ ロ ールは、 プ ロ キ シ永久ユーザーに定義 さ れたデフ ォ ル ト の ロ ールにな り ます。 プ ロ キ シ ・ ユーザーに設定で き る ロ ールは、 プ ロ キ シ永久ユーザーに付与 さ れた ロ ールに制限 さ れます。 GRANT CONNECT THROUGH trm TO PERMANENT accting WITHOUT ROLE; 例 4: WITH TRUST_ONLY オプ シ ョ ンの指定 WITH TRUST_ONLY オプシ ョ ンでは、 信頼済みの要求が必要な PROXYUSER ま た は PROXYROLE の設定、 変更ま たは削除を要求す る SET QUERY_BAND を、 中間 階層アプ リ ケーシ ョ ンが実行す る こ と を制限 し ます。 次に示す要求では、 信頼済みユーザー user_name は、 中間層アプ リ ケーシ ョ ンか ら SET QUERY_BAND 要求を実行す る こ と を制限 さ れます。 こ のアプ リ ケーシ ョ ン で オプシ ョ ン ・ パーセルの信頼済みフ ィ ール ド に 「Y」 を設定 し て、 こ の要求が信頼 済みであ る こ と を示 さ ない限 り 要求を実行で き ません ( オプシ ョ ン ・ パーセルにつ いての詳細は、 <Teradata CLI V2 リ フ ァ レ ン ス - メ イ ン フ レーム接続シ ス テ ム >、 ま たは <Teradata CLI V2 ワー ク ス テーシ ョ ン接続シ ス テ ム > を参照 し て く だ さ い )。 こ の例では、 中間階層アプ リ ケーシ ョ ンが CLIv2 API を使用す る と 仮定 し てい ま す。 各自のアプ リ ケーシ ョ ンに該当す る Teradata Tools and Utilities のマニ ュ アルを 参照 し て、 こ の情報を API で指定す る メ カ ニズ ムについて確認 し て く だ さ い。 GRANT CONNECT THROUGH user_name WITH TRUST_ONLY; アプ リ ケーシ ョ ンでオプシ ョ ン ・ パーセルの信頼済みフ ィ ール ド を 「Y」 に設定 し ていない と 、 Teradata Database は user_name が実行依頼 し たすべての SET QUERY_BAND 要求を アボー ト し ます。 詳細情報 92 内容 参照先 プ ロ キ シ接続の取 り 消 し 「REVOKE CONNECT THROUGH」 (126 ページ ) プ ロ キ シ接続を有効にす る ク エ リ ー ・ バン ド の設定 <SQL デー タ 定義言語 - 構文規則お よ び例 > の 「SET QUERY_BAND」 信頼済みでない要求の設定 Teradata JDBC Driver ユーザー ・ ガ イ ド 信頼済みセ ッ シ ョ ンの管理 デー タ ベース の管理 信頼済みセ ッ シ ョ ンに関連す る セキ ュ リ テ ィ 問題 セキ ュ リ テ ィ 管理ガ イ ド SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT CONNECT THROUGH 内容 参照先 信頼済みセ ッ シ ョ ンのデ ィ ク シ ョ ナ リ 属性 デー タ ・ デ ィ ク シ ョ ナ リ オプシ ョ ン ・ パーセル • Teradata CLI V2 リ フ ァ レ ン ス - メ イ ン フ レーム接続シ ス テ ム • Teradata CLI V2 ワー ク ス テーシ ョ ン接続 システム SQL デー タ 制御言語 93 第 2 章 : 文の構文規則 GRANT LOGON GRANT LOGON 目的 次の どれか を実行 し ます。 • 特定の ク ラ イ ア ン ト ・ シ ス テ ムか ら Teradata Database に ロ グオ ンす る 許可を ユー ザーに与え ます。 • 現在のシ ス テ ム ・ ロ グオンのデフ ォ ル ト を変更 し ます。 構文 , GRANT LOGON ON host_id AS DEFAULT , ALL TO WITH NULL PASSWORD ; user_name FROM 1101C027 説明 構文要素 指定内容 host_id ハー ド ウ ェ ア構成デー タ に よ っ てシ ス テ ムに現在定義 さ れてい る メ イ ン フ レーム接続ま たは ワー ク ス テーシ ョ ン ・ ネ ッ ト ワ ー ク 接続を 識別 し ます。 実際に こ のホ ス ト が稼働中であ る 必要はあ り ません。 ノ ー ド ご と に複数のホ ス ト ID を定義で き ます。 シ ス テ ム ・ コ ン ソ ールのホ ス ト ID は 0 です。 他のすべての コ ネ ク タ の host_id の値は 1 ~ 32,767 です。 詳細は、 < サポー ト ・ ユーテ ィ リ テ ィ > の 「Configuration ユーテ ィ リ テ ィ 」 を参照 し て く だ さ い。 ALL シ ス テ ム の コ ン ソ ール も 含め、 ロ グ イ ン を試み る すべての ソ ース を 指定 し ます。 AS DEFAULT 指定 し た host_id の現在のデフ ォ ル ト が、 こ の GRANT LOGON 文で 定義 さ れた と お り に、 他の条件な し に変更 さ れ る こ と を指定 し ます。 AS DEFAULT 付 き の文は、 特定のユーザー名に与え た、 ま たはユー ザー名か ら 取 り 消 し た ア ク セ ス権には何の効力 も あ り ません。 特定の host_id にデフ ォ ル ト を設定す る 文は、 ALL ク ラ イ ア ン ト ・ シ ス テ ム にデフ ォ ル ト を設定す る 文 よ り も 優先 さ れ ます。 TO FROM 94 GRANT の結果が与え ら れ る 受領者を指定す る 句です。 SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT LOGON 構文要素 指定内容 user_name 現在のシ ス テ ム ・ ロ グオ ン ・ デフ ォ ル ト を変更す る 1 人ま たは複数 のユーザーの名前を指定 し ます。 • DBC と い う 名前を、 GRANT LOGON 文のユーザー名 と し て指定 す る こ と はで き ません。 こ の名前を含んだ文は、 エ ラ ー ・ メ ッ セージ を返 し ます。 • host_id の数 と ユーザー名の数の積が、 25 を超え てはな り ません。 WITH NULL PASSWORD 指定 し た ク ラ イ ア ン ト ・ シ ス テ ム ・ コ ミ ュ ニ テ ィ ーか ら 受け入れ ら れ る パ ス ワー ド がない ロ グオ ン ・ ス ト リ ン グ を許可 し ます。 最初のデフ ォ ル ト は、 すべての ロ グオ ン要求がパ ス ワー ド を含んで い ます。 WITH NULL PASSWORD オプシ ョ ン と 、 TDP セキ ュ リ テ ィ 出口プ ロ グ ラ ム を と も に指定す る と 、 デフ ォ ル ト は無効にな り ます。 こ のオプシ ョ ンは、 ユーザーがデー タ ベース に よ っ てではな く 外部 か ら 認証 さ れてい る こ と を暗黙的に示 し ます。 詳細は、 < セ キ ュ リ テ ィ 管理ガ イ ド > を参照 し て く だ さ い。 ANSI への準拠 GRANT LOGON は、 ANSI/ISO SQL:2011 規格の拡張機能です。 必要な権限 GRANT LOGON を実行す る には、 DBC.LogonRule マ ク ロ に対す る EXECUTE 権限 が必要です。 シ ス テム権限検査 AS DEFAULT オプシ ョ ン を含む文は、 特定のユーザーに与え ら れた、 ま たはユー ザーか ら 取 り 消 さ れた ロ グオ ン ・ ア ク セ ス には影響を与え ません。 GRANT LOGON 文に指定 さ れたユーザーは、 ク ラ イ ア ン ト ・ シ ス テ ムが REVOKE のデフ ォ ル ト を 持っ ていた と し て も 、 その ク ラ イ ア ン ト ・ シ ス テ ムに常にア ク セ スす る こ と がで き ます。 ま た、 REVOKE LOGON 文で指定 さ れたユーザーは、 ク ラ イ ア ン ト ・ シ ス テ ムが GRANT のデフ ォ ル ト を持っ ていた と し て も 、 その ク ラ イ ア ン ト ・ シ ス テ ムに ア ク セ スす る こ と はで き ません。 GRANT LOGON 文が実行 さ れ る と 、 要求中のユーザーは こ の文に関連す る シ ス テ ム ・ マ ク ロ に対 し て EXECUTE 権限を持っ てい る か ど う か検証 さ れます。 ただ し 、 こ の文で定義 し たユーザーが要求 し てい る ユーザーに所有 さ れてい る か ど う かの検 証は行なわれません。 た と えば、 無効なユーザー名や無効な host_id を指定 し たた めに検証を行な う こ と がで き ない場合、 こ の文に対 し て何の動作 も と ら れません。 SQL デー タ 制御言語 95 第 2 章 : 文の構文規則 GRANT LOGON 1 つまたは複数のユーザー名に対する GRANT LOGON 1 つま たは複数のユーザー名に対す る GRANT LOGON 文が処理 さ れ る と 、 指定 さ れた user_name/host_ID のペア ご と に ロ グオン制御レ コ ー ド が作成 さ れます。 特定 の user_name/host_ID のペアの制御レ コ ー ド が存在 し ていれば、 置 き 換え ら れます。 特定のユーザー名に関 し て作成 さ れた ロ グオン制御レ コ ー ド は、 そのユーザーが削 除 さ れ る ま で存続 し ます (<SQL デー タ 定義言語 - 構文規則お よ び例 > の 「DROP USER」 を参照 )。 特定のユーザー名に関する ログオ ン制御レ コ ー ド が存在 し ないログオ ン 特定のユーザー名に対す る ロ グオ ン制御レ コ ー ド がない場合、 その名前を使用す る Teradata Database へのア ク セ ス は、 ロ グオ ンが入力 さ れた host_id の現在のデフ ォ ル ト に よ っ て制御 さ れます。 ユーザー DBC と し て ロ グオ ン ユーザー DBC と し て Teradata Database に ロ グオ ンす る には、 パ ス ワー ド が必要で す。 入力 さ れたパ ス ワー ド が正 し い場合、 host_id の現在のデフ ォ ル ト は無視 さ れ、 その ロ グオンが受け入れ ら れます。 こ れは、 Teradata Database か ら すべての ク ラ イ ア ン ト ・ シ ス テ ムが ロ ッ ク ア ウ ト さ れ る こ と を防ぎ ます。 ロ グオ ン を ユーザー名 DBC に付与す る こ と はで き ません。 パスワー ド な し のロ グオ ン Teradata Database が複数の ク ラ イ ア ン ト ・ シ ス テ ムに接続 さ れてい る 場合、 最初の デフ ォ ル ト は、 ロ グオ ンの許可がすべての ク ラ イ ア ン ト ・ シ ス テ ム接続か ら すべて のユーザーに与え ら れ、 すべての ロ グオ ンにパ ス ワ ー ド が含まれていなければな ら ない よ う にな っ てい ます。 パ ス ワ ー ド な し に ロ グ オ ンす る ユーザーには、 次の 2 つの要素が な ければな り ま せん。 • WITH NULL PASSWORD オプシ ョ ン を含む GRANT LOGON 文を、 定義 さ れた ユーザー名のために実行す る か、 ま たは host_id をデフ ォ ル ト に設定 し なければ な り ません。 • ク ラ イ ア ン ト ・ シ ス テ ムに導入 さ れたセキ ュ リ テ ィ 出口が、 こ のユーザーの ロ グオン文字列はパ ス ワー ド な し で有効であ る こ と を認めなければな り ません。 ク ラ イ アン ト のタ イプ セキ ュ リ テ ィ 出口が導入 さ れてい る ク ラ イ ア ン ト ・ アプ リ ケーシ ョ ン メ イ ン フ レーム接続 • TDP • CLI ワ ー ク ス テーシ ョ ン接続 96 CLI SQL デー タ 制御言語 第 2 章 : 文の構文規則 GRANT LOGON 外部認証を使用 し た ログオ ン 外部認証を使用す る と 、 ユーザーは一度 コ ン ピ ュ ー タ に ロ グオンすれば、 ユーザー 名、 パス ワ ー ド 、 ま たはア カ ウ ン ト 名を指定せずに Teradata Database にア ク セ ス で き ます。 こ れを可能にす る には、 デ ィ レ ク ト リ 内で Teradata Database ユーザーに ま だマ ッ プ さ れていないすべてのデ ィ レ ク ト リ ・ ユーザーを明示的にマ ッ プす る 必要 があ り ます。 マ ッ プ さ れていないユーザー と Teradata Database 間の明示的なマ ッ ピ ン グ を作成 し なければ、 そのデ ィ レ ク ト リ ・ ユーザーは Teradata Database に ロ グオン で き ません。 デ ィ レ ク ト リ ・ ユーザーを以下に明示的にマ ッ プす る こ と がで き ます。 • EXTUSER EXTUSER へのマ ッ ピ ン グが、 最 も 一般的に使用 さ れ る 方法です。 行レベル ・ セキ ュ リ テ ィ 権限を EXTUSER に割 り 当て る こ と はで き ません。 詳細は、 < セキ ュ リ テ ィ 管理ガ イ ド > を参照 し て く だ さ い。 • プロ フ ァ イル • ロ ール • Teradata ユーザー こ の ロ グオン を実現す る 別の方法 も あ り ます。 ヌ ル ・ パ ス ワー ド を使用 し てユー ザー ・ ロ グオ ン権限を付与す る と い う 方法です。 Gtwcontrol ユーテ ィ リ テ ィ を使用する こ と に よ っ て Append Domain Name オプシ ョ ン が設定 さ れていないゲー ト ウ ェ イ を通 じ てシ ス テ ムに ロ グオ ンで き る ユーザーを作 成す る 手順は、 次の と お り です。 こ のユーザーは、 ユーザー rhh と し てすでに定義 さ れてい ます。 1 CREATE USER 要求を使用 し て、 次の よ う にユーザー rhh を作成 し ます。 CREATE USER rhh AS PERM = 10000000, PASSWORD = rhh; 2 GRANT LOGON 要求を使用 し て、 ユーザー rhh に次の よ う に ロ グオン権限を付 与 し ます。 GRANT LOGON ON ALL TO rhh WITH NULL PASSWORD; Append Domain Name が設定 さ れてい る ゲー ト ウ ェ イ を通 じ て Teradata シ ス テ ムに ロ グ オ ン で き る Teradata Database ユーザーを作成す る 手順は、 次の と お り です。 こ のユーザーは、 ユーザー rhh と し てすでに定義 さ れてお り 、 そのア カ ウ ン ト は esw2kdev ド メ イ ン内にあ り ます。 1 CREATE USER 要求を使用 し て、 次の よ う にユーザー rhh を作成 し ます。 CREATE USER "rhh@esw2kdev" AS PERM = 10000000, PASSWORD = rhh; SQL デー タ 制御言語 97 第 2 章 : 文の構文規則 GRANT LOGON 2 GRANT LOGON 要求を使用 し て、 ユーザー rhh に次の よ う に ロ グオン権限を付 与 し ます。 GRANT LOGON ON ALL TO "rhh@esw2kdev" WITH NULL PASSWORD; 外部認証の詳細につい ては、 < セキ ュ リ テ ィ 管理ガ イ ド >、 < デー タ ベース の 管理 >、 お よ び < ユーテ ィ リ テ ィ > を参照 し て く だ さ い。 詳細情報 98 内容 参照先 ロ グオ ン権限の取消 し 「REVOKE LOGON」 (129 ページ ) 外部ユーザー セキ ュ リ テ ィ 管理ガ イ ド SQL デー タ 制御言語 第 2 章 : 文の構文規則 REVOKE REVOKE 目的 REVOKE は、 1 人ま たは複数のユーザー、 プ ロ キ シ ・ ユーザー、 デー タ ベース、 ま たは ロ ールか ら 明示権限を取 り 除 き ます。 取 り 消す権限は、 自動的に与え ら れた も のであ っ て も 、 前の GRANT 文で与え ら れた も のであ っ て も か ま い ません。 ANSI への準拠 REVOKE ( ロ ール形式 ) と REVOKE (SQL 形式 ) は、 ANSI/ISO SQL:2011 に準拠 し てい ます。 他の形式の REVOKE は、 ANSI/ISO SQL:2011 規格の拡張機能です。 取 り 消 し の制限 暗黙権限は所有権に よ っ て管理 さ れてい る ため、 取 り 消す こ と がで き ません。 所有 権を変更す る ための GIVE 文を使用す る こ と に よ り 、 暗黙権限に影響を与え る こ と がで き ます ( 詳細については、 「GIVE」 (16 ページ ) を参照 )。 REVOKE の形式 REVOKE には、 次の形式があ り ます。 こ れ ら の機能 と 構文規則は異な り ます。 こ れ ら の形式については、 以下の箇所を参照 し て く だ さ い。 • 「REVOKE (MONITOR 形式 )」 (101 ページ ) • 「REVOKE ( ロ ール形式 )」 (105 ページ ) • 「REVOKE (SQL 形式 )」 (108 ページ ) • 「REVOKE CONNECT THROUGH」 (126 ページ ) • 「REVOKE LOGON」 (129 ページ ) REVOKE で除去で き る権限の タ イ プ REVOKE 文は、 DBC.AccessRights 表に記録 さ れてい る 明示権限に対 し て操作を行な い ます。 し たが っ て、 暗黙権限は、 DBC.AccessRights に格納 さ れないので、 取 り 消 せません。 自動的ま たは明示的に与え ら れ る 明示権限のみ取 り 消せます。 ほ と ん ど の場合、 暗黙権限は、 暗黙権限を保持 し てい る ユーザーがそれ ら の権限を 他のユーザーに付与する こ と を許可する だけで、 それ ら の権限に対応する SQL 文を 実行す る こ と を許可す る わけではあ り ません。 一般に、 ア ク セ ス保護 さ れた SQL 文を実行す る には明示権限が必要です。 こ のルールの主な例外は、 ビ ュ ー、 マ ク ロ 、 お よ び ス ト ア ド ・ プ ロ シージ ャ に対す る 権限です。 SQL デー タ 制御言語 99 第 2 章 : 文の構文規則 REVOKE REVOKE (SQL 形式 ) と REVOKE (MONITOR 形式 ) の機能の相違点 SQL お よ び MONITOR の REVOKE の形式はそれぞれ独立 し た文です。 あ る ユー ザーか ら 、 MONITOR を含むすべての権限を取 り 消すためには、 付与者は、 以下の 文を両方 と も 実行 し なければな り ません。 REVOKE ALL PRIVILEGES ON object FROM user_name; REVOKE MONITOR PRIVILEGES FROM user_name; 2 つの文は と も に、 適切な権限を WITH GRANT OPTION 付 き で暗黙的ま たは明示 的に持っ てい る こ と を想定 し てい ます。 100 SQL デー タ 制御言語 第 2 章 : 文の構文規則 REVOKE (MONITOR 形式 ) REVOKE (MONITOR 形式 ) 目的 シ ス テ ム全体の性能監視の権限を取 り 消 し ます。 構文 REVOKE A MONITOR GRANT OPTION FOR PRIVILEGES , BUT NOT monitor_privilege , monitor_privilege , A user_name TO FROM ALL ; PUBLIC 1101B214 説明 構文要素 指定内容 GRANT OPTION FOR 指定 さ れた受領者の指定 さ れた権限の付与権限だけが取 り 消 さ れ ます。 MONITOR PRIVILEGES REVOKE 文を実行す る ユーザーに よ っ て、 指定 さ れたオブジ ェ ク ト に対 し て WITH GRANT OPTION 付 き で付与で き る 、 MONITOR 以外のすべての権限が、 指定 さ れた ユーザーか ら 取 り 消 さ れます。 REVOKE GRANT OPTION FOR は、 受領者の付与権限を取 り 消すだけであ り 、 指定 さ れた権限自体は取 り 消 し ません。 MONITOR も 含めたすべての権限を取 り 消すには、 次の 2 つの文を実行す る 必要があ り ます。 REVOKE ALL PRIVILEGES ON object FROM user_name; REVOKE MONITOR PRIVILEGES FROM user_name; ALL PRIVILEGES は、 すべての デー タ ベース 権限を意味 し ます。 ALL PRIVILEGES オプシ ョ ン を指定 し た場合には、 付与権限 と と も に与え ら れた権限 だけが、 受領者か ら 取 り 消 さ れます。 MONITOR PRIVILEGES は、 すべての管理権限を示 し ます。 ANSI/ISO SQL:2011 規格では、 PRIVILEGES の前に ALL が必要です。 SQL デー タ 制御言語 101 第 2 章 : 文の構文規則 REVOKE (MONITOR 形式 ) 構文要素 指定内容 MONITOR BUT NOT monitor_privilege に よ っ て指定 さ れた権限を除 く 、 すべての MONITOR 権限を取 り 消 し ます。 monitor_privilege 取 り 消す こ と がで き る モニ タ ー権限を指定 し ます。 以下の権限を、 希望す る だけ カ ン マで区切っ て指定で き ます。 • ABORTSESSION • CTCONTROL • MONRESOURCE • MONSESSION • SETRESRATE • SETSESSRATE こ れ ら のモニ タ ー権限の定義については、 「モニ タ ー権限」 (22 ページ ) を参照 し て く だ さ い。 ALL モニ タ ー権限が、 指定 し たデー タ ベース ま たはユーザー、 お よ びそのデー タ ベース ま たはユーザーに よ っ て現在お よ び将来に所有 さ れ る すべてのデー タ ベース ま たはユー ザーか ら 取 り 消 さ れ る こ と を指定 し ます。 ALL user_name は、 ANSI/ISO SQL:2011 規格に対す る Teradata の拡張機能です。 user_name モニ タ ー権限が取 り 消 さ れ る デー タ ベース ま たはユーザーを指定 し ます。 最大 25 個の 名前を指定す る こ と がで き ます。 PUBLIC モニ タ ー権限を、 Teradata Database の現在定義 さ れてい る ユーザー と 将来のユーザーの すべてか ら 取 り 消す よ う に指定 し ます。 ALL DBC は、 PUBLIC と 等価です。 ANSI への準拠 REVOKE の MONITOR 形式は、 ANSI/ISO SQL:2011 規格の拡張機能です。 必要な権限 REVOKE ( モニ タ ー ) では、 REVOKE 文を実行す る ユーザーは、 取 り 消 さ れ る す べての権限を GRANT オプシ ョ ン付 き で持っ ていなければな り ません。 権限は即座に取 り 消 さ れる REVOKE MONITOR は、 取 り 消 さ れたユーザーが次の文を発行す る と 直ちに有効に な り ます。 REVOKE の使用上のルール (MONITOR 形式 ) 102 キー ワ ー ド 意味 ALL PRIVILEGES すべてのデー タ ベース関連の権限が影響を受け ます。 MONITOR PRIVILEGES すべてのシ ス テムモニ ター権限が影響を受け ます。 SQL デー タ 制御言語 第 2 章 : 文の構文規則 REVOKE (MONITOR 形式 ) 以下の制限のいずれかに違反す る と 、 失敗応答が返 さ れます。 無効な処置 REVOKE 文の タ イ プ ON object 句を指定す る REVOKE MONITOR。 ON object 句を指定 し ない その他の タ イ プ。 REVOKE 文は、 受領者が次の文を発行す る と 直ちに有効にな り ます。 取消 し 可能な権限 暗黙権限は、 取 り 消すこ と がで き ません。 詳細は、 「取 り 消 し の制限」 (99 ページ ) を 参照 し て く だ さ い。 ユーザーか ら 権限の GRANT OPTION を取 り 消す と 、 そのユーザーが こ の権限を与 え る 権限が即座に取 り 消 さ れます。 ただ し 、 そのユーザーに よ っ て他のユーザーに すでに与え ら れてい る 権限には影響 し ません。 条件 結果 1 人のユーザーが複数の付与者か ら 同 じ 権 限を受け取っ た場合 必要な権限を持つ任意の付与者が、 その権 限を ユーザーお よ び他の受領者か ら 取 り 消 す こ と がで き ます。 別のユーザーか ら 権限を取 り 消すユーザー が、 その権限の付与者であ る 必要はあ り ま せん ALL user_name に付与 さ れた権限を user_name か ら 取 り 消 し た場合 その権限は今後 user_name が所有す る ユー ザーには自動的に付与 さ れません。 例1 こ の文は、 accounting デー タ ベース に対す る すべての SQL 権限 と 、 シ ス テ ムに対す る すべてのモニ タ ー権限を user_name か ら 取 り 消 し ます。 REVOKE ALL PRIVILEGES ON accounting FROM user_name; REVOKE MONITOR PRIVILEGES FROM user_name; こ の例は、 取消 し を行な う ユーザーが必要な権限を WITH GRANT OPTION 付 き で 暗黙的ま たは明示的に持っ てい る こ と を想定 し てい ます。 SQL デー タ 制御言語 103 第 2 章 : 文の構文規則 REVOKE (MONITOR 形式 ) 例2 こ の文は、 ABORTSESSION、 MONSESSION、 お よび SETSESSRATE モニ タ ー権限を ユーザー pls か ら 取 り 消 し ます。 REVOKE ABORTSESSION, MONSESSION, SETSESSRATE FROM pls; こ の例は、 取消 し を行な う ユーザーが必要な権限を WITH GRANT OPTION 付 き で 暗黙的ま たは明示的に持っ てい る こ と を想定 し てい ます。 詳細情報 モニ タ ー権限の付与については、 「GRANT (MONITOR 形式 )」 (20 ページ ) を参照 し て く だ さ い。 104 SQL デー タ 制御言語 第 2 章 : 文の構文規則 REVOKE ( ロ ール形式 ) REVOKE ( ロ ール形式 ) 目的 ユーザーま たは他の ロ ールか ら ロ ールを取 り 消 し ます。 構文 , , REVOKE role_name ADMIN OPTION FOR TO user_name FROM role_name ; KZ01a009 説明 構文要素 指定内容 ADMIN OPTION FOR こ の ロ ールを付与 さ れた ロ ール ま たはユーザーが、 GRANT、 REVOKE、 お よ び DROP ROLE 文を使用 し て、 指定 さ れた ロ ー ルを管理す る 権限を失 う こ と を指定 し ます。 REVOKE 要求に ADMIN OPTION FOR を指定 し ない場合、 シ ス テ ムは指定 さ れた ロ ールを、 その ロ ールが付与 さ れた ロ ール ま たは ユーザーか ら 取 り 消 し ます。 role_name 1 つま たは複数のカ ン マで区切 ら れた、 取 り 消す ロ ールの名前を 指定 し ます。 REVOKE 要求につ き 最大 25 個の名前を指定で き ます。 シ ス テ ム では重複 し た ロ ール名は無視 さ れ ます。 TO FROM user_name role_name ロ ール ま たは ロ ールを管理す る 能力を取 り 消 さ れ る ロ ール ま たは ユーザー、 あ る いはその両方の名前を指定 し ます。 シ ス テ ム では、 指定 さ れた ロ ールを付与 さ れていないユーザーま たは ロ ールについては、 エ ラ ーは返 さ れ ません。 TO キー ワ ー ド は、 ANSI/ISO SQL:2011 に対す る Teradata の拡張 機能です。 ANSI への準拠 REVOKE ( ロ ール形式 ) は、 ANSI/ISO ISOSQL:2011 に準拠 し てい ます。 必要な権限 ロ ール を取 り 消すには、 それに対す る WITH ADMIN OPTION 権限が必要です。 以下のユーザーが、 ロ ールの メ ンバーシ ッ プ を取 り 消せます。 SQL デー タ 制御言語 105 第 2 章 : 文の構文規則 REVOKE ( ロ ール形式 ) • ユーザー DBC。 • WITH ADMIN OPTION 付 き の指定 さ れた ロ ールを付与 さ れたユーザー。 ロ ールは、 WITH ADMIN OPTION 付 き の ロ ールの作成者に自動的に付与 さ れ ます。 • WITH ADMIN OPTION 付 き で指定 さ れた ロ ールが与え ら れた ア ク テ ィ ブ ・ ロ ー ルを持つユーザー。 ア ク テ ィ ブ ・ ロ ールは、 現在の ロ ールか、 現在の ロ ールの 入れ子 ロ ールのいずれかです。 ロールの取 り 消 し ロ ールは、 デー タ ベース ・ オブジ ェ ク ト に対す る 権限を定義 し ます。 ロ ールを活動 化す る ユーザーは、 ロ ール と 入れ子 ロ ールのすべての権限を継承 し ます。 ユーザー は、 自身に付与 さ れてい る ロ ールだけ を活動化す る こ と がで き ます。 ユーザーは、 組織内での ロ ールを変更 さ れ る こ と があ り ます。 ロ ールが権限を持っ てい る オブジ ェ ク ト にユーザーがア ク セ スす る 必要がな く な っ た場合は、 管理者が ロ ールを取 り 消せます。 ロ ールが権限を持っ てい る オブジ ェ ク ト にユーザーがア ク セ スす る 必要がな く な っ た場合は、 管理者が ロ ールを取 り 消せます。 許可 さ れたユーザーは、 ロ ールの作成者か ら ロ ールに対す る WITH ADMIN OPTION 権限を取 り 消せます。 ロールを取 り 消 し た場合の影響 ロ ール取 り 消 し はすぐ に有効にな り ます。 現在の ロ ール ま たは現在の ロ ールの入れ 子 ロ ール と し て、 取 り 消 さ れた ロ ールを使用 し て ロ グオンす る ユーザーは、 その ロ ールで定義 さ れてい る 権限を失い ます。 取 り 消 さ れた ロ ールがデフ ォ ル ト ・ ロ ール と し て設定 さ れてい る ユーザーは、 次回 の ロ グオ ン時にエ ラ ーや警告を受け取 り ません。 し か し 、 シ ス テ ム では、 権限の評 価に、 廃止 さ れたデフ ォ ル ト ・ ロ ールを使用 し ません。 ロ ールが再びユーザーに付 与 さ れ る と 、 ユーザーが次回 ロ グオ ンす る 際に、 再びデフ ォ ル ト ・ ロ ールが現在の ロ ールにな り ます。 例 ユーザー marks が sales か ら management へ昇進 し た場合、 デー タ ベース管理者は次 の文を使用 し て、 sales ロ ールを取 り 消 し て management ロ ールを付与で き ます。 REVOKE sales FROM marks; GRANT management TO marks; 106 SQL デー タ 制御言語 第 2 章 : 文の構文規則 REVOKE ( ロ ール形式 ) 詳細情報 SQL デー タ 制御言語 詳細情報 参照先 ユーザーお よ び他の ロ ールへの ロ ー ルの付与 「GRANT ( ロ ール形式 )」 (23 ページ ) ユーザーへのデフ ォ ル ト ・ ロ ールの 割当て • <SQL デー タ 定義言語 - 構文規則お よ び例 > の 「CREATE USER」 • <SQL デー タ 定義言語 - 構文規則お よ び例 > の 「MODIFY USER」 セ ッ シ ョ ン に関す る 現在の ロ ールの 変更 <SQL デー タ 定義言語 - 構文規則お よ び例 > の 「SET ROLE」 107 第 2 章 : 文の構文規則 REVOKE (SQL 形式 ) REVOKE (SQL 形式 ) 目的 デー タ ベース、 ユーザー、 表、 ビ ュ ー、 ス ト ア ド ・ プ ロ シージ ャ 、 UDF、 ま たはマ ク ロ に対す る 1 つま たは複数の明示的権限を、 ロ ール、 ロ ールのグループ、 ユー ザー、 ま たはユーザーのグループか ら 取 り 消すか、 GRANT オプシ ョ ン を明示的権 限か ら 除去 し ます。 NONTEMPORAL 権限の取 り 消 し については、 < テ ン ポ ラ ル表サポー ト > を参照 し て く だ さ い。 108 SQL デー タ 制御言語 第 2 章 : 文の構文規則 REVOKE (SQL 形式 ) 構文 REVOKE A ALL PRIVILEGES , GRANT OPTION FOR privilege ALL BUT , a role_privilege , profile_privilege A ON B database_name user_name role_name PUBLIC database_name. user_name. object_name object_name PROCEDURE procedure_name database_name. user_name. SPECIFIC FUNCTION specific_function_name database_name. user_name. FUNCTION function_name , ( ) database_name. user_name. TYPE data type parameter_name UDT_name SYSUDTLIB. a , B TO FROM user_name ALL ; PUBLIC , role_name database_name. user_name. SQL デー タ 制御言語 1101V061 109 第 2 章 : 文の構文規則 REVOKE (SQL 形式 ) data type INTEGER SMALLINT BIGINT BYTEINT DATE TIME TIMESTAMP (fractional_seconds_precision) WITH TIME ZONE INTERVAL YEAR (precision) TO MONTH INTERVAL MONTH (precision) INTERVAL DAY (precision) TO HOUR MINUTE SECOND ( fractional_seconds_precision ) INTERVAL HOUR (precision) TO MINUTE SECOND ( fractional_seconds_precision ) INTERVAL MINUTE (precision) TO SECOND ( fractional_seconds_precision ) INTERVAL SECOND (precision ) ,fractional_seconds_precision PERIOD(DATE) PERIOD(TIME PERIOD(TIMESTAMP A 110 ) (precision) WITH TIME ZONE B SQL デー タ 制御言語 第 2 章 : 文の構文規則 REVOKE (SQL 形式 ) A B REAL DOUBLE PRECISION FLOAT ( integer ) NUMBER ( integer * ) , integer DECIMAL ( integer NUMERIC ) , integer CHAR ( integer ) BYTE GRAPHIC ( integer ) VARCHAR CHAR VARYING VARBYTE VARGRAPHIC LONG VARCHAR LONG VARGRAPHIC BINARY LARGE OBJECT ( integer BLOB ( G K M CHARACTER LARGE OBJECT CLOB XML XMLTYPE JSON ( integer ) CHARACTER SET UNICODE LATIN UDT_name SYSUDTLIB. ST_Geometry MBR ARRAY_name VARRAY_name SQL デー タ 制御言語 111 第 2 章 : 文の構文規則 REVOKE (SQL 形式 ) 説明 構文要素 指定内容 GRANT OPTION FOR 指定 さ れたデー タ ベース ・ オブジ ェ ク ト に対応す る 明示権限を所持す る 、 指定 さ れた受領者の権限セ ッ ト か ら 、 WITH GRANT OPTION 付与権限のみを削除 し ます。 REVOKE GRANT OPTION FOR は、 指定 さ れた権限セ ッ ト を他のユーザーに付 与す る 能力を取 り 消 し ますが、 指定 さ れたユーザーま たは ロ ールか ら 明示権限 自体を取 り 消す こ と はあ り ません。 こ のオプシ ョ ンは、 ロ ールの受領者には適用 さ れ ません。 ALL [PRIVILEGES] REVOKE 文を実行す る ユーザーに よ っ て、 指定 さ れたオブジ ェ ク ト に対 し て WITH GRANT OPTION 付 き で付与で き 、 暗黙的ま たは明示的に保持 さ れてい る 、 MONITOR 以外の明示的に与え ら れたすべてのデー タ ベース権限 ( 表権限を除 く ) が、 指定 さ れたユーザーま たは ロ ールか ら 取 り 消 さ れます。 つま り 、 REVOKE ALL は INDEX お よ び REFERENCES 権限を 取 り 消 し ません 。 こ れ ら の権限を取 り 消すには、 明示的に取 り 消す必要があ り ます。 MONITOR も 含めたすべての明示デー タ ベース権限を取 り 消すために、 取 り 消す ユーザーは次の 2 つの文を実行す る 必要があ り ます。 REVOKE ALL PRIVILEGES ON object FROM user_name; REVOKE MONITOR PRIVILEGES FROM user_name; ALL PRIVILEGES は、 すべての明示デー タ ベース権限を意味 し ます。 ALL PRIVILEGES を指定 し た場合は、 付与権限 と と も に保持 さ れてい る 明示権 限だけが、 受領者か ら 取 り 消 さ れ ます。 ANSI/ISO SQL では、 キー ワー ド PRIVILEGES の前に ALL が必要です。 ALL BUT 112 REVOKE 文を実行す る ユーザーに よ っ て、 指定 さ れたオブジ ェ ク ト に対 し て WITH GRANT OPTION 付 き で付与で き 、 暗黙的ま たは明示的に保持 さ れてい る 、 権限のセ ッ ト で指定 さ れた権限以外の明示的に与え ら れたすべての明示デー タ ベース権限が、 指定 さ れたデー タ ベース ・ オブジ ェ ク ト か ら 取 り 消 さ れ ます。 SQL デー タ 制御言語 第 2 章 : 文の構文規則 REVOKE (SQL 形式 ) 構文要素 指定内容 privilege 「サポー ト さ れ る 権限」 (116 ページ ) に リ ス ト さ れた 1 つ以上の権限。 INSERT、 REFERENCES、 SELECT、 お よ び UPDATE には、 別々に、 表お よ び列 レベルのオプシ ョ ンがあ り ます。 「GRANT (SQL 形式 )」 (26 ページ ) を参照 し て く だ さ い。 GENERATED ALWAYS の識別列に対す る UPDATE 権限は付与で き ません。 ANSI/ISO SQL:2011 規格では、 デー タ ベース ま たはユーザーに対す る REVOKE、 ま たは ALL BUT を サポー ト し ません。 こ れ ら は ANSI/ISO SQL:2011 規格に対す る Teradata の拡張機能です。 権限はど の よ う な組合せで も 指定す る こ と がで き ます。 ただ し 、 要求を実行す る ユーザー自身は、 WITH GRANT OPTION 付 き で指定 さ れた、 すべての権限を 暗黙的ま たは明示的に所持 し ていなければな り ません。 DATABASE、 FUNCTION、 MACRO、 PROCEDURE、 PROFILE、 ROLE、 TABLE、 TRIGGER、 USER、 ま たは VIEW を CREATE ま たは DROP な し で指定す る 場合 は、 CREATE と DROP の両方が取 り 消 さ れ ます。 CHECKPOINT を指定 し た場合、 権限は、 SQL 文お よ び HUT コ マ ン ド の DUMP と RESTORE の両方か ら 取 り 消 さ れ ます。 DUMP ま たは RESTORE を 個別に指定 し た場合、 シ ス テ ム は対応す る HUT コ マ ン ド を実行す る 権限だけ を取 り 消 し ます。 RESTORE を指定 し た場合、 シ ス テ ムは HUT コ マ ン ド の ROLLBACK、 ROLLFORWARD、 お よ び DELETE JOURNAL を実行す る 権限 も 取 り 消 し ます。 取 り 消す こ と がで き る のは、 ト リ ガーに対す る 権限ではな く 、 ト リ ガーを含む デー タ ベース ま たは ト リ ガーの対象 と な る 表に対す る 権限です。 role_privilege 以下の権限の う ちの 1 つです。 • CREATE ROLE • DROP ROLE • ROLE ROLE 自体は単独の特権ではあ り ません。 CREATE ROLE と DROP ROLE の 両方を指定す る 便利な方法です。 ロ ール権限は、 ユーザーのセ ッ ト ま たは ロ ールか ら だけ取 り 消す こ と がで き ま す。 オブジ ェ ク ト か ら 取 り 消す こ と はで き ません。 ROLE 権限 を 使用 し て、 CREATE ROLE お よ び DROP ROLE 権限 を 取 り 消 し ます。 profile_privilege 以下の権限の う ちの 1 つです。 • CREATE PROFILE • DROP PROFILE • PROFILE PROFILE は単独の権限ではあ り ません。 CREATE PROFILE と DROP PROFILE の両方を指定す る 便利な方法です。 プ ロ フ ァ イ ル権限は、 ユーザーのセ ッ ト ま たは ロ ールか ら だけ取 り 消す こ と が で き ます。 オブジ ェ ク ト か ら 取 り 消す こ と はで き ません。 PROFILE 権限を使用 し て、 CREATE PROFILE お よ び DROP PROFILE 権限を取 り 消 し ます。 SQL デー タ 制御言語 113 第 2 章 : 文の構文規則 REVOKE (SQL 形式 ) 構文要素 指定内容 database_name | user_name | role_name | PUBLIC 明示的に与え ら れた権限が取 り 消 さ れ る デー タ ベース名、 ユーザー名、 ま たは ロ ール名を指定 し ます。 こ のデー タ ベース ま たはユーザーの領域に格納 さ れて い る すべてのオブジ ェ ク ト が対象にな り ます。 database_name. object_name | user_name.object_name 明示的に与え ら れた権限が取 り 消 さ れ る オブジ ェ ク ト ( 表、 ビ ュ ー、 ス ト ア ド ・ プ ロ シージ ャ 、 結合索引、 ま たはマ ク ロ ) を直接所有 し てい る デー タ ベース ま た はユーザー名 と 、 そのオブジ ェ ク ト 名を指定 し ます。 権限セ ッ ト を取 り 消す場合は、 デー タ ベース ま たはユーザー領域内のすべての オブジ ェ ク ト ではな く 、 指定 さ れたオブジ ェ ク ト だけが影響を受け ます。 object_name 明示的に与え ら れた権限が取 り 消 さ れ る 表、 ビ ュ ー、 結合索引、 ス ト ア ド ・ プ ロ シージ ャ 、 関数、 ま たはマ ク ロ の名前を指定 し ます。 シ ス テ ム はオブ ジ ェ ク ト 名 を 検証す る 前にデー タ ベー ス 名 を 検証す る ので、 権限を取 り 消す際には常にオブジ ェ ク ト 名を修飾す る 必要があ り ます。 • オブジ ェ ク ト 名が修飾 さ れてお ら ず、 同 じ 名前を持つデー タ ベース がシ ス テ ム に よ り 見つか っ た場合、 Teradata Database はそれがデー タ ベース名であ る と みな し ます。 • オブジ ェ ク ト 名が修飾 さ れてお ら ず、 同 じ 名前を持つデー タ ベース が見つか ら なか っ た場合、 Teradata Database はそれが現在のデフ ォ ル ト ・ デー タ ベース 内のオブジ ェ ク ト であ る と みな し ます。 • 指定 さ れた名前を持つデー タ ベース と オブジ ェ ク ト のいずれ も 見つか ら な か っ た場合、 Teradata Database はその要求を アボー ト し て要求側にエ ラ ーを 返 し ます。 PROCEDURE [database_name | user_name] procedure_name 権限が取 り 消 さ れ る ス ト ア ド ・ プ ロ シージ ャ の名前を指定 し ます。 SPECIFIC FUNCTION [database_name | user_name] specific_function_name 権限が取 り 消 さ れ る UDF の特定名を指定 し ます。 必要に応 じ て、 プ ロ シージ ャ 名は格納 し てい る デー タ ベース、 ま たはユーザー で修飾で き ます。 必要に応 じ て、 特定の関数名を格納 し てい る デー タ ベース、 ま たはユーザーで 修飾で き ます。 FUNCTION [database_name | user_name] function_name 権限が取 り 消 さ れ る UDF の名前を指定 し ます。 [parameter_name] data_type UDF に渡す変数についての、 括弧に入れた カ ン マ区切 り のデー タ ・ タ イ プ と 任 意指定のパ ラ メ ー タ 名の リ ス ト 。 こ れは、 重複決定関数名を固有に識別す る た めに使用 し ます。 必要に応 じ て、 関数名は格納 し てい る デー タ ベース、 ま たはユーザーで修飾で き ます。 BLOB お よ び CLOB 型は、 ロ ケー タ ーで表わす必要があ り ます ( ロ ケー タ ーの説 明については、 <SQL デー タ 操作言語 > を参照 )。 Teradata Database は メ モ リ 内 LOB パ ラ メ ー タ を サポー ト し てい ません。 LOB パ ラ メ ー タ と 戻 り 値ご と に、 AS LOCATOR 句を指定す る 必要があ り ます。 関数に渡すパ ラ メ ー タ がない場合で も 、 開 き 括弧 と 閉 じ 括弧を指定す る 必要が あ り ます。 各パ ラ メ ー タ に関連 し たデー タ 型は、 パ ラ メ ー タ ま たは戻 り 値の型です。 すべての Teradata Database のデー タ 型は有効です。 文字デー タ については、 CHARACTER SET 句 も 指定 し て、 パ ラ メ ー タ に使用す る サーバー文字セ ッ ト を指定で き ます。 114 SQL デー タ 制御言語 第 2 章 : 文の構文規則 REVOKE (SQL 形式 ) 構文要素 指定内容 TYPE [SYSUDTLIB.] UDT_name 権限セ ッ ト を取 り 消す UDT の名前を指定 し ます。 さ ま ざ ま な TYPE 権限を以下の方法で取 り 消す こ と がで き ます。 • UDTMETHOD は SYSUDTLIB デー タ ベース か ら のみ取 り 消す こ と がで き ます。 • UDTTYPE は SYSUDTLIB デー タ ベース か ら のみ取 り 消す こ と がで き ます。 • UDTUSAGE は、 SUSUDTLIB デー タ ベース ま たは TYPE、 あ る いはその両方 か ら 取 り 消す こ と がで き ます。 TO FROM REVOKE 文のア ク シ ョ ン を受け取 る 実体。 こ れには、 ユーザーのセ ッ ト 、 すべ てのユーザー、 1 つの ロ ール、 ま たは PUBLIC を指定で き ます。 REVOKE 要求につ き 最大 25 個の名前を指定で き ます。 互換性のために、 ANSI/ISO SQL では TO ではな く FROM を指定す る 必要があ り ます。 ALL user_name 明示権限が取 り 消 さ れ る ユーザーを指定 し ます。 最大 25 個のユーザー名を指定 す る こ と がで き ます。 ALL user_name は、 指定 さ れたユーザー と 、 そのユーザーが現在お よ び将来に所 有す る ユーザーに対 し て権限が付与 さ れ る 、 ま たは取 り 消 さ れ る こ と を指定 し ます。 ALL user_name を指定 し ない と 、 取消 し は階層構造全体を カ ス ケー ド し ません。 ALL user_name は、 ANSI/ISO SQL に対す る Teradata の拡張機能です。 PUBLIC 明示権限が、 Teradata Database の現在お よ び将来に定義 さ れ る すべてのユーザー か ら 取 り 消 さ れ る こ と を指定 し ます。 ALL DBC は、 PUBLIC と 等価です。 database_name | user_name role_name が含まれてい る デー タ ベース ま たはユーザーを指定 し ます ( 現在の デー タ ベース ま たはユーザー以外の場合 )。 role_name 権限が取 り 消 さ れ る ロ ールの名前を指定 し ます。 最大 25 個の ロ ール名を指定す る こ と がで き ます。 ANSI への準拠 REVOKE は、 拡張機能があ る ANSI/ISO SQL:2011 に準拠 し てい ます。 必要な権限 権限を取 り 消すには、 まずその権限を付与出来 る 権限を持っ ていなければな り ません。 デー タ ベース ・ オブジ ェ ク ト を所有 し てい る か、 だれかか ら まず WITH GRANT OPTION を使用 し て、 直接的に ま たは ロ ールに よ っ て、 権限を自動的ま たは明示的に付与 し て も ら う かのいずれかでなければな り ません。 オブジ ェ ク ト が ビ ュ ーま たはマ ク ロ の場合、 実行す る ユーザー も 、 ビ ュ ーま た はマ ク ロ に よ っ て参照 さ れ る オブジ ェ ク ト に対す る 適切な権限を WITH GRANT OPTION と と も に持っ ていなければな り ません。 SQL デー タ 制御言語 115 第 2 章 : 文の構文規則 REVOKE (SQL 形式 ) サポー ト さ れる権限 サポー ト さ れてい る 権限の リ ス ト については、 「付録 B: 権限デ ィ ク シ ョ ナ リ 」 (141 ページ ) を参照 し て く だ さ い。 権限の略語 DBC.AccessRights 内で維持 さ れ る 権限 と それ ら の略語の完全な リ ス ト については、 < デー タ ・ デ ィ ク シ ョ ナ リ > を参照 し て く だ さ い。 REVOKE (SQL 形式 ) 要求では、 こ れ ら の略語を使用で き ません 。 完全な権限名を指定す る 必要があ り ます。 権限キーワー ド のルール REVOKE (SQL 形式 ) 文での有効な権限の使用には、 以下のルールが適用 さ れ ま す ( 「REVOKE (SQL 形式 )」 (108 ページ ) を参照 )。 • 対応す る デー タ ベース ・ オブジ ェ ク ト に適切な権限の任意の組合わせを指定で き ます。 ただ し 、 文を実行す る ユーザー自身は、 すべての指定 さ れたオブジ ェ ク ト に対す る それ ら の権限を WITH GRANT OPTION 付 き で暗黙的ま たは明示的 に持っ てい る 必要があ り ます。 • CHECKPOINT 権限は、 SQL 文 と ホ ス ト ・ ユーテ ィ リ テ ィ (HUT) のアーカ イ ブ / リ カバ リ ー ・ コ マ ン ド の DUMP と RESTORE の両方の実行に適用 さ れます。 DUMP お よ び RESTORE 権限は、 指定 さ れたオブジ ェ ク ト に対 し て実行 さ れ る 、 対応す る HUT コ マ ン ド を参照 し ます。 RESTORE は、 以下の HUT コ マ ン ド の実行 も 参照 し ます。 • ROLLBACK • ROLLFORWARD • DELETE JOURNAL CHECKPOINT を指定 し た場合、 シ ス テ ムは SQL 文の権限、 お よ びアーカ イ ブ / リ カバ リ ー ・ ユーテ ィ リ テ ィ ・ コ マ ン ド の DUMP と RESTORE の両方の権限を 取 り 消 し ます。 DUMP お よ び RESTORE 権限は、 指定 さ れたオブジ ェ ク ト に対 し て実行 さ れ る 、 対応す る HUT コ マ ン ド を個別に参照 し ます。 • CREATE DATABASE、 FUNCTION、 MACRO、 PROCEDURE、 TABLE、 VIEW ま たは USER、 お よ び DROP DATABASE ま たは USER は、 デー タ ベース ま たは ユーザーに対 し てのみ許可 さ れます。 • DROP TABLE には、 ALTER TABLE が含まれます。 • DROP MACRO、 DROP PROCEDURE、 ま たは DROP VIEW には、 REPLACE MACRO、 REPLACE PROCEDURE、 ま たは REPLACE VIEW がそれぞれ含まれ ます。 • DROP お よ び EXECUTE のみが指定の ス ト ア ド ・ プ ロ シージ ャ 、 UDF、 ま たは マ ク ロ に対 し て許可 さ れます。 オブジ ェ ク ト が UDF ま たは ス ト ア ド ・ プ ロ シージ ャ の場合は、 必要に応 じ て、 その名前の先頭に FUNCTION ま たは PROCEDURE を付加す る 必要があ り ます。 116 SQL デー タ 制御言語 第 2 章 : 文の構文規則 REVOKE (SQL 形式 ) こ れ ら のいずれかのキー ワー ド を指定 し ない場合、 シ ス テ ムは、 指定 さ れたオ ブジ ェ ク ト 名はマ ク ロ を参照す る と 想定 し ます。 その名前を持つマ ク ロ が存在 し ない場合は、 文か ら エ ラ ーが返 さ れます。 • ALTER FUNCTION、 CREATE FUNCTION、 DROP FUNCTION、 EXECUTE FUNCTION、 お よ び FUNCTION のみが外部 UDF に対 し て許可 さ れます。 • ALTER FUNCTION は、 SQL UDF に対 し ては無効な権限です。 • ALTER PROCEDURE、 DROP PROCEDURE、 お よ び EXECUTE PROCEDURE のみが ス ト ア ド ・ プ ロ シージ ャ に対 し て許可 さ れます。 • DUMP、 RESTORE 、 および CHECKPOINT は、 ビ ューに対し て許可 さ れません。 • RESTORE を取 り 消す場合は、 以下のユーテ ィ リ テ ィ ・ コ マ ン ド を実行す る 権限 も 取 り 消 さ れます。 • ROLLBACK • ROLLFORWARD • DELETE JOURNAL • DATABASE、 FUNCTION、 JOIN INDEX、 MACRO、 PROCEDURE、 PROFILE、 ROLE、 TABLE、 VIEW、 お よ び USER は、 それぞれの対応す る デー タ ベース ・ オブジ ェ ク ト に CREATE お よ び DROP 権限の両方を与え ます。 DATABASE、 FUNCTION、 GLOP、 JOIN INDEX、 MACRO、 PROCEDURE、 PROFILE、 ROLE、 TABLE、 USER、 ま たは VIEW キー ワ ー ド が CREATE ま た は DROP な し で指定 さ れた場合には、 CREATE お よ び DROP が取 り 消 さ れます。 • ANSI/ISO SQL:2011 は、 以下の権限のみを サポー ト し てい ます。 • DELETE • EXECUTE • INSERT • REFERENCES • SELECT • TRIGGER • UPDATE その他の権限は、 ANSI/ISO SQL:2011 規格に対す る 拡張機能です。 • ほ と ん ど の場合、 権限のキー ワ ー ド は、 Teradata SQL 文の キー ワ ー ド と 一致 し ます。 ただ し 、 以下の操作権限はど の SQL 文に も 対応 し ません。 • DATABASE SQL デー タ 制御言語 • DUMP • MACRO • PROCEDURE • RESTORE • TABLE • USER • VIEW 117 第 2 章 : 文の構文規則 REVOKE (SQL 形式 ) • INSERT、 REFERENCES、 SELECT、 お よ び UPDATE には、 表お よ び列レベルの オプシ ョ ンがあ り ます。 • CREATE ROLE、 DROP ROLE、 CREATE PROFILE、 お よ び DROP PROFILE 権限 は、 ユーザーか ら のみ取 り 消す こ と がで き 、 ロ ールやデー タ ベース か ら は取 り 消せません。 • CREATE ROLE、 DROP ROLE、 CREATE PROFILE、 お よ び DROP PROFILE はシ ス テ ム権限です。 こ の権限はユーザーか ら 取 り 消せますが、 特定のオブジ ェ ク ト に対す る 権限は取 り 消せません。 • STATISTICS 権限は統計の収集 と 削除を可能に し ます。 権限が取 り 消 さ れた場合 REVOKE は、 与え ら れたユーザーが次の要求を発行す る と 直ちに有効にな り ます。 取 り 消 し の権限レベル DBC.AccessRights 内の行では、 権限は、 その権限が作成 さ れたシ ス テ ム領域の階層 構造内の レベルに対応 し ます。 その結果、 有効な REVOKE 文を実行依頼 し て も 、 取消 し が正 し い階層レベルで要求 さ れなか っ たために、 指定 し た権限が取 り 消 さ れ ない可能性があ り ます。 た と えば、 オブジ ェ ク ト に対す る 権限がデー タ ベース ま たはユーザー ・ レベルで与 え ら れた場合に、 そのデー タ ベース ま たはユーザー領域内の特定の表に対す る こ れ ら の権限を取 り 消すために REVOKE 要求を実行依頼す る と 、 こ の要求は メ ッ セー ジ を返 さ ずに完了 し ますが、 指定 さ れたデー タ ベース ま たはユーザーに関す る 表 と こ れ ら の権限 を 対応 さ せ る 行が な いので、 DBC.AccessRights か ら 行は削除 さ れ ま せん。 その代わ り に、 表を含むユーザーま たはデー タ ベース と こ れ ら の権限を対 応 さ せてい る 行が DBC.AccessRights 内にあ り ます。 以下の領域の階層構造について考え てみま し ょ う 。 payroll human_resources pay_db table_a table_b table_c hr_db 1101A092 ユーザー payroll がシ ス テ ムに ロ グオン し 、 pay_db に対す る SELECT 権限を ユー ザー human_resources と そのすべての子孫に与え る と し ます。 118 SQL デー タ 制御言語 第 2 章 : 文の構文規則 REVOKE (SQL 形式 ) BTEQ LOGON コ マ ン ド お よ び GRANT 要求は以下の よ う にな り ます。 .LOGON tdpid/payroll,password GRANT SELECT ON pay_db TO ALL human_resources; Grant accepted. その後ユーザー payroll はデータベース pay_db 内の table_c に対する SELECT 権限を human_resources お よ びその子孫か ら 取 り 消す こ と に し た と し ます。 こ の権限を取 り 消すために、 ユーザー payroll は次の REVOKE 要求の実行を依頼 し ます。 REVOKE SELECT ON table_c FROM ALL human_resources; Revoke accepted. Payroll は、 table_c に対す る SELECT 権限が human_resources と その子孫か ら 取 り 消 さ れた と 認識 し てい る が、 table_c に対す る SELECT 権限を human_resources に与え てい る 行が DBC.AccessRights 内にないので、 取 り 消 さ れてい ません。 pay_db デー タ ベース全体に対する SELECT 権限を human_resources に与え る行が DBC.AccessRights 内に残っ てい る ので、 元々与え ら れていた SELECT 権限 と し て有効です。 権限取 り 消 し のルール • 暗黙権限は所有権に よ っ て管理 さ れてい る ため、 取 り 消す こ と がで き ません。 所有権を変更す る ための GIVE 文を使用す る こ と に よ り 、 暗黙権限に影響を与 え る こ と がで き ます ( 詳細については、 「GIVE」 (16 ページ ) を参照 )。 • その権限お よ び WITH GRANT OPTION を暗黙的ま たは明示的に持つユーザー は、 任意の組合わせで権限を取 り 消す こ と がで き ます。 • シ ス テ ムは、 ユーザーに よ っ て以前に与え ら れた権限を、 そのユーザーがシ ス テ ムか ら 削除 さ れた後で自動的に取 り 消す こ と はあ り ません。 • すべての user_name オプシ ョ ン を指定 し ない限 り 、 取 り 消 さ れた権限は階層で カ ス ケー ド 表示 さ れません。 逆に、 すべてのユーザーま たはデー タ ベース に与え ら れた権限が user_name か ら 取 り 消 さ れた場合には、 user_name に よ っ て所有 さ れ る 将来のユーザーお よ び デー タ ベース に自動的に権限が与え ら れ る こ と はあ り ません。 • オブジ ェ ク ト が ビ ュ ー、 ス ト ア ド ・ プ ロ シージ ャ 、 ま たはマ ク ロ であ る 場合には、 要求す る ユーザーは、 WITH GRANT OPTION と 、 その ビ ュ ー、 ス ト ア ド ・ プ ロ シージ ャ 、 ま たはマ ク ロ に よ っ て参照 さ れ る オブジ ェ ク ト に対す る 他のすべての 適用可能な権限 も 持っ ていなければな り ません。 • REVOKE 文がデー タ ベース ( ま たはユーザー ) ・ レベルで与え ら れた明示権限を 取 り 消す場合、 その権限は、 オブジ ェ ク ト がいつ作成 さ れたかにかかわ ら ず、 すべてのオブジ ェ ク ト に対 し て取 り 消 さ れます。 オブジ ェ ク ト ・ レベルの REVOKE 文は、 デー タ ベース ま たはユーザー ・ レベル で与え ら れたオブジ ェ ク ト の権限を取 り 消す こ と はで き ません ( 「取 り 消 し の権 限レベル」 (118 ページ ) を参照 し て く だ さ い )。 SQL デー タ 制御言語 119 第 2 章 : 文の構文規則 REVOKE (SQL 形式 ) • 1 人のユーザーが、 1 人ま たは複数の付与者か ら 同 じ 権限を受け取っ た場合に は、 必要な権限を持つ任意のユーザーが、 その権限を ユーザーお よ び他の受領 者か ら 取 り 消す こ と がで き ます。 つま り 、 別のユーザーか ら 権限を取 り 消す ユーザーが、 その権限の付与者であ る 必要はあ り ません。 • 権限が PUBLIC に与え ら れた場合は、 権限を取 り 消せ る のは PUBLIC か ら に限 ら れ、 個々のユーザーか ら は取 り 消せません。 • 列 レ ベルの権限の取消 し は、 DBC.AccessRights に、 権限が取 り 消 さ れ る 列に対 す る 行があ る 場合にのみ可能です。 こ れは、 ユーザーが表レベルで INSERT、 REFERENCES、 SELECT、 ま たは UPDATE 権限を持っ てい る 場合に、 個々の列 か ら 権限を取 り 消す こ と はで き ない こ と を意味 し ます。 グローバル一時表および揮発表の権限の取消 し REVOKE は、 常にグ ロ ーバル一時表の実表に適用 さ れ、 実体化 さ れた イ ン ス タ ン ス には適用 さ れません。 永久表の場合 と 同様に、 ユーザーは REVOKE 文を実行依頼 す る 前に、 前提条件 と な る 適切な権限を持っ ていなければな り ません。 権限のチ ェ ッ ク が行なわれないため、 揮発表の権限を取 り 消す こ と はで き ません。 ス ト ア ド ・ プ ロ シージ ャ に対する権限の取消 し 次のルールが ス ト ア ド ・ プ ロ シージ ャ 固有の権限に適用 さ れます。 • CREATE PROCEDURE は、 デー タ ベース ( ま たはユーザー ) ・ レベルだけの権限 です。 • ALTER PROCEDURE、 DROP PROCEDURE、 お よ び EXECUTE PROCEDURE は、 デー タ ベース、 ユーザー、 ま たは指定の ス ト ア ド ・ プ ロ シージ ャ に適用 さ れます。 • DROP お よ び EXECUTE は、 PROCEDURE の procedure_name が指定 さ れていれ ば、 権限の取消 し 時に DROP PROCEDURE お よ び EXECUTE PROCEDURE の短 縮形 と し て使用で き ます。 • PROCEDURE が object_name の前に指定 さ れていない場合には、 以下の こ と が起 き ます。 要求 結果 REVOKE EXECUTE オブジ ェ ク ト はマ ク ロ と 想定 さ れ る 。 該当す る 名前のマ ク ロ が存在 し ない場合は、 エ ラ ーま たは失敗が返 さ れ ます。 REVOKE DROP エ ラ ーま たは失敗が返 さ れ る 。 UDT に関連する権限の取 り 消 し UDT に関連す る 権限の情報については、 以下の ト ピ ッ ク を参照 し て く だ さ い。 • 「UDT に関連す る 権限」 (60 ページ ) • 「ALL PRIVILEGES と UDT」 (61 ページ ) • 「UDTUSAGE 権限」 (61 ページ ) 120 SQL デー タ 制御言語 第 2 章 : 文の構文規則 REVOKE (SQL 形式 ) • 「UDTTYPE 権限」 (62 ページ ) • 「UDTMETHOD 権限」 (62 ページ ) UDT に関連す る 権限の取 り 消 し の例については、 「例 7: UDT に関連す る 権限の取 消 し 」 (124 ページ ) を参照 し て く だ さ い。 ロールから の権限の取 り 消 し ロ ールか ら 権限を取 り 消 し て も 、 必ず し も その ロ ールの メ ンバーすべてか ら 権限が 取 り 消 さ れ る と は限 り ません。 同 じ 権限が個別に与え ら れた り 別の ロ ールを介 し て 与え ら れた メ ンバーは、 明示的に取 り 消 さ ない限 り こ の権限を維持 し ます。 CTCONTROL 権限の取 り 消 し CTCONTROL 権限に対す る REVOKE 要求で、 GRANT OPTION FOR オプシ ョ ン を 指定す る と 、 指定に よ り 削除 さ れ る のは、 受領者が他の受領者に権限を付与す る 能 力のみです。 GRANT OPTION FOR を指定 し て も 、 CTCONTROL 権限自体は取 り 消 さ れません。 その代わ り に、 GRANT OPTION FOR を 指定 し ない ユーザーに対 し て、 REVOKE 要求を発行す る 必要があ り ます。 GRANT/REVOKE の順序および権限の期間 GRANT ALL ON object TO PUBLIC 文が、 DBC よ り も 低い階層の任意のユーザーに よ っ てオブジ ェ ク ト に対 し て実行 さ れた場合は、 GRANT 要求が実行 さ れた後に作 成 さ れたユーザー も 含めて、 すべてのユーザーが、 そのオブジ ェ ク ト に対す る 権 限を継承 し ます。 その後、 ユーザー DBC が REVOKE ALL ON object_name FROM DBC を発行 し た場 合、 REVOKE 要求の後に作成 さ れたユーザーには、 そのオブジ ェ ク ト に対す る 権限 が与え ら れません。 ただ し 、 以前に作成 さ れたすべてのユーザーは、 REVOKE ALL ON object_name FROM PUBLIC が発行 さ れ る ま で権限を保持 し ます。 例: .LOGON dbc.password CREATE USER sys_admin AS PERM=900000 PASSWORD=sys_admin; GRANT ALL ON sys_admin TO sys_admin WITH GRANT OPTION; .LOGON sys_admin,sys_admin CREATE USER dept AS PERM=500000 PASSWORD=dept; GRANT ALL ON dept TO dept WITH GRANT OPTION; SQL デー タ 制御言語 121 第 2 章 : 文の構文規則 REVOKE (SQL 形式 ) .LOGON DEPT,DEPT CREATE USER user_1 AS PERM=100000 PASSWORD=user_1; .LOGON USER1,USER1 CREATE TABLE table_1 ( column_1 INTEGER, column_2 INTEGER) PRIMARY INDEX(column_1); INSERT table_1(1,2); INSERT table_1(3,4); GRANT ALL ON table_1 TO ALL DBC; .LOGON dept,dept CREATE USER user_2 AS PERM=100000 PASSWORD=user_2; .LOGON user_2,user_2 SELECT * FROM user_1.table_1; table_1 の行が、 予想どお り に返 さ れます。 .LOGON dbc,password REVOKE ALL ON user_1.table_1 FROM dbc; .LOGON dept,dept CREATE USER user_3 AS PERM=100000 PASSWORD=user_3; .LOGON user_3,user_3 SELECT * FROM user_1.table_1; user_3 は REVOKE が発行 さ れた後に作成 さ れたため、 エ ラ ーが返 さ れます。 .LOGON user_2,user_2 SELECT * FROM user_1.table_1; table_1 の内容が、 予想どお り に返 さ れます。 122 SQL デー タ 制御言語 第 2 章 : 文の構文規則 REVOKE (SQL 形式 ) 例1 以下の要求を使用 し て、 employee 表に対す る INSERT 権限を UserA か ら 取 り 消す こ と がで き ます。 REVOKE INSERT ON personnel.employee FROM UserA; 例2 次の要求では、 表権限ではな く デー タ ベース権限を必要 と す る 、 personnel デー タ ベース内のすべてのオブジ ェ ク ト に対す る すべてのア ク セ ス権を UserA か ら 取 り 消 し ます。 REVOKE ALL PRIVILEGES ON personnel FROM UserA; 例3 次の要求では、 UserA か ら 表権限お よ び Department 表の SELECT 権限を除 く 他の権 限を取 り 消 し ます。 REVOKE ALL BUT SELECT ON Personnel.Department FROM UserA; こ の文は UserA が personnel に対 し て持っ ていた可能性があ るデータ ベース ・ レベル の権限ま たは表レベルの権限を取 り 消 さ ない ため、 UserA は personnel.department へ の INSERT な ど の他の文を実行す る 能力を持っ てい る 可能性があ り ます。 例4 次の要求では、 UserA か ら personnel デー タ ベース内の各オブジ ェ ク ト に対す る SELECT 権限お よ びすべての表レベル権限を除 く 他の権限を取 り 消 し ます。 REVOKE ALL BUT SELECT ON personnel FROM UserA; 例 5: ス ト ア ド ・ プ ロ シージ ャ database_name 内にあ る ス ト ア ド ・ プ ロ シージ ャ stored_procedure_name に対す る user_2 の EXECUTE PROCEDURE 権限を取 り 消す必要があ り ます。 指定 さ れたデー タ ベース ・ オブジ ェ ク ト がすべて存在 し てお り 、 付与者がデー タ ベース と ス ト ア ド ・ プ ロ シージ ャ の両方を所有 し てい る と 想定 し ます。 指定 し た権限を取 り 消すには、 以下の REVOKE 要求を実行依頼 し ます。 REVOKE EXECUTE ON PROCEDURE database_name.stored_procedure_name FROM user_2; REVOKE EXECUTE PROCEDURE ON database_name.stored_procedure_name SQL デー タ 制御言語 123 第 2 章 : 文の構文規則 REVOKE (SQL 形式 ) FROM user_2; REVOKE EXECUTE PROCEDURE ON PROCEDURE database_name.stored_procedure_name FROM user_2; database_name と い う 名前のデー タ ベース に対す る CREATE PROCEDURE、 DROP PROCEDURE、 お よ び EXECUTE PROCEDURE 権限を同時に user_2 か ら 取 り 消す には、 以下の要求を実行依頼 し ます。 REVOKE CREATE PROCEDURE, DROP PROCEDURE, EXECUTE PROCEDURE ON database_name FROM user_2; デー タ ベース database_name 内の ス ト ア ド ・ プ ロ シージ ャ stored_procedure_name に 対す る ALTER PROCEDURE、 EXECUTE お よ び DROP 権限を同時に user_2 か ら 取 り 消すには、 次の要求のいずれかを実行で き ます。 REVOKE ALTER PROCEDURE, EXECUTE, DROP ON PROCEDURE database_name.stored_procedure_name FROM user2; REVOKE ALL ON PROCEDURE database_name.stored_procedure_name FROM user2; REVOKE 要求に CREATE ま たは DROP を指定 し ないで PROCEDURE を指定 し た場 合、 Teradata Database はデータ ベース database_name に対する CREATE PROCEDURE お よ び DROP PROCEDURE 権限の両方を削除 し ます。 た と えば、 以下の要求は database_name に対する CREATE および DROP PROCEDURE 権限の両方を user_2 か ら 削除 し ます。 REVOKE PROCEDURE ON database_name FROM user_2; 例6 こ の要求は、 personnel デー タ ベース を変更す る 権限を finance ロ ールか ら 取 り 消 し ます。 REVOKE UPDATE, DELETE, INSERT ON personnel FROM finance; 例 7: UDT に関連する権限の取消 し 以下の例は、 UDT に関連す る 権限を取 り 消す方法の代表的な例を示 し てい ます。 REVOKE UDTUSAGE ON SYSUDTLIB FROM tester1; REVOKE UDTMETHOD ON SYSUDTLIB FROM User_DBA; 124 SQL デー タ 制御言語 第 2 章 : 文の構文規則 REVOKE (SQL 形式 ) REVOKE UDTMETHOD ON SYSUDTLIB FROM Developer_Role; 例 8: CTCONTROL 権限の取 り 消 し 次の例では、 ユーザー kate か ら 、 Teradata Database ユーザーに CONNECT THROUGH 権限を付与す る 権限を取 り 消 し ます。 REVOKE CTCONTROL FROM kate; こ の要求では、 kate か ら CTCONTROL 権限を取 り 消 し てい る こ と に注意 し て く だ さ い。 他のユーザーに CTCONTROL を付与す る 能力だけではあ り ません。 その場 合は、 次に示す、 一見 よ く 似た要求にな り ます。 REVOKE GRANT OPTION FOR CTCONTROL FROM kate; こ の重要な違いについて、 詳細は 「CTCONTROL 権限の取 り 消 し 」 (121 ページ ) を 参照 し て く だ さ い。 詳細情報 権限の付与については、 「GRANT (SQL 形式 )」 (26 ページ ) を参照 し て く だ さ い。 SQL デー タ 制御言語 125 第 2 章 : 文の構文規則 REVOKE CONNECT THROUGH REVOKE CONNECT THROUGH 目的 既存のプ ロ キ シの CONNECT THROUGH 権限を、 永久ユーザーま たはアプ リ ケー シ ョ ン ・ ユーザーか ら 取 り 消 し ます。 構文 trusted_user_name REVOKE CONNECT THROUGH WITH TRUST_ONLY , A A TO FROM 25 application_user_name , PERMANENT , 25 permanent_user_name WITH ROLE 15 ; role_name 1101B542 説明 構文要素 指定内容 trusted_user_name CONNECT THROUGH 権限を取 り 消すプ ロ キ シ ・ ユーザーの、 信頼済みユーザーの名前。 WITH TRUST_ONLY TrustOnly フ ラ グが有効化 さ れてい る trusted_user_name。 こ のオプシ ョ ンは、 信頼済みユーザーに対 し て実行 さ れ る 場合に のみ有効です。 WITH TRUST_ONLY オプシ ョ ン を指定 し た と き には、 アプ リ ケーシ ョ ン ・ ユーザー、 永久ユーザー、 ま たはロールのオプシ ョ ン は指定 で き ません 。 信頼済みユーザーは、 信頼済みの要求か ら プ ロ キ シ ・ ユーザーを 設定ま たは更新す る SET QUERY_BAND 要求を実行す る 必要があ り ます。 application_user_name trusted_user_name を介 し て付与 さ れたプ ロ キ シ ・ ロ グオ ン権限が 取 り 消 さ れ る アプ リ ケーシ ョ ン ・ ユーザーの名前。 WITH ROLE 句を指定 し ない場合、 要求は指定 さ れた アプ リ ケー シ ョ ン ・ ユーザーに対す る CONNECT 権限を取 り 消 し ます。 1 つの取消 し 要求につ き 、 最大 25 個の名前を指定で き ます。 trusted_user_name で WITH TRUST_ONLY オプシ ョ ンが設定 さ れ てい る 場合、 こ のオプシ ョ ンは無効です。 126 SQL デー タ 制御言語 第 2 章 : 文の構文規則 REVOKE CONNECT THROUGH 構文要素 指定内容 permanent_user_name trusted_user_name を介 し て付与 さ れたプ ロ キ シ ・ ロ グオ ン権限が 取 り 消 さ れ る 永久ユーザーの名前。 WITH ROLE 句を指定 し ない場合、 要求は信頼済みユーザーを基 に し た各永久ユーザーに対す る CONNECT 権限を取 り 消 し ます。 1 つの取消 し 要求につ き 、 最大 25 個の名前を指定で き ます。 trusted_user_name で WITH TRUST_ONLY オプシ ョ ンが設定 さ れ てい る 場合、 こ のオプシ ョ ンは無効です。 role_name ロ ール名の リ ス ト は、 trusted_user_name に付与 さ れた CONNECT THROUGH 権限か ら 削除 さ れます。 永久ユーザ ま たはアプ リ ケーシ ョ ン ・ ユーザーに対す る CONNECT THROUGH 権限を付与 さ れた ロ ールをすべて削除す る よ う に指定 し た場合、 シ ス テ ムは、 指定 さ れた永久ユーザ ま たは アプ リ ケーシ ョ ン ・ ユーザーに対す る 権限全体を取 り 消 し ます。 同様に、 WITH ROLE 句を指定 し ない場合、 シ ス テ ムは、 指定 さ れた永久ユーザ ま たはアプ リ ケーシ ョ ン ・ ユーザーに対す る 権限 全体を取 り 消 し ます。 権限が取 り 消 さ れ る ユーザーがアプ リ ケーシ ョ ン ・ プ ロ キ シ ・ ユーザーで、 こ れが権限付与の最後の ロ ールの場合 も 、 シ ス テ ム はプ ロ キ シ ・ ユーザーに対す る CONNECT 権限を取 り 消 し ます。 trusted_user_name で WITH TRUST_ONLY オプシ ョ ンが設定 さ れ てい る 場合、 こ のオプシ ョ ンは無効です。 ANSI への準拠 REVOKE CONNECT は、 ANSI/ISO SQL:2011 規格の Teradata 拡張機能です。 必要な権限 REVOKE CONNECT 要求を実行す る ためには、 CTCONTROL 権限 ( 「CTCONTROL 権限」 (53 ページ ) を参照 ) を持っ てい る 必要があ り ます。 要求が WITH ROLE 句を指定す る 場合は、 その句で指定 さ れた各 ロ ールに対 し て、 WITH ADMIN OPTION 権限 も 持っ てい る 必要があ り ます。 ア ク テ ィ ブ な プ ロキシ接続を介 し た ロールの持続性 CONNECT THROUGH 権限の定義を変更す る と 、 す ぐ に効果が現れ る ため、 プ ロ キ シ接続で発行 さ れた次の要求は、 CONNECT THROUGH 権限の変更を受けて、 新 し い定義を使用 し ます。 ロ ールを削除す る と 、 その ロ ールは CONNECT THROUGH 権限の定義か ら も 削除 さ れ る ため、 存在 し ない ロ ールに定義 し たルールだけが残 さ れ る こ と があ り ます。 CONNECT THROUGH 権限定義に割 り 当て ら れたすべての ロ ールを削除す る と 、 Teradata Database は影響を受け る プ ロ キ シ ・ ユーザーに PUBLIC 権限のみ を付与 し ます。 SQL デー タ 制御言語 127 第 2 章 : 文の構文規則 REVOKE CONNECT THROUGH CONNECT THROUGH と パラ メ ー タ ・ マー カ ー パ ラ メ ー タ ・ マーカーは、 REVOKE CONNECT 要求ではサポー ト さ れません。 CONNECT THROUGH メ タ デー タ のデ ィ ク シ ョ ナ リ ・ ス ト レージ デ ィ ク シ ョ ナ リ 表 DBC.ConnectRulesTbl は、 プ ロ キ シ ・ ユーザーがプ ロ キ シ接続を 行な う ために使用可能な、 信頼済みユーザー と ロ ールについての情報を格納 し ま す。 DBC.ConnectRulesTbl には、 定義済みの trusted_user_name:proxy_user_name の各組み合わせご と に 1 行を格納 し ます。 ルールの管理に監査証跡を提供す る ために、 権限が無効に さ れて も 、 シ ス テ ムは DBC.ConnectRulesTbl 内の行を保持 し ます。 権限が付与 さ れ る 場合、 各権限の DBC.ConnectRulesTbl.GrantStatus 列には G が格納 さ れます。 権限が取 り 消 さ れ る 場合は R が格納 さ れます。 信頼済みユーザーか ら WITH TRUST_ONLY を取 り 消す と 、 Teradata Database は DBC.ConnectRulesTbl 内の TrustUserId=specified_TrustUserID の行をすべて更新 し て、 TrustOnly=N に設定 し ます。 DBC.ConnectRulesTbl について、 詳細は 「CONNECT THROUGH メ タ デー タ のデ ィ ク シ ョ ナ リ ・ ス ト レージ」 (90 ページ ) お よ び < デー タ ・ デ ィ ク シ ョ ナ リ > を参照 し て く だ さ い。 例 次の REVOKE CONNECT 要求は、 信頼済みユーザー pls を介 し て ロ ール admin と と も に永久ユーザー sbd に付与 さ れた CONNECT THROUGH 権限を取 り 消 し ます。 REVOKE CONNECT THROUGH pls FROM PERMANENT sbd WITH ROLE admin; 詳細情報 128 詳細情報 参照先 プ ロ キ シ接続の付与 「GRANT CONNECT THROUGH」 (80 ページ ) プ ロ キ シ接続を有効にす る ク エ リ ー ・ バン ド の設定 <SQL デー タ 定義言語 - 構文規則お よ び例 > の 「SET QUERY_BAND」 信頼済みセ ッ シ ョ ンの管理 デー タ ベース の管理 信頼済みセ ッ シ ョ ンに関連す る セキ ュ リ テ ィ 問題 セキ ュ リ テ ィ 管理ガ イ ド 信頼済みセ ッ シ ョ ンのデ ィ ク シ ョ ナ リ 属性 デー タ ・ デ ィ ク シ ョ ナ リ SQL デー タ 制御言語 第 2 章 : 文の構文規則 REVOKE LOGON REVOKE LOGON 目的 次の どれか を実行 し ます。 • 1 つ以上の特定の ク ラ イ ア ン ト ・ シ ス テ ムか ら Teradata Database への ロ グオ ンの 許可を取 り 消 し ます。 • 現在のシ ス テ ム ・ ロ グオンのデフ ォ ル ト を変更 し ます。 構文 , REVOKE LOGON ON host_id AS DEFAULT , ALL TO ; user_name FROM 1101B036 説明 構文要素 指定内容 host_id ハー ド ウ ェ ア構成デー タ に よ っ て シ ス テ ム に現在定義 さ れて い る メ イ ン フ レーム接続ま たは ワー ク ス テーシ ョ ン接続を識別す る 整数を指 定 し ます。 実際に こ のホ ス ト が稼働中であ る 必要はあ り ません。 Teradata Database の コ ン ソ ールの値は、 0 ( ゼ ロ ) です。 その他の コ ネ ク タ については、 host_id の値が 1 ~ 32,767 にな り ます。 詳細は、 < サポー ト ・ ユーテ ィ リ テ ィ > の 「Configuration ユーテ ィ リ テ ィ 」 を参照 し て く だ さ い。 ALL Teradata Database の コ ン ソ ール も 含め、 ロ グ イ ン を試み る すべての ソ ー ス を指定 し ます。 AS DEFAULT 指定 し た host_id の現在のデフ ォ ル ト が、 こ の REVOKE LOGON 要求で 定義 さ れた と お り に、 残余条件な し に変更 さ れ る こ と を指定 し ます。 AS DEFAULT 付 き の要求は、 特定のユーザー名に対 し て付与 し た、 ま たは取 り 消 し た ア ク セ ス権には効力があ り ません。 特定の host_id にデフ ォ ル ト を設定す る 要求は、 すべての ク ラ イ ア ン ト ・ シ ス テ ム にデフ ォ ル ト を設定す る 要求 よ り も 優先 さ れます。 TO FROM SQL デー タ 制御言語 指定 し た host_id( 複数可 ) に対す る 、 指定 し た database_name_list ( 複数 可 ) ま たは user_name set( 複数可 ) の現行のデフ ォ ル ト を オーバー ラ イ ド す る ために使用す る キー ワー ド です。 129 第 2 章 : 文の構文規則 REVOKE LOGON 構文要素 指定内容 user_name ロ グオ ン か ら 削除す る 1 つ以上のユーザー名。 DBC と い う 名前を、 REVOKE LOGON 要求の user_name と し て指定す る こ と はで き ません。 ユーザーの名前に DBC を指定す る 要求は、 すべ て アボー ト さ れ、 要求側にエ ラ ー ・ メ ッ セージが返 さ れます。 host_id の数 と database_name お よ び user_name の数の積が、 25 を超え てはな り ません。 ANSI への準拠 REVOKE LOGON は、 ANSI/ISO SQL:2011 規格の拡張機能です。 必要な権限 REVOKE LOGON を実行す る には、 DBC.LogonRule マ ク ロ に対す る EXECUTE 権限 が必要です。 文に定義 さ れた database_name ま たは user_name が、 要求 し てい る ユーザーに所有 さ れてい る ユーザーに適用 さ れ る か ど う かの検証は行なわれません。 文に無効な ユーザー名 ま たは無効な ホ ス ト ID が指定 さ れていたためにシ ス テ ムで その文を検証で き なか っ た場合は、 エ ラ ーが返 さ れます。 デ フ ォル ト のロ グオ ン許可 Teradata Database が複数の ク ラ イ ア ン ト ・ シ ス テ ムに接続 さ れてい る 場合、 最初の デフ ォ ル ト は、 ロ グオ ンの許可がすべてのホ ス ト ID か ら のすべてのユーザーに与 え ら れ、 すべての ロ グオンにパ ス ワー ド が含まれていなければな ら ない よ う にな っ てい ます。 • GRANT LOGON お よ び REVOKE LOGON 文は、 ど のユーザーが、 ど の ク ラ イ ア ン ト ・ シ ス テ ム接続か ら ア ク セ スす る か を制御 し ます。 • REVOKE LOGON 文は、 こ れか ら ロ グオ ン試行す る こ と を禁止す る だけであ り 、 現在 ロ グオン し てい る ユーザーには影響あ り ません。 ロ グオ ン制御レ コ ー ド と REVOKE LOGON 要求 1 つ以上のユーザー名に対 し て REVOKE LOGON 要求を実行す る と 、 Teradata Database は指定 さ れた user_name/host_ID のペア ご と に ロ グオ ン制御レ コ ー ド を 作成 し ます。 特定の対の制御レ コ ー ド が既に存在 し ていれば、 既存の も の と 置 き 換え ら れます。 特定のユーザー名に関 し て作成 さ れた ロ グオン制御レ コ ー ド ・ セ ッ ト は、 そのユー ザーが削除 さ れ る ま で存続 し ます (<SQL デー タ 定義言語 - 構文規則お よ び例 > の 「DROP USER」 を参照 )。 130 SQL デー タ 制御言語 第 2 章 : 文の構文規則 REVOKE LOGON ユーザー DBC に対する ロ グオ ンの取 り 消 し ユーザー DBC の ロ グオン権限を取 り 消そ う と す る と 、 その要求は必ずアボー ト さ れ、 エ ラ ーが返 さ れます。 シ ス テ ムに、 ユーザー DBC と し て ロ グオ ン し 、 正 し い パ ス ワー ド を送信す る と 、 その ロ グオンは、 現在のデフ ォ ル ト に関係な く 適切な ホ ス ト ID に受け入れ ら れます。 こ れに よ っ て、 ユーザー DBC がすべての ク ラ イ ア ン ト か ら ロ ッ ク ア ウ ト さ れ る こ と がな く な り ます。 AS DEFAULT オプ シ ョ ン AS DEFAULT オプシ ョ ン を含む要求は、 特定のユーザーに与え ら れた、 ま たはユー ザーか ら 取 り 消 さ れた ロ グオ ン ・ ア ク セ ス には影響を与え ません。 AS DEFAULT オプシ ョ ンには、 次の規則が適用 さ れます。 ユーザーが指定 さ れた文の タ イ プ 権限 REVOKE LOGON 該当す る ク ラ イ ア ン ト がデフ ォ ル ト の GRANT を 持っ てい る と し て も 、 その ク ラ イ ア ン ト にア ク セ ス で き ません。 GRANT LOGON 該当する ク ラ イ ア ン ト がデフ ォル ト の REVOKE を 持っ てい る と し て も 、 必ずその ク ラ イ ア ン ト にア ク セ ス で き ます。 こ の 2 つの要求は同 じ 意味に な ら ない こ と に注意 し て く だ さ い。 REVOKE LOGON ON ALL AS DEFAULT; REVOKE LOGON ON ALL FROM "DEFAULT"; 最初の要求では、 ロ グオンが試行 さ れ る あ ら ゆ る ソ ース (Teradata Database コ ン ソ ー ルを含む ) に対す る ロ グオ ン権限を、 残余条件な し に取 り 消 し ます。 こ の要求の文 字列 AS DEFAULT はキー ワー ド 句であ り 、 ユーザーを識別 し ません。 2 番目の要求の場合、 Teradata Database は 「DEFAULT」 を キーワ ー ド ではな く 、 ユーザーを識別す る 文字列 リ テ ラ ル と し て扱い ます。 そのため、 こ の要求に よ っ て、 DEFAULT と い う 名前が付け ら れた ユーザーのすべての ロ グオ ン ・ ソ ース に対 す る ロ グオン権限が取 り 消 さ れ る こ と にな り ます。 DEFAULT はダ ミ ーのユーザー 名で あ り 、 こ のユーザー名で Teradata Database に ロ グ オ ンす る こ と はで き ま せん。 2 番目の要求は構文的には有効ですが、 実行内容は無意味です。 詳細情報 ロ グオ ン権限の付与について、 詳細は 「GRANT LOGON」 (94 ページ ) を参照 し て く だ さ い。 SQL デー タ 制御言語 131 第 2 章 : 文の構文規則 REVOKE LOGON 132 SQL デー タ 制御言語 付録 A: 表記法 こ の付録では、 こ のマニ ュ アルで使用 し てい る 表記上の規則について説明 し ます。 構文図の規則 表記法 項目 定義 / 注釈 文字 アルフ ァ ベ ッ ト の A か ら Z ま での大文字ま たは小文字。 数値 0 か ら 9 ま での数字。 3 桁よ り 大き い数値を入力する場合で も 、 コ ンマは使用し ないで く だ さ い。 語 キー ワー ド お よ び変数。 • 大文字 (UPPERCASE LETTERS) は、 キー ワー ド を表わ し ます。 構文図では、 オペレーテ ィ ン グ ・ シ ス テ ム の制限に よ っ て小文字でな ければな ら ない場合を除いて、 SQL 文のキー ワー ド はすべて大文字で 表示 さ れ ます。 • 小文字 (lowercase letters) は、 Linux コ マ ン ド な ど の よ う に、 小文字で入 力す る 必要があ る キー ワー ド を表わ し ます。 • 大文字 と 小文字の混合を使用 し て、 大文字、 小文字、 ま たは混合で入 力可能な関数、 メ ソ ッ ド 、 お よ びその他の非 SQL キー ワー ド を表わす こ と がで き ます。 • 斜体の小文字 (lowercase italic letters) は、 列名や表名な ど の変数を表わ し ます。 変数は、 適正な値に置 き 換え て く だ さ い。 • 太字の小文字 (lowercase bold letters) は、 構文図か ら の抜粋を表わ し ま す。 抜粋は、 その抜粋部分を含む構文図のす ぐ下で定義 さ れてい ます。 • 下線付 き の文字 (UNDERLINED LETTERS) は、 デ フ ォ ル ト 値を表わ し ま す。 下線は、 大文字の語 と 小文字の語の ど ち ら に も 適用 さ れます。 SQL デー タ 制御言語 スペース キー ワー ド 間や変数間な ど、 項目 と 項目の間に スペース を 1 つ入れます。 句読点 構文図に表示 さ れてい る よ う に、 すべての句読点を正確に入力す る 必要が あ り ます。 133 付録 A: 表記法 構文図の規則 線 構文図中の主線は、 左端のキー ワー ド か ら 始ま り 、 左か ら 右に、 構文図の終わ り を 示す縦線ま で進みます。 矢印ま たは縦線のない線は、 構文の一部だけ を示 し た も の です。 ループは、 線の中で唯一右か ら 左に読み取 る 部分です。 継続 リ ン ク 1 行だ け では示 し き れ な い線には、 継続 リ ン ク を 使用 し ま す。 継続 リ ン ク は、 リ ン ク の開始 と 終了を示す文字を円で囲んだ も のです。 A A FE0CA002 円で囲まれた文字が構文図の中にあ る 場合は、 それに対応す る 円で囲まれた文字の あ る 箇所に移動 し て読み進めて く だ さ い。 必須項目 必須項目は、 主線上に表示 し ます。 SHOW FE0CA003 複数の項目か ら 選択す る 場合、 選択項目は縦に並んで記載 さ れます。 最初の項目 が、 主線上に表示 さ れます。 SHOW CONTROLS VERSIONS FE0CA005 任意選択項目 任意選択項目は、 含め る こ と も 無視す る こ と も で き ます。 任意選択項目は、 主線 よ り 下に表示 し ます。 SHOW CONTROLS 134 FE0CA004 SQL デー タ 制御言語 付録 A: 表記法 構文図の規則 複数の項目か ら の任意選択が可能な場合は、 すべての選択肢を主線 よ り 下に表示 し ます。 READ SHARE ACCESS JC01A010 コ マ ン ド や文には、 任意選択項目のいずれか をデフ ォ ル ト 値 と し て扱 う も のがあ り ます。 こ の値には、 下線 (UNDERLINED) が付け ら れてい ます。 任意選択項目をい ずれ も 選択 し ないで、 こ れ ら の コ マ ン ド や文を入力す る と 、 デフ ォ ル ト 値が選択 さ れた こ と にな り ます。 文字列 単一引用符で囲んで表示す る 文字列 リ テ ラ ル 'msgtext ' JC01A004 略語 キー ワー ド ま たは予約語に有効な略語があ る 場合、 主線内には常に省略 し ない完全 形が示 さ れます。 有効な略語の う ち最 も 短い も のが主線の下側に示 さ れます。 SHOW CONTROLS CONTROL FE0CA042 上記の構文では、 次の 2 つの形式が有効です。 • SHOW CONTROLS • SHOW CONTROL SQL デー タ 制御言語 135 付録 A: 表記法 構文図の規則 ループ ループは、 複数回繰 り 返す こ と ので き る 項目 ( ま たは項目のグループ ) の こ と です。 構文図では、 主線の上を通 り 、 繰 り 返す こ と ので き る 項目の手前に戻 る 線に よ っ て ループを示 し ます。 , , ( 3 4 cname ) JC01B012 ループは、 右か ら 左に読み進めて く だ さ い。 次の よ う な表記規則が、 ループに適用 さ れます。 状況 表記規則 ループの最大数が制限 さ れてい る ループの制限回数が戻 り 線上の円内に示 さ れ ます。 必要なループの最小数 が制限 さ れてい る 入力項 と 入力項の間に 区切 り 文字が必要 上記の例では、 cname を最大 4 回入力で き ます。 ループの制限回数が戻 り 線上の四角内に示 さ れ ます。 上記の例では、 少な く と も 3 つのグループの列名を入力す る 必 要があ り ます。 区切 り 文字が戻 り 線上に表示 さ れます。 構文図に区切 り 文字が示 さ れていない場合は、 半角スペース を 1 つ入れて く だ さ い。 上記の例では、 コ ン マが区切 り 文字です。 入力項の前後に区切 り 文字が必要 開始文字 と 終了文字は リ タ ーン ・ パ ス の外側に表示 さ れ ます。 通常、 区切 り 文字 と 入力項の間に スペース は必要あ り ません。 上記の例では、 左括弧 と 右括弧が区切 り 文字です。 136 SQL デー タ 制御言語 付録 A: 表記法 構文図の規則 抜粋 構文句の一部が大 き すぎ て、 構文図に入 り き ら ない こ と があ り ます。 その よ う な句 は、 その部分で線を中断 し 、 その前後に区切 り 記号 (|) を付け ます。 区切 り 記号の 間には、 抜粋 し た部分の名前が太字で表示 さ れます。 抜粋名 ( 太字 ) と 抜粋 し た句は、 主構文図のす ぐ下に表示 し ます。 抜粋 し た句の開 始 と 終了は、 通常の水平線で表わ し ます。 LOCKING excerpt A A HAVING con excerpt where_cond , cname , col_pos JC01A014 正当な句が複数ある場合 複数の句が正当 と な る ケース も 、 構文図で示す こ と が出来ます。 dbname DATABASE tname TABLE vname VIEW JC01A016 こ の例では、 以下のいずれの句 も 正当にな り ます。 • dbname • DATABASE dbname • tname • TABLE tname • vname • VIEW vname SQL デー タ 制御言語 137 付録 A: 表記法 こ のマニ ュ アルで使用 し てい る 文字簡略表記 構文図の例 , CREATE VIEW viewname AS A LOCKING cname CV LOCK ACCESS dbname A DATABASE tname FOR SHARE IN READ TABLE WRITE EXCLUSIVE vname VIEW EXCL , B SEL B MODE expr , FROM qual_cond tname C .aname C HAVING cond ; qual_cond , WHERE cond GROUP BY cname , col_pos JC01A018 図の識別子 各図の右下に示 さ れた英数字の文字列は、 図を分類す る ために使用 さ れ る 内部識別 子です。 説明文で、 こ の文字列を参照す る こ と はあ り ません。 こ のマ ニ ュ アルで使用 し て い る 文字簡略表記 序 こ のマニ ュ アルでは、 文字に対 し て Unicode の命名規則を使用 し ます。 例えば、 英 小文字の 'a' を よ り 正式に指定す る と 、 「 ラ テ ン文字の英小文字 a」 ま たは 「U+0041」 と な り ます。 「U+xxxx」 の表記は、 Unicode 標準の特定の コ ー ド ・ ポ イ ン ト を参照 す る ので あ り 、 xxxx は標準で定義 さ れて い る 16 ビ ッ ト 値の 16 進数表現 を 表わ し ま す。 マニ ュ アルの一部では、 特殊文字、 ま たは特定の文字の ク ラ ス を表現す る ために記 号を使用す る と 便利です。 こ れは特に、 次の日本語文字のエ ン コ ーデ ィ ン グについ て述べ る 場合に当ては ま り ます。 • KanjiEBCDIC • KanjiEUC • KanjiShift-JIS これらのエン コーデ ィ ングは、 < 国際文字セ ッ ト ・ サポー ト > で詳細に説明し ています。 138 SQL デー タ 制御言語 付録 A: 表記法 こ のマニ ュ アルで使用 し てい る 文字簡略表記 文字シ ンボル 記号は、 使用 さ れ る 文字セ ッ ト に従っ て、 次の表の よ う に定義 さ れてい ます。 記号 エ ン コ ーデ ィ ン グ 意味 a–z 任意 任意の 1 バ イ ト の ラ テ ン文字 ( ロ ーマ字 ) ま たは数字。 任意 任意の全角の ラ テ ン文字 ( ロ ーマ字 ) ま たは数字。 KanjiEBCDIC シ フ ト ア ウ ト [SO] (0x0E)。 A–Z 0–9 a–z A–Z 0–9 < KanjiEBCDIC のシ ン グルバ イ ト 文字か ら マルチバ イ ト 文字への移行を示 し ます。 > KanjiEBCDIC シ フ ト イ ン [SI] (0x0F)。 KanjiEBCDIC のマルチバ イ ト 文字か ら シ ン グルバ イ ト 文字への移行を示 し ます。 T 任意 任意のマルチバ イ ト 文字。 エン コーデ ィ ン グは、 現在の文字セ ッ ト に依存し ます。 KanjiEUC の場合、 コ ー ド セ ッ ト 3 文字の前に 「ss3」 が常に出現 し ます。 I 任意 1 バ イ ト の半角カ タ カナ文字。 KanjiEUC では、 「ss2」 が先に出現 し て、 個別のマルチ バ イ ト 文字を形式設定 し なければな り ません。 任意 グ ラ フ ィ ッ ク の空白を表わ し ます。 任意 状況に応 じ て、 1 バ イ ト ま たはマルチバ イ ト の埋め込 み文字を表わ し ます。 ss 2 KanjiEUC EUC コ ー ド ・ セ ッ ト 2 と 識別子 (0x8E) を表わ し ます。 ss 3 KanjiEUC EUC コ ー ド ・ セ ッ ト 3 の接頭部 (0x8F) を表わ し ます。 例えば、 各文字を全角 と す る 文字列 「TEST」 は、 TEST と 表現 し ます。 エ ン コ ー デ ィ ン グが重要な場合には、 16 進数表現が使用 さ れ る こ と も あ り ます。 た と えば、 次の、 KanjiEBCDIC 文字セ ッ ト の 1 バ イ ト 文字 / マルチバ イ ト 文字が混 在 し たデー タ は、 LMN<TEST>QRS 次の よ う に表現 さ れます。 D3 D4 D5 0E 42E3 42C5 42E2 42E3 0F D8 D9 E2 SQL デー タ 制御言語 139 付録 A: 表記法 こ のマニ ュ アルで使用 し てい る 文字簡略表記 埋込み文字 次の表に、 各種文字デー タ ・ タ イ プの スペース文字を リ ス ト し ます。 サーバー文字セ ッ ト 140 埋込み文字の名前 埋込み文字の値 LATIN SPACE 0x20 UNICODE SPACE U+0020 GRAPHIC IDEOGRAPHIC SPACE U+3000 KANJISJIS ASCII SPACE 0x20 KANJI1 ASCII SPACE 0x20 SQL デー タ 制御言語 付録 B: 権限デ ィ ク シ ョ ナ リ 権限 権限表の各列の説明を以下に示 し ます。 列 説明 権限 権限名。 シ ス テ ム ・ ビ ュ ー内の略語 シ ス テ ム ・ ビ ュ ー内で特定のオブジ ェ ク ト に対す る 権限を表現す る ために使用 さ れ る 2 文字 コ ー ド 。 以下の ビ ュ ー内の AccessRight 列にユーザー と ロ ール の権限が列挙 さ れ ます。 • DBC.AllRightsV • DBC.UserGrantedRightsV • DBC.UserRightsV • DBC.AllRoleRightsV • DBC.UserRoleRightsV 自動付与 : 作成者 ユーザーま たはデー タ ベース を作成す る と 、 作成 し たデー タ ベース ま たはユーザーに対す る 権限が作成 者に自動的に付与 さ れます。 自動付与 : 作成 さ れたユーザーま たはデー タ ベース ユーザーま たはデー タ ベース を作成す る と 、 その ユーザーま たはデー タ ベース はそれ自体に対す る 特 定の権限を自動的に付与 さ れ ます。 明示的付与 : 作成者 ユーザーを作成 し て も 、 そのユーザーに対す る 特定 の権限が自動的に付与 さ れません。 明示的付与 : 作成 さ れたユーザー ま たはデー タ ベース デー タ ベース権限の多 く は自動的に付与 さ れますが、 一部の権限はユーザーが明示的に付与 し ないかぎ り 使用す る こ と がで き ません。 その よ う な権限を付与 す る には、 それ ら に対す る WITH GRANT OPTION 権 限を持っ てい る 必要があ り ます。 ユーザーを作成 し て も 、 そのユーザーはそれ自体に 対す る 特定の権限が自動的に付与 さ れません。 グループ SQL デー タ 制御言語 権限の機能領域。 141 付録 B: 権限デ ィ ク シ ョ ナ リ 権限 下の表に、 各権限に関す る 情報を示 し ます。 自動付与 作成者 作成 さ れた ユーザーま たはデー タ ベース AS なし ALTER EXTERNAL PROCEDURE AE ALTER FUNCTION 明示的付与 作成者 作成 さ れた ユーザーま たはデー タ ベース 権限カ テ ゴ リ なし あり あり モニ タ ー なし なし あり あり AF なし なし あり あり ALTER PROCEDURE AP なし なし あり あり ANY AN あり あり なし なし CHECKPOINT CP あり あり なし なし なし なし あり あり 信頼済みセ ッ シ ョ ン 関連 システム ・ ビ ュ ー内の 略語 ABORT SESSION ま たは ABORTSESSION 権限 CONNECT THROUGH 1 つ以上の権限が必 要ではあ る も のの、 特定の権限は必要な い HELP 文ま たは SHOW 文 を 意味 し ます。 CONSTRAINT ASSIGNMENT SA なし なし あり あり シ ス テ ム ・ レベル CONSTRAINT DEFINITION SD なし なし あり あり シ ス テ ム ・ レベル CREATE AUTHORIZATION CA あり あり なし なし CREATE DATABASE CD あり なし なし あり CREATE EXTERNAL PROCEDURE CE なし なし あり あり CREATE FUNCTION CF なし なし あり あり CREATE GLOP GC なし なし あり あり CREATE MACRO CM あり あり なし なし 142 グ ロ ーバル持続 (GLOP) デー タ SQL デー タ 制御言語 付録 B: 権限デ ィ ク シ ョ ナ リ 権限 自動付与 明示的付与 作成者 作成 さ れた ユーザーま たはデー タ ベース 作成者 作成 さ れた ユーザーま たはデー タ ベース OP なし なし あり あり CREATE PROCEDURE PC なし なし あり あり CREATE PROFILE CO なし なし あり あり シ ス テ ム ・ レベル CREATE ROLE CR なし なし あり あり シ ス テ ム ・ レベル CREATE TABLE CT あり あり なし なし CREATE TRIGGER CG あり あり なし なし CREATE USER CU あり なし なし あり CREATE VIEW CV あり あり なし なし CTCONTROL TH なし なし あり あり DELETE D あり あり なし なし DROP AUTHORIZATION DA あり あり なし なし DROP DATABASE DD あり なし なし あり DROP FUNCTION DF あり あり なし なし DROP GLOP GD なし なし あり あり DROP MACRO DM あり あり なし なし DROP PROCEDURE PD あり あり なし なし DROP PROFILE DO なし なし あり あり シ ス テ ム ・ レベル DROP ROLE DR なし なし あり あり シ ス テ ム ・ レベル DROP TABLE DT あり あり なし なし DROP TRIGGER DG あり あり なし なし DROP USER DU あり なし なし あり DROP VIEW DV あり あり なし なし DUMP DP あり あり なし なし EXECUTE E あり あり なし なし システム ・ ビ ュ ー内の 略語 CREATE OWNER PROCEDURE 権限 SQL デー タ 制御言語 権限カ テ ゴ リ 信頼済みセ ッ シ ョ ン 関連 グ ロ ーバル持続 (GLOP) デー タ 143 付録 B: 権限デ ィ ク シ ョ ナ リ 権限 自動付与 明示的付与 作成者 作成 さ れた ユーザーま たはデー タ ベース 作成者 作成 さ れた ユーザーま たはデー タ ベース EF なし なし あり あり EXECUTE PROCEDURE PE なし なし あり あり GLOP MEMBER GM なし なし あり あり グ ロ ーバル持続 (GLOP) デー タ INDEX IX なし なし あり あり 表レベル INSERT I あり あり なし なし MONITOR RESOURCE ま たは MONRESOURCE MR なし なし あり あり モニ タ ー MONITOR SESSION ま たは MONSESSION MS なし なし あり あり モニ タ ー NONTEMPORAL NT なし なし あり あり テンポ ラル OVERRIDE DELETE OD なし なし あり あり セキ ュ リ テ ィ 制約上 書き OVERRIDE DUMP OA なし なし あり あり セキ ュ リ テ ィ 制約上 書き OVERRIDE INSERT OI なし なし あり あり セキ ュ リ テ ィ 制約上 書き OVERRIDE RESTORE OR なし なし あり あり セキ ュ リ テ ィ 制約上 書き OVERRIDE SELECT OS なし なし あり あり セキ ュ リ テ ィ 制約上 書き OVERRIDE UPDATE OU なし なし あり あり セキ ュ リ テ ィ 制約上 書き REFERENCES RF なし なし あり あり 表レベル RESTORE RS あり あり なし なし RETRIEVE/ SELECT R あり あり なし なし SET RESOURCE RATE ま たは SETRESRATE SR なし なし あり あり システム ・ ビ ュ ー内の 略語 EXECUTE FUNCTION 権限 144 権限カ テ ゴ リ モニ タ ー SQL デー タ 制御言語 付録 B: 権限デ ィ ク シ ョ ナ リ 単一のキー ワー ド に よ る 複数の権限 自動付与 作成者 作成 さ れた ユーザーま たはデー タ ベース SS なし SHOW SH STATISTICS 明示的付与 作成者 作成 さ れた ユーザーま たはデー タ ベース 権限カ テ ゴ リ なし あり あり モニ タ ー なし なし あり あり ST あり あり なし なし 表の作成者に も 当て はま る UDT METHOD ま たは UDTMETHOD UM なし なし あり あり UDT UDT TYPE ま たは UDTTYPE UT なし なし あり あり UDT UDT USAGE ま た は UDTUSAGE UU なし なし あり あり UDT UPDATE U あり あり なし なし システム ・ ビ ュ ー内の 略語 SET SESSION RATE ま たは SETSESSRATE 権限 単一のキーワー ド に よ る 複数の権限 Teradata Database には、 複数の権限を付与す る ために使用で き る 、 特別な カ テ ゴ リ のキーワー ド があ り ます。 例えば、 次の要求は、 キーワー ド DATABASE を使用 し て、 user_name1 に対す る CREATE DATABASE 権限 と DROP DATABASE 権限の 両方を user_name2 に付与 し ます。 GRANT DATABASE ON user_name1 TO user_name2; 以下のキー ワー ド 付与に よ っ て、 受領者に対す る 複数の権限が DBC.AccessRights 表に入力 さ れます。 キーワ ー ド 含まれ る 権限 ALL ON 句で指定 さ れたオブジ ェ ク ト に対 し て、 付与者が所有 し 、 付与者が WITH GRANT OPTION を持っ てい る 暗黙的オブジ ェ ク ト 権限 と 明示的オブジ ェ ク ト 権限のすべて。 CHECKPOINT 以下を実行す る ための権限 : • CHECKPOINT SQL 文 • HUT CHECKPOINT コ マ ン ド DATABASE • CREATE DATABASE • DROP DATABASE SQL デー タ 制御言語 145 付録 B: 権限デ ィ ク シ ョ ナ リ 単一のキーワ ー ド に よ る 複数の権限 キー ワ ー ド 含まれ る 権限 FUNCTION • CREATE FUNCTION • DROP FUNCTION GLOP • CREATE GLOP • DROP GLOP INDEX • CREATE INDEX • DROP INDEX MACRO • CREATE MACRO • DROP MACRO OVERRIDE • OVERRIDE INSERT • OVERRIDE SELECT • OVERRIDE UPDATE • OVERRIDE DELETE • OVERRIDE DUMP • OVERRIDE RESTORE PROCEDURE • CREATE PROCEDURE • DROP PROCEDURE PROFILE • CREATE PROFILE • DROP PROFILE RESTORE 以下の HUT コ マ ン ド を実行す る ための権限 : • DELETE JOURNAL • ROLLBACK • ROLLFORWARD ROLE • CREATE ROLE • DROP ROLE SHOW HELP コ マ ン ド と SHOW コ マ ン ド の以下の形式のみ : • HELP database_object • SHOW database_object TABLE • CREATE TABLE • DROP TABLE TRIGGER • CREATE TRIGGER • DROP TRIGGER USER • CREATE USER • DROP USER VIEW • CREATE VIEW • DROP VIEW 146 SQL デー タ 制御言語 付録 B: 権限デ ィ ク シ ョ ナ リ 必要な DBC 権限 必要な DBC 権限 DBC には、 DELETE、 UPDATE、 CREATE な ど の、 シ ス テ ムでデー タ ・ デ ィ ク シ ョ ナ リ を維持す る ための、 特定のデー タ ・ デ ィ ク シ ョ ナ リ ・ オブジ ェ ク ト に対す る 権 限が必要です。 デフ ォ ル ト で、 こ れ ら の権限はシ ス テ ムのセ ッ ト ア ッ プ ・ プ ロ セ ス で付与 さ れます。 注意 : DBC 権限は絶対に取 り 消 さ ないで く だ さ い。 DBC 権限を再度付与す る には、 Teradata サポー ト ・ セ ン タ ーか ら の支援が必要です。 デ フ ォ ル ト PUBLIC 権限 デフ ォ ル ト で、 特定のデー タ ・ デ ィ ク シ ョ ナ リ ・ オブジ ェ ク ト に対す る い く つかの デフ ォ ル ト 権限が PUBLIC に付与 さ れ、 有効なすべての Teradata Database ユーザー に自動的に PUBLIC 権限が割 り 当て ら れます。 PUBLIC 権限はサ イ ト のセキ ュ リ テ ィ ・ ポ リ シーに従っ て付与ま たは取 り 消す こ と がで き ますが、 デフ ォ ル ト 権限の リ ス ト を保持 し 、 必要に応 じ て、 それ ら を PUBLIC に再度付与で き る よ う に し てお く 必要があ り ます。 変更前であれば、 次の よ う にシ ス テ ムに問合わせてデフ ォ ル ト PUBLIC 権限を表示 す る こ と がで き ます。 SELECT DatabaseName, TableName, AccessRight FROM DBC.AllRights WHERE UserName='PUBLIC' ORDER BY 2, 1; デフ ォ ル ト PUBLIC 権限の完全な リ ス ト については、 ナレ ッ ジ記事 SD1000E41D2 も 参照 し て く だ さ い。 ナ レ ッ ジ記事は、 次の URL にあ る Teradata @ Your Service で参照で き ます。 tays.teradata.com/ ク ラ イ ア ン ト ・ ア プ リ ケーシ ョ ンに必要なデ フ ォル ト PUBLIC 権限 SQL デー タ 制御言語 影響を受け る ツール と ユーテ ィ リティ PUBLIC 権限 付与対象 SELECT DBC.Databases NetBackup™ Teradata Extension、 Teradata Statistics Wizard、 お よ び Teradata Visual Explain(VEComp) SELECT DBC.DBCInfo Archive/Recovery Utility (Teradata ARC)、 Teradata System Emulation Tool (Teradata SET) SELECT DBC.DBQLogTbl Teradata Statistics Wizard SELECT DBC.Tables NetBackup™ Teradata Extension、 Teradata SET 147 付録 B: 権限デ ィ ク シ ョ ナ リ デー タ ベース管理に必要な権限 PUBLIC 権限 付与対象 影響を受け る ツール と ユーテ ィ リティ INSERT、 SELECT、 DELETE、 UPDATE SysAdmin.FastLoga FastExport、 FastLoad、 MultiLoad EXECUTE SysAdmin.FastLogInsa FastExport、 FastLoad、 MultiLoad SELECT SysAdmin.FastLogRestartVa FastExport、 FastLoad、 MultiLoad EXECUTE SysAdmin.FastLogUpda FastExport、 FastLoad、 MultiLoad SELECT SysAdmin.FastLogVa FastExport、 FastLoad、 MultiLoad a. FastLoad 情報が含まれた内部表を意味 し ます。 デー タ ベース管理に必要な権限 以降の ト ピ ッ ク では、 管理者が一般的なデー タ ベース ・ オブジ ェ ク ト と プ ロ セ ス を 管理す る ために必要な権限について説明 し ます。 注 : こ れは、 権限の ク イ ッ ク ・ リ フ ァ レ ン ス です。 権限の詳細については、 以下の 資料で各 SQL 文に関す る 「必要な権限」 の ト ピ ッ ク を参照 し て く だ さ い。 • SQL デー タ制御言語 • SQL デー タ定義言語 - 構文規則お よ び例 デー タ ベース 148 目的 必要なユーザー権限 デー タ ベース を作成す る 直接所有者デー タ ベース に対す る CREATE DATABASE 権限 デー タ ベース を変更ま たは削 除す る デー タ ベース に対す る DROP DATABASE 権限 注 : デー タ ベース を削除す る にはそれを空にす る 必要 があ り ます。 SQL デー タ 制御言語 付録 B: 権限デ ィ ク シ ョ ナ リ デー タ ベース管理に必要な権限 地理空間デー タ 型 目的 命令文 関連す る 関数、 メ タ デー タ 表、 お よ びス ト ア ド ・ プ ロ シー ジ ャ での地理空間デー タ 型の 使用を許可す る • GRANT ALL ON SYSSPATIAL TO SYSSPATIAL WITH GRANT OPTION; • GRANT SELECT ON DBC to SYSSPATIAL WITH GRANT OPTION; • GRANT EXECUTE PROCEDURE ON SYSSPATIAL to DBC WITH GRANT OPTION; • GRANT UDTMETHOD ON SYSUDTLIB to SYSSPATIAL; • GRANT UDTTYPE ON SYSUDTLIB to SYSSPATIAL; • GRANT CREATE FUNCTION ON SYSUDTLIB to SYSSPATIAL; GeoSequence デー タ 型の 使用を許可す る • GRANT UDTUSAGE ON SYSUDTLIB TO geouser; • GRANT EXECUTE FUNCTION ON SYSSPATIAL TO geouser; • GRANT SELECT ON SYSPATIAL TO geouser; • GRANT EXECUTE PROCEDURE ON SYSPATIAL TO geouser; GLOP 目的 必要なユーザー権限 GLOP セ ッ ト を作成す る 保存先のデー タ ベース ま たはユーザーに対す る CREATE GLOP 権限。 GLOP セ ッ ト を削除す る GLOP_set_name が含まれ る デー タ ベース ま たはユー ザーに対す る DROP GLOP 権限。 注 : DROP GLOP 権限は、 GLOP セ ッ ト の作成者お よ び 所有者に自動的に付与 さ れます。 ユーザー / デー タ ベース が、 GLOP セ ッ ト を参照 し てい る 外部ルーチンが含まれ る デー タ ベース以外のデー タ ベース か ら の GLOP セ ッ ト へのア ク セ ス を指定で き る よ う にす る SQL デー タ 制御言語 GLOP MEMBER 権限。 GLOP が外部ルーチン と 同 じ デー タ ベース内に存在す る 場合は、 GLOP へのア ク セ ス が自動的に許可 さ れます。 外部ルーチンが存在す る デー タ ベース には、 GLOP セ ッ ト に対す る CREATE GLOP、 DROP GLOP、 ま たは GLOP MEMBER のいずれかの権限を割 り 当て る 必要が あ り ます。 149 付録 B: 権限デ ィ ク シ ョ ナ リ デー タ ベース管理に必要な権限 ハ ッ シ ュ索引 と 結合索引 目的 必要なユーザー権限 ハ ッ シ ュ 索引ま たは結合 索引を作成す る ハ ッ シ ュ 索引ま たは結合索引が作成 さ れ る デー タ ベー ス に対す る CREATE TABLE 権限 ハ ッ シ ュ 索引を削除す る 索引付け さ れた実表ま たはそれを含むデー タ ベース に 対す る DROP TABLE ま たは INDEX 権限 結合索引を削除す る カバーす る 表ま たはそれ ら を含むデー タ ベース のそれ ぞれに対す る DROP TABLE 権限ま たは INDEX 権限 目的 必要なユーザー権限 マ ク ロ を作成す る マ ク ロ が作成 さ れ る デー タ ベース ま たはユーザーに対 す る CREATE MACRO 権限。 マクロ 作成者は、 自動的に、 DROP MACRO 権限 と EXECUTE 権限を WITH GRANT OPTION 付 き で取得 し ます。 マ ク ロ の直接所有者 と は : • それを作成 し たユーザーではな く 、 それが存在す る デー タ ベース であ る 。 • マ ク ロ 作成者ではな く 、 マ ク ロ ・ ア ク セ ス権限を決 定す る 。 • WITH GRANT OPTION を含めて、 マ ク ロ の実行に適 切なすべての権限を持っ てい る 必要があ る 。 マ ク ロ を削除す る マ ク ロ に対す る DROP MACRO 権限。 マ ク ロ の名前を変更す る マ ク ロ に対す る DROP MACRO 権限。 加え て、 マ ク ロ の名前を変更す る ユーザーは、 マ ク ロ で実行 さ れ る すべての文に対す る 権限を持っ てい る 必 要があ り ます。 マ ク ロ を実行す る マ ク ロ に対す る EXECUTE 権限。 加え て、 マ ク ロ の直接所有者 ( マ ク ロ が存在す る デー タ ベース ) は、 マ ク ロ に含ま れてい る 文の要求セ ッ ト で指 定 さ れたオブジ ェ ク ト に対す る 必要な権限を持っ てい る 必要があ り ます。 150 SQL デー タ 制御言語 付録 B: 権限デ ィ ク シ ョ ナ リ デー タ ベース管理に必要な権限 目的 必要なユーザー権限 マ ク ロ を置換す る • マ ク ロ で実行 さ れ る すべての文に対す る 権限。 • 置換 さ れ る マ ク ロ がすでに存在す る か ど う かに応 じ て、 以下の権限。 • マ ク ロ がすでに存在す る 場合は、 そのマ ク ロ あ る いはそれを含むデー タ ベース ま たはユーザーに対 す る DROP MACRO 権限。 • マ ク ロ が ま だ存在 し ない場合は、 そのマ ク ロ あ る いはそれを含むデー タ ベース ま たはユーザーに対 す る CREATE MACRO 権限。 注 : マ ク ロ が置換 さ れた場合、 その直接所有者は、 そ れを置換 し たユーザーではな く 、 それが存在す る デー タ ベース にな り ます。 直接所有す る デー タ ベース には、 WITH GRANT OPTION を含めて、 マ ク ロ の実行に適切 なすべての権限を付与す る 必要があ り ます。 マ ク ロ を削除す る 指定 さ れたマ ク ロ に対す る DROP MACRO 権限。 目的 必要なユーザー権限 プ ロ フ ァ イ ルを作成す る CREATE PROFILE 権限 ( シ ス テ ム ・ レベル )。 プ ロ フ ァ イ ルを変更ま たは削 除す る DROP PROFILE 権限 ( シ ス テ ム ・ レベル )。 プ ロ フ ァ イル プ ロキシ ・ ユーザー と 信頼済みユーザー 目的 必要なユーザー権限 以下の目的で GRANT CONNECT THROUGH 文を実行す る CTCONTROL 権限 ( シ ス テ ム ・ レベル )。 • 信頼済みユーザー ( アプ リ ケーシ ョ ン ・ ロ グオ ン ・ ユーザー ) を定義す る • 関連す る プ ロ キ シ ・ ユー ザー と ロ ールを特定す る • WITH TRUSRT ONLY オプ シ ョ ン を指定 し て、 プ ロ キ シ ・ ユーザー ・ ロ ールの割 り 当て を変更可能な SET QUERY BAND 文の使用を 禁止す る SQL デー タ 制御言語 151 付録 B: 権限デ ィ ク シ ョ ナ リ デー タ ベース管理に必要な権限 目的 必要なユーザー権限 SET QUERY BAND 文を使用 し てプ ロ キ シ ・ ユーザー ・ ロ ー ルを設定す る ユーザー、 ロ ール、 お よ び信頼済みユーザー ・ アプ リ ケーシ ョ ン を指定す る GRANT CONNECT THROUGH 権限。 ロール と 外部ロール 目的 必要なユーザー権限 ロ ール ま たは外部 ロ ールを 作成す る CREATE ROLE 権限 ( シ ス テ ム ・ レベル )。 ロ ール ま たは外部 ロ ールを 削除す る 以下の権限の う ちの 1 つです。 • DROP ROLE 権限 ( シ ス テ ム ・ レベル )。 • ロ ール ・ メ ンバーシ ッ プ WITH ADMIN OPTION。 ロ ールに権限を付与す る か、 ロ ール ・ メ ンバーシ ッ プ を 付与す る WITH ADMIN OPTION が付与 さ れた ロ ール。 目的 必要なユーザー権限 CONSTRAINT オブジ ェ ク ト を 作成、 変更、 ま たは削除す る CONSTRAINT DEFINITION 権限 ( シ ス テ ム ・ レベル )。 • ユーザー と プ ロ フ ァ イ ルに 対 し て制約を割 り 当てた り 、 削除 し た り す る • 表、 ビ ュ ー、 お よ び索引内 の セ キ ュ リ テ ィ 制約表の 列を定義 し た り 、 削除 し た り する • セキ ュ リ テ ィ 制約 OVERRIDE を付与 し た り 、 取 り 消し た り する CONSTRAINT ASSIGNMENT 権限 ( シ ス テ ム ・ レベル )。 SHOW CONSTRAINT 文を 実行す る CONSTRAINT DEFINITION 権限ま たは CONSTRAINT ASSIGNMENT 権限。 セキ ュ リ テ ィ 制約付 き の表に 対 し て ARC 操作を実行す る アーカ イ ブ / 復元す る オブジ ェ ク ト に対す る OVERRIDE DUMP と OVERRIDE RESTORE。 セキ ュ リ テ ィ 制約 UDF の 適用を省略す る ア ク セ スす る オブジ ェ ク ト に対す る セキ ュ リ テ ィ 制約の OVERRIDE INSERT、 OVERRIDE SELECT、 OVERRIDE UPDATE、 OVERRIDE DELETE。 注 : ロ ールの作成者には、 WITH ADMIN OPTION 付 き で指定 さ れた ロ ールが自動的に与え ら れます。 セキ ュ リ テ ィ 制約 152 ユーザー、 表、 ビ ュ ー、 お よ び索引のセ キ ュ リ テ ィ 制 約を管理す る ために、 ユーザーはオブジ ェ ク ト に対す る 必要な CREATE/REPLACE/MODIFY 権限 も 持っ てい る 必要があ り ます。 SQL デー タ 制御言語 付録 B: 権限デ ィ ク シ ョ ナ リ デー タ ベース管理に必要な権限 統計 目的 必要なユーザー権限 永久ま たはグ ロ ーバル一時表、 ハ ッ シ ュ 索引、 ま たは結合索 引に関す る 統計を収集 / 削除 する 表、 グ ロ ーバル一時表、 ハ ッ シ ュ 索引、 ま たは結合索 引に対す る STATISTICS 権限。 永久行レベル ・ セ キ ュ リ テ ィ 表に関す る 統計を収集 / 削除 する 表に対す る STATISTICS 権限 と OVERRIDE SELECT 権限。 揮発表ま たは実体化 さ れた グ ロ ーバル一時表に関す る 統 計を収集 / 削除す る 必要な権限はない HELP STATISTICS を使用 し て、 指定 さ れたデー タ 表、 ハ ッ シ ュ 索引、 ま たは結合索 引に関 し て収集 さ れた統計の 概要ま たは詳細情報を表示 する • table_name、 join_index_name、 ま たは hash_index_name に対す る すべての権限 SHOW STATISTICS を使用 し て、 指定 さ れたデー タ 表、 ハ ッ シ ュ 索引、 ま たは結合索 引に関 し て収集 さ れた統計の 概要ま たは詳細情報を表示 する • table_name ま たは join_index_name の所有権 values オプシ ョ ン が指定 さ れなか っ た場合 : • table_name、 join_index_name、 ま たは hash_index_name に対す る すべての権限 • table_name ま たは join_index_name の所有権 values オプシ ョ ン が指定 さ れた場合 : • 報告す る オブジ ェ ク ト に対す る STATISTICS ス ト ア ド ・ プ ロ シージ ャ と 外部ス ト ア ド ・ プ ロ シージ ャ ス ト ア ド ・ プ ロ シージ ャ (SQL 形式 ) と 外部ス ト ア ド ・ プ ロ シージ ャ の権限要件 と オプシ ョ ンは非常に複雑なため、 ク イ ッ ク ・ リ フ ァ レ ン ス の中で説明す る こ と がで き ません。 詳細については、 以下を参照 し て く だ さ い。 • SQL デー タ定義言語 - 構文規則お よ び例 • SQL デー タ制御言語 • SQL 外部ルーチン ・ プ ロ グ ラ ミ ン グ SQL デー タ 制御言語 153 付録 B: 権限デ ィ ク シ ョ ナ リ デー タ ベース管理に必要な権限 表 目的 必要なユーザー権限 表 ( エ ラ ー表を含む ) を作成す る 表が作成 さ れ る デー タ ベース ま たはユーザーに対す る CREATE TABLE 権限。 表を変更ま たは削除す る 表ま たは表が含ま れ る デー タ ベース に対す る DROP TABLE。 PI、 セキ ュ リ テ ィ 制約列、 ま たは UDT 列を追加ま たは変更す る ために表を変更す る には、 追加の権限 が必要です。 表を削除す る 、 ま たは、 表の 名前を変更す る 表ま たは表が含ま れ る デー タ ベース に対す る DROP TABLE。 表を アーカ イ ブす る デー タ ベース ま たは表に対す る DUMP 権限あ る い は表の所有者にな る こ と 。 表にセキ ュ リ テ ィ 制約列が含ま れてい る 場合は、 OVERRIDE DUMP 権限 も 持っ てい る 必要があ り ます。 表を コ ピーす る 以下の権限 : • CREATE MACRO • CREATE TABLE • CREATE VIEW • RESTORE 注 : セキ ュ リ テ ィ 制約表の コ ピーはサポー ト さ れて い ません。 表を復元す る 復元す る 表に対す る CREATE TABLE 権限ま たは表 の所有者にな る こ と 。 表にセキ ュ リ テ ィ 制約列が含ま れてい る 場合は、 OVERRIDE RESTORE 権限 も 持っ てい る 必要があ り ます。 ト リ ガー ト リ ガーの作成ま たは置換では、 ト リ ガー関連の権限が ト リ ガーの作成者 と 直接所 有者の ど ち ら に も 付与 さ れません。 注 : 権限は、 ト リ ガーに付与す る こ と はで き ません。 その ト リ ガーが適用 さ れ る デー タ ベース ま たは表にのみ付与で き ます。 154 SQL デー タ 制御言語 付録 B: 権限デ ィ ク シ ョ ナ リ デー タ ベース管理に必要な権限 目的 必要なユーザー権限 ト リ ガーを作成す る • 以下の両方に対す る CREATE TRIGGER: • ト リ ガーが作成 さ れ る デー タ ベース • サブジ ェ ク ト 表ま たはそれを含むデー タ ベース • WHEN 句ま たは ト リ ガー対象 SQL 文 subquery で参 照 さ れてい る 任意の列に対す る SELECT • ト リ ガー対象の SQL 文 タ ーゲ ッ ト 表に対す る INSERT、 UPDATE、 ま たは DELETE ( ト リ ガー対象 ア ク シ ョ ン に よ っ て異な る ) • 個別の ト リ ガー対象 SQL 文を実行す る ために通常必 要にな る 権限 ト リ ガーを置換す る ト リ ガーを置換す る ために必要な権限 : • サブジ ェ ク ト 表ま たはデー タ ベース に対す る DROP TRIGGER 例外は、 タ ーゲ ッ ト ・ ト リ ガーが存在 し ないために 新 し い ト リ ガーを作成 し よ う と し て REPLACE TRIGGER を使用 し た場合です。 こ の場合は、 以下の 両方に対す る CREATE TRIGGER 権限が必要です。 • ト リ ガーが作成 さ れ る デー タ ベース • サブジ ェ ク ト 表ま たはそれを含むデー タ ベース • WHEN 句ま たは ト リ ガー対象 SQL 文 subquery で参 照 さ れてい る 任意の列に対す る SELECT • ト リ ガー対象 SQL 文に よ っ て応 じ て、 ト リ ガー対象 の SQL 文 タ ーゲ ッ ト 表に対す る INSERT、 UPDATE、 ま たは DELETE • 個別の ト リ ガー対象 SQL 文を実行す る ために通常必 要にな る 権限 ト リ ガーを削除す る サブジ ェ ク ト 表ま たはそれを含むデー タ ベース に対す る DROP TRIGGER 権限 ト リ ガーを実行す る ト リ ガー文を実行す る ために必要な権限 加え て、 ト リ ガーの直接所有者に必要な権限 : • サブジ ェ ク ト 表ま たはそれを含むデー タ ベース に対 す る CREATE TRIGGER • CREATE TRIGGER 文の WHEN 句で参照 さ れてい る 任意の列、 ま たは、 文を実行す る ために読み取 り ア ク セ ス が必要な ト リ ガー対象ア ク シ ョ ン文内の任意 の列に対す る SELECT ユーザー SQL デー タ 制御言語 目的 必要なユーザー権限 ユーザーを作成す る CREATE USER 権限 155 付録 B: 権限デ ィ ク シ ョ ナ リ デー タ ベース管理に必要な権限 目的 必要なユーザー権限 ユーザーを変更ま たは削除 する DROP USER 権限 ユーザー定義関数 (UDF) 目的 必要なユーザー権限 SYSUDTLIB デー タ ベース か ら UDF を呼び出す関数を作成 する 保存先のデー タ ベース と SYSUDTLIB デー タ ベース に 対す る CREATE FUNCTION 権限。 • 関数の実行モー ド を変更 する • 関数を再 コ ンパ イ ル ま た は再 リ ン ク す る ALTER FUNCTION 権限。 ユーザーにデー タ ベース に対す る CREATE FUNCTION 権限を付与 し た場合は、 そのユーザーが作成 し た関数 に DROP FUNCTION、 EXECUTE FUNCTION、 お よ び WITH GRANT OPTION が自動的に付与 さ れます。 保護モー ド で動作す る UDF は、 「tdatuser」 と い う 名前 のユーザー と し て動作す る ために作成 さ れたプ ロ セ ス 内で動作し ます。 こ のユーザーは特殊なオペレーテ ィ ン グ ・ シ ス テ ム権限を持っ てい ません。 サ イ ト に必要な シ ス テ ム ・ リ ソ ース に対す る ア ク セ ス権限を設定す る こ と に よ っ て 、 「 tdatuser 」 に ア ク セ ス 権 を 付与す る リ ソ ース を決定す る のはサ イ ト の責任です。 注 : EXECUTE NOT PROTECTED が指定 さ れ、 動作中 の関数に障害が発生 し た場合は、 デー タ ベース を再始 動で き ます。 SHOW FUNCTION 文を使用 し て、 CREATE/REPLACE FUNCTION テ キ ス ト と ソ ー ス ・ コ ー ド を表示す る CREATE/REPLACE FUNCTION テ キ ス ト を表示す る た めの関数ま たはその関数を含むデー タ ベース に対す る 1 つ以上の権限。 UDF を削除す る 関数あ る いはそれを含むデー タ ベース ま たはユーザー に対す る DROP FUNCTION 関数を実行す る デー タ ベース ま たは特定の関数に対す る EXECUTE FUNCTION 権限 ユーザーが DROP FUNCTION 権限を持っ てい る 場合 は、 SHOW FUNCTION 文に よ っ て も C ソ ース が表示 さ れ ます。 特定のユーザー定義関数を実行す る ためのユーザー権 限を付与す る には、 次の文を実行 し ます。 GRANT EXECUTE ON SPECIFIC FUNCTION function_name TO username; デー タ ベース内のすべての UDF に対す る 実行権限を付 与す る 手順。 GRANT EXECUTE FUNCTION ON dbname TO username; 156 SQL デー タ 制御言語 付録 B: 権限デ ィ ク シ ョ ナ リ デー タ ベース管理に必要な権限 目的 必要なユーザー権限 HELP FUNCTION を使用 し て 以下を取得す る 。 関数ま たは関数を含むデー タ ベース に対す る 1 つ以上 の権限。 • • • • 関数名 パラ メ ータの リ ス ト パ ラ メ ー タ のデー タ 型 関数が文字 と グ ラ フ ィ ッ ク ・ データ のど ち ら を圧縮 / 圧縮解除す る ために使用 さ れるか • SQL、 ス カ ラ ー、 集約、 お よ び表関数のパ ラ メ ー タ に 関連付け ら れた コ メ ン ト 関数の名前を変更す る 関数ま たはそれを含むデー タ ベース に対す る DROP FUNCTION 権限 と 、 関数を含むデー タ ベース に対す る CREATE FUNCTION 権限。 既存の関数を置換す る 関数ま たは関数を含むデー タ ベース に対す る DROP FUNCTION 権限。 注 : UDT を入力パ ラ メ ー タ ま たは関数結果 と し て指定す る 場合は、 現在のユー ザーが以下の権限のいずれか を持っ てい る 必要があ り ます。 • SYSUDTLIB デー タ ベース に対す る UDTUSAGE • 指定 さ れた UDT に対す る UDTUSAGE UDF の作成の詳細については、 <SQL 外部ルーチン ・ プ ロ グ ラ ミ ン グ > を参照 し て く だ さ い。 UDT と UDM 目的 必要なユーザー権限 UDT を作成、 変更、 ま たは 削除す る UDTTYPE はデー タ ベース ・ レベルでのみ付与 さ れま す。 こ の権限は、 UDTUSAGE のすべて の能力 と 、 UDT を作成、 変更、 お よ び削除で き る 能力を備え てい ます。 ユーザーは、 キ ャ ス ト 、 順序、 ま たは変換プ ロ パテ ィ を作成ま たは削除す る こ と も で き ます。 た だ し 、 こ の権限 を 持つユーザーは、 新 し い メ ソ ッ ド を作成 し た り 、 既存の メ ソ ッ ド を削除ま たは置換 し た り す る こ と はで き ません。 UDM を作成、 変更、 ま たは 削除す る SQL デー タ 制御言語 UDTMETHOD。 こ の権限は、 UDTTYPE のすべての能 力 と 、 UDT と そ の メ ソ ッ ド を 無制限に使用、 作成、 削除、 ま たは変更で き る 能力を備え てい ます。 157 付録 B: 権限デ ィ ク シ ョ ナ リ ユーザーの権限の判別 目的 必要なユーザー権限 表ま たはビ ュ ー内で UDT ま た は UDM を使用 し 、 関連す る すべての メ ソ ッ ド を実行す る UDTUSAGE。 こ の権限はデー タ ベース ・ レベル と オブ ジ ェ ク ト ・ レベルの両方で付与で き ます。 自動権限で はないため、 ユーザーは こ の権限を付与 さ れ る か、 ロ ール経由で取得す る 必要があ り ます。 UDTUSAGE WITH GRANT OPTION が付与 さ れた ユーザーは、 そ れを ( オプシ ョ ン で、 WITH GRANT OPTION も 一緒に ) 他の人に付与で き ます。 UDTUSAGE は、 ユーザーに、 既存の UDT と その メ ソ ッ ド を参照す る すべての SQL 文を実行で き る よ う に し ま す。 新 し い UDT の作成、 既存の UDT の順序、 キ ャ ス ト 、 ま たは変換動作の変更、 あ る いは新 し い メ ソ ッ ド の作成はで き ません。 UDT に対す る キ ャ ス ト 操作を 作成ま たは変更す る CREATE CAST 権限 と REPLACE CAST 権限。 ビ ュー 新し く 作成 さ れた ビ ューに対する以下の権限がその作成者に自動的に付与 さ れます。 • DELETE • DROP VIEW • INSERT • SELECT • UPDATE 目的 必要なユーザー権限 ビ ュ ーを作成す る CREATE VIEW 権限 ビ ュ ーを削除ま たは置換す る DROP VIEW 権限 ユーザーの権限の判別 ユーザーが特定のデー タ ベー ス に対 し て持 っ て い る 権限 を すべて列挙す る AllUserRights マ ク ロ を作成で き ます。 こ のマ ク ロ は、 DBC.AllRightsV ビ ュ ー と DBC.AllRolesRightsV ビ ュ ーか ら 情報を入手 し て、 ビ ュ ーの AccessRightDesc フ ィ ール ド で見つけた 2 文字の権限 コ ー ド を出力 し ます。 158 SQL デー タ 制御言語 付録 B: 権限デ ィ ク シ ョ ナ リ ユーザーの権限の判別 ユーザー権限を判別するサン プル ・ マ ク ロ create macro database_name.AllUserRights (UserName char(30)) as ( locking row for access select UserName (varchar(30)) ,AccessType (varchar(30)) ,RoleName (varchar(30)) ,DatabaseName (varchar(30)) ,TableName (varchar(30)) ,ColumnName (varchar(30)) ,AccessRight ,case when accessright='AE' then 'ALTER EXTERNALPROCEDURE' when accessright='AF' then 'ALTER FUNCTION' when accessright='AP' then 'ALTER PROCEDURE' when accessright='AS' then 'ABORT SESSION' when accessright='CA' then 'CREATE AUTHORIZATION' when accessright='CD' then 'CREATE DATABASE' when accessright='CE' then 'CREATE EXTERNAL PROCEDURE' when accessright='CF' then 'CREATE FUNCTION' when accessright='CG' then 'CREATE TRIGGER' when accessright='CM' then 'CREATE MACRO' when accessright='CO' then 'CREATE PROFILE' when accessright='CP' then 'CHECKPOINT' when accessright='CR' then 'CREATE ROLE' when accessright='CT' then 'CREATE TABLE' when accessright='CU' then 'CREATE USER' when accessright='CV' then 'CREATE VIEW' when accessright='D' then 'DELETE' when accessright='DA' then 'DROP AUTHORIZATION' when accessright='DD' then 'DROP DATABASE' when accessright='DF' then 'DROP FUNCTION' when accessright='DG' then 'DROP TRIGGER' when accessright='DM' then 'DROP MACRO' when accessright='DO' then 'DROP PROFILE' when accessright='DP' then 'DUMP' when accessright='DR' then 'DROP ROLE' when accessright='DT' then 'DROP TABLE' when accessright='DU' then 'DROP USER' when accessright='DV' then 'DROP VIEW' when accessright='E' then 'EXECUTE' when accessright='EF' then 'EXECUTE FUNCTION' when accessright='GC' then 'CREATE GLOP' when accessright='GD' then 'DROP GLOP' when accessright='GM' then 'GLOP MEMBER' when accessright='I' then 'INSERT' when accessright='IX' then 'INDEX' when accessright='MR' then 'MONITOR RESOURCE' when accessright='MS' then 'MONITOR SESSION' when accessright='NT' then 'NONTEMPORAL' when accessright='OD' then 'OVERRIDE DELETE POLICY' when accessright='OI' then 'OVERRIDE INSERT POLICY' when accessright='OP' then 'CREATE OWNER PROCEDURE' when accessright='OS' then 'OVERRIDE SELECT POLICY' when accessright='OU' then 'OVERRIDE UPDATE POLICY' when accessright='PC' then 'CREATE PROCEDURE' when accessright='PD' then 'DROP PROCEDURE' when accessright='PE' then 'EXECUTE PROCEDURE' when accessright='R' then 'RETRIEVE/SELECT' when accessright='RF' then 'REFERENCES' when accessright='RS' then 'RESTORE' when accessright='SA' then 'SECURITY CONSTRAINT ASSIGNMENT' when accessright='SD' then 'SECURITY CONSTRAINT DEFINITION' when accessright='ST' then 'STATISTICS' when accessright='SS' then 'SET SESSION RATE' when accessright='SR' then 'SET RESOURCE RATE' when accessright='TH' then 'CTCONTROL' when accessright='U' then 'UPDATE' when accessright='UU' then 'UDT Usage' when accessright='UT' then 'UDT Type' when accessright='UM' then 'UDT Method' else'' end (varchar(26)) as AccessRightDesc ,GrantAuthority ,GrantorName (varchar(30)) ,AllnessFlag ,CreatorName (varchar(30)) ,CreateTimeStamp from ( SQL デー タ 制御言語 159 付録 B: 権限デ ィ ク シ ョ ナ リ ユーザーの権限の判別 select UserName ,'User' (varchar(30)) as AccessType ,'' (varchar(30)) as RoleName ,DatabaseName ,TableName ,ColumnName ,AccessRight ,GrantAuthority ,GrantorName ,AllnessFlag ,CreatorName ,CreateTimeStamp from dbc.allrights where UserName = :username and CreatorName not = :username union all select Grantee as UserName ,'Member' as UR ,r.RoleName ,DatabaseName ,TableName ,ColumnName ,AccessRight ,null (char(1)) as GrantAuthority ,GrantorName ,null (char(1)) as AllnessFlag ,null (char(1)) as CreatorName ,CreateTimeStamp from dbc.allrolerights r join dbc.rolemembers m on m.RoleName = r.RoleName where UserName = :username union all select User as UserName ,m.Grantee as UR ,r.RoleName ,DatabaseName ,TableName ,ColumnName ,AccessRight ,null (char(1)) as GrantAuthority ,GrantorName ,null (char(1)) as AllnessFlag ,null (char(1)) as CreatorName ,CreateTimeStamp from dbc.allrolerights r join dbc.rolemembers m on m.RoleName = r.RoleName where m.grantee in (select rolename from dbc.rolemembers where grantee = :username) ) AllRights order by 4,5,6,7; ); こ こ で、 database_name は、 マ ク ロ でユーザー権限をチ ェ ッ ク す る 、 シ ス テ ム内の デー タ ベース名です。 例えば、 DBAdmin デー タ ベース内でマ ク ロ を作成す る 場合 は、 そのマ ク ロ を DBAdmin.AllUserRights と し て指定 し ます。 注 : こ のマ ク ロ は、 直接、 ま たは、 ロ ール経由でユーザーに付与 さ れたすべての 権限を返 し ます。 暗黙的 ( 所有権 ) 権限は返 し ません。 160 SQL デー タ 制御言語 付録 B: 権限デ ィ ク シ ョ ナ リ ユーザーの権限の判別 権限チ ェ ッ ク ・ マ ク ロの実行 マ ク ロ を作成 し た ら 、 そのマ ク ロ を実行 し 、 以下の コ マ ン ド を使用 し て特定のユー ザーのア ク セ ス権限をチ ェ ッ ク で き ます。 execute database_name.AllUserRights ('username'); 説明 • database_name は、 マ ク ロ の名前で、 そのマ ク ロ に よ っ てユーザー権限がチ ェ ッ ク さ れ る デー タ ベース を識別 し ます。 • username は、 マ ク ロ に よ っ て権限がチ ェ ッ ク さ れ る 永久デー タ ベース ・ ユー ザーの名前です。 • マ ク ロ を実行す る ユーザーは、 そのマ ク ロ を含むデー タ ベース に対す る EXECUTE 権限を持っ てい る 必要があ り ます。 SQL デー タ 制御言語 161 付録 B: 権限デ ィ ク シ ョ ナ リ ユーザーの権限の判別 162 SQL デー タ 制御言語 用語集 A AMP Access Module Processor vproc( ア ク セ ス ・ モジ ュ ール ・ プ ロ セ ッ サ vproc)。 Teradata Database の フ ァ イ ル ・ シ ス テ ムお よ びデー タ 管理 コ ン ポーネ ン ト を制御す る 一式の ソ フ ト ウ ェ ア ・ サービ ス。 Application User( アプ リ ケーシ ョ ン ・ ユーザー ) アプ リ ケーシ ョ ン ・ ユーザーは、 Trusted User( 信頼済みユーザー ) に よ っ て ロ グオン さ れ る セ ッ シ ョ ンに よ り Teradata Database にア ク セ スす る 、 中間階層アプ リ ケーシ ョ ン用のプ ロ キ シです。 アプ リ ケーシ ョ ン ・ プ ロ キ シ ・ ユーザーは、 中間階層に接続 し てい る ク ラ イ ア ン ト ( た と えば、 ク ラ イ ア ン ト 名や ATM の ID な ど ) を表わす も のです。 アプ リ ケーシ ョ ン ・ プ ロ キ シ ・ ユーザー名は Teradata Database で定義 さ れないた め、 シ ス テ ム は こ の名前を有効に し ま せんが、 こ の名前は Teradata オブジ ェ ク ト の命名規則に従わなければな り ません。 Permanent User( 永久ユーザー ) の部類 と アプ リ ケーシ ョ ン ・ ユーザーを合わせて、 総称的に Proxy User( プ ロ キ シ ・ ユーザー ) と 呼びます。 B BLOB Binary Large OBject( バ イ ナ リ ・ ラ ージ ・ オブジ ェ ク ト )。 写真、 動画、 音楽 な ど の バ イ ナ リ ・ デー タ のみ を 含むデー タ ・ オ ブ ジ ェ ク ト ( 通常は 64 K よ り 大 き い )。 CLOB と 比較。 BTEQ Basic Teradata Query Facility(Basic Teradata Query 機能 ) Teradata Database と の ク ラ イ ア ン ト ・ イ ン タ ーフ ェ ース の一種。 こ れを使用 し て ユーザーは対話式に ま たはバ ッ チ ・ モー ド で SQL 要求を実行依頼 し 、 結果セ ッ ト の形成、 ス ク リ プ ト の ビル ド と 実行、 お よ びデー タ の イ ン ポー ト と エ ク ス ポー ト を 行な え ます。 BTEQ は CLIv2 API に基づいてい ます。 一方、 こ れに似た機能であ る SQL Assistant は ODBC API に基づいてい ます。 そのため、 こ れ ら 2 つの機能の動作にはい く つか の大 き な違いがあ り ます。 C CLIv2. Call Level Interface Version 2( コール ・ レベル ・ イ ン ターフ ェース バージ ョ ン 2) CLIv2 は Teradata Database 内の ク ラ イ ア ン ト と サーバー間の相互作用に関す る オ リ ジナルのの API です。 SQL Assistant な ど の CLIv2 を使用 し ないアプ リ ケーシ ョ ン は、 ク ラ イ ア ン ト と Teradata サーバーの間の通信に ODBC API を使用 し ます。 SQL デー タ 制御言語 163 用語集 CLOB Character Large OBject( 文字 ラ ージ ・ オブジ ェ ク ト ) XML ま たはその他の テ キ ス ト ・ フ ァ イ ルな ど の文字デー タ のみ を 含むデー タ ・ オブジ ェ ク ト ( 通常は 64K よ り 大 き い )。 BLOB と 比較。 Column-Level Security( 列レベル ・ セキ ュ リ テ ィ ) 表の列へのア ク セ ス を制御す る 方式。 列レベル ・ セキ ュ リ テ ィ は、 DAC(Discretionary Access Control( 任意ア ク セ ス 制御 ) を参照 ) の一形態です。 行レベル ・ セキ ュ リ テ ィ と い う ア ク セ ス制御方法 も あ り ます (Row-Level Security( 行レベルのセキ ュ リ テ ィ ) を参照 )。 Teradata Database は、 次の権限について列レベルのセキ ュ リ テ ィ をサポー ト し ます。 • INSERT • REFERENCES • SELECT • UPDATE D Discretionary Access Control( 任意ア ク セ ス制御 ) オブジ ェ ク ト ・ レベルのア ク セ ス制御の タ イ プの 1 つ。 Teradata Database におけ る 任意ア ク セ ス制御には、 さ ま ざ ま な タ イ プのオブジ ェ ク ト に権限を割 り 当て る こ と が関係 し ます。 こ の権限は、 シ ス テ ム ・ レベルか ら 、 列レベルな ど の低レベル ・ オブジ ェ ク ト や Teradata Database で定義 さ れて い る 他のオブ ジ ェ ク ト ・ タ イ プ ま で、 さ ま ざ ま な レ ベルで付与で き ます。 任意ア ク セ ス制御権限は、 ユーザーや ロ ールに付与す る こ と も で き ます。 こ の権限 に よ り 、 対象 と な る オブジ ェ ク ト に対 し て特定のア ク シ ョ ンのセ ッ ト を実行す る こ と が可能にな り ます。 E External Routine( 外部ルーチン ) ス ト ア ド ・ プ ロ シージ ャ 、 ユーザー定義関数、 お よ びユーザー定義 メ ソ ッ ド を指す総称。 EXTUSER 外部ユーザー (External USER) を表わすキー ワー ド 。 こ れは、 外部で許 可 さ れたデ ィ レ ク ト リ ・ ユーザーにマ ッ ピ ン グ可能な一般的な Teradata Database ユーザーです。 EXTUSER ユーザーのデフ ォ ル ト の権限セ ッ ト は、 非常に限 ら れて い ます。 F Foreign Key( 外部キー ) リ レ ーシ ョ ナル ・ デー タ ベー ス 内の表の間の参照整合 性を確立す る ための手段。 子表の外部キーは通常、 その親表の論理基本キーです。 それが親表の基本キーではない場合、 それはその代替キーの 1 つです。 164 SQL デー タ 制御言語 用語集 G Global Temporary Table( グ ロ ーバル一時表 ) 時表 ) Global Temporary Table( グ ローバル一 表の種類の 1 つ。 その定義は複数のセ ッ シ ョ ンに渡っ て維持 さ れますが、 その内容 は一般には維持 さ れません。 同一セ ッ シ ョ ン内で 1 つのグ ロ ーバル一時表の イ ン ス タ ン ス は 1 つ し かエ ン テ ィ テ ィ 化で き ま せんが、 異な る グ ロ ーバル一時表 イ ン ス タ ン ス については同一のセ ッ シ ョ ン内で 2 000 個ま で可能であ り 、 同 じ グ ロ ーバル 一時表定義の イ ン ス タ ン ス を エン テ ィ テ ィ 化で き る セ ッ シ ョ ンの数に制限はあ り ま せん。 さ ら にグ ロ ーバル一時表には、 索引付けに使用で き ない、 列の統計情報を収 集で き ない、 圧縮可能でない、 永久ジ ャ ーナルに使用で き ない ( ただ し オプシ ョ ン と し て グ ロ ーバル一時表の更新は ロ グ記録可能 )、 ほ と ん ど の種類の制約の定義に 使用で き ない、 な ど の制限があ り ます。 グ ロ ーバル一時表の定義 と その制限事項の リ ス ト については、 <SQL デー タ 定義言語 > の 「グ ロ ーバル一時表」 を参照 し て く だ さ い。 Volatile Table( 揮発表 ) と 比較。 GLOP GLObal and Persistent( グ ロ ーバル持続 ) デー タ 。 GLOP に よ っ て外部ルーチンは、 目的のデー タ を格納す る グ ロ ーバル共有 メ モ リ に ア ク セ ス で き る よ う にな り ます。 GLOP に よ り 、 外部ルーチンにデー タ を渡すパ ラ メ ー タ や他の方法に よ っ て情報を外部化す る 必要な く 、 構成可能な ビ ジネ ス判断を 行な う ために こ のデー タ を利用す る こ と を可能に し ます。 GLOP は外部ルーチン を一度呼び出し た後で も持続さ れる ので、 後続の外部ルーチン はその GLOP を元の形式か変更さ れた形式のどち ら かで参照で き る よ う にな り ます。 GLOP Set(GLOP セ ッ ト ) GLOP セ ッ ト と は、 UDF、 メ ソ ッ ド ま たは外部プ ロ シー ジ ャ か ら 参照す る と き に関連付け ら れ る GLOP マ ッ ピ ン グの こ と です。 GLOP セ ッ ト は、 最大 8 つの各種 タ イ プの GLOP デー タ ・ セ ク シ ョ ン で構成 さ れ ま す。 H Hash Index( ハ ッ シ ュ 索引 ) 単一表 Join Index( 結合索引 ) と 類似 し たプ ロ パテ ィ を 持つ実表の縦方向のパーテ ィ シ ョ ン。 イ ン ラ イ ンに保管 さ れ る 基本索引 ( それが索引付け し た行 と と も に保管 さ れ る ) と は異な り 、 ハ ッ シ ュ 索引はシ ス テ ムに よ る 保守が必要な個々の副表に格納 さ れま す。 ハ ッ シ ュ 索引の副表はデ ィ ス ク 領域を消費す る ため、 EXPLAIN 修飾子を使っ て問合わせを定期的にモニ タ ー し 、 それ ら に対 し て指定 し たいずれかのハ ッ シ ュ 索 引を最適化ルーチンが使用 し てい る か ど う か を判別 し ます。 使用 し ていなければ、 それ ら の索引を削除す る か、 ま たは最適化ルーチンが使用す る よ う に問合わせを書 き 直す必要があ り ます。 SQL デー タ 制御言語 165 用語集 J Join Index( 結合索引 ) さ ま ざ ま な タ イ プの表の事前結合 ( ス パース形式や集約形 式を含む ) を作成で き る ( その定義の仕方に依存す る )、 1 つ以上の実表の縦方向の パーテ ィ シ ョ ン。 SQL 要求が結合索引を直接問い合わせ る こ と はで き ません。 代わ り に、 最適化ルーチ ン が結合索引 を 使用 し て、 カ バー さ れ る 問合わせのパ フ ォ ー マ ン ス を向上 さ せます。 実表の縦方向のパーテ ィ シ ョ ン化 し か し ない結合索引は、 単一表の結合索引 と も 呼 ばれます。 2 つかそれ以上の実表 を 事前結合す る 結合索引は、 複数表の結合索引 と も 呼ばれ ます。 ど ち ら の タ イ プの結合索引 も ス パース形式ま たは集約形式で作成で き 、 その圧縮 さ れた列のサブセ ッ ト を持つ こ と がで き ます。 イ ン ラ イ ンに保管 さ れ る 基本索引 ( それが索引付け し た行 と と も に保管 さ れ る ) と は異な り 、 結合索引はシ ス テ ムに よ る 保守が必要な個々の副表に格納 さ れます。 結 合索引の副表はデ ィ ス ク 領域を消費する ため、 EXPLAIN 修飾子を使っ て問合わせを 定期的にモ ニ タ ー し 、 それ ら に対 し て指定 し た いずれかの結合索引 を 最適化ルー チンが使用 し てい る か ど う か を判別 し ます。 使用 し ていなければ、 それ ら の索引を 削除す る か、 ま たは最適化ルーチンが使用す る よ う に問合わせを書 き 直す必要があ り ます。 L LOB Large OBject( ラ ージ ・ オブジ ェ ク ト )。 Teradata Database の最大行サ イ ズ よ り 大 き いデー タ ・ オブジ ェ ク ト すべて。 LOB に は 2 つの タ イ プがあ り ます。 BLOB と CLOB です。 M Mandatory Access Control( 強制ア ク セ ス制御 ) ユーザーがデー タ ベース ・ オブ ジ ェ ク ト にア ク セ ス し た り 特定の操作を行な う 機能をデー タ ベース管理シ ス テ ム で制限す る タ イ プのア ク セ ス制御。 Teradata の強制ア ク セ ス制御の実装は、 行レベル ・ セキ ュ リ テ ィ と 言い ます。 N Null( ヌ ル ) 情報が欠落 し てい る こ と を表わす構成要素。 ヌ ルは値ではないので、 ヌ ル値 と い う 表現は、 正確な表現では あ り ま せん。 通常、 ヌ ルの実際の値は不明 ですが、 例外 も あ り ま す ( 例外の リ ス ト につい て は、 < デー タ ベース の設計 > を 参照 )。 166 SQL デー タ 制御言語 用語集 O Object-Level Security( オブジ ェ ク ト ・ レベル ・ セキ ュ リ テ ィ ). デー タ ベース、 表、 ビ ュ ーな ど のデー タ ベース ・ オブジ ェ ク ト へのア ク セ ス を制御す る 方式。 ODBC Open DataBase Connectivity( オープン ・ デー タ ベース接続性 ) ク ラ イ ア ン ト ・ アプ リ ケーシ ョ ン と SQL を使用す る リ レーシ ョ ナル ・ デー タ ベー ス と の間の通信用の標準 API。 ANSI SQL 規格の API(CLI、 つま り コ ール ・ レベル ・ イ ン タ ーフ ェ ース、 ま たは SQL/CLI) は、 ODBC の仕様に基づいてい ます。 ODBC バージ ョ ン 3.0 以降、 ODBC 標準 と ANSI SQL コ ール ・ レ ベル ・ イ ン タ ー フ ェ ー ス 標準は同一の も の と な り ま し た。 OLTP Online Transaction Processing( オン ラ イ ン ・ ト ラ ンザ ク シ ョ ン処理 )。 ワー ク ロ ー ド 処理のカ テ ゴ リ の 1 つで、 多 く の場合、 非常に簡潔な更新 ト ラ ンザ ク シ ョ ン を処理す る も の。 OLTP テ ク ノ ロ ジの典型的な応用 と し ては、 ATM ( 現金自 動支払機 ) があ り ます。 P PE Parsing Engine vproc( 解析エン ジ ン vproc)。 Teradata Database の問合わせ処理お よ びセ ッ シ ョ ン管理 コ ン ポーネ ン ト を制御す る 一式の ソ フ ト ウ ェ ア ・ サービ ス。 Permanent User( 永久ユーザー ) 永久ユーザーは、 Trusted User( 信頼済みユーザー ) に よ り ロ グオ ン さ れ る セ ッ シ ョ ン を使用 し て Teradata Database にア ク セ スす る ユー ザー用のプ ロ キ シです。 Application User( アプ リ ケーシ ョ ン ・ ユーザー ) と は異な り 、 信頼済みユーザーは常に Teradata Database 内で定義 さ れます。 永久プ ロ キ シ ・ ユーザーに対す る 権限は、 その永久ユーザーに定義 さ れた権限か、 ま たは、 永久ユーザーが Teradata Database に ロ グオ ン さ れてい る セ ッ シ ョ ン を所有 す る Trusted User( 信頼済みユーザー ) に対す る GRANT CONNECT 権限でプ ロ キ シ ・ ユーザーに割当て ら れた ロ ールで定義 さ れ る 権限の ど ち ら かにな り ます。 Application User( アプ リ ケーシ ョ ン ・ ユーザー ) の部類 と アプ リ ケーシ ョ ン ・ ユー ザーを合わせて、 総称的に 「Proxy User( プ ロ キ シ ・ ユーザー )」 と 呼びます。 Primary Index( 基本索引 ) 表内の列のセ ッ ト 。 その値は AMP と の行の送受信で 使用 さ れ る コ ー ド を作成す る ためにハ ッ シ ュ さ れます。 Teradata Database 内の各表には、 基本索引がないか、 1 つのみ必要で、 その固有性は 問い ません。 Proxy Connection( プ ロ キ シ接続 ) 権限お よ び ロ ギ ン グ を ユーザー (Proxy User( プ ロ キ シ ・ ユーザー )) が検証 さ れ る 接続。 Proxy Role( プ ロ キ シ ・ ロ ール ) ロ ール。 SQL デー タ 制御言語 Proxy Connection( プ ロ キ シ接続 ) に定義 さ れた 167 用語集 プ ロ キ シ接続で PROXYROLE=role_name 文字列が指定 さ れてい る 場合、 role_name は、 GRANT CONNECT THROUGH 要求の WITH ROLE 句で指定 さ れた ロ ール名の う ちの 1 つでなければな り ません。 PROXYROLE は、 QUERY_BAND 要求に よ っ てプ ロ キ シ ・ ロ ールのアサー ト を可能 にす る ために使用す る 、 予約 さ れた ク エ リ ー ・ バン ド 名です。 Proxy User( プ ロ キ シ ・ ユーザー ) Trusted User( 信頼済みユーザー ) のセ ッ シ ョ ンを 使用 し て Teradata Database に接続す る ユーザー。 アプ リ ケーシ ョ ン ・ ユーザー と 永 久ユーザーは、 集合的にプ ロ キ シ ・ ユーザー と 呼ばれます。 PROXYUSER は、 QUERY_BAND 要求に よ っ てプ ロ キ シ ・ ユーザーの アサー ト を 可能にす る ために使用す る 、 予約 さ れた ク エ リ ー ・ バン ド 名です。 R Referential Integrity( 参照整合性 ) リ レーシ ョ ナル ・ デー タ ベース に孤立デー タ が ない こ と を保証す る 方法。 参照整合性では、 削除 さ れた親表行か ら 子表行が孤立す る の を防ぐ ために、 基本キー と Foreign Key( 外部キー ) の間の親子関係が使用 さ れ ます。 Teradata リ レーシ ョ ナル ・ デー タ ベース管理 ソ フ ト ウ ェ アでは、 以下の 3 種類の異 な る 参照整合性 (RI) 制約がサポー ト さ れてい ます。 • 参照整合性制約 こ れは、 ANSI SQL 規格で定義 さ れてい る 標準の RI 制約です。 • バ ッ チ参照整合性制約 こ れは Teradata での RI の特殊な形式です。 こ れは、 標準の参照整合性チ ェ ッ ク において、 行ご と ではな く all-or-nothing( ト ラ ンザ ク シ ョ ン全体が完全に成功 し なければな ら ない ) 方式に よ り 強制適用 さ れ る ため、 標準の参照整合性に比べて シ ス テ ム ・ リ ソ ース の点で適用のための コ ス ト が少な く て済みます。 • 参照制約 こ れは Teradata での参照整合性 (RI) の特殊な形式であ り 、 非公式に 「 ソ フ ト RI」 と 呼ばれ る こ と があ り ます。 こ れは、 最適化ルーチンが問合わせの最適化のた めに使用で き る 制約を指定す る だけで、 シ ス テ ムでは強制適用 さ れません。 言 い換え る と 、 その参照制約は も っぱ ら 論理的な も のであ り 、 物理的に強制適用 さ れ る わけではあ り ません。 参照整合性の関係は、 問合わせパフ ォーマ ン ス を向上 さ せ る ために し ば し ば最適化 ルーチンに よ っ て使用 さ れます。 RI Referential Integrity( 参照整合性 ) Row-Level Security( 行レベルのセキ ュ リ テ ィ ) 表の行へのア ク セ ス を制御す る 方 式。 行レベル ・ セキ ュ リ テ ィ は、 強制ア ク セ ス制御の Teradata の実装です。 168 SQL デー タ 制御言語 用語集 S Security Credential( セキ ュ リ テ ィ 信頼証明 ) Teradata Row-Level Security(Teradata 行 レベル ・ セキ ュ リ テ ィ ) 用にユーザーやプ ロ フ ァ イ ルに割 り 当て ら れた行レベル ・ セキ ュ リ テ ィ 制約値。 Security Label( セキ ュ リ テ ィ ・ ラ ベル ) デー タ への安全な行レベル ・ ア ク セ ス を 定義す る ために、 サブジ ェ ク ト ( ユーザー ) と デー タ ベース ・ オブジ ェ ク ト を関連 付け る ために使用す る ラ ベル。 セキ ュ リ テ ィ ・ ラ ベルには次の 2 つの コ ン ポーネ ン ト があ り ます。 必須の分類レベ ル と 任意の コ ンパー ト メ ン ト ・ レベルです。 分類レベルは、 セキ ュ リ テ ィ の単一階 層レベルを定義 し ます。 例えば、 極秘、 機密、 社外秘、 お よ び非機密です。 コ ンパー ト メ ン ト ・ レベルは、 分類レベルに関連す る 固有領域を表わす非階層型の 情報を定義 し ます。 例えば、 NATO、 ア メ リ カ、 イ ギ リ ス、 ロ シ ア、 フ ラ ン ス、 お よ び中国のいずれのカ テ ゴ リ も 、 分類レベルの極秘に何 ら かの形で関連 し てい る 場 合があ り ます。 分類セキ ュ リ テ ィ ・ ポ リ シー制約 と コ ンパー ト メ ン ト ・ セキ ュ リ テ ィ ・ ポ リ シー制 約の組合わせに よ り 、 セキ ュ リ テ ィ ・ ラ ベルが定義 さ れます。 セキ ュ リ テ ィ ・ ラ ベル と は、 Mandatory Access Control( 強制ア ク セ ス制御 ) セキ ュ リ テ ィ 制約を定義す る ために、 米国政府に よ り 使用 さ れ る 用語です。 Security Policy( セキ ュ リ テ ィ ・ ポ リ シー ) 特定の タ イ プのデー タ へのア ク セ ス を ど のユーザーに許可ま たは禁止す る か、 お よ び特定のユーザーにデー タ やデー タ ベース ・ オブジ ェ ク ト に対し て実行する こ と を許可する特定の タ イ プのア ク シ ョ ン を 定義す る ための企業内のルール。 行レベル ・ セキ ュ リ テ ィ 用のルールは、 ユーザーが行デー タ に対 し て SQL 要求を 実行す る ために必要な権限 も 定義 し ます。 行レベル ・ セキ ュ リ テ ィ を定義 し て適用 す る ために使用 さ れ る 基本的な メ カ ニズ ムは、 行レベル ・ セキ ュ リ テ ィ 制約 と 行レ ベル ・ セキ ュ リ テ ィ 制約関数 (UDF) です。 System-Level Security( シ ス テ ム ・ レベル ・ セキ ュ リ テ ィ ) Teradata Database は、 管理者がシ ス テ ム ・ レベルで適用で き る 権限を提供 し ます。 こ れ ら の権限は、 GRANT ( モニ タ ー形式 ) と GRANT (SQL 形式 ) を使用 し てユーザーお よ びデー タ ベース に付与 さ れます。 T Teradata Row-Level Security(Teradata 行レベル ・ セキ ュ リ テ ィ ) 表の行へのア ク セ ス を制御す る 方式。 Teradata は、 セキ ュ リ テ ィ 信頼証明、 行レベル ・ セキ ュ リ テ ィ 制約お よ び制約 UDF を使用 し て行レベル ・ セキ ュ リ テ ィ を実装 し ます。 Trusted Parallel Application( ト ラ ス テ ッ ド 並列アプ リ ケーシ ョ ン ) 通常は、 TPA と 略 さ れます。 Teradata Database 上で安全に実行で き る こ と を Teradata に よ っ て認 定 さ れたアプ リ ケーシ ョ ン。 Teradata Database ソ フ ト ウ ェ ア自体が TPA です。 その よ う な アプ リ ケーシ ョ ンは し ば し ば、 TPA と い う 略語で呼ばれます。 SQL デー タ 制御言語 169 用語集 Trusted Request( 信頼済み要求 ) GRANT CONNECT THROUGH 要求に よ っ て、 Proxy User( プ ロ キ シ ・ ユーザー ) の設定ま たは現在の Proxy User( プ ロ キ シ ・ ユー ザー ) の削除の操作を実行す る SET QUERY_BAND 要求を送信す る 権限が与え ら れ てい る Trusted User( 信頼済みユーザー ) に よ っ て送信 さ れた要求。 Trusted User( 信頼済みユーザー ) ぐ権限を付与 さ れたユーザー。 Proxy User( プ ロ キ シ ・ ユーザー ) の ID を引 き 継 U UDT User-Defined Type( ユーザー定義型 ) Teradata 以外のだれかに よ っ て定義 さ れたデー タ ・ タ イ プ。 UDT には 2 つの型があ り ます。 DISTINCT 型 と STRUCTURED 型です。 詳細は、 <SQL デー タ 定義言語 > の 「CREATE TYPE(DISTINCT 形式 )」、 <SQL デー タ 定義言語 > の 「CREATE TYPE(STRUCTURED 形式 )」、 お よ び <SQL 外部ルーチン ・ プ ロ グ ラ ミ ン グ > を参 照 し て く だ さ い。 V Volatile Table( 揮発表 ) Volatile Table( 揮発表 ) 表の種類の 1 つ。 それが作成 さ れたセ ッ シ ョ ンに と っ てプ ラ イ ベー ト な表であ り 、 そのセ ッ シ ョ ンの存続期間にのみ存在 し ます。 さ ら に揮発表には、 索引付けに使用 で き ない、 列の統計情報を収集で き ない、 圧縮可能でない、 ジ ャ ーナルに使用で き ない、 ほ と ん ど の種類の制約の定義に使用で き ない、 な ど の制限があ り ます。 揮発 表の定義 と その制限事項の リ ス ト については、 <SQL デー タ 定義言語 > を参照。 Global Temporary Table( グ ロ ーバル一時表 ) と 比較。 VT Volatile Table( 揮発表 ) 170 SQL デー タ 制御言語 索引 A ABORTSESSION 監視権限 22 C CONNECT THROUGH 権限 80, 126 CONSTRAINT ASSIGNMENT 権限 64 こ の権限が必要な DDL 文 65 付与のルール 64 CONSTRAINT DEFINITION 権限 65 こ の権限が必要な DDL 文 65 付与のルール 65 CREATE EXTERNAL PROCEDURE 権限 57 CREATE FUNCTION 権限 59 CREATE GLOP 権限 54, 76 CREATE MACRO 権限 セキ ュ リ テ ィ に関す る 考慮事項 42 CTCONTROL 権限 39, 53 GRANT LOGON 94 GRANT(MONITOR 形式 ) お よ び GRANT(SQL 形式 ) 19, 22 GRANT (SQL 形式 ) お よ び GRANT (MONITOR 形式 ) 19 GRANT(SQL 形式 ) お よ び GRANT (MONITOR 形式 ) 22 GRANT、 GIVE と の比較 40 I INDEX 権限 41 M MONRESOURCES 監視権限 22 MONSESSION 監視権限 22 N D NONTEMPORAL 権限 44, 48, 55 DML 制限上書 き 権限 OVERRIDE DELETE CONSTRAINT 66 OVERRIDE INSERT CONSTRAINT 66 OVERRIDE SELECT CONSTRAINT 67 OVERRIDE UPDATE CONSTRAINT 67 行レベル ・ セキ ュ リ テ ィ 権限 66 付与ま たは割当てに関す る ルール 67 DROP FUNCTION 権限 59 DROP GLOP 権限 54, 76 O E EXECUTE FUNCTION 権限 59 G GIVE 16 GIVE、 GRANT と の比較 40 GLOP MEMBER 権限 54, 76 GLOP 権限 54, 76 GRANT 19 GRANT (MONITOR 形式 ) 20 GRANT (SQL 形式 ) 26 GRANT ( ロ ール形式 ) 23 ロ ールの階層構造 24 ロ ールの メ ンバーシ ッ プの付与 23 GRANT CONNECT THROUGH 80 SQL デー タ 制御言語 OVERRIDE DELETE CONSTRAINT 説明 66 付与ま たは割当てに関す る ルール 67 OVERRIDE INSERT CONSTRAINT 説明 66 付与ま たは割当てに関す る ルール 67 OVERRIDE SELECT CONSTRAINT 説明 67 付与ま たは割当てに関す る ルール 67 OVERRIDE UPDATE CONSTRAINT 説明 67 付与ま たは割当てに関す る ルール 67 R REFERENCES 権限 41 REVOKE 99 REVOKE (MONITOR 形式 ) 101 使用規則 102 取消 し 可能な権限 103 REVOKE (SQL 形式 ) 108 UDT の権限取消 し のルール 120 オプシ ョ ン 116 権限取 り 消 し のルール 119 171 索引 あ ス ト ア ド ・ プ ロ シージ ャ に対す る 権限の取消 し の ルール 120 ロ ールか ら の権限取 り 消 し のルール 121 REVOKE(SQL 形式 ) お よ び REVOKE (MONITOR 形式 ) 100 REVOKE ( ロ ール形式 ) 105 ロ ールの取消 し 106 ロ ールの メ ンバーシ ッ プの取消 し 105 REVOKE CONNECT THROUGH 126 REVOKE LOGON 129 アーカ イ ブ / リ カバ リ ー制限上書 き 権限 行レベル ・ セキ ュ リ テ ィ 権限 68 付与ま たは割当てに関す る ルール 68 ア ク セ ス権 権限を参照 アプ リ ケーシ ョ ン ・ プ ロ キ シ ・ ユーザー 81, 83, 85, 126 暗黙的権限 12 S 永久プ ロ キ シ ・ ユーザー 81, 84, 86, 127 SETRESRATE 監視権限 22 SETSESSRATE 監視権限 22 SQL 文 GIVE 16 GRANT 19 GRANT (MONITOR 形式 ) 20 GRANT (SQL 形式 ) 26 GRANT ( ロ ール形式 ) 23 GRANT CONNECT THROUGH 80 GRANT LOGON 94 REVOKE 99 REVOKE (MONITOR 形式 ) 101 REVOKE (SQL 形式 ) 108 REVOKE ( ロ ール形式 ) 105 REVOKE CONNECT THROUGH 126 REVOKE LOGON 129 T Teradata Database 権限 概要 9 Teradata 行レベル ・ セ キ ュ リ テ ィ 権限 63 Teradata 行レベル ・ セ キ ュ リ テ ィ 、 定義 169 Teradata 行レベル ・ セ キ ュ リ テ ィ 用語 Teradata 行レベル ・ セ キ ュ リ テ ィ 169 オブジ ェ ク ト ・ レベル ・ セキ ュ リ テ ィ 167 強制ア ク セ ス制御 166 行レベル ・ セキ ュ リ テ ィ 168 シ ス テ ム ・ レベル ・ セキ ュ リ テ ィ 169 セキ ュ リ テ ィ 信頼証明 169 セキ ュ リ テ ィ ・ ポ リ シー 169 セキ ュ リ テ ィ ・ ラ ベル 169 任意ア ク セ ス制御 164 列レベル ・ セキ ュ リ テ ィ 164 TRANSFER OWNERSHIP。 GIVE を参照。 え お オブジ ェ ク ト ・ レベル ・ セキ ュ リ テ ィ 概要 10 定義 167 か 外部認証 ユーザーへの ロ グオ ン の付与 97 き 規則 REVOKE (SQL 形式 ) 116 揮発表 の権限取消 し の規則 120 強制ア ク セ ス制御、 定義 166 行レベル ・ セキ ュ リ テ ィ 概要 11 定義 168 行レベル ・ セキ ュ リ テ ィ 権限 CONSTRAINT ASSIGNMENT 64 CONSTRAINT DEFINITION 65 DML 制限上書 き 権限 66 アーカ イ ブ / リ カバ リ ー制限上書 き 権限 68 オブジ ェ ク ト ・ レベルで適用 さ れ る 66 シ ス テ ム ・ レベルで適用 さ れ る 64 行レベル ・ セキ ュ リ テ ィ 制約デー タ 格納場所 11 デー タ ・ デ ィ ク シ ョ ナ リ 表 11 く グ ロ ーバル一時表 の権限取消 し の規則 120 U け UDTMETHOD 権限 62 UDTTYPE 権限 62 UDTUSAGE 権限 61 Unicode 文字の命名規則 138 権限 ABORTSESSION 22 AccessRights シ ス テ ム ・ ビ ュ ー列内の コ ー ド 141 ALL PRIVILEGES と UDT 61 172 SQL デー タ 制御言語 索引 CONNECT THROUGH 80, 126 CONSTRAINT ASSIGNMENT 64 CONSTRAINT DEFINITION 65 CREATE EXTERNAL PROCEDURE 権限 57 CREATE FUNCTION 権限 59 CREATE GLOP 権限 54, 76 CTCONTROL 権限 39, 53 DROP FUNCTION 権限 59 DROP GLOP 権限 54, 76 EXECUTE FUNCTION 権限 59 GLOP 54, 76 GLOP MEMBER 54, 76 GRANT (MONITOR 形式 ) の MONITOR 関連権限 20 GRANT の使用 12 GRANT を使用 し て権限を規定す る 19, 21 INDEX 権限 41 MONRESOURCES 監視権限 22 MONSESSION 監視権限 22 NONTEMPORAL 55 REFERENCES 権限 41 SETRESRATES 監視権限 22 SETSESSRATE 監視権限 22 Teradata 行レベル ・ セ キ ュ リ テ ィ 63 UDF に対す る 権限 58 UDTMETHOD 権限 62 UDTTYPE 権限 62 UDTUSAGE 権限 61 UDT に対す る 権限 60 暗黙的 12 オブジ ェ ク ト ・ レベル 10 概要 9 キ ュ ー表に対す る 権限 54 行レベル 11 継承 12 権限が有効にな る 時期 40 権限の期間 121 シ ス テ ム ・ レベル 10 自動 12 ス ト ア ド ・ プ ロ シージ ャ に対す る 権限 55 デー タ ・ デ ィ ク シ ョ ナ リ の権限の略語 38, 116 取消 し が有効にな る タ イ ミ ン グ 118 取 り 消すための要件 118 付与権限の制限 43 明示的 12 明示的に付与す る 必要のあ る 141 明示的に付与す る 必要のあ る 権限の リ ス ト 141 列レベル 41 レベル 10 ロ ールに対す る 権限 69 ロ グオ ン権限の取消 し 129 割 り 当て 13 権限取 り 消 し のルール グ ロ ーバル一時表での 120 SQL デー タ 制御言語 こ 構文図 読み方 133 し シ ス テ ム ・ レベル ・ セキ ュ リ テ ィ 概要 10 シ ス テ ム ・ レベル ・ セキ ュ リ テ ィ 、 定義 169 シ ス テ ム ・ レベルの権限 10 自動権限 作成 さ れたユーザー と デー タ ベース用 141 デー タ ベース と ユーザーの作成者用 141 信頼済みセ ッ シ ョ ン GRANT CONNECT THROUGH 80 REVOKE CONNECT THROUGH 126 アプ リ ケーシ ョ ン ・ プ ロ キ シ ・ ユーザー 81, 83, 85, 126 永久プ ロ キ シ ・ ユーザー 81, 84, 86, 127 信頼済みユーザー 80, 81, 84, 88, 126 信頼済みユーザー 80, 81, 84, 88, 126 せ 制限、 付与権限の 43 セキ ュ リ テ ィ オブジ ェ ク ト ・ レベル 10 行レベル 11 シ ス テ ム ・ レベル 10 レベル 10 セキ ュ リ テ ィ 信頼証明、 定義 169 セキ ュ リ テ ィ ・ ポ リ シー、 定義 169 セキ ュ リ テ ィ ・ ラ ベル、 定義 169 て デー タ ・ デ ィ ク シ ョ ナ リ 行レベル ・ セキ ュ リ テ ィ 制約 メ タ デー タ 11 デー タ ベース権限 概要 9 権限 コ ー ド 略語 141 自動 作成 さ れたユーザー / デー タ ベース用 141 ユーザー / デー タ ベース の作成者用 141 種類 12 単一のキー ワー ド で指定 さ れ る 複数の権限 145 ユーザー権限の判別 158 と 取消 し 、 ロ グオ ン権限の 129 に 日本語文字 コ ー ド 表記 173 索引 読み方 138 任意ア ク セ ス制御 164 は わ 許可 権限を参照 パス ワー ド GRANT LOGON に必要 96 ふ 付与権限の制限 43 プ ロ キ シ ・ ユーザー アプ リ ケーシ ョ ン ・ プ ロ キ シ ・ ユーザー 81, 83, 85, 126 永久プ ロ キ シ ・ ユーザー 81, 84, 86, 127 め 明示的な権限 12 る ルール GRANT (SQL 形式 ) 38 REVOKE (SQL 形式 ) 116 ルール、 権限取 り 消 し の UDT か ら の 120 揮発表での 120 ス ト ア ド ・ プ ロ シージ ャ での 120 ロ ールか ら の 121 ルール、 権限付与の CONSTRAINT ASSIGNMENT 権限 64 CONSTRAINT DEFINITION 権限 65 れ 列レベル権限 41 列レベル ・ セキ ュ リ テ ィ 、 定義 164 ろ ロ ール ア ク テ ィ ブな ロ ール 24 か ら の権限取消 し の規則 121 使用法 24 ロ ールの メ ンバーシ ッ プの取消 し 105 ロ ールの メ ンバーシ ッ プの付与 23 ロ グオ ン パ ス ワ ー ド な し 96 マ ッ プ さ れたユーザーに外部認証を使用す る 方法 97 ユーザー DBC と し て 96 ロ グオ ン権限の取消 し 129 ユーザー DBC の ロ グオ ンは取 り 消 し で き ない 131 174 SQL デー タ 制御言語
© Copyright 2024 Paperzz