IAM 역할에 대한 액세스 제한
기본적으로 Amazon Redshift 클러스터에서 사용할 수 있는 IAM 역할은 해당 클러스터의 모든 사용자가 사용할 수 있습니다. IAM 역할을 특정 클러스터 또는 특정 영역의 특정 Amazon Redshift 데이터베이스 사용자로 제한하도록 선택할 수 있습니다.
특정 데이터베이스 사용자에 한해 IAM 역할을 사용할 수 있도록 하려면 다음 단계를 따르세요.
특정 데이터베이스 사용자로 IAM 역할에 대한 액세스 권한을 제한하려면
-
Amazon Redshift 클러스터의 데이터베이스 사용자에 대한 Amazon 리소스 이름(ARN)을 확인합니다. 데이터베이스 사용자의 ARN 형식은
arn:aws:redshift:
입니다.region
:account-id
:dbuser:cluster-name
/user-name
Amazon Redshift Serverless의 경우 다음 ARN 형식을 사용합니다.
arn:aws:redshift:
region
:account-id
:dbuser:workgroup-name
/user-name
-
IAM 콘솔(IAM console)
을 엽니다. -
탐색 창에서 역할를 선택합니다.
-
특정 Amazon Redshift 데이터베이스 사용자로 제한하려는 IAM 역할을 선택합니다.
-
신뢰 관계(Trust Relationships) 탭을 선택한 다음 신뢰 관계 편집(Edit Trust Relationship)을 선택합니다. Amazon Redshift가 귀하를 대신하여 다른 AWS 서비스에 액세스 할 수 있게 해주는 새로운 IAM 역할은 다음과 같이 신뢰 관계를 갖습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
신뢰 관계의
sts:AssumeRole
작업 영역에sts:ExternalId
필드를 지정하는 값으로 제한하는 조건을 추가합니다. 역할에 대한 액세스 권한을 부여할 각 데이터베이스 사용자의 ARN을 추가합니다. 외부 ID는 고유한 문자열일 수 있습니다.예를 들어 다음 신뢰 관계는
user1
리전의user2
클러스터에 속한 데이터베이스 사용자인my-cluster
과us-west-2
에게만 IAM 역할을 사용할 권한을 부여하고 있습니다.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": [ "arn:aws:redshift:us-west-2:123456789012:dbuser:my-cluster/user1", "arn:aws:redshift:us-west-2:123456789012:dbuser:my-cluster/user2" ] } } }] }
-
신뢰 정책 업데이트를 선택합니다.