Ping Identity
Ping Identity의 PingOne 플랫폼은 아웃바운드 리소스 액세스를 위한 AgentCore 자격 증명 공급자로 구성할 수 있습니다. 이를 통해 에이전트는 PingOne의 OAuth2 서비스를 통해 사용자를 인증하고 PingOne API 리소스에 대한 액세스 토큰을 얻을 수 있습니다.
아웃바운드
참고
PingOne OAuth2 애플리케이션은 사용자 페더레이션 또는 M2M OAuth2 클라이언트로만 구성할 수 있으며 둘 다로 구성할 수는 없습니다.
참고
AgentCore 자격 증명은 생성한 각 자격 증명 공급자에 대해 고유한 OAuth2 콜백 URL을 발급합니다. 고유한 콜백 URL을 사용하면 세션 바인딩이 가능하여 권한 부여 응답을 시작한 특정 자격 증명 공급자에 대해서만 사용할 수 있도록 하여 교차 공급자 재생 및 CSRF 스타일 공격으로부터 OAuth2 권한 부여 코드 교환을 보호합니다. URL은 공급자별로 고유하므로를 호출할 때까지 URL을 알 수 없습니다CreateOauth2CredentialProvider. 먼저 PingOne OAuth2 애플리케이션을 생성한 다음 AgentCore Identity가 콜백 URL을 발급한 후 PingOne 관리자 콘솔로 돌아가 콜백 URL을 등록합니다.
1단계: Ping Identity OAuth2 애플리케이션 생성
다음 절차에 따라 PingOne OAuth2 애플리케이션을 설정하고 AgentCore 자격 증명에 필요한 클라이언트 자격 증명을 가져옵니다. 사용자 페더레이션 클라이언트를 구성하는 경우 AgentCore 자격 증명이 고유한 콜백 URL을 발급한 후 3단계에서 리디렉션 URI를 등록합니다.
PingOne OAuth2 애플리케이션을 구성하려면
-
PingOne 관리자 콘솔에 로그인합니다.
-
탐색 모음의 애플리케이션 아래에서 애플리케이션을 선택합니다.
-
페이지에서 애플리케이션 옆의 + 아이콘을 선택하여 새 애플리케이션을 생성합니다.
-
애플리케이션을 M2M OAuth2 클라이언트로 구성하려면:
-
권한 부여 유형으로 클라이언트 자격 증명을 선택합니다.
-
토큰 엔드포인트 인증 방법에 대한 클라이언트 보안 암호 게시물을 선택합니다.
-
범위를 포함하여 탭의 애플리케이션 → 리소스에서 사용자 지정 리소스를 생성합니다. 그런 다음 개인 리소스 탭 아래의 애플리케이션에 해당 범위를 추가합니다. 그런 다음 GetResourceOauth2AccessToken의 '범위' 필드에 범위가 있는지 확인합니다.
-
-
애플리케이션을 사용자 페더레이션 Oauth2 클라이언트로 구성하려면:
-
응답 유형 코드를 선택합니다.
-
권한 부여 유형에 대한 권한 부여 코드를 선택합니다.
-
토큰 엔드포인트 인증 방법에 대한 클라이언트 보안 암호 기본을 선택합니다.
-
지금은 리디렉션 URI 목록을 비워 둡니다. 3단계에서 고유한 콜백 URL을 추가합니다.
-
자세한 내용은 Ping Identity의 PingOne API 설명서를 참조하세요
2단계: AgentCore 자격 증명 공급자 생성
PingOne을 아웃바운드 리소스 공급자로 구성하려면 다음을 사용합니다.
{ "name": "PingOne", "credentialProviderVendor": "PingOneOauth2", "oauth2ProviderConfigInput" : { "includedOauth2ProviderConfig": { "clientId": "your-client-id", "clientSecret": "your-client-secret", "authorizationEndpoint": "https://auth.pingone.com/your-env-id/as/authorize", "tokenEndpoint": "https://auth.pingone.com/your-env-id/as/token", "issuer": "https://auth.pingone.com/your-env-id/as" } } }
위임에 PingIdentity OAuth 2.0 토큰 교환을
{ "name": "PingOne", "credentialProviderVendor": "CustomOauth2", "oauth2ProviderConfigInput": { "customOauth2ProviderConfig": { "clientAuthenticationMethod": "CLIENT_SECRET_BASIC", "clientId": "your-client-id", "clientSecret": "your-client-secret", "oauthDiscovery": { "authorizationServerMetadata": { "authorizationEndpoint": "https://auth.pingone.com/your-env-id/as/authorize", "tokenEndpoint": "https://auth.pingone.com/your-env-id/as/token", "issuer": "https://auth.pingone.com/your-env-id/as" } }, "onBehalfOfTokenExchangeConfig": { "grantType": "TOKEN_EXCHANGE", "tokenExchangeGrantTypeConfig": { "actorTokenContent": "M2M" } } } } }
위장에 PingIdentity OAuth 2.0 토큰 교환을
{ "name": "PingOne", "credentialProviderVendor": "CustomOauth2", "oauth2ProviderConfigInput": { "customOauth2ProviderConfig": { "clientAuthenticationMethod": "CLIENT_SECRET_BASIC", "clientId": "your-client-id", "clientSecret": "your-client-secret", "oauthDiscovery": { "authorizationServerMetadata": { "authorizationEndpoint": "https://auth.pingone.com/your-env-id/as/authorize", "tokenEndpoint": "https://auth.pingone.com/your-env-id/as/token", "issuer": "https://auth.pingone.com/your-env-id/as" } }, "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. 다음 단계를 위해이 값을 저장합니다.
참고
고유한 콜백 URL은 사용자 페더레이션 클라이언트에만 적용됩니다. PingOne을 M2M 클라이언트로 구성한 경우 콜백 URL 등록이 필요하지 않습니다.
3단계: PingOne에 고유한 콜백 URL 등록
PingOne 관리자 콘솔로 돌아가 사용자 페더레이션 애플리케이션의 리디렉션 URI 목록에 고유한 콜백 URL을 추가합니다.
-
PingOne 관리자 콘솔에 로그인하고 1단계에서 생성한 애플리케이션을 엽니다.
-
에서 반환한
callbackUrl값을 애플리케이션의CreateOauth2CredentialProvider리디렉션 URI 구성에 추가합니다. -
변경 내용을 저장합니다.