View a markdown version of this page

고객 관리형 애플리케이션에 대한 AWS 계정 액세스 활성화 - AWS IAM Identity Center

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

고객 관리형 애플리케이션에 대한 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 범위를 활성화하면 다음 워크플로가 발생합니다.

  1. 사용자는 외부 ID 제공업체(IdP)를 통해 애플리케이션에 로그인합니다.

  2. 애플리케이션은 IdP로부터 서명된 JWT 토큰을 받습니다.

  3. 애플리케이션은 JWT 보유자 권한 부여 유형()으로 CreateTokenWithIAM API를 호출하여이 토큰을 IAM Identity Center 토큰으로 교환합니다urn:ietf:params:oauth:grant-type:jwt-bearer. 이 호출에는 서명 버전 4(SigV4) 인증이 필요합니다. 자세한 내용은 IAM Identity Center OIDC API 참조의 CreateTokenWithIAM을 참조하세요.

  4. 애플리케이션은 IAM Identity Center 토큰을 사용하여 포털 API 작업(ListAccounts, ListAccountRoles, GetRoleCredentials)을 호출하여 사용자에게 할당된 계정 및 역할을 검색하고 사용자를 대신하여 임시 AWS 자격 증명을 검색합니다.

  5. 사용자는 추가 로그인 단계 없이 애플리케이션을 통해 AWS 리소스에 액세스합니다.

애플리케이션을 설정할 때 새로 고침 토큰 부여를 활성화한 경우는 액세스 토큰과 함께 새로 고침 토큰CreateTokenWithIAM도 반환합니다. 애플리케이션은 전체 JWT Bearer 토큰 교환을 반복하지 않고도이 새로 고침 토큰을 사용하여 새 액세스 토큰을 얻을 수 있습니다. 액세스 토큰을 새로 고치려면 refresh_token 권한 부여 유형CreateTokenWithIAM으로를 호출합니다.

사전 조건

고객 관리형 애플리케이션에 대한 계정 액세스를 활성화하기 전에 다음이 필요합니다.

  • JSON 웹 토큰(JWT)을 지원하는 IAM Identity Center에 구성된 고객 관리형 애플리케이션입니다.JWTs 애플리케이션에는 자격 증명을 안전하게 저장할 수 있는 백엔드 서버 구성 요소가 있어야 합니다. 단일 페이지 애플리케이션(SPAs) 및 기타 퍼블릭 클라이언트와 같은 브라우저 기반 애플리케이션은이 기능에서 지원되지 않습니다.

  • 애플리케이션에 연결된 신뢰할 수 있는 토큰 발급자입니다.

  • IAM Identity Center의 AWS Organizations 관리 계정 또는 위임된 관리자 계정에 액세스합니다. 멤버 계정의 애플리케이션 빌더는이 범위를 직접 활성화할 수 없습니다.

계정 액세스 활성화

고객 관리형 애플리케이션의 sso:account:access 범위를 활성화하려면
  1. 조직의 관리 계정 또는 위임된 관리자 계정을 AWS Management Console 사용하여에 로그인합니다.

  2. IAM Identity Center 콘솔을 엽니다.

  3. 탐색 창에서 애플리케이션을 선택합니다.

  4. 고객 관리형 탭을 선택합니다.

  5. 구성할 애플리케이션의 이름을 선택합니다.

  6. 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 참조의 PutApplicationAccessScopeDeleteApplicationAccessScope를 참조하세요.

보안 모범 사례

  • sso:account:access 범위는 인증된 사용자가 사용할 수 있는 모든 계정 및 역할에 대한 액세스 권한을 애플리케이션에 부여합니다. 특정 계정 또는 역할에 대한 액세스를 제한할 수 없습니다. 이 액세스 수준이 필요한 애플리케이션에 대해서만이 범위를 활성화합니다.

  • 백엔드 서버에 IAM Identity Center 액세스 토큰과 새로 고침 토큰을 유지합니다. 클라이언트 측 코드에 노출하지 마세요.

  • 애플리케이션 로그, 오류 메시지 또는 디버깅 출력에 토큰 또는 자격 증명을 기록하지 마십시오.

  • URL 쿼리 파라미터에 토큰을 전달하지 마십시오. 액세스 토큰에 x-amz-sso_bearer_token 헤더를 사용합니다.

  • AWS CloudTrail를 사용하여 애플리케이션에서 수행한 API 호출을 모니터링합니다.