Autonomous AI DatabaseでのMicrosoft Entra ID認証の有効化

Microsoft Entra ID管理者およびAutonomous AI Database管理者は、Autonomous AI DatabaseでEntra ID認証を構成するステップを実行します。

Microsoft Entra IDテナンシへのOracle AI Databaseインスタンスの登録

Entra ID管理者権限を持つユーザーは、Microsoft Entra IDを使用して、Oracle AI DatabaseインスタンスをMicrosoft Entra IDテナンシに登録します。

  1. アプリケーションを登録するためのMicrosoft Entra ID権限を持つ管理者としてAzureポータルにログインします。

  2. 「Azure Active directory admin center」ページの左側のナビゲーション・バーから、「Azure Active Directory」を選択します。

  3. 「MS - App registrations」ページで、左側のナビゲーション・バーから「App registrations」を選択します。

  4. 「New registration」を選択します。

    「Register an application」ウィンドウが表示されます。

  5. 「Register an application」ページで、次のOracle AI Databaseインスタンス登録情報を入力します:

    • 「Name」フィールドに、Oracle AI Databaseインスタンス接続の名前(Example Databaseなど)を入力します。

    • 「Supported account types」で、ユース・ケースに一致するアカウント・タイプを選択します。

      • この組織ディレクトリ内のアカウントのみ(tenant_nameのみ- Single tenant)

      • 組織ディレクトリ内のアカウント(任意のEntra IDディレクトリ- マルチテナント)

      • 任意の組織ディレクトリ(任意のEntra IDディレクトリ- マルチテナント)および個人用 Microsoftアカウント(Skype、Xboxなど)のアカウント

      • Personal Microsoft accounts only

  6. 「Redirect URI (Optional)」設定は省略します。Entra IDにはデータベース・サーバー用のリダイレクトURIが不要なため、これを作成する必要はありません。

  7. 「登録」をクリックします。

    「Register」をクリックすると、Entra IDにアプリの登録の「Overview」ペインが表示され、「Essentials」の下にアプリケーション(クライアント)(ID)が表示されます。この値は、Microsoft IDプラットフォームでのアプリケーションの一意識別子です。アプリケーションという用語は、Oracle AI Databaseインスタンスを指します。

  8. データベース・アプリケーション登録のスコープを登録します。

    スコープとは、データベースにアクセスする権限です。各データベースには、データベース・スコープを使用する権限のリクエストによって、クライアントがデータベースとの信頼を確立できるようにするスコープが必要です。これにより、データベース・クライアントはデータベースのアクセス・トークンを取得できます。

    1. 左側のナビゲーション・バーから、「Expose an API」を選択します。

    2. 「Set the App ID URI」の「Application ID URI」フィールドに、次のフォーマットを使用してデータベース接続のアプリID URIを入力し、「Save」をクリックします:

      your_tenancy_url/application_(client)_id

      この指定の内容は次のとおりです。

      • your_tenancy_urlには、Entra IDテナンシの接頭辞および完全修飾ドメイン名としてhttpsを含める必要があります。

      • application_(client)_idは、Oracle AI DatabaseインスタンスをEntra IDに登録したときに生成されたIDである。これは、アプリケーション登録の「Overview」ペインに表示されます。

      たとえば:

      https://sales_west.example.com/1aa11111-1a1z-1a11-1a1a-11aa11a1aa1a
    3. 「Add a scope」を選択し、次の設定を入力します:

これらのステップを完了すると、1つ以上のAzureアプリケーション・ロールを追加し、Oracleスキーマおよびロールのマッピングを実行する準備が整います。

Microsoft Entra ID v2アクセス・トークンの有効化

Oracle AI Databaseでは、v1およびv2 Azure AD OAuth2アクセス・トークンとの統合がサポートされています。

Oracle AI Databaseでは、Entra ID v2トークンとデフォルトのv1トークンがサポートされています。ただし、Entra ID v2トークンを使用するには、Oracle AI Databaseで機能すること確認するために追加のステップを実行する必要があります。このトークンの使用は、アプリケーション登録エクスペリエンスを使用してAzureポータルに登録されているアプリケーションで可能です。

Azure AD v2 OAuth2アクセス・トークンを使用すると、資格証明フローが変更なしで以前と同様に引き続き機能します。ただし、対話型フローでv2トークンを使用する場合は、upn:クレームを追加する必要があります。

  1. 使用しているEntra IDアクセス・トークンのバージョンを確認します。

  2. Microsoft Entra IDポータルにログインします。

  3. Entra IDを検索して選択します。

  4. 「Manage」で、「App registrations」を選択します。

  5. シナリオおよび目的の結果に基づいてオプションの要求を構成するアプリケーションを選択します。

  6. 「Manage」で、「Token configuration」を選択します。

  7. 「Add optional claim」をクリックし、「upn」を選択します。

