

 Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 [블로그 게시물](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)을 참조하세요.

# IAM 역할에 대한 액세스 제한
<a name="authorizing-redshift-service-database-users"></a>

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

특정 데이터베이스 사용자에 한해 IAM 역할을 사용할 수 있도록 하려면 다음 단계를 따르세요.<a name="identify-db-users-for-iam-role"></a>

**특정 데이터베이스 사용자로 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:serverless-{{account-id}}-{{workgroup-id}}/{{user-name}}` 

1. [IAM 콘솔(IAM console)](https://console.aws.amazon.com/iam/home?#home)을 엽니다.

1. 탐색 창에서 **역할**을 선택합니다.

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

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

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "redshift.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. 신뢰 관계의 `sts:AssumeRole` 작업 영역에 `sts:ExternalId` 필드를 지정하는 값으로 제한하는 조건을 추가합니다. 역할에 대한 액세스 권한을 부여할 각 데이터베이스 사용자의 ARN을 추가합니다. 외부 ID는 고유한 문자열일 수 있습니다.

   예를 들어 다음 신뢰 관계는 `user1` 리전의 `user2` 클러스터에 속한 데이터베이스 사용자인 `my-cluster`과 `us-west-2`에게만 IAM 역할을 사용할 권한을 부여하고 있습니다.

------
#### [ JSON ]

****  

   ```
   {
     "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"
           ]
         }
       }
     }]
   }
   ```

------

1. **신뢰 정책 업데이트**를 선택합니다.