View a markdown version of this page

Okta - Amazon Grundgestein AgentCore

Okta

Okta kann als Identitätsanbieter für den Zugriff auf AgentCore Gateway und Runtime oder als AgentCore Identitätsanbieter für ausgehenden Ressourcenzugriff konfiguriert werden. Auf diese Weise können Ihre Agenten Agentenbenutzer mit Okta als Identitätsanbieter und Autorisierungsserver authentifizieren und autorisieren, oder Ihre Agenten können Anmeldeinformationen für den Zugriff auf von Okta autorisierte Ressourcen abrufen.

Eingehend

Um Okta als Identitätsanbieter und Autorisierungsserver für den Zugriff auf AgentCore Gateway und Runtime hinzuzufügen, müssen Sie:

  • Konfigurieren Sie eine Discovery-URL von Ihrem Okta-Mandanten aus. Auf diese Weise kann AgentCore Identity die Metadaten zu Ihrem OAuth-Autorisierungsserver und den Token-Bestätigungsschlüsseln abrufen.

  • Geben Sie gültige aud Ansprüche für das Token ein. Dies hilft bei der Validierung der Token, die von Ihrem IdP stammen, und ermöglicht den Zugriff für Token, die erwartete Ansprüche enthalten.

Um Okta für eingehende Authentifizierung zu konfigurieren

  1. Öffnen Sie die Okta Developer Console.

  2. Wählen Sie in der linken Navigationsleiste Anwendungen aus.

  3. Wählen Sie Create App Integration (App-Integration erstellen).

  4. Wählen Sie OIDC - OpenID Connect als Anmeldemethode für Ihre Anwendung.

  5. Wählen Sie Webanwendung als Anwendungstyp.

  6. Geben Sie einen Namen für Ihre Anwendung ein.

  7. Wählen Sie je nach Bedarf den Autorisierungscode für die and/or Client-Anmeldeinformationen aus.

  8. Fügen Sie für Sign-in Weiterleitungs-URIs Ihren Anwendungsendpunkt hinzu, der das Okta-Token erhalten soll.

  9. Passen Sie den Abschnitt „Zuweisungen“ nach Bedarf an Ihre Bedürfnisse an.

  10. Wählen Sie Speichern.

  11. Erstellen Sie eine Okta-API, die Ihre Anwendung repräsentiert:

    • Wählen Sie in der linken Navigationsleiste Sicherheit aus.

    • Gehen Sie zur API und wählen Sie Autorisierungsserver hinzufügen.

    • Folgen Sie dem Ablauf, um einen Autorisierungsserver für Ihren Okta-Mandanten zu erstellen.

    • Sobald der Autorisierungsserver erstellt wurde, wählen Sie auf der Übersichtsseite die Registerkarte Zugriffsrichtlinien, um eine entsprechende Zugriffsrichtlinie zu konfigurieren.

    • Definieren Sie die erforderlichen benutzerdefinierten Bereiche für den Autorisierungsserver, der für Ihre Anwendung benötigt wird.

  12. Erstellen Sie die Discovery-URL für Ihren Okta-Mandanten:

    https://your-tenant.okta.com/oauth2/your-authorization-server
  13. Konfigurieren Sie Inbound Auth mit den folgenden Werten:

    • Discovery-URL: Die im vorherigen Schritt erstellte URL

    • Zulässige Zielgruppen: Der Zielgruppenwert, den Sie bei der Erstellung der API in Schritt 11 angegeben haben

Weitere Informationen finden Sie in der Dokumentation von Okta.

Fügen Sie einen client_id-Anspruch zu den Zugriffstoken-Ansprüchen hinzu

Okta nimmt standardmäßig keinen Anspruch in client_id seinen Tokens auf. Um den Anspruch im Token aufzufüllen, müssen Sie die Ansprüche über den Autorisierungsserver, den Sie für die Ausgabe von Token verwenden, anpassen.

