ノート:
- このチュートリアルでは、Oracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントに例の値を使用します。演習を完了するときは、これらの値をクラウド環境に固有の値に置き換えます。
Oracle Autonomous DatabaseでのOracle Cloud Infrastructure Identity and Access Management認証の使用
イントロダクション
Oracle Cloud Infrastructure Identity and Access Management (OCI IAM)データベース・パスワードを使用すると、Oracle Databaseユーザーが通常ユーザー名とパスワードでログインするようにIAMユーザーがOracle Autonomous Databaseインスタンスにログインできます。ユーザーは、IAMユーザー名およびIAMデータベース・パスワードを入力します。IAMデータベース・パスワードは、Oracle Cloud Infrastructure (OCI)コンソール・パスワードとは異なるパスワードです。パスワード・ベリファイアでIAMユーザーを使用すると、サポートされている任意のデータベース・クライアントでAutonomous Databaseにログインできます。
OCI IAMは、適切なユーザーのみが組織のデータとリソースにアクセスできるようにすることです。IAMユーザーがIAM資格証明を使用してデータベースにアクセスできるように、OCI IAM認証および認可を使用するようにOracle Databaseを構成できます。IAMでユーザーと資格証明の管理を一元化することで、データベース・ユーザーのセキュリティ、管理性およびユーザー・エクスペリエンスが向上します。
対象読者
OCI IAMのプロフェッショナルおよび管理者。
目標
IAMユーザーがIAM資格証明を使用してOracle Autonomous Databaseにアクセスできるように、OCI IAM認証および認可を使用するようにOracle Autonomous Databaseを構成します。
前提条件
-
OCIにプロビジョニングされたAutonomous Database。
-
管理者権限を持つOCI IAMアイデンティティ・ドメイン・テナンシ。
-
Autonomous Database接続をテストするためのOracle Databaseツール。Oracle Databaseツールを使用したAutonomous Databaseへの接続を参照してください。このチュートリアルでは、Windowsシステムの新規Oracle ClientインストールでSQL*Plusコマンドライン・インタフェースを使用します。
タスク1: データベース・グループ、ユーザーおよびポリシーの作成
-
「アイデンティティとセキュリティ」、「グループ」の順にナビゲートし、「グループの作成」をクリックします。グループを作成するには、次の詳細を指定します:
DB_Admins
およびDB_Users
。-
「名前」
DB_Admins
および「説明」DB_Admins
を使用して最初のグループを作成し、「作成」をクリックします。 -
「名前」
DB_Users
および「説明」DB_Users
を使用して2番目のグループを作成し、「作成」をクリックします。
-
-
「アイデンティティ」、「ポリシー」に移動して次の詳細を入力し、「ポリシーの作成」をクリックします。
-
名前:
ADB-Access-Policy
-
説明:
ADB-Access-Policy
-
Compartment: 正しいコンパートメントが選択されていることを確認します。
-
ポリシー・ビルダー: 「手動エディタの表示」オプションを選択します
allow group DB_Users, DB_Admins to use database-connections in compartment <compartment-name> allow group DB_Users, DB_Admins to use autonomous-database-family in compartment <compartment-name>
-
-
「アイデンティティ」、「ユーザー」にナビゲートし、次の詳細を入力して2人のテスト・ユーザー(
testuser1
およびtestuser2
)を作成し、「作成」をクリックします。-
ユーザー・タイプの選択: IAMユーザー
-
ユーザー名:
testuser1
-
説明:
testuser1
-
電子メール:
testuser1@demo.com
-
電子メールの確認:
testuser1@demo.com
-
-
testuser1をDB_Usersグループに追加します。
-
ステップ3を繰り返して、
testuser2
を設定します。-
ユーザー・タイプの選択: IAMユーザー
-
ユーザー名:
testuser2
-
説明:
testuser2
-
電子メール:
testuser2@demo.com
-
電子メールの確認:
testuser2@demo.com
-
-
testuser2をDB_AdminsおよびDB_Usersグループに追加します。
タスク2: ユーザーのIAMデータベース・パスワードの設定
-
「アイデンティティ」および「ユーザー」に移動します。
-
testuser1
を選択します。データベース・ユーザー名はtestuser1です。「データベース・パスワード」を選択して次の詳細を入力し、「データベース・パスワードの作成」をクリックします。-
説明:
password
-
パスワード: password
-
パスワードの確認: password
-
-
testuser2
を選択します。データベース・ユーザー名はtestuser2です。「データベース・パスワード」を選択し、次の詳細を入力して、「データベース・パスワードの作成」をクリックします。-
説明:
password
-
パスワード: password
-
パスワードの確認: password
これで、
testuser1
およびtestuser2
のデータベース・パスワードが正常に作成されました。 -
タスク3: DB_UsersおよびDB_Adminsグループのグローバル・ユーザー・スキーマ・マッピングおよびロール・マッピングを作成するためのデータベースの構成
-
OCIで、Autonomous Database、データベース・アクションおよびSQLに移動します。SQLセッションが作成されます。
-
次の問合せを使用して、Autonomous Databaseの現在の外部アイデンティティ・プロバイダを確認します。
SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
ノート: 現在、「なし」に設定されています。
-
次の問合せを使用して、OCI IAMをAutonomous Databaseの外部アイデンティティ・プロバイダとして構成します。
EXEC DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION('OCI_IAM');
SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
ノート: 現在、OCI_IAMに設定されています。
-
SQLでDB_UsersおよびDB_Adminsグループのグローバル・ユーザー・スキーマ・マッピングおよびロール・マッピングを作成するためのデータベースを構成します。
CREATE USER global_user IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=DB_Users'; CREATE ROLE global_role IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=DB_Admins'; grant CREATE SESSION to global_user; grant DWROLE to global_role; grant CREATE SESSION to global_role;
タスク4: SQL*Plusデータベース・クライアントのダウンロード
-
オペレーティング・システムに基づいて、Oracle Databaseクライアント・リリース19c - 19.20.0の最新リリース更新をインストールしてください。このチュートリアルでは、Windows OSを使用しています。
-
SQL*Plus DBクライアントをダウンロードします。SQL*Plus DBクライアントのインストールを参照してください。
タスク5: Walletのダウンロード
-
「Oracle Cloud」、「データベース」、「Autonomous Database」に移動し、プロビジョニングされたAutonomous Databaseを選択して、「データベース接続」をクリックします。
-
パスワードを入力し、ウォレットをダウンロードします。
タスク6: sqlnet.ora
のWalletの場所を更新し、TNS Admin変数を設定します
-
sqlnet.ora
ファイルのダウンロードしたウォレットの場所のパスを更新します。 -
環境変数TNS_Adminをウォレットの場所のパスで設定します。
タスク7: PowerShellを使用したDBへの接続
-
Windows PowerShellを開き、次の問合せを入力します。
sqlplus /nolog
-
管理者ユーザーのローカル認証を示します。
conn admin/password@adwtest_high
exit
これで、管理者としてAutonomous Databaseに正常に接続されました。
-
testuser1
およびtestuser2
のパスワードベース認証を示し、データベース内のユーザーおよびロールを検証します。次のSQL問合せを実行して、testuser2としてAutonomous Databaseに接続します。conn testuser1/password@adwtest_high
testuser1
として接続しています。次のSQL問合せを1つずつ実行し、出力を確認してユーザーおよびロールを検証します。SELECT SYS_CONTEXT ('USERENV','CURRENT_USER') FROM DUAL;
SELECT SYS_CONTEXT ('USERENV','AUTHENTICATED_IDENTITY') FROM DUAL;
SELECT SYS_CONTEXT ('USERENV','ENTERPRISE_IDENTITY') FROM DUAL;
SELECT * FROM SESSION_ROLES;
exit
これで、Autonomous Databaseへの接続がtestuser1として正常にテストされました。
-
次のSQL問合せに進み、Autonomous Databaseにtestuser2として接続します。
conn testuser2/password@adwtest_high
testuser2
として接続しています。次に、次のSQL問合せを1つずつ実行し、出力を確認してユーザーおよびロールを検証します。SELECT SYS_CONTEXT ('USERENV','CURRENT_USER') FROM DUAL;
SELECT SYS_CONTEXT ('USERENV','AUTHENTICATED_IDENTITY') FROM DUAL;
SELECT SYS_CONTEXT ('USERENV','ENTERPRISE_IDENTITY') FROM DUAL;
SELECT * FROM SESSION_ROLES;
exit
これで、Autonomous Databaseへの接続がtestuser2として正常にテストされました。
関連リンク
確認
-
著者 - Indiradarshni Balasundaram、Alex Kovuru、Anuj Tripathi
-
貢献者 - Deepak Rao
その他の学習リソース
docs.oracle.com/learnの他のラボをご覧いただくか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントは、Oracle Help Centerを参照してください。
Use Oracle Cloud Infrastructure Identity and Access Management Authentication with Oracle Autonomous Database
F89542-01
November 2023
Copyright © 2023, Oracle and/or its affiliates.