기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
고객 관리형 애플리케이션에 대한 AWS 계정 액세스 활성화
신뢰할 수 있는 토큰 발급자를 구성하여 IAM Identity Center에서 고객 관리형 애플리케이션에 대한 AWS 계정 액세스를 활성화할 수 있습니다. 신뢰할 수 있는 토큰 발급자는 인증된 사용자를 대신하여 서명된 토큰을 발급하는 OAuth 2.0 권한 부여 서버입니다. IAM Identity Center는 이러한 토큰을 자격 증명과 교환하여 애플리케이션이 해당 사용자에게 할당된 AWS 계정 및 역할에 프로그래밍 방식으로 액세스할 수 있도록 합니다. 신뢰할 수 있는 토큰 발급자를 AWS 관리형 애플리케이션에 액세스하는 데 사용할 수도 있습니다. 자세한 내용은 신뢰할 수 있는 토큰 발급자를 사용하여 애플리케이션 사용 단원을 참조하십시오.
참고
IAM Identity Center의 조직 인스턴스에 대해서만이 기능을 활성화할 수 있습니다. 관리 계정 관리자 또는 위임된 관리자만 고객 관리형 애플리케이션의 sso:account:access 범위를 활성화할 수 있습니다. 멤버 계정의 애플리케이션 빌더인 경우 IAM Identity Center 관리자에게 문의하여 애플리케이션에 대해이 범위를 활성화합니다.
작동 방식
관리자가 고객 관리형 애플리케이션의 sso:account:access 범위를 활성화하면 다음 워크플로가 발생합니다.
-
사용자는 외부 ID 제공업체(IdP)를 통해 애플리케이션에 로그인합니다.
-
애플리케이션은 IdP로부터 서명된 JWT 토큰을 받습니다.
-
애플리케이션은 JWT 보유자 권한 부여 유형()으로
CreateTokenWithIAMAPI를 호출하여이 토큰을 IAM Identity Center 토큰으로 교환합니다urn:ietf:params:oauth:grant-type:jwt-bearer. 이 호출에는 서명 버전 4(SigV4) 인증이 필요합니다. 자세한 내용은 IAM Identity Center OIDC API 참조의 CreateTokenWithIAM을 참조하세요. -
애플리케이션은 IAM Identity Center 토큰을 사용하여 포털 API 작업(
ListAccounts,ListAccountRoles,GetRoleCredentials)을 호출하여 사용자에게 할당된 계정 및 역할을 검색하고 사용자를 대신하여 임시 AWS 자격 증명을 검색합니다. -
사용자는 추가 로그인 단계 없이 애플리케이션을 통해 AWS 리소스에 액세스합니다.
애플리케이션을 설정할 때 새로 고침 토큰 부여를 활성화한 경우는 액세스 토큰과 함께 새로 고침 토큰CreateTokenWithIAM도 반환합니다. 애플리케이션은 전체 JWT Bearer 토큰 교환을 반복하지 않고도이 새로 고침 토큰을 사용하여 새 액세스 토큰을 얻을 수 있습니다. 액세스 토큰을 새로 고치려면 refresh_token 권한 부여 유형CreateTokenWithIAM으로를 호출합니다.
사전 조건
고객 관리형 애플리케이션에 대한 계정 액세스를 활성화하기 전에 다음이 필요합니다.
-
JSON 웹 토큰(JWT)을 지원하는 IAM Identity Center에 구성된 고객 관리형 애플리케이션입니다.JWTs 애플리케이션에는 자격 증명을 안전하게 저장할 수 있는 백엔드 서버 구성 요소가 있어야 합니다. 단일 페이지 애플리케이션(SPAs) 및 기타 퍼블릭 클라이언트와 같은 브라우저 기반 애플리케이션은이 기능에서 지원되지 않습니다.
-
애플리케이션에 연결된 신뢰할 수 있는 토큰 발급자입니다.
-
IAM Identity Center의 AWS Organizations 관리 계정 또는 위임된 관리자 계정에 액세스합니다. 멤버 계정의 애플리케이션 빌더는이 범위를 직접 활성화할 수 없습니다.
계정 액세스 활성화
고객 관리형 애플리케이션의 sso:account:access 범위를 활성화하려면
-
조직의 관리 계정 또는 위임된 관리자 계정을 AWS Management Console 사용하여에 로그인합니다.
-
IAM Identity Center 콘솔
을 엽니다. -
탐색 창에서 애플리케이션을 선택합니다.
-
고객 관리형 탭을 선택합니다.
-
구성할 애플리케이션의 이름을 선택합니다.
-
AWS 계정 액세스 섹션에서 AWS 계정 액세스 활성화를 켭니다.
계정 액세스를 활성화한 후 애플리케이션은 ID 포털 API 작업을 프로그래밍 방식으로 호출하여 계정 및 역할을 나열하고 인증된 사용자에게 액세스 권한이 부여된 역할에 대한 임시 AWS 자격 증명을 검색할 수 있습니다.
중요
애플리케이션 sso:account:access 범위를 활성화하면 해당 애플리케이션은 권한 세트 할당을 통해 인증된 사용자가 사용할 수 있는 모든 계정 및 역할에 액세스할 수 있습니다. 애플리케이션을 특정 계정 또는 역할로 제한할 수 없습니다. 이 기능을 활성화하기 전에이 액세스 수준을 이해해야 합니다.
프로그래밍 방식 액세스
PutApplicationAccessScope API를 사용하여 고객 관리형 애플리케이션의 sso:account:access 범위를 프로그래밍 방식으로 활성화할 수 있습니다. 조직의 관리 계정 또는 위임된 관리자 계정에서 API를 호출해야 합니다.
AWS CLI
aws sso-admin put-application-access-scope \ --application-arn arn:aws:sso::123456789012:application/ssoins-1234567890abcdef/apl-1234567890abcdef\ --scope "sso:account:access"
API 요청:
{ "ApplicationArn": "arn:aws:sso::123456789012:application/ssoins-1234567890abcdef/apl-1234567890abcdef", "Scope": "sso:account:access" }
계정 액세스를 비활성화하려면 애플리케이션 ARN 및 범위 값이 동일한 DeleteApplicationAccessScope API를 사용합니다.
자세한 내용은 IAM Identity Center API 참조의 PutApplicationAccessScope 및 DeleteApplicationAccessScope를 참조하세요.
보안 모범 사례
-
sso:account:access범위는 인증된 사용자가 사용할 수 있는 모든 계정 및 역할에 대한 액세스 권한을 애플리케이션에 부여합니다. 특정 계정 또는 역할에 대한 액세스를 제한할 수 없습니다. 이 액세스 수준이 필요한 애플리케이션에 대해서만이 범위를 활성화합니다. -
백엔드 서버에 IAM Identity Center 액세스 토큰과 새로 고침 토큰을 유지합니다. 클라이언트 측 코드에 노출하지 마세요.
-
애플리케이션 로그, 오류 메시지 또는 디버깅 출력에 토큰 또는 자격 증명을 기록하지 마십시오.
-
URL 쿼리 파라미터에 토큰을 전달하지 마십시오. 액세스 토큰에
x-amz-sso_bearer_token헤더를 사용합니다. -
AWS CloudTrail를 사용하여 애플리케이션에서 수행한 API 호출을 모니터링합니다.