View a markdown version of this page

Okta - Amazon Bedrock AgentCore

Okta

Okta는 AgentCore Gateway 및 런타임에 액세스하기 위한 자격 증명 공급자 또는 아웃바운드 리소스 액세스를 위한 AgentCore 자격 증명 공급자로 구성할 수 있습니다. 이렇게 하면 에이전트가 Okta를 자격 증명 공급자 및 권한 부여 서버로 사용하여 에이전트 사용자를 인증하고 권한을 부여하거나 에이전트가 Okta에서 승인한 리소스에 액세스하기 위한 자격 증명을 얻을 수 있습니다.

인바운드

AgentCore Gateway 및 런타임에 액세스하기 위한 자격 증명 공급자 및 권한 부여 서버로 Okta를 추가하려면 다음을 수행해야 합니다.

  • Okta 테넌트에서 검색 URL을 구성합니다. 이렇게 하면 AgentCore Identity가 OAuth 권한 부여 서버 및 토큰 확인 키와 관련된 메타데이터를 가져올 수 있습니다.

  • 토큰에 유효한 aud 클레임을 입력합니다. 이렇게 하면 IdP에서 오는 토큰을 검증하고 예상 클레임이 포함된 토큰에 대한 액세스를 허용할 수 있습니다.

인바운드 인증을 위해 Okta를 구성하려면

  1. Okta 개발자 콘솔을 엽니다.

  2. 왼쪽 탐색 모음에서 애플리케이션을 선택합니다.

  3. 앱 통합 생성(Create App Integration)을 선택합니다.

  4. OIDC - OpenID Connect를 애플리케이션의 로그인 방법으로 선택합니다.

  5. 애플리케이션 유형으로 애플리케이션을 선택합니다.

  6. 애플리케이션의 이름을 제공합니다.

  7. 필요에 따라 권한 부여 코드 및/또는 클라이언트 자격 증명을 선택합니다.

  8. 로그인 리디렉션 URIs 경우 Okta 토큰을 수신할 애플리케이션 엔드포인트를 추가합니다.

  9. 필요에 따라 할당 섹션을 조정합니다.

  10. 저장을 선택합니다.

  11. Okta API를 생성하여 애플리케이션을 나타냅니다.

    • 왼쪽 탐색 모음에서 보안을 선택합니다.

    • API로 이동하여 권한 부여 서버 추가를 선택합니다.

    • 흐름에 따라 Okta 테넌트 전용 권한 부여 서버를 생성합니다.

    • 권한 부여 서버가 생성되면 개요 페이지에서 액세스 정책 탭을 선택하여 적절한 액세스 정책을 구성합니다.

    • 애플리케이션에 필요한 권한 부여 서버에 필요한 사용자 지정 범위를 정의합니다.

  12. Okta 테넌트의 검색 URL을 구성합니다.

    https://your-tenant.okta.com/oauth2/your-authorization-server
  13. 다음 값을 사용하여 인바운드 인증을 구성합니다.

    • 검색 URL: 이전 단계에서 구성된 URL

    • 허용된 대상: 11단계에서 API를 생성할 때 제공한 대상 값입니다.

자세한 내용은 Okta 설명서를 참조하세요.

액세스 토큰 클레임에 client_id 클레임 추가

Okta는 기본적으로 토큰에 표준 클레임client_id으로를 포함하지 않습니다. 토큰에 클레임을 채우려면 토큰을 발급하는 데 사용하는 권한 부여 서버를 통해 클레임을 사용자 지정해야 합니다.

액세스 토큰에 client_id 클레임을 추가하려면

  1. 왼쪽 탐색 모음에서 보안을 선택합니다. API로 이동하여 애플리케이션에 사용할 권한 부여 서버를 선택합니다.

  2. 권한 부여 서버의 세부 정보 페이지에서 클레임 탭을 선택하고 클레임 추가를 선택합니다.

  3. 새 클레임 client_id의 이름을 지정하고 값을 app.clientId로 설정합니다.

  4. 토큰 유형에 포함을 액세스 토큰으로 설정합니다.

  5. 저장을 선택합니다.

자세한 내용은 Okta 설명서를 참조하세요.

아웃바운드

참고

AgentCore 자격 증명은 생성한 각 자격 증명 공급자에 대해 고유한 OAuth2 콜백 URL을 발급합니다. 고유한 콜백 URL을 사용하면 세션 바인딩이 가능하여 권한 부여 응답을 시작한 특정 자격 증명 공급자에 대해서만 사용할 수 있도록 하여 교차 공급자 재생 및 CSRF 스타일 공격으로부터 OAuth2 권한 부여 코드 교환을 보호합니다. URL은 공급자별로 고유하므로를 호출할 때까지 URL을 알 수 없습니다CreateOauth2CredentialProvider. 먼저 Okta OIDC 애플리케이션을 생성한 다음, AgentCore Identity가 콜백 URL을 발급한 후 Okta 개발자 콘솔로 돌아가 콜백 URL을 등록합니다.

1단계: Okta OIDC 애플리케이션 생성

인바운드 섹션의 절차에 따라 Okta OIDC 애플리케이션 및 권한 부여 서버를 생성합니다. 애플리케이션 설정에서 로그인 리디렉션 URIs를 입력하라는 메시지가 표시되면 지금은 필드를 비워 둡니다. 3단계에서 고유한 콜백 URL을 추가합니다.

2단계: AgentCore 자격 증명 공급자 생성

AgentCore 자격 증명에서 Okta를 아웃바운드 리소스 공급자로 구성하려면 다음을 사용합니다.

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

Okta OAuth 2.0 토큰 교환on-behalf-of 사용하려면 고급 구성에 사용자 지정 공급자를 사용합니다. 자세한 내용은 AgentCore 자격 증명과의 토큰 교환On-behalf-of 섹션을 참조하세요.

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

CreateOauth2CredentialProvider 응답에는 callbackUrl 필드가 포함됩니다. 이 URL은이 자격 증명 공급자에 고유하며 다음과 같습니다https://bedrock-agentcore.us-east-1.amazonaws.com/identities/oauth2/callback/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. 다음 단계를 위해이 값을 저장합니다.

3단계: Okta에 고유한 콜백 URL 등록

Okta 개발자 콘솔로 돌아가서 애플리케이션의 로그인 리디렉션 URIs에 고유한 콜백 URL을 추가합니다.

  1. Okta 개발자 콘솔에 로그인하고 1단계에서 생성한 OIDC 애플리케이션을 엽니다.

  2. 일반 탭을 열고 LOGIN 설정을 편집합니다.

  3. 에서 반환한 callbackUrl 값을 로그인 리디렉션 URIsCreateOauth2CredentialProvider에 추가합니다.

  4. 저장을 선택합니다.