View a markdown version of this page

Okta - Amazon Bedrock AgentCore

Okta

O Okta pode ser configurado como um provedor de identidade para acessar o AgentCore Gateway e o Runtime, ou um provedor de credenciais de AgentCore identidade para acesso a recursos de saída. Isso permite que seus agentes autentiquem e autorizem usuários agentes com o Okta como provedor de identidade e servidor de autorização, ou que seus agentes obtenham credenciais para acessar recursos autorizados pelo Okta.

Entrada

Para adicionar o Okta como provedor de identidade e servidor de autorização para acessar o AgentCore Gateway e o Runtime, você deve:

  • Configure uma URL de descoberta do seu locatário Okta. Isso ajuda o AgentCore Identity a obter os metadados relacionados ao seu servidor de autorização OAuth e às chaves de verificação de token.

  • Insira aud reivindicações válidas para o token. Isso ajuda a validar os tokens provenientes do seu IdP e permite o acesso a tokens que contêm reivindicações esperadas.

Para configurar o Okta para autenticação de entrada

  1. Abra o console do desenvolvedor Okta.

  2. Na barra de navegação esquerda, escolha Aplicativos.

  3. Selecione Create App Integration (Criar integração de aplicações).

  4. Escolha OIDC - OpenID Connect como método de login para seu aplicativo.

  5. Escolha Aplicativo Web como seu tipo de aplicativo.

  6. Forneça um nome para seu aplicativo.

  7. Selecione Código de autorização Credenciais do and/or cliente de acordo com suas necessidades.

  8. Para Sign-in redirecionar URIs, adicione o endpoint do aplicativo que receberá o token Okta.

  9. Ajuste a seção Tarefas conforme necessário, dependendo de suas necessidades.

  10. Escolha Salvar.

  11. Crie uma API Okta para representar seu aplicativo:

    • Na barra de navegação esquerda, escolha Segurança.

    • Vá para API e escolha Adicionar servidor de autorização.

    • Siga o fluxo para criar um servidor de autorização dedicado ao seu inquilino Okta.

    • Depois que o servidor de autorização for criado, escolha a guia Políticas de acesso na página de visão geral para configurar uma política de acesso apropriada.

    • Defina os escopos personalizados necessários para o servidor de autorização necessário para seu aplicativo.

  12. Crie o URL de descoberta para seu inquilino do Okta:

    https://your-tenant.okta.com/oauth2/your-authorization-server
  13. Configure a autenticação de entrada com os seguintes valores:

    • URL de descoberta: o URL construído na etapa anterior

    • Públicos permitidos: o valor do público que você forneceu ao criar a API na etapa 11

Para obter mais detalhes, consulte a documentação do Okta.

Adicione uma declaração client_id às reivindicações do token de acesso

Por padrão, o Okta não inclui client_id como reivindicação padrão em seus tokens. Para preencher a declaração no token, você precisa personalizar as declarações por meio do servidor de autorização que você usa para emitir tokens.

Para adicionar a reivindicação client_id aos tokens de acesso

  1. Na barra de navegação esquerda, escolha Segurança. Acesse a API e escolha o servidor de autorização que você pretende usar para seu aplicativo.

  2. Na página de detalhes do servidor de autorização, escolha a guia Reivindicações e escolha Adicionar reclamação.

  3. Nomeie a nova declaração client_id e defina o valor como app.clientID.

  4. Defina Incluir no tipo de token como Token de acesso.

  5. Escolha Salvar.

Para obter mais detalhes, consulte a documentação do Okta.

Saída

nota

AgentCore A identidade emite uma URL exclusiva de retorno de chamada do OAuth2 para cada provedor de credenciais que você cria. O URL de retorno de chamada exclusivo permite a vinculação de sessão, o que protege a troca do código de autorização do OAuth2 contra repetições e CSRF-style ataques entre provedores, garantindo que uma resposta de autorização só possa ser resgatada contra o provedor de credenciais específico que a iniciou. Como o URL é exclusivo por provedor, você não o saberá até depois de ligarCreateOauth2CredentialProvider. Crie seu aplicativo Okta OIDC primeiro e, em seguida, retorne ao console do desenvolvedor Okta para registrar o URL de retorno de chamada depois AgentCore que o Identity o emitir.

Etapa 1: Criar o aplicativo Okta OIDC

Siga o procedimento na seção Entrada para criar seu aplicativo Okta OIDC e servidor de autorização. Quando solicitado a inserir URIs de Sign-in redirecionamento nas configurações do aplicativo, deixe o campo vazio por enquanto — você adicionará o URL de retorno de chamada exclusivo na Etapa 3.

Etapa 2: criar o provedor de credenciais de AgentCore identidade

Para configurar o Okta como um provedor de recursos de saída no AgentCore Identity, use o seguinte:

{ "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 o Okta OAuth 2.0 em nome da troca de tokens, use um provedor personalizado para configuração avançada. Para obter detalhes, consulte troca de On-behalf-of tokens com AgentCore Identity.

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

A CreateOauth2CredentialProviderresposta inclui um callbackUrl campo. Esse URL é exclusivo desse provedor de credenciais e se parece com:https://bedrock-agentcore.us-east-1.amazonaws.com/identities/oauth2/callback/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. Salve esse valor para a próxima etapa.

Etapa 3: registre o URL de retorno de chamada exclusivo com o Okta

Retorne ao console do desenvolvedor do Okta e adicione o URL de retorno de chamada exclusivo aos URIs de Sign-in redirecionamento do seu aplicativo.

  1. Faça login no console do desenvolvedor Okta e abra o aplicativo OIDC que você criou na Etapa 1.

  2. Abra a guia Geral e edite as configurações de LOGIN.

  3. Adicione o callbackUrl valor retornado por CreateOauth2CredentialProvider para Sign-in redirecionar URIs.

  4. Escolha Salvar.