View a markdown version of this page

Okta - Amazon Bedrock AgentCore

Okta

Okta は、AgentCore Gateway とランタイムにアクセスするための ID プロバイダー、またはアウトバウンドリソースアクセス用の AgentCore Identity 認証情報プロバイダーとして設定できます。これにより、エージェントは ID プロバイダーおよび認可サーバーとして Okta を使用してエージェントユーザーを認証および認可できます。また、エージェントは Okta によって認可されたリソースにアクセスするための認証情報を取得できます。

インバウンド

AgentCore Gateway とランタイムにアクセスするための ID プロバイダーと認可サーバーとして Okta を追加するには、以下を実行する必要があります。

  • Okta テナントから検出 URL を設定します。これにより、AgentCore Identity は OAuth 認可サーバーとトークン検証キーに関連するメタデータを取得できます。

  • トークンの有効なaudクレームを入力します。これにより、IdP からのトークンを検証し、予想されるクレームを含むトークンへのアクセスを許可します。

インバウンド認証用に Okta を設定するには

  1. Okta デベロッパーコンソールを開きます。

  2. 左側のナビゲーションバーで、アプリケーションを選択します。

  3. [Create App Integration] (アプリの統合の作成) を選択します。

  4. アプリケーションのサインイン方法として OIDC - OpenID Connect を選択します。

  5. アプリケーションタイプとしてウェブアプリケーションを選択します。

  6. アプリケーションの名前を入力します。

  7. 必要に応じて、認可コードクライアント認証情報を選択します。

  8. サインインリダイレクト URIsOkta トークンを受け取るアプリケーションエンドポイントを追加します。

  9. 必要に応じて割り当てセクションを調整します。

  10. [保存] を選択します。

  11. アプリケーションを表す Okta API を作成します。

    • 左側のナビゲーションバーで、セキュリティを選択します。

    • API に移動し、認可サーバーの追加を選択します。

    • フローに従って、Okta テナント専用の認可サーバーを作成します。

    • 認可サーバーを作成したら、概要ページのアクセスポリシータブを選択して、適切なアクセスポリシーを設定します。

    • アプリケーションに必要な認可サーバーに必要なカスタムスコープを定義します。

  12. Okta テナントの検出 URL を作成します。

    https://your-tenant.okta.com/oauth2/your-authorization-server
  13. 次の値を使用してインバウンド認証を設定します。

    • 検出 URL: 前のステップで構築された URL

    • 許可された対象者: ステップ 11 で API を作成するときに指定した対象者の値

詳細については、Okta のドキュメントを参照してください。

アクセストークンクレームに client_id クレームを追加する

デフォルトでは、Okta はトークンに標準クレームclient_idとして を含めません。トークンにクレームを入力するには、トークンの発行に使用する認可サーバーを使用してクレームをカスタマイズする必要があります。

アクセストークンに client_id クレームを追加するには

  1. 左側のナビゲーションバーで、セキュリティ を選択します。API に移動し、アプリケーションに使用する認可サーバーを選択します。

  2. 認可サーバーの詳細ページで、クレームタブを選択し、クレームの追加を選択します。

  3. 新しいクレーム client_id に名前を付け、値を app.clientId に設定します。

  4. トークンタイプに含めアクセストークンに設定します。

  5. [保存] を選択します。

詳細については、Okta のドキュメントを参照してください。

アウトバウンド

注記

AgentCore Identity は、作成する認証情報プロバイダーごとに一意の OAuth2 コールバック URL を発行します。一意のコールバック URL により、セッションバインディングが有効になります。これにより、OAuth2 認可コード交換をクロスプロバイダーリプレイや CSRF 形式の攻撃から保護できます。これにより、認可レスポンスは、それを開始した特定の認証情報プロバイダーに対してのみ引き換えることができます。URL はプロバイダーごとに一意であるため、 を呼び出すまでわかりませんCreateOauth2CredentialProvider。最初に Okta OIDC アプリケーションを作成し、次に Okta デベロッパーコンソールに戻り、AgentCore Identity がコールバック URL を発行したら、コールバック URL を登録します。

ステップ 1: Okta OIDC アプリケーションを作成する

「インバウンド」セクションの手順に従って、Okta OIDC アプリケーションと認可サーバーを作成します。アプリケーション設定でサインインリダイレクト URIs の入力を求められたら、ここでは フィールドを空のままにします。ステップ 3 で一意のコールバック URL を追加します。

ステップ 2: AgentCore Identity 認証情報プロバイダーを作成する

AgentCore Identity で Okta をアウトバウンドリソースプロバイダーとして設定するには、以下を使用します。

{ "name": "Okta", "credentialProviderVendor": "OktaOauth2", "oauth2ProviderConfigInput" : { "includedOauth2ProviderConfig": { "clientId": "your-client-id", "clientSecret": "your-client-secret", "authorizationEndpoint": "https://your-tenant.okta.com/oauth2/your-authorization-server/v1/authorize", "tokenEndpoint": "https://your-tenant.okta.com/oauth2/your-authorization-server/v1/token", "issuer": "https://your-tenant.okta.com/oauth2/your-authorization-server" } } }

Okta OAuth 2.0 on-behalf-of使用するには、カスタムプロバイダーを使用して高度な設定を行います。詳細については、AgentCore Identity On-behalf-of」を参照してください。

{ "name": "Okta", "credentialProviderVendor": "CustomOauth2", "oauth2ProviderConfigInput": { "customOauth2ProviderConfig": { "clientAuthenticationMethod": "CLIENT_SECRET_BASIC", "clientId": "your-client-id", "clientSecret": "your-client-secret", "oauthDiscovery": { "authorizationServerMetadata": { "authorizationEndpoint": "https://your-tenant.okta.com/oauth2/your-authorization-server/v1/authorize", "tokenEndpoint": "https://your-tenant.okta.com/oauth2/your-authorization-server/v1/token", "issuer": "https://your-tenant.okta.com/oauth2/your-authorization-server" } }, "onBehalfOfTokenExchangeConfig": { "grantType": "TOKEN_EXCHANGE", "tokenExchangeGrantTypeConfig": { "actorTokenContent": "NONE" } } } } }

CreateOauth2CredentialProvider レスポンスには callbackUrlフィールドが含まれます。この URL はこの認証情報プロバイダーに固有であり、 のようになりますhttps://bedrock-agentcore.us-east-1.amazonaws.com/identities/oauth2/callback/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX。次のステップでこの値を保存します。

ステップ 3: Okta に一意のコールバック URL を登録する

Okta 開発者コンソールに戻り、アプリケーションのサインインリダイレクト URIs に一意のコールバック URL を追加します。

  1. Okta デベロッパーコンソールにサインインし、ステップ 1 で作成した OIDC アプリケーションを開きます。

  2. 全般タブを開き、LOGIN 設定を編集します。

  3. によって返されたcallbackUrl値をサインインリダイレクト URI CreateOauth2CredentialProviderに追加します。 URIs

  4. [保存] を選択します。