클라이언트 인증 방법
클라이언트 인증 방법은 액세스 토큰을 요청할 때 OAuth 클라이언트가 권한 부여 서버의 토큰 엔드포인트로 인증하는 방법을 제어합니다.
공급자별 자격 증명 공급자의 경우 AgentCore 자격 증명은 각 공급업체의 요구 사항에 따라 클라이언트 인증 방법을 관리하므로 추가 구성이 필요하지 않습니다.
클라이언트 보안 암호 대신 IAM 서명 JWT 어설션으로 인증하거나 기본 제공 공급업체와 요구 사항이 다른 권한 부여 서버를 대상으로 하는 등 보다 세분화된 제어가 필요한 사용 사례의 경우 사용자 지정 공급자를 사용하면 아래에서 지원되는 방법 중에서 선택할 수 있습니다.
지원되는 클라이언트 인증 방법
AgentCore Identity는 클라이언트 인증 방법에 대해 다음 값을 지원합니다.
-
CLIENT_SECRET_BASIC(기본값) - 권한 부여 서버로부터 클라이언트 보안 암호 값을 받은 클라이언트는 HTTP 기본 인증 체계를 사용하여 OAuth 2.0(RFC 6749)의 섹션 2.3.1에 따라 권한 부여 서버로 인증합니다. 클라이언트 ID와 클라이언트 보안 암호가 모두 필요합니다. -
CLIENT_SECRET_POST- 권한 부여 서버로부터 클라이언트 보안 암호 값을 받은 클라이언트는 요청 본문에 클라이언트 보안 인증 정보를 포함하여 OAuth 2.0(RFC 6749)의 섹션 2.3.1에 따라 권한 부여 서버로 인증합니다. 클라이언트 ID와 클라이언트 보안 암호가 모두 필요합니다. -
AWS_IAM_ID_TOKEN_JWT- RFC 7523, 섹션 2.2에 따라 에이전트의 실행 역할에 대한 AWS IAM 서명 JWT 어설션(sts:GetWebIdentityToken을 통해 획득)을 클라이언트 어설션으로 전송하여 권한 부여 서버의 토큰 엔드포인트를 인증합니다. 권한 부여 서버는이 메커니즘을 지원하고 AWS IAM을 발급자로 신뢰해야 합니다. 이 방법을 선택하면 클라이언트 보안 암호가 필요하지 않으며 클라이언트 ID는 사용자 위임 액세스 흐름(사용자 위임 액세스(OAuth 2.0 권한 부여 코드 부여))에만 필요합니다. 를 클라이언트 인증 방법으로 사용하려면 다음과AWS_IAM_ID_TOKEN_JWT같은 사전 조건을 충족해야 합니다.-
아웃바운드 웹 자격 증명 연동은 계정에서 활성화해야 합니다. iam:EnableOutboundWebIdentityFederation으로 활성화합니다.
-
호출하는 AWS IAM 자격 증명에는 sts:GetWebIdentityToken을 호출할 수 있는 권한이 있어야 합니다.
-
클라이언트 인증 방법을 구성하는 방법
CustomOauth2에 대한 클라이언트 인증 방법 구성
AWS 콘솔에서 사용자 지정 공급자에 대한 클라이언트 인증 방법을 구성하려면 사용자 지정 공급자를 사용하여 OAuth 클라이언트 추가를 참조하세요. CLI를 사용하여 구성할 수도 있습니다.
CLI 예제: CLIENT_SECRET_BASIC 클라이언트 인증 방법으로 사용
aws bedrock-agentcore-control create-oauth2-credential-provider \ --cli-input-json '{ "name": "sample-client-basic", "credentialProviderVendor": "CustomOauth2", "oauth2ProviderConfigInput": { "customOauth2ProviderConfig": { "oauthDiscovery": { "discoveryUrl": "https://my.idp.com/.well-known/openid-configuration" }, "clientId": "your-client-id", "clientSecret": "your-client-secret", "clientAuthenticationMethod": "CLIENT_SECRET_BASIC" } } }'
CLI 예제: AWS_IAM_ID_TOKEN_JWT 클라이언트 인증 방법으로 사용
aws bedrock-agentcore-control create-oauth2-credential-provider \ --cli-input-json '{ "name": "sample-iam-jwt", "credentialProviderVendor": "CustomOauth2", "oauth2ProviderConfigInput": { "customOauth2ProviderConfig": { "oauthDiscovery": { "discoveryUrl": "https://my.idp.com/.well-known/openid-configuration" }, "clientId": "your-client-id", "clientAuthenticationMethod": "AWS_IAM_ID_TOKEN_JWT" } } }'
알림
이 tokenEndpointAuthMethods 필드는 클라이언트 인증 방법을 선호하지 않지만 CLI 및 SDK의 이전 버전과의 호환성을 위해 유지됩니다. 동일한 요청에 둘 다 제공하면 검증 오류가 발생합니다.