IAM 역할에 대한 액세스 제한 - Amazon Redshift

IAM 역할에 대한 액세스 제한

기본적으로 Amazon Redshift 클러스터에서 사용할 수 있는 IAM 역할은 해당 클러스터의 모든 사용자가 사용할 수 있습니다. IAM 역할을 특정 클러스터 또는 특정 영역의 특정 Amazon Redshift 데이터베이스 사용자로 제한하도록 선택할 수 있습니다.

특정 데이터베이스 사용자에 한해 IAM 역할을 사용할 수 있도록 하려면 다음 단계를 따르세요.

특정 데이터베이스 사용자로 IAM 역할에 대한 액세스 권한을 제한하려면
  1. 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

  2. IAM 콘솔(IAM console)을 엽니다.

  3. 탐색 창에서 역할를 선택합니다.

  4. 특정 Amazon Redshift 데이터베이스 사용자로 제한하려는 IAM 역할을 선택합니다.

  5. 신뢰 관계(Trust Relationships) 탭을 선택한 다음 신뢰 관계 편집(Edit Trust Relationship)을 선택합니다. Amazon Redshift가 귀하를 대신하여 다른 AWS 서비스에 액세스 할 수 있게 해주는 새로운 IAM 역할은 다음과 같이 신뢰 관계를 갖습니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  6. 신뢰 관계의 sts:AssumeRole 작업 영역에 sts:ExternalId 필드를 지정하는 값으로 제한하는 조건을 추가합니다. 역할에 대한 액세스 권한을 부여할 각 데이터베이스 사용자의 ARN을 추가합니다. 외부 ID는 고유한 문자열일 수 있습니다.

    예를 들어 다음 신뢰 관계는 user1 리전의 user2 클러스터에 속한 데이터베이스 사용자인 my-clusterus-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" ] } } }] }
  7. 신뢰 정책 업데이트를 선택합니다.