v2トークンを使用すると、aud:クレームにはAPP ID値のみが反映されます。v2トークンが使用されている場合、https:domain接頭辞をAPP ID URIに設定する必要はありません。これにより、デフォルトのAPP ID URIを使用できるため、データベースの構成が簡略化されます。

JSON WebトークンのWebサイトを使用すると、サイトで使用されているEntra IDアクセス・トークンのバージョンを確認できます。

Entra IDアクセス・トークン・バージョンのチェック

JSON WebトークンのWebサイトを使用すると、サイトで使用されているEntra IDアクセス・トークンのバージョンを確認できます。

デフォルトではEntra ID v1アクセス・トークンですが、サイトでv2の使用が選択されている場合があります。Oracle AI Databaseではv1トークンがサポートされており、Autonomous AI Database Serverlessではv2トークンもサポートされている。v2アクセス・トークンを使用する必要がある場合は、Oracle AI Databaseに対してそれらの使用を有効にできます。使用しているEntra IDアクセス・トークンのバージョンを検索するには、次のようにEntra ID管理者に問い合せるか、JSON WebトークンのWebサイトからバージョンを確認できます。

  1. JSON WebトークンのWebサイトにアクセスします。

    https://jwt.io/
  2. トークン文字列をコピーして「エンコード」フィールドに貼り付けます。

  3. 「デコード」フィールドを確認します。このフィールドにはトークン文字列に関する情報が表示されます。

    そのフィールドの近くか下部に、次のバージョンのいずれかを示すverというクレームが表示されます。

    • "ver": "1.0"

    • "ver": "2.0"

Microsoft Entra IDでのアプリケーション・ロール管理

Entra IDでは、Azureユーザーおよびグループに割り当てられ、Oracle AI Databaseのグローバル・スキーマおよびロールにもマップされるアプリケーション・ロールを作成および管理できます。

Microsoft Entra IDアプリケーション・ロールの作成

データベースに接続する必要のあるAzureユーザー、グループおよびアプリケーションは、データベース・アプリケーション・ロールに割り当てられます。

アプリケーション・ロールの作成方法の詳細なステップは、Microsoft Azureの記事のAzure Active Directoryでのカスタム・ロールの作成および割当てを参照してください。次のステップでは、Oracle AI Databaseで使用するアプリケーション・ロールを作成する方法について説明します。

  1. アプリケーション・ロールを作成する権限を持つ管理者としてEntra IDにログインします。

  2. 作成したOracle AI Databaseアプリケーション登録にアクセスします。

    1. 「Directory + subscription」フィルタを使用して、Oracle AI Databaseアプリ登録を含むEntra IDテナントを見つけます。

    2. 「Azure Active Directory」を選択します。

    3. 「Manage」で、「App registrations」を選択し、以前に登録したOracle AI Databaseインスタンスを選択します。

  3. 「Manage」で、「App roles」を選択します。

  4. 「App roles」ページで、「Create app role」を選択します。

  5. 「Create app role」ページで、次の情報を入力します:

    • 「Display name」は、ロール表示名です(HR App Schemaなど)。この名前にはスペースを含めることができます。

    • 「Value」は、ロールの実際の名前です(HR_APPなど)。この設定は、スキーマまたはロールへのデータベース・マッピングで参照される文字列と正確に一致させます。この名前にはスペースを含めないでください。

    • 「摘要」では、このロールの目的について説明します。

    • 「Do you want to enable this app role?」では、ロールをアクティブにできます。

  6. 「適用」をクリックします

    アプリケーション・ロールが「App roles」ペインに表示されます。

Microsoft Entra IDアプリケーション・ロールへのユーザーおよびグループの割当

Microsoft AzureユーザーがOracle AI Databaseにアクセスできるようにするには、まず、Oracle AI Databaseスキーマ・ユーザーまたはロールにマップされるアプリケーション・ロールに割り当てる必要があります。

ユーザーおよびグループをアプリケーション・ロールに割り当てる詳細なステップは、Microsoft Azureの記事のアプリケーションへのアプリケーション・ロールの追加とトークンでの受信を参照してください。次のステップでは、Oracle AI Databaseの統合のためにこれを行う方法について説明します。

  1. AzureユーザーおよびEntra IDグループをアプリケーション・ロールに割り当てる権限を持つ管理者としてEntra IDにログインします。

  2. エンタープライズ・アプリケーションで、作成したOracle AI Databaseアプリケーション登録の名前を検索します。これは、アプリケーション登録の作成時に自動的に作成されます。

    1. 「Directory + subscription」フィルタを使用して、Oracle接続を含むAzure Active Directoryテナントを検索します。

    2. 「Azure Active Directory」を選択します。

    3. 「Manage」で、「Enterprise applications」を選択し、以前登録したOracle AI Databaseアプリケーション登録名を選択します。

  3. 「Getting Started」で、「Assign users and groups」を選択します。

  4. 「Add user/group」を選択します。

  5. 「Add assignment」ウィンドウで、「Users and groups」を選択して、ユーザーおよびセキュリティ・グループのリストを表示します。

  6. このリストから、アプリケーション・ロールに追加するユーザーおよびグループを選択し、「Select」をクリックします。

  7. 「Add assignment」ウィンドウで、「Select a role」を選択して、作成したアプリケーション・ロールのリストを表示します。

  8. アプリケーション・ロールを選択し、「Select」をクリックします。

  9. 「割当て」をクリックします。

