사용자에게 역할 전환 권한 부여
사용자에게 역할 전환 권한 부여
관리자가 교차 계정 접근용 역할을 만들 때 역할을 소유한 계정(신뢰하는 계정)과 사용자가 있는 계정(신뢰받는 계정) 사이의 신뢰를 설정합니다. 이를 위해 신뢰하는 계정의 관리자는 역할의 신뢰 정책에서 Principal로 신뢰받는 계정 번호를 지정합니다. 그러면 신뢰받는 계정의 모든 사용자가 역할을 수임할 수 있을 수*있습니다. 구성을 완료하려면 신뢰받는 계정의 관리자가 해당 계정의 특정 그룹이나 사용자에게 역할로 전환할 권한을 부여해야 합니다.
출처: 문서
본문
역할로 전환할 권한 부여
- 신뢰받는 계정의 관리자로서 사용자의 새 정책을 만들거나 기존 정책을 편집해 필요한 요소를 추가합니다. 자세한 내용은 "정책 생성 또는 편집"을 참고하세요.
- 그런 다음 역할 정보를 공유할 방법을 선택합니다:
- 역할 링크(Role link): 사용자에게 역할 전환(Switch Role) 페이지로 이동시키고 모든 세부 정보가 이미 채워진 링크를 보냅니다.
- 계정 ID 또는 별칭(Account ID or alias): 각 사용자에게 역할 이름과 함께 계정 ID 번호 또는 계정 별칭을 제공합니다. 사용자는 역할 전환(Switch Role) 페이지로 가서 세부 정보를 수동으로 추가합니다. 자세한 내용은 "사용자에게 정보 제공"을 참고하세요.
IAM 사용자, SAML 페더레이션 역할, 웹 자격 증명 페더레이션 역할로 로그인한 경우에만 역할을 전환할 수 있다는 점에 유의하세요. AWS 계정 루트 사용자로 로그인하면 역할을 전환할 수 없습니다.
중요 AWS Management Console에서
ExternalId값을 요구하는 역할로는 전환할 수 없습니다.ExternalId파라미터를 지원하는AssumeRoleAPI를 호출해서만 그러한 역할로 전환할 수 있습니다.
참고
- 이 주제는 사용자용 정책을 다룹니다. 결국 작업을 완료하기 위해 사용자에게 권한을 부여하는 것이기 때문입니다. 하지만 개별 사용자에게 직접 권한을 부여하는 것은 권장하지 않아요. 사용자가 역할을 수임하면 그 역할에 연결된 권한이 할당됩니다.
- AWS Management Console에서 역할을 전환할 때 콘솔은 항상 원래 자격 증명을 사용해 전환을 인가합니다. IAM 사용자, SAML 페더레이션 역할, 웹 자격 증명 페더레이션 역할로 로그인했는지와 관계없이 적용됩니다. 예를 들어 RoleA로 전환하면 IAM은 RoleA를 수임할 수 있는지 판단하기 위해 원래 사용자 또는 페더레이션 역할 자격 증명을 사용합니다. RoleA를 사용하는 동안 RoleB로 전환하려고 하면, 시도를 인가하는 데 원래 사용자 또는 페더레이션 역할 자격 증명이 사용됩니다. 이 작업에는 RoleA의 자격 증명을 사용하지 않습니다.
이번 강의에서 다룰 내용은 다음과 같아요.
- 정책 생성 또는 편집(Creating or editing the policy)
- 사용자에게 정보 제공(Providing information to the user)
정책 생성 또는 편집
사용자에게 역할 수임 권한을 부여하는 정책은 다음에 Allow 영향의 문을 포함해야 합니다.
sts:AssumeRole작업Resource요소의 역할 Amazon Resource Name(ARN)
정책을 받은 사용자(그룹 멤버십이나 직접 연결을 통해)는 나열된 리소스에서 역할을 전환할 수 있습니다.
참고
Resource가*로 설정되면 사용자는 사용자 계정을 신뢰하는 모든 계정의 모든 역할을 수임할 수 있습니다. (즉, 역할의 신뢰 정책이 사용자의 계정을Principal로 지정합니다.) 모범 사례로 최소 권한 원칙을 따르고 사용자가 필요로 하는 역할에 대해서만 완전한 ARN을 지정할 것을 권장합니다.
다음 예제는 사용자가 한 계정의 역할만 수임할 수 있게 하는 정책입니다. 또한 이 정책은 와일드카드(*)를 사용해 역할 이름이 Test 글자로 시작하는 경우에만 사용자가 역할로 전환할 수 있도록 지정합니다.
{
"Version":"2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::111122223333:role/Test*"
}
}
참고 역할이 사용자에게 부여하는 권한은 사용자에게 이미 부여된 권한에 더해지지 않습니다. 사용자가 역할로 전환하면 원래 권한을 일시적으로 내려놓고 역할이 부여한 권한으로 교체합니다. 사용자가 역할에서 나가면 원래 사용자 권한이 자동으로 복원됩니다. 예를 들어 사용자의 권한이 Amazon EC2 인스턴스로 작업하는 것을 허용하지만 역할의 권한 정책은 그러한 권한을 부여하지 않는다고 가정해 보겠습니다. 이 경우 역할을 사용하는 동안 사용자는 콘솔에서 Amazon EC2 인스턴스로 작업할 수 없습니다. 또한
AssumeRole로 얻은 임시 자격 증명은 프로그래매틱 방식으로 Amazon EC2 인스턴스에서 작동하지 않습니다.
사용자에게 정보 제공
역할을 만들고 사용자에게 역할로 전환할 권한을 부여한 후에는 사용자에게 다음을 제공해야 합니다.
- 역할의 이름
- 역할이 포함된 계정의 ID 또는 별칭
계정 ID와 역할 이름이 미리 구성된 링크를 보내면 사용자의 접근을 간소화할 수 있습니다. 역할 생성(Create Role) 마법사를 완료한 후 역할 보기(View Role) 배너를 선택하거나, 교차 계정 활성화 역할의 역할 요약(Role Summary) 페이지에서 역할 링크를 볼 수 있습니다.
다음 형식으로 링크를 수동으로 구성할 수도 있습니다. 다음 예제의 두 파라미터를 계정 ID 또는 별칭과 역할 이름으로 대체하세요.
https://signin.aws.amazon.com/switchrole?account=your_account_ID_or_alias&roleName=optional_path/role_name``
사용자를 사용자에서 IAM 역할로 전환 (콘솔) 문서로 안내해 과정을 설명할 것을 권장합니다. 역할을 수임할 때 발생할 수 있는 일반적인 문제를 해결하려면 역할을 수임할 수 없습니다 문서를 참고하세요.
고려사항
- 프로그래매틱 방식으로 역할을 만들면 경로와 이름으로 역할을 만들 수 있습니다. 그렇게 하면 사용자에게 완전한 경로와 역할 이름을 제공해 AWS Management Console의 역할 전환(Switch Role) 페이지에 입력하게 해야 합니다. 예:
division_abc/subdivision_efg/role_XYZ. - 프로그래매틱 방식으로 역할을 만들면 최대 512자의
Path와RoleName을 추가할 수 있습니다. 역할 이름은 최대 64자입니다. 하지만 AWS Management Console의 역할 전환(Switch Role) 기능과 함께 역할을 사용하려면Path와RoleName을 합친 길이가 64자를 초과할 수 없습니다. - 보안 목적으로 AWS CloudTrail 로그 검토를 통해 AWS에서 누가 작업을 수행했는지 확인할 수 있습니다. 역할 신뢰 정책에서
sts:SourceIdentity조건 키를 사용해 사용자가 역할을 수임할 때 자격 증명을 지정하도록 요구할 수 있습니다. 예를 들어 IAM 사용자가 자신의 사용자 이름을 소스 자격 증명으로 지정하도록 요구할 수 있습니다. 이렇게 하면 AWS에서 특정 작업을 누가 수행했는지 판단하는 데 도움이 됩니다. 자세한 내용은 sts:SourceIdentity 문서를 참고하세요. 또한 sts:RoleSessionName을 사용해 사용자가 역할을 수임할 때 세션 이름을 지정하도록 요구할 수 있습니다. 이렇게 하면 다른 주체가 역할을 사용할 때 역할 세션을 구분하는 데 도움이 됩니다.