Okta의 Auth0
Auth0은 AgentCore Gateway 및 런타임에 액세스하기 위한 자격 증명 공급자 또는 아웃바운드 리소스 액세스를 위한 AgentCore 자격 증명 공급자로 구성할 수 있습니다. 이렇게 하면 에이전트가 Auth0을 자격 증명 공급자 및 권한 부여 서버로 사용하여 에이전트 사용자를 인증하고 권한을 부여하거나 에이전트가 Auth0에서 승인한 리소스에 액세스하기 위한 자격 증명을 얻을 수 있습니다.
인바운드
AgentCore Gateway 및 런타임에 액세스하기 위한 자격 증명 공급자 및 권한 부여 서버로 Auth0을 추가하려면 다음을 수행해야 합니다.
-
IDP 디렉터리에서 검색 URL을 구성합니다. 이렇게 하면 AgentCore Identity가 OAuth 권한 부여 서버 및 토큰 확인 키와 관련된 메타데이터를 가져올 수 있습니다.
-
토큰에 유효한
aud클레임을 입력합니다. 이렇게 하면 IDP에서 오는 토큰을 검증하고 예상 클레임이 포함된 토큰에 대한 액세스를 허용할 수 있습니다.
다음 절차에 따라 Auth0을 설정하고 게이트웨이 인증에 필요한 구성 값을 가져옵니다.
인바운드 인증을 위해 Auth0을 구성하려면
-
Auth0에서 API 생성:
-
Auth0 대시보드에 로그인합니다.
-
APIs 열고 API 생성을 선택합니다.
-
API의 이름과 식별자를 입력합니다(예: "gateway-api").
-
서명 알고리즘을 선택합니다(RS256 권장).
-
생성(Create)을 선택합니다.
-
-
API 범위 구성:
-
API 설정에서 범위 탭으로 이동합니다.
-
"invoke:gateway" 및 "read:gateway"와 같은 범위를 추가합니다.
-
-
애플리케이션 생성:
-
애플리케이션을 열고 애플리케이션 생성을 선택합니다.
-
Machine to Machine 애플리케이션을 선택합니다.
-
1단계에서 생성한 API를 선택합니다.
-
생성한 범위에 대해 애플리케이션에 권한을 부여합니다.
-
생성(Create)을 선택합니다.
-
-
애플리케이션 설정에서 클라이언트 ID와 클라이언트 암호를 기록합니다. AgentCore 자격 증명에서 Auth0 공급자를 구성하려면이 값이 필요합니다.
-
Auth0 테넌트의 검색 URL을 구성합니다.
https://your-domain/.well-known/openid-configuration여기서
your-domain은 Auth0 테넌트 도메인(예: "dev-example.us.auth0.com")입니다. -
다음 값을 사용하여 인바운드 인증을 구성합니다.
-
검색 URL: 이전 단계에서 구성된 URL
-
허용된 대상: 1단계에서 생성한 API 식별자
-
아웃바운드
참고
AgentCore 자격 증명은 생성한 각 자격 증명 공급자에 대해 고유한 OAuth2 콜백 URL을 발급합니다. 고유한 콜백 URL을 사용하면 세션 바인딩이 가능하여 권한 부여 응답을 시작한 특정 자격 증명 공급자에 대해서만 사용할 수 있도록 하여 교차 공급자 재생 및 CSRF 스타일 공격으로부터 OAuth2 권한 부여 코드 교환을 보호합니다. URL은 공급자별로 고유하므로를 호출할 때까지 URL을 알 수 없습니다CreateOauth2CredentialProvider. 먼저 Auth0 애플리케이션을 생성한 다음 Auth0 대시보드로 돌아가 AgentCore 자격 증명에서 콜백 URL을 발급한 후 콜백 URL을 등록합니다.
1단계: Auth0 애플리케이션 생성
다음 절차에 따라 Auth0 OAuth2 애플리케이션을 설정하고 AgentCore 자격 증명에 필요한 클라이언트 자격 증명을 가져옵니다. AgentCore 자격 증명이 고유한 콜백 URL을 발급한 후 3단계에서 리디렉션 URI를 등록합니다.
Auth0 OAuth2 애플리케이션을 구성하려면
-
Auth0 대시보드에 로그인합니다.
-
애플리케이션을 열고 애플리케이션 생성을 선택합니다.
-
애플리케이션의 이름을 입력하고 애플리케이션 유형으로 일반 웹 애플리케이션을 선택합니다.
-
생성(Create)을 선택합니다.
-
애플리케이션의 설정 탭에서 지금은 허용된 콜백 URLs 비워 둡니다. 3단계에서 고유한 콜백 URL을 추가합니다.
-
애플리케이션에 필요한 연결, 범위 및 권한을 구성합니다.
-
애플리케이션 설정에서 클라이언트 ID와 클라이언트 암호를 기록합니다. AgentCore 자격 증명에서 Auth0 공급자를 구성하려면이 값이 필요합니다.
-
Auth0 테넌트 도메인(예:
dev-example.us.auth0.com)을 기록해 둡니다. 이를 사용하여 2단계에서 권한 부여, 토큰 및 발급자 엔드포인트를 구성합니다.
자세한 내용은 애플리케이션 생성에 대한 Auth0의 설명서를 참조하세요
2단계: AgentCore 자격 증명 공급자 생성
Auth0을 아웃바운드 리소스 공급자로 구성하려면 다음을 사용합니다.
{ "name": "NAME", "credentialProviderVendor": "Auth0Oauth2", "oauth2ProviderConfigInput" : { "includedOauth2ProviderConfig": { "clientId": "your-client-id", "clientSecret": "your-client-secret", "authorizationEndpoint": "https://your-auth0-tenant.auth0.com/authorize", "tokenEndpoint": "https://your-auth0-tenant.auth0.com/oauth/token", "issuer": "https://your-auth0-tenant.auth0.com" } } }
CreateOauth2CredentialProvider 응답에는 callbackUrl 필드가 포함됩니다. 이 URL은이 자격 증명 공급자에 고유하며 다음과 같습니다https://bedrock-agentcore.us-east-1.amazonaws.com/identities/oauth2/callback/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. 다음 단계를 위해이 값을 저장합니다.
3단계: Auth0에 고유한 콜백 URL 등록
Auth0 대시보드로 돌아가서 애플리케이션의 허용된 콜백에 고유한 콜백 URL을 추가합니다.
-
Auth0 대시보드에 로그인하고 1단계에서 생성한 애플리케이션을 엽니다.
-
설정 탭에서에서 반환한
callbackUrl값을 허용된 콜백 URLCreateOauth2CredentialProvider에 붙여 넣습니다. URLs -
변경 사항 저장(Save Changes)을 선택합니다.