AWS IAM 역할과 함께 신뢰 정책을 사용하는 방법
IAM 역할은 다른 AWS 리소스에 액세스할 수 있는 권한을 가진 역할을 생성할 수 있도록 해줍니다. 이를 위해 역할의 신뢰 정책을 사용해야 합니다.
신뢰 정책을 사용하는 일반적인 사례 중 하나는 계정 A의 역할에 대한 액세스 권한을 제공하기 위해 계정 B의 역할을 사용하는 경우입니다. 이를 위해 역할 A의 신뢰 정책에서 계정 B의 역할을 참조하여 액세스를 허용할 수 있습니다. 하지만 이때 유의해야 할 점은 :root를 참조하는 경우 모든 주체가 역할을 맡을 수 있게 되므로 특정 주체나 조건을 지정하여 역할을 제한하는 것이 좋습니다.
또한 역할의 신뢰 정책에서 AWS 서비스를 사용하고자 하는 경우, SAML을 사용하는 경우에는 SAML에 대한 조건 키를 신뢰 정책에 사용할 수 있습니다. 이를 통해 Example Corp에 IAM 역할에 대한 사용 권한을 위임할 수 있습니다.
신뢰 정책에는 다양한 조건을 설정할 수 있는데, 예를 들어 aws:SourceIP 조건을 사용하여 소스 IP 범위를 제한할 수 있습니다. 또한 특정 키/값 태그가 있는 주체만 역할을 위임 받을 수 있도록 신뢰 정책을 설정할 수 있습니다.
서비스 주체에서 역할을 위임할 수 있도록 하기 위해 aws:PrincipalIsAWSService 조건 키를 추가할 수 있습니다. 이때, aws:PrincipalIsAWSService의 값을 true로 설정합니다.
더욱 세부적인 제어를 위해 aws:PrincipalOrgPaths 조건 키를 사용하여 조직의 특정 OU에 속한 계정에 대해서만 역할의 위임을 제한할 수 있습니다.
또한 역할 세션에서 소스 ID 속성을 설정하여 IdP를 구성할 수 있습니다. 이를 통해 역할이 수행한 작업을 역할을 맡은 사용자로 추적할 수 있습니다.