ノート:

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を構成します。

前提条件

タスク1: データベース・グループ、ユーザーおよびポリシーの作成

  1. 「アイデンティティとセキュリティ」「グループ」の順にナビゲートし、「グループの作成」をクリックします。グループを作成するには、次の詳細を指定します: DB_AdminsおよびDB_Users

    データベース作成グループ

    • 「名前」 DB_Adminsおよび「説明」 DB_Adminsを使用して最初のグループを作成し、「作成」をクリックします。

      データベース作成グループ

    • 「名前」 DB_Usersおよび「説明」 DB_Usersを使用して2番目のグループを作成し、「作成」をクリックします。

      データベース作成グループ

  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>
      

      データベース作成ポリシー

  3. 「アイデンティティ」「ユーザー」にナビゲートし、次の詳細を入力して2人のテスト・ユーザー(testuser1およびtestuser2)を作成し、「作成」をクリックします。

    • ユーザー・タイプの選択: IAMユーザー

    • ユーザー名: testuser1

    • 説明: testuser1

    • 電子メール: testuser1@demo.com

    • 電子メールの確認: testuser1@demo.com

      データベース作成ユーザー

  4. testuser1DB_Usersグループに追加します。

    データベース作成ユーザー

  5. ステップ3を繰り返して、testuser2を設定します。

    • ユーザー・タイプの選択: IAMユーザー

    • ユーザー名: testuser2

    • 説明: testuser2

    • 電子メール: testuser2@demo.com

    • 電子メールの確認: testuser2@demo.com

      データベース作成ユーザー

  6. testuser2DB_AdminsおよびDB_Usersグループに追加します。

    データベース作成ユーザー

    データベース作成ユーザー

タスク2: ユーザーのIAMデータベース・パスワードの設定

  1. 「アイデンティティ」および「ユーザー」に移動します。

  2. testuser1を選択します。データベース・ユーザー名はtestuser1です。「データベース・パスワード」を選択して次の詳細を入力し、「データベース・パスワードの作成」をクリックします。

    • 説明: password

    • パスワード: password

    • パスワードの確認: password

      IAMデータベース・パスワードの設定

  3. testuser2を選択します。データベース・ユーザー名はtestuser2です。「データベース・パスワード」を選択し、次の詳細を入力して、「データベース・パスワードの作成」をクリックします。

    • 説明: password

    • パスワード: password

    • パスワードの確認: password

    これで、testuser1およびtestuser2のデータベース・パスワードが正常に作成されました。

タスク3: DB_UsersおよびDB_Adminsグループのグローバル・ユーザー・スキーマ・マッピングおよびロール・マッピングを作成するためのデータベースの構成

  1. OCIで、Autonomous Databaseデータベース・アクションおよびSQLに移動します。SQLセッションが作成されます。

    Autonomous Database

    Autonomous Database

  2. 次の問合せを使用して、Autonomous Databaseの現在の外部アイデンティティ・プロバイダを確認します。

    SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
    

    外部IDプロバイダの確認

    ノート: 現在、「なし」に設定されています。

  3. 次の問合せを使用して、OCI IAMをAutonomous Databaseの外部アイデンティティ・プロバイダとして構成します。

    EXEC DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION('OCI_IAM');
    

    アイデンティティ・プロバイダとしてのOCI IAMの設定

    SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
    

    外部IDプロバイダの確認

    ノート: 現在、OCI_IAMに設定されています。

  4. 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データベース・クライアントのダウンロード

  1. オペレーティング・システムに基づいて、Oracle Databaseクライアント・リリース19c - 19.20.0の最新リリース更新をインストールしてください。このチュートリアルでは、Windows OSを使用しています。

  2. SQL*Plus DBクライアントをダウンロードします。SQL*Plus DBクライアントのインストールを参照してください。

タスク5: Walletのダウンロード

  1. 「Oracle Cloud」「データベース」「Autonomous Database」に移動し、プロビジョニングされたAutonomous Databaseを選択して、「データベース接続」をクリックします。

    Walletのダウンロード

  2. パスワードを入力し、ウォレットをダウンロードします。

    Walletのダウンロード

タスク6: sqlnet.oraのWalletの場所を更新し、TNS Admin変数を設定します

  1. sqlnet.oraファイルのダウンロードしたウォレットの場所のパスを更新します。

    Walletのダウンロード

    Walletのダウンロード

  2. 環境変数TNS_Adminをウォレットの場所のパスで設定します。

    Walletのダウンロード

タスク7: PowerShellを使用したDBへの接続

  1. Windows PowerShellを開き、次の問合せを入力します。

    sqlplus /nolog
    
  2. 管理者ユーザーローカル認証を示します。

    conn admin/password@adwtest_high
    
    exit
    

    管理ユーザーとして接続済

    これで、管理者としてAutonomous Databaseに正常に接続されました。

  3. 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
    

    testuser1として接続

    これで、Autonomous Databaseへの接続がtestuser1として正常にテストされました。

  4. 次のSQL問合せに進み、Autonomous Databasetestuser2として接続します。

    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
    

    testuser2として接続

    これで、Autonomous Databaseへの接続がtestuser2として正常にテストされました。

確認

その他の学習リソース

docs.oracle.com/learnの他のラボをご覧いただくか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品ドキュメントは、Oracle Help Centerを参照してください。