기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
클라이언트 인증 방법
클라이언트 인증 방법은 액세스 토큰을 요청할 때 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을 호출할 수 있는 권한이 있어야 합니다.
-
-
PRIVATE_KEY_JWT수명이 짧은 JWT 클라이언트 어설션을 전송하여 권한 부여 서버의 토큰 엔드포인트에 인증합니다. AgentCore Identity는 RFC 7523, 섹션 2.2에kms:Sign따라를 통해 고객 관리형 AWS KMS 비대칭 키를 사용하여 어설션을 빌드하고 서명합니다. 프라이빗 키는 KMS를 벗어나지 않습니다. 권한 부여 서버는 등록한 퍼블릭 키에 대해 어설션을 검증합니다. 이 방법을 선택하면 클라이언트 보안 암호가 필요하지 않습니다. 모든 흐름에는 클라이언트 ID가 필요합니다.PRIVATE_KEY_JWT를 클라이언트 인증 방법으로 사용하려면 다음 사전 조건을 충족해야 합니다.-
키 사용량이 인 AWS KMS의 비대칭 서명 키로
SIGN_VERIFY, 적절한 키 정책 및 선택한 서명 알고리즘과 호환되는 키 사양이 있습니다(키 algorithm-to-key-spec 표는 프라이빗 키 JWT 참조). -
AgentCore 자격 증명 실행 역할(또는 호출 자격 증명)에는 KMS 키에 대한
kms:DescribeKey및kms:Sign권한이 있어야 합니다. -
자격 증명 공급자의 권한 부여 서버는 프라이빗 키 JWT 클라이언트 인증을 지원해야 하며, 해당 퍼블릭 키는 권한 부여 서버에 등록되어야 합니다.
-
클라이언트 인증 방법을 구성하는 방법
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" } } }'
CLI 예제: PRIVATE_KEY_JWT 클라이언트 인증 방법으로 사용
aws bedrock-agentcore-control create-oauth2-credential-provider \ --cli-input-json '{ "name": "sample-private-key-jwt", "credentialProviderVendor": "CustomOauth2", "oauth2ProviderConfigInput": { "customOauth2ProviderConfig": { "oauthDiscovery": { "discoveryUrl": "https://your-idp.example.com/.well-known/openid-configuration" }, "clientId": "your-client-id", "clientAuthenticationMethod": "PRIVATE_KEY_JWT", "privateKeyJwtConfig": { "privateKeySource": { "kmsKeySource": { "kmsKeyArn": "arn:aws:kms:us-east-1:111122223333:key/your-key-id" } }, "signingAlgorithm": "RS256" } } } }'
KMS 키 설정, 교차 계정 지원 및 서명 알고리즘 옵션을 포함한 전체 구성 참조에 대한 자세한 내용은 프라이빗 키 JWT를 참조하세요.
알림
이 tokenEndpointAuthMethods 필드는 클라이언트 인증 방법을 선호하지 않지만 CLI 및 SDK의 이전 버전과의 호환성을 위해 유지됩니다. 동일한 요청에 둘 다 제공하면 검증 오류가 발생합니다.