3단계: GetClusterCredentials 호출 권한이 있는 IAM 역할 생성
SQL 클라이언트가 사용자를 대신하여 GetClusterCredentials
작업을 호출할 수 있는 권한이 필요합니다. 그 인증을 제공하려면 사용자 또는 역할을 새로 만들어 필요한 권한을 허용하는 정책을 연결합니다.
GetClusterCredentials 호출 권한이 있는 IAM 역할 생성
-
IAM 서비스를 이용해 사용자 또는 역할을 새로 만듭니다. 기존의 사용자 또는 역할을 사용할 수 있습니다. 예를 들어 IdP 액세스에 대해 IAM 역할을 생성한 경우, 그 역할에 필요한 IAM 정책을 연결할 수 있습니다.
-
redshift:GetClusterCredentials
작업의 호출 권한이 있는 권한 정책을 연결합니다. 어떤 옵션 파라미터를 지정하느냐에 따라 정책에서 추가 작업 및 리소스를 허용하거나 제한할 수 있습니다.-
SQL 클라이언트의 클러스터 ID, AWS 리전, 포트 검색을 허용하려면 Redshift 클러스터 리소스가 있는
redshift:DescribeClusters
작업의 호출 권한을 포함합니다. -
AutoCreate
옵션을 사용하는 경우redshift:CreateClusterUser
호출(dbuser
리소스가 있는) 권한을 포함하십시오. 다음 Amazon 리소스 이름(ARN)은 Amazon Redshiftdbuser
를 지정합니다.
,region
및account-id
을 AWS 리전, 계정 및 클러스터의 값으로 바꿉니다.cluster-name
에는 클러스터 데이터베이스에 로그인하는 데 사용할 사용자 이름을 지정합니다.dbuser-name
arn:aws:redshift:
region
:account-id
:dbuser:cluster-name
/dbuser-name
-
(옵션) Amazon Redshift
dbname
리소스를 지정하는 ARN을 다음 형식으로 추가합니다.
,region
및account-id
을 AWS 리전, 계정 및 클러스터의 값으로 바꿉니다.cluster-name
에는 사용자가 로그인할 데이터베이스의 이름을 지정합니다.database-name
arn:aws:redshift:
region
:account-id
:dbname:cluster-name
/database-name
-
DbGroups
옵션을 사용하는 경우redshift:JoinGroup
작업(Amazon Redshiftdbgroup
리소스가 있는)의 호출 권한을 다음 형식대로 포함합니다.
,region
및account-id
을 AWS 리전, 계정 및 클러스터의 값으로 바꿉니다.cluster-name
에는 사용자가 로그인할 때 조인하는 사용자 그룹의 이름을 지정합니다.dbgroup-name
arn:aws:redshift:
region
:account-id
:dbgroup:cluster-name
/dbgroup-name
-
자세한 정보와 지침은 GetClusterCredentials에 대한 리소스 정책 섹션을 참조하세요.
다음 예는 IAM 역할이 GetClusterCredentials
작업을 호출하도록 허용하는 정책입니다. Amazon Redshift dbuser
리소스를 지정하면 데이터베이스 사용자 이름 temp_creds_user
(examplecluster
라는 클러스터에서)에 역할의 액세스를 허용합니다.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": "arn:aws:redshift:us-west-2:123456789012:dbuser:examplecluster/temp_creds_user" } }
와일드카드(*)를 사용하여 클러스터 이름, 사용자 이름, 데이터베이스 그룹 이름의 일부 또는 전부를 대체할 수 있습니다. 다음은 지정 계정에서 아무 클러스터가 있는 temp_
로 시작하는 모든 사용자 이름을 허용하는 예입니다.
중요
다음 예의 구문은 리소스의 값의 일부로 와일드카드 문자(*)를 지정하여 정책이 해당 문자로 시작하는 모든 리소스를 허용하게 합니다. IAM 정책에 와일드카드 문자를 사용하면 너무 허용적일 수 있습니다. 가장 좋은 방법은 해당 업무 용도에 맞는 정책 중 가장 제한적인 정책을 사용하는 것입니다.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": "arn:aws:redshift:us-west-2:123456789012:dbuser:*/temp_*" } }
다음 예는 IAM 역할이 새 사용자를 자동으로 생성하고 사용자 로그인 시 조인하는 그룹을 지정하는 옵션으로 GetClusterCredentials
작업의 호출을 허용하는 정책입니다. "Resource":
"*"
절은 클러스터, 데이터베이스 사용자, 또는 사용자 그룹을 포함한 모든 리소스에 역할 액세스 권한을 허용합니다.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "redshift:GetClusterCredentials", "redshift:CreateClusterUser", "redshift:JoinGroup" ], "Resource": "*" } }
자세한 내용은 Amazon Redshift ARN 구문을 참조하십시오.