

 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/)을 참조하세요.

# 권한 부여 파라미터
<a name="copy-parameters-authorization"></a>

COPY 명령을 실행하려면 Amazon S3, Amazon EMR, Amazon DynamoDB, Amazon EC2의 데이터를 포함해 다른 AWS 리소스의 데이터에도 액세스할 수 있도록 권한 부여가 필요합니다. 클러스터에 연결되어 있는 [AWS Identity and Access Management(IAM) 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)을 참조하여 이러한 권한을 부여할 수 있습니다(*역할 기반 액세스 제어*). Amazon S3에서 로드 데이터를 암호화할 수 있습니다.

아래 주제에서는 더욱 자세한 내용과 함께 인증 옵션의 예를 살펴보겠습니다.
+ [COPY, UNLOAD 및 CREATE LIBRARY 작업을 위한 IAM 권한](copy-usage_notes-access-permissions.md#copy-usage_notes-iam-permissions)
+ [역할 기반 액세스 제어](copy-usage_notes-access-permissions.md#copy-usage_notes-access-role-based)
+ [키 기반 액세스 제어](copy-usage_notes-access-permissions.md#copy-usage_notes-access-key-based)

COPY 명령에서는 다음 중 한 가지를 사용하여 권한을 부여합니다.
+ [IAM\_ROLE 파라미터 사용](#copy-iam-role) 파라미터
+ [ACCESS\_KEY\_ID 및 SECRET\_ACCESS\_KEY 파라미터 사용](#copy-access-key-id) 파라미터
+ [CREDENTIALS 파라미터 사용](#copy-credentials) 절

## IAM\_ROLE 파라미터 사용
<a name="copy-iam-role"></a>

### IAM\_ROLE
<a name="copy-iam-role-iam"></a>

기본 키워드를 사용하여 COPY 명령이 실행될 때 Amazon Redshift에서 기본값으로 설정되고 클러스터와 연결된 IAM 역할을 사용하도록 합니다.

클러스터가 인증 및 권한 부여에 사용하는 IAM 역할의 Amazon 리소스 이름(ARN)을 사용합니다. IAM\_ROLE을 지정하면 ACCESS\_KEY\_ID 및 SECRET\_ACCESS\_KEY, SESSION\_TOKEN 또는 CREDENTIALS는 사용할 수 없습니다.

다음은 IAM\_ROLE 파라미터에 대한 구문을 나타낸 것입니다.

```
IAM_ROLE { default | 'arn:aws:iam::{{<AWS 계정-id>}}:role/{{<role-name>}}' }
```

자세한 내용은 [역할 기반 액세스 제어](copy-usage_notes-access-permissions.md#copy-usage_notes-access-role-based) 섹션을 참조하세요.

## ACCESS\_KEY\_ID 및 SECRET\_ACCESS\_KEY 파라미터 사용
<a name="copy-access-key-id"></a>

### ACCESS\_KEY\_ID, SECRET\_ACCESS\_KEY
<a name="copy-access-key-id-access"></a>

이 권한 부여 방법은 권장되지 않습니다.

**참고**  
일반 텍스트로 입력되는 액세스 자격 증명보다는 IAM\_ROLE 파라미터를 지정하는 역할 기반 인증의 사용을 강력하게 권장합니다. 자세한 내용은 [역할 기반 액세스 제어](copy-usage_notes-access-permissions.md#copy-usage_notes-access-role-based) 섹션을 참조하세요.

### SESSION\_TOKEN
<a name="copy-token"></a>

임시 액세스 자격 증명으로 사용되는 세션 토큰입니다. SESSION\_TOKEN을 지정할 때도 ACCESS\_KEY\_ID와 SECRET\_ACCESS\_KEY를 사용하여 임시 액세스 키 자격 증명을 입력해야 합니다. SESSION\_TOKEN을 지정하면 IAM\_ROLE 또는 CREDENTIALS는 사용할 수 없습니다. 자세한 내용은 IAM 사용 설명서에서 [임시 보안 자격 증명](copy-usage_notes-access-permissions.md#r_copy-temporary-security-credentials) 섹션을 참조하세요.

**참고**  
임시 보안 자격 증명을 생성하는 것보다는 역할 기반 인증의 사용을 강력하게 권장합니다. IAM 역할을 사용하여 권한을 부여하면 Amazon Redshift가 각 세션마다 임시 사용자 자격 증명을 자동으로 생성합니다. 자세한 내용은 [역할 기반 액세스 제어](copy-usage_notes-access-permissions.md#copy-usage_notes-access-role-based) 섹션을 참조하세요.

다음은 ACCESS\_KEY\_ID 및 SECRET\_ACCESS\_KEY 파라미터를 사용한 SESSION\_TOKEN 파라미터의 구문 예입니다.

```
ACCESS_KEY_ID '{{<access-key-id>}}'
SECRET_ACCESS_KEY '{{<secret-access-key>}}'
SESSION_TOKEN '{{<temporary-token>}}';
```

SESSION\_TOKEN을 지정하면 CREDENTIALS 또는 IAM\_ROLE은 사용할 수 없습니다.

## CREDENTIALS 파라미터 사용
<a name="copy-credentials"></a>

### CREDENTIALS
<a name="copy-credentials-cred"></a>

클러스터가 데이터 파일 또는 매니페스트 파일이 위치한 다른 AWS 리소스에 액세스할 때 사용할 방법을 나타내는 절입니다. CREDENTIALS 파라미터는 IAM\_ROLE 또는 ACCESS\_KEY\_ID 및 SECRET\_ACCESS\_KEY와 함께 사용할 수 없습니다.

다음은 CREDENTIALS 파라미터에 대한 구문을 보여줍니다.

```
[WITH] CREDENTIALS [AS] 'credentials-args'
```

**참고**  
유연성을 높이려면 CREDENTIALS 파라미터 대신 [IAM\_ROLE](#copy-iam-role-iam) 파라미터를 사용하는 것이 좋습니다.

옵션으로 [ENCRYPTED](copy-parameters-data-source-s3.md#copy-encrypted) 파라미터를 사용하는 경우에는 *credentials-args* 문자열 역시 암호화 키의 역할을 합니다.

*credentials-args* 문자열은 대소문자를 구분하며 공백이 포함되어서는 안됩니다.

키워드 WITH와 AS는 옵션이며 무시해도 좋습니다.

[role-based access control](copy-usage_notes-access-permissions.md#copy-usage_notes-access-role-based.phrase) 또는 [key-based access control](copy-usage_notes-access-permissions.md#copy-usage_notes-access-key-based.phrase)를 지정할 수 있습니다. 어떤 액세스 제어를 지정하든 간에 IAM 역할 또는 사용자는 지정한 AWS 리소스에 액세스할 수 있는 권한이 필요합니다. 자세한 내용은 [COPY, UNLOAD 및 CREATE LIBRARY 작업을 위한 IAM 권한](copy-usage_notes-access-permissions.md#copy-usage_notes-iam-permissions) 섹션을 참조하세요.

**참고**  
AWS 자격 증명을 안전하게 지키고 민감한 데이터를 보호하려면 역할 기반 액세스 제어의 사용을 강력하게 권장합니다.

역할 기반 액세스 제어를 지정하려면 *credentials-args* 문자열을 다음과 같은 형식으로 입력합니다.

```
'aws_iam_role=arn:aws:iam::{{<aws-account-id>}}:role/{{<role-name>}}'
```

임시 토큰 자격 증명을 사용하려면 임시 액세스 키 ID와 임시 보안 액세스 키, 그리고 임시 토큰을 입력해야 합니다. *credentials-args* 문자열의 형식은 다음과 같습니다.

```
CREDENTIALS
'aws_access_key_id={{<temporary-access-key-id>}};aws_secret_access_key={{<temporary-secret-access-key>}};token={{<temporary-token>}}'
```

임시 자격 증명과 함께 역할 기반 액세스 제어를 사용하는 COPY 명령은 다음 샘플 문과 유사합니다.

```
COPY customer FROM 's3://amzn-s3-demo-bucket/mydata' 
CREDENTIALS
'aws_access_key_id={{<temporary-access-key-id>}};aws_secret_access_key={{<temporary-secret-access-key-id>}};token={{<temporary-token>}}'
```

 자세한 내용은 [임시 보안 자격 증명](copy-usage_notes-access-permissions.md#r_copy-temporary-security-credentials) 섹션을 참조하세요.

[ENCRYPTED](copy-parameters-data-source-s3.md#copy-encrypted) 파라미터를 사용하는 경우 *credentials-args* 문자열의 형식은 다음과 같습니다. 여기에서 {{<root-key>}}는 파일을 암호화할 때 사용한 루트 키의 값입니다.

```
CREDENTIALS
'{{<credentials-args>}};master_symmetric_key={{<root-key>}}'
```

암호화 키와 함께 역할 기반 액세스 제어를 사용하는 COPY 명령은 다음 샘플 문과 유사합니다.

```
COPY customer FROM 's3://amzn-s3-demo-bucket/mydata' 
CREDENTIALS 
'aws_iam_role=arn:aws:iam::{{<account-id>}}:role/{{<role-name>}};master_symmetric_key={{<root-key>}}'
```