Okta による Auth0
Auth0 は、AgentCore Gateway とランタイムにアクセスするための ID プロバイダー、またはアウトバウンドリソースアクセス用の AgentCore Identity 認証情報プロバイダーとして設定できます。これにより、エージェントは ID プロバイダーと認可サーバーとして Auth0 を使用してエージェントユーザーを認証および認可するか、エージェントは Auth0 によって認可されたリソースにアクセスするための認証情報を取得できます。
インバウンド
AgentCore Gateway とランタイムにアクセスするための ID プロバイダーと認可サーバーとして Auth0 を追加するには、以下を実行する必要があります。
-
IDP ディレクトリから検出 URL を設定します。これにより、AgentCore Identity は OAuth 認可サーバーとトークン検証キーに関連するメタデータを取得できます。
-
トークンの有効な
audクレームを入力します。これにより、IDP からのトークンを検証し、予想されるクレームを含むトークンへのアクセスを許可します。
次の手順を使用して Auth0 を設定し、ゲートウェイ認証に必要な設定値を取得します。
インバウンド認証用に Auth0 を設定するには
-
Auth0 で API を作成します。
-
Auth0 ダッシュボードにサインインします。
-
APIs、API の作成を選択します。
-
API の名前と識別子 (「gateway-api」など) を入力します。
-
署名アルゴリズムを選択します (RS256 を推奨)。
-
[作成] を選択します。
-
-
API スコープを設定します。
-
API 設定で、スコープタブに移動します。
-
「invoke:gateway」や「read:gateway」などのスコープを追加します。
-
-
アプリケーションを作成します。
-
アプリケーションを開き、アプリケーションの作成を選択します。
-
Machine to Machine Application を選択します。
-
ステップ 1 で作成した API を選択します。
-
作成したスコープのアプリケーションを認可します。
-
[作成] を選択します。
-
-
アプリケーション設定からクライアント ID とクライアントシークレットを記録します。AgentCore Identity で Auth0 プロバイダーを設定するには、これらの値が必要です。
-
Auth0 テナントの検出 URL を作成します。
https://your-domain/.well-known/openid-configurationyour-domainは Auth0 テナントドメインです (例: "dev-example.us.auth0.com")。 -
次の値を使用してインバウンド認証を設定します。
-
検出 URL: 前のステップで構築された URL
-
許可された対象者: ステップ 1 で作成した API 識別子
-
アウトバウンド
注記
AgentCore Identity は、作成する認証情報プロバイダーごとに一意の OAuth2 コールバック URL を発行します。一意のコールバック URL により、セッションバインディングが有効になります。これにより、OAuth2 認可コード交換をクロスプロバイダーリプレイや CSRF 形式の攻撃から保護できます。これにより、認可レスポンスは、それを開始した特定の認証情報プロバイダーに対してのみ引き換えることができます。URL はプロバイダーごとに一意であるため、 を呼び出すまでわかりませんCreateOauth2CredentialProvider。まず Auth0 アプリケーションを作成し、次に Auth0 ダッシュボードに戻り、AgentCore Identity がコールバック URL を発行したら、コールバック URL を登録します。
ステップ 1: Auth0 アプリケーションを作成する
次の手順を使用して Auth0 OAuth2 アプリケーションをセットアップし、AgentCore Identity に必要なクライアント認証情報を取得します。AgentCore Identity が一意のコールバック URL を発行した後、ステップ 3 でリダイレクト URI を登録します。
Auth0 OAuth2 アプリケーションを設定するには
-
Auth0 ダッシュボードにサインインします。
-
アプリケーションを開き、アプリケーションの作成を選択します。
-
アプリケーションの名前を入力し、アプリケーションタイプとして通常のウェブアプリケーションを選択します。
-
[作成] を選択します。
-
アプリケーションの設定タブで、現時点では許可されたコールバック URLs空のままにします。ステップ 3 で一意のコールバック URL を追加します。
-
アプリケーションに必要な接続、スコープ、アクセス許可を設定します。
-
アプリケーション設定からクライアント ID とクライアントシークレットを記録します。AgentCore Identity で Auth0 プロバイダーを設定するには、これらの値が必要です。
-
Auth0 テナントドメイン ( など
dev-example.us.auth0.com) を書き留めます。これを使用して、ステップ 2 で認可、トークン、発行者のエンドポイントを作成します。
詳細については、アプリケーションの作成に関する Auth0 のドキュメント
ステップ 2: AgentCore Identity 認証情報プロバイダーを作成する
Auth0 をアウトバウンドリソースプロバイダーとして設定するには、以下を使用します。
{ "name": "NAME", "credentialProviderVendor": "Auth0Oauth2", "oauth2ProviderConfigInput" : { "includedOauth2ProviderConfig": { "clientId": "your-client-id", "clientSecret": "your-client-secret", "authorizationEndpoint": "https://your-auth0-tenant.auth0.com/authorize", "tokenEndpoint": "https://your-auth0-tenant.auth0.com/oauth/token", "issuer": "https://your-auth0-tenant.auth0.com" } } }
CreateOauth2CredentialProvider レスポンスには callbackUrlフィールドが含まれます。この URL はこの認証情報プロバイダーに固有であり、 のようになりますhttps://bedrock-agentcore.us-east-1.amazonaws.com/identities/oauth2/callback/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX。次のステップでこの値を保存します。
ステップ 3: 一意のコールバック URL を Auth0 に登録する
Auth0 ダッシュボードに戻り、アプリケーションの許可されたコールバックに一意のコールバック URL を追加します。
-
Auth0 ダッシュボードにサインインし、ステップ 1 で作成したアプリケーションを開きます。
-
設定タブで、 から返された
callbackUrl値を許可されたコールバック URLCreateOauth2CredentialProviderに貼り付けます。 URLs -
[Save changes] (変更の保存) をクリックします。