Um einen client_id-Anspruch für Zugriffstoken hinzuzufügen

  1. Wählen Sie in der linken Navigationsleiste Sicherheit aus. Gehen Sie zur API und wählen Sie den Autorisierungsserver aus, den Sie für Ihre Anwendung verwenden möchten.

  2. Wählen Sie auf der Detailseite für den Autorisierungsserver die Registerkarte Ansprüche und dann Anspruch hinzufügen aus.

  3. Geben Sie dem neuen Anspruch den Namen client_id und legen Sie den Wert auf app.clientId fest.

  4. Stellen Sie In Tokentyp einbeziehen auf Zugriffstoken ein.

  5. Wählen Sie Speichern.

Weitere Informationen finden Sie in der Dokumentation von Okta.

Ausgehend

Anmerkung

AgentCore Identity gibt für jeden Anmeldeinformationsanbieter, den Sie erstellen, eine eindeutige OAuth2-Callback-URL aus. Die eindeutige Callback-URL ermöglicht die Sitzungsbindung, wodurch der Austausch von OAuth2-Autorisierungscodes vor anbieterübergreifender Wiedergabe und CSRF-style Angriffen geschützt wird, indem sichergestellt wird, dass eine Autorisierungsantwort nur gegen den spezifischen Anmeldeinformationsanbieter eingelöst werden kann, der sie initiiert hat. Da die URL für jeden Anbieter einzigartig ist, erfahren Sie sie erst nach Ihrem Anruf. CreateOauth2CredentialProvider Erstellen Sie zuerst Ihre Okta OIDC-Anwendung und kehren Sie dann zur Okta Developer Console zurück, um die Callback-URL zu registrieren, sobald AgentCore Identity sie ausgegeben hat.

Schritt 1: Erstellen Sie die Okta OIDC-Anwendung

Folgen Sie den Anweisungen im Abschnitt Inbound, um Ihre Okta OIDC-Anwendung und Ihren Autorisierungsserver zu erstellen. Wenn Sie in den Anwendungseinstellungen nach Sign-in Weiterleitungs-URIs gefragt werden, lassen Sie das Feld vorerst leer. In Schritt 3 fügen Sie die eindeutige Callback-URL hinzu.

Schritt 2: Erstellen Sie den AgentCore Identity-Anbieter für Anmeldeinformationen

Gehen Sie wie folgt vor, um Okta in AgentCore Identity als Anbieter für ausgehende Ressourcen zu konfigurieren:

{ "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" } } }

Um Okta OAuth 2.0 im Namen von Token Exchange zu verwenden, verwenden Sie einen benutzerdefinierten Anbieter für die erweiterte Konfiguration. Einzelheiten finden Sie unter Token-Austausch mit Identity. On-behalf-of AgentCore

{ "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" } } } } }

Die CreateOauth2CredentialProviderAntwort enthält ein callbackUrl Feld. Diese URL ist für diesen Anmeldeinformationsanbieter einzigartig und sieht wie folgt aus:https://bedrock-agentcore.us-east-1.amazonaws.com/identities/oauth2/callback/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. Speichern Sie diesen Wert für den nächsten Schritt.

Schritt 3: Registrieren Sie die eindeutige Rückruf-URL bei Okta

Kehren Sie zur Okta-Entwicklerkonsole zurück und fügen Sie die eindeutige Callback-URL zu den Weiterleitungs-URIs Ihrer Anwendung hinzu. Sign-in

  1. Melden Sie sich bei der Okta Developer Console an und öffnen Sie die OIDC-Anwendung, die Sie in Schritt 1 erstellt haben.

  2. Öffnen Sie die Registerkarte Allgemein und bearbeiten Sie die LOGIN-Einstellungen.

  3. Fügen Sie den von CreateOauth2CredentialProvider to Sign-in redirect URIs zurückgegebenen callbackUrl Wert hinzu.

  4. Wählen Sie Speichern.