アプリケーション・ロールへのアプリケーションの割当

クライアント資格証明フローを使用してデータベースに接続する必要のあるアプリケーションは、アプリケーション・ロールに割り当てる必要があります。

  1. AzureユーザーおよびEntra IDグループをアプリケーション・ロールに割り当てる権限を持つ管理者としてEntra IDにログインします。

  2. アプリケーションのアプリケーション登録にアクセスします。

  3. 「Manage」で、「API permissions」を選択します。

  4. 「Configured permissions」領域内で、「+ Add a permission」を選択します。

  5. 「Request API permission」ペインで、「My APIs」タブを選択します。

  6. このアプリケーションでアクセスする権限を付与するOracle AI Databaseアプリケーションを選択します。次に、「Application permissions」オプションを選択します。

  7. アプリケーションに割り当てるデータベース・アプリケーション・ロールを選択し、画面の下部にある「Add Permission」ボックスをクリックしてアプリケーション・ロールを割り当て、ダイアログ・ボックスを閉じます。割り当てたアプリケーション・ロールが「Configured permissions」の下に表示されていることを確認します。

  8. 「Grant admin consent for tenancyを選択して、テナンシ・ユーザーに同意の付与を行い、確認ダイアログ・ボックスで「Yes」をクリックします。

関連項目: 管理者の同意ワークフローの構成

Autonomous AI Databaseの外部アイデンティティ・プロバイダとしてのMicrosoft Entra IDの構成

自律型AIデータベース管理者は、自律型AIデータベース・インスタンスの外部アイデンティティ・プロバイダとしてEntra IDを有効にできます。

外部アイデンティティ・プロバイダとしてEntra IDを有効にするには:

  1. Autonomous AI Databaseインスタンスに、DBMS_CLOUD_ADMIN PL/SQLパッケージに対するEXECUTE権限を持つユーザーとしてログインします。ADMINユーザーはこの権限を持ちます。

  2. Entra ID必須パラメータを指定してDBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATIONプロシージャを実行します。

    BEGIN
      DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
          type   =>'AZURE_AD',
          params => JSON_OBJECT('tenant_id' VALUE 'tenant_id',
                                'application_id' VALUE 'application_id',
                                'application_id_uri' VALUE 'application_id_uri'),
          force => TRUE
      );
    END;

    この手順では、Entra IDパラメータは次のとおりです。

    • type: 外部認証プロバイダを指定します。Entra IDには、次に示すように'AZURE_AD'を使用します。

    • params: 必要なEntra IDパラメータの値は、Azure Active Directoryのアプリケーション登録の「概要」ペインのAzureポータルから入手できます。Entra IDに必要なparamsは次のとおりです。

      • tenant_id: AzureアカウントのテナントID。テナントIDは、Autonomous AI DatabaseインスタンスのEntra IDアプリケーション登録を指定します。

      • application_id: Autonomous AI Databaseインスタンスで外部認証用のロール/スキーマ・マッピングを割り当てるためにEntra IDで作成されたAzureアプリケーションID。

      • application_id_uri: Azureアプリケーションに割り当てられた一意のURI。

        これは、Autonomous AI Databaseインスタンスの識別子です。名前はドメイン修飾である必要があります(これにより、クロス・テナンシ・リソース・アクセスがサポートされます)。

        このパラメータの最大長は256文字です。

    • force: 別のEXTERNAL AUTHENTICATIONメソッドがAutonomous AI Databaseインスタンスに対して構成されており、それを無効にする場合は、このパラメータをTRUEに設定します。

    次に例を示します。

    BEGIN
      DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
          type   =>'AZURE_AD',
          params => JSON_OBJECT('tenant_id' VALUE '29981886-6fb3-44e3-82',
                                'application_id' VALUE '11aa1a11-aaa',
                                'application_id_uri' VALUE 'https://example.com/111aa1aa'),
          force  => TRUE
      );
    END;

    これにより、IDENTITY_PROVIDER_TYPEシステム・パラメータが設定されます。

    たとえば、次を使用してIDENTITY_PROVIDER_TYPEを検証できます。

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

    詳細は、ENABLE_EXTERNAL_AUTHENTICATIONプロシージャを参照してください。

関連コンテンツ