Okta
Okta peut être configuré en tant que fournisseur d'identité pour accéder à AgentCore Gateway et Runtime, ou en tant que fournisseur d'identifiants d' AgentCore identité pour l'accès aux ressources sortantes. Cela permet à vos agents d'authentifier et d'autoriser les utilisateurs des agents avec Okta en tant que fournisseur d'identité et serveur d'autorisation, ou à vos agents d'obtenir des informations d'identification pour accéder aux ressources autorisées par Okta.
Entrant
Pour ajouter Okta en tant que fournisseur d'identité et serveur d'autorisation pour accéder à AgentCore Gateway et Runtime, vous devez :
-
Configurez une URL de découverte à partir de votre client Okta. Cela permet à AgentCore Identity d'obtenir les métadonnées relatives à votre serveur d'autorisation OAuth et aux clés de vérification des jetons.
-
Entrez des
auddemandes valides pour le jeton. Cela permet de valider les jetons provenant de votre IdP et permet d'accéder aux jetons contenant les réclamations attendues.
Pour configurer Okta pour l'authentification entrante
-
Ouvrez la console de développement Okta.
-
Dans la barre de navigation de gauche, sélectionnez Applications.
-
Choisissez Create App Integration (Créer une intégration d'appli).
-
Choisissez OIDC - OpenID Connect comme méthode de connexion pour votre application.
-
Choisissez Application Web comme type d'application.
-
Saisissez un nom pour votre application.
-
Sélectionnez les informations d'identification du and/or client par code d'autorisation en fonction de vos besoins.
-
Pour les URI de Sign-in redirection, ajoutez le point de terminaison de votre application qui recevra le jeton Okta.
-
Ajustez la section Affectations si nécessaire en fonction de vos besoins.
-
Choisissez Enregistrer.
-
Créez une API Okta pour représenter votre application :
-
Dans la barre de navigation de gauche, sélectionnez Sécurité.
-
Accédez à l'API et choisissez Ajouter un serveur d'autorisation.
-
Suivez le processus pour créer un serveur d'autorisation dédié à votre client Okta.
-
Une fois le serveur d'autorisation créé, choisissez l'onglet Politiques d'accès sur la page d'aperçu pour configurer une politique d'accès appropriée.
-
Définissez les étendues personnalisées nécessaires pour le serveur d'autorisation requis pour votre application.
-
-
Créez l'URL de découverte pour votre client Okta :
https://your-tenant.okta.com/oauth2/your-authorization-server -
Configurez l'authentification entrante avec les valeurs suivantes :
-
URL de découverte : URL créée à l'étape précédente
-
Audiences autorisées : valeur d'audience que vous avez fournie lors de la création de l'API à l'étape 11
-
Pour plus de détails, consultez la documentation d'Okta
Ajouter une réclamation client_id dans les demandes de jetons d'accès
Par défaut, Okta n'inclut client_id pas de réclamation standard dans ses jetons. Pour renseigner la réclamation dans le jeton, vous devez personnaliser les demandes via le serveur d'autorisation que vous utilisez pour émettre les jetons.
Pour ajouter une réclamation client_id aux jetons d'accès
-
Dans la barre de navigation de gauche, sélectionnez Sécurité. Accédez à l'API et choisissez le serveur d'autorisation que vous souhaitez utiliser pour votre application.
-
Sur la page de détails du serveur d'autorisation, choisissez l'onglet Réclamations, puis sélectionnez Ajouter une réclamation.
-
Nommez la nouvelle réclamation client_id et définissez la valeur sur App.clientId.
-
Définissez le type Inclure dans le jeton sur Jeton d'accès.
-
Choisissez Enregistrer.
Pour plus de détails, consultez la documentation d'Okta
Sortant
Note
AgentCore Identity émet une URL de rappel OAuth2 unique pour chaque fournisseur d'informations d'identification que vous créez. L'URL de rappel unique permet la liaison de session, ce qui protège l'échange de code d'autorisation OAuth2 contre les rediffusions et les CSRF-style attaques entre fournisseurs en garantissant qu'une réponse d'autorisation ne peut être échangée que contre le fournisseur d'informations d'identification spécifique qui l'a initiée. Comme l'URL est unique par fournisseur, vous ne le saurez qu'après avoir appeléCreateOauth2CredentialProvider. Créez d'abord votre application Okta OIDC, puis retournez sur la console de développement Okta pour enregistrer l'URL de rappel une fois qu' AgentCore Identity l'a émise.
Étape 1 : Création de l'application Okta OIDC
Suivez la procédure décrite dans la section Enbound pour créer votre application Okta OIDC et votre serveur d'autorisation. Lorsque vous êtes invité à saisir des URI de Sign-in redirection dans les paramètres de l'application, laissez le champ vide pour le moment. Vous ajouterez l'URL de rappel unique à l'étape 3.
Étape 2 : créer le fournisseur AgentCore d'identifiants d'identité
Pour configurer Okta en tant que fournisseur de ressources sortantes dans AgentCore Identity, utilisez ce qui suit :
{ "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" } } }
Pour utiliser Okta OAuth 2.0 pour le compte de l'échange de jetons, utilisez un fournisseur personnalisé pour une
{ "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" } } } } }
La CreateOauth2CredentialProviderréponse inclut un callbackUrl champ. Cette URL est propre à ce fournisseur d'informations d'identification et ressemble à :https://bedrock-agentcore.us-east-1.amazonaws.com/identities/oauth2/callback/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. Enregistrez cette valeur pour l'étape suivante.
Étape 3 : enregistrer l'URL de rappel unique auprès d'Okta
Retournez à la console de développement Okta et ajoutez l'URL de rappel unique aux URI de Sign-in redirection de votre application.
-
Connectez-vous à la console de développement Okta et ouvrez l'application OIDC que vous avez créée à l'étape 1.
-
Ouvrez l'onglet Général et modifiez les paramètres de connexion.
-
Ajoutez la
callbackUrlvaleur renvoyée parCreateOauth2CredentialProviderpour Sign-in rediriger les URI. -
Choisissez Enregistrer.