View a markdown version of this page

Okta - Amazon Bedrock AgentCore

Okta

Okta se puede configurar como un proveedor de identidad para acceder a AgentCore Gateway y Runtime, o como un proveedor de credenciales de AgentCore identidad para el acceso a los recursos salientes. Esto permite a sus agentes autenticar y autorizar a los usuarios del agente con Okta como proveedor de identidad y servidor de autorización, o a sus agentes obtener credenciales para acceder a los recursos autorizados por Okta.

Entrada

Para añadir a Okta como proveedor de identidad y servidor de autorización para acceder a AgentCore Gateway y Runtime, debe:

  • Configure una URL de descubrimiento desde su inquilino de Okta. Esto ayuda a AgentCore Identity a obtener los metadatos relacionados con tu servidor de autorización de OAuth y las claves de verificación de los tokens.

  • Introduce aud afirmaciones válidas para el token. Esto ayuda a validar los tokens que provienen de su IdP y permite el acceso a los tokens que contienen las reclamaciones esperadas.

Para configurar Okta para la autenticación entrante

  1. Abre la consola de desarrolladores de Okta.

  2. En la barra de navegación izquierda, selecciona Aplicaciones.

  3. Elija Crear integración de aplicaciones.

  4. Elija OIDC - OpenID Connect como método de inicio de sesión para su aplicación.

  5. Elija Aplicación web como tipo de aplicación.

  6. Indique un nombre para su solicitud.

  7. Seleccione el código de autorización (Credenciales del and/or cliente) según sus necesidades.

  8. Para las URIs de Sign-in redireccionamiento, añada el punto final de la aplicación que recibirá el token de Okta.

  9. Ajuste la sección de asignaciones según sea necesario en función de sus necesidades.

  10. Seleccione Save.

  11. Crea una API de Okta para representar tu aplicación:

    • En la barra de navegación izquierda, selecciona Seguridad.

    • Ve a la API y selecciona Añadir servidor de autorización.

    • Siga el flujo para crear un servidor de autorización dedicado a su inquilino de Okta.

    • Una vez creado el servidor de autorización, seleccione la pestaña Políticas de acceso en la página de información general para configurar una política de acceso adecuada.

    • Defina los ámbitos personalizados necesarios para el servidor de autorización que necesita su aplicación.

  12. Cree la URL de descubrimiento para su inquilino de Okta:

    https://your-tenant.okta.com/oauth2/your-authorization-server
  13. Configure la autenticación entrante con los siguientes valores:

    • URL de descubrimiento: la URL creada en el paso anterior

    • Audiencias permitidas: el valor de audiencia que proporcionaste al crear la API en el paso 11

Para obtener más información, consulta la documentación de Okta.

Agrega una afirmación de client_id a las notificaciones de token de acceso

De forma predeterminada, Okta no incluye client_id una reclamación estándar en sus tokens. Para incluir la reclamación en el token, debes personalizar las notificaciones a través del servidor de autorización que utilizas para emitir los tokens.

Para añadir la reclamación client_id al acceso a los tokens

  1. En la barra de navegación izquierda, selecciona Seguridad. Ve a la API y elige el servidor de autorización que deseas usar para tu aplicación.

  2. En la página de detalles del servidor de autorización, selecciona la pestaña Reclamaciones y selecciona Añadir reclamación.

  3. Asigne el nombre client_id a la nueva reclamación y establezca el valor en app.clientId.

  4. Defina Incluir en el tipo de token como Token de acceso.

  5. Seleccione Save.

Para obtener más información, consulta la documentación de Okta.

Salida

nota

AgentCore Identity emite una URL de devolución de llamada de OAuth2 única para cada proveedor de credenciales que cree. La URL única de devolución de llamada permite vincular las sesiones, lo que protege el intercambio de códigos de autorización de OAuth2 contra la reproducción y los CSRF-style ataques entre proveedores, al garantizar que una respuesta de autorización solo se pueda canjear contra el proveedor de credenciales específico que la inició. Como la URL es única para cada proveedor, no la conocerás hasta que llames. CreateOauth2CredentialProvider Crea primero tu aplicación OIDC de Okta y, a continuación, vuelve a la consola de desarrolladores de Okta para registrar la URL de devolución de llamada una vez AgentCore que Identity la haya emitido.

Paso 1: Crea la aplicación OIDC de Okta

Siga el procedimiento de la sección Entrante para crear su aplicación OIDC y su servidor de autorización de Okta. Cuando se te pida que introduzcas los URI de Sign-in redireccionamiento en la configuración de la aplicación, deja el campo vacío por ahora; añadirás la URL única de respuesta en el paso 3.

Paso 2: Cree el proveedor de credenciales de AgentCore identidad

Para configurar Okta como proveedor de recursos salientes en AgentCore Identity, utilice lo siguiente:

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

Para usar Okta OAuth 2.0 en nombre del intercambio de tokens, usa un proveedor personalizado para una configuración avanzada. Para obtener más información, consulta el tema sobre el intercambio de tokens con 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" } } } } }

La CreateOauth2CredentialProviderrespuesta incluye un callbackUrl campo. Esta URL es exclusiva de este proveedor de credenciales y tiene el siguiente aspecto:https://bedrock-agentcore.us-east-1.amazonaws.com/identities/oauth2/callback/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. Guarde este valor para el siguiente paso.

Paso 3: Registra la URL única de devolución de llamada con Okta

Regrese a la consola de desarrolladores de Okta y añada la URL única de devolución de llamada a las URI de redireccionamiento de su aplicación. Sign-in

  1. Inicie sesión en la consola de desarrolladores de Okta y abra la aplicación OIDC que creó en el paso 1.

  2. Abre la pestaña General y edita la configuración de INICIO DE SESIÓN.

  3. Añada el callbackUrl valor devuelto por CreateOauth2CredentialProvider para Sign-in redirigir los URI.

  4. Seleccione Save.