

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

# 인증 프로파일을 사용하여 Amazon Redshift에 연결
<a name="connecting-with-authentication-profiles"></a>

Amazon Redshift에 대한 연결이 많은 경우 모든 연결에 대한 설정을 관리하기 어려울 수 있습니다. 각 JDBC 또는 ODBC 연결에서 특정 구성 옵션을 사용하는 경우가 많습니다. 인증 프로파일을 사용하여 연결 옵션을 함께 저장할 수 있습니다. 이렇게 하면 사용자가 연결할 프로파일을 선택할 수 있으며 개별 옵션에 대한 설정을 관리하지 않아도 됩니다. 다양한 시나리오와 사용자 유형에 프로파일을 적용할 수 있습니다.

인증 프로파일을 생성한 후 사용자가 연결 문자열에 즉시 사용 가능한 프로파일을 추가할 수 있습니다. 이렇게 하면 사용자는 각 역할 및 사용 사례에 적합한 설정을 사용하여 Amazon Redshift에 연결할 수 있습니다.

Amazon Redshift API 정보는 [CreateAuthenticationProfile](https://docs.aws.amazon.com/redshift/latest/APIReference/redshift-api.pdf#API_CreateAuthenticationProfile)을 참조하세요.

# 인증 프로파일 생성
<a name="connecting-with-authentication-profiles-creating"></a>

AWS CLI를 사용하여 `create-authentication-profile` 명령으로 인증 프로파일을 생성합니다. 여기서는 기존 Amazon Redshift 클러스터와 기존 데이터베이스가 있다고 가정합니다. 자격 증명에는 Amazon Redshift 데이터베이스에 연결할 수 있는 권한과 인증 프로파일을 가져올 수 있는 권한이 있어야 합니다. 구성 옵션을 JSON 문자열로 제공하거나 JSON 문자열이 포함된 파일을 참조합니다.

```
create-authentication-profile --authentication-profile-name<value: String> --authentication-profile-content<value: String>
```

 다음 예에서는 `ExampleProfileName`이라는 프로파일을 생성합니다. 여기에서 클러스터 이름 및 기타 옵션 설정을 정의하는 키와 값을 JSON 문자열로 추가할 수 있습니다.

```
create-authentication-profile --authentication-profile-name "ExampleProfileName" --authentication-profile-content "{\"AllowDBUserOverride\":\"1\",\"Client_ID\":\"ExampleClientID\",\"App_ID\":\"ExampleAppID\",\"AutoCreate\":false,\"enableFetchRingBuffer\":true,\"databaseMetadataCurrentDbOnly\":true}"
}
```

 이 명령은 지정된 JSON 설정으로 프로파일을 생성합니다. 프로파일이 생성되었음을 나타내는 다음이 반환됩니다.

 `{"AuthenticationProfileName": "ExampleProfileName", "AuthenticationProfileContent": "{\"AllowDBUserOverride\":\"1\",\"Client_ID\":\"ExampleClientID\",\"App_ID\":\"ExampleAppID\",\"AutoCreate\":false,\"enableFetchRingBuffer\":true,\"databaseMetadataCurrentDbOnly\":true}" } ` 

## 인증 프로파일 생성에 대한 제한 사항 및 할당량
<a name="connecting-with-authentication-profiles-limitations"></a>

각 고객에게는 10개의 인증 프로파일 할당량이 있습니다.

인증 프로파일에서 특정 오류가 발생할 수 있습니다. 예를 들어 기존 이름으로 새 프로파일을 생성하거나 프로파일 할당량을 초과하는 경우가 있습니다. 자세한 내용은 [CreateAuthenticationProfile](https://docs.aws.amazon.com/redshift/latest/APIReference/redshift-api.pdf#API_CreateAuthenticationProfile)을 참조하세요.

인증 프로파일 스토어에 JDBC, ODBC 및 Python 연결 문자열에 대한 특정 옵션 키와 값을 저장할 수 없습니다.
+ `AccessKeyID`
+ `access_key_id`
+ `SecretAccessKey`
+ `secret_access_key_id`
+ `PWD`
+ `Password`
+ `password`

JDBC 또는 ODBC 연결 문자열의 경우 프로파일 스토어에 키 또는 값 `AuthProfile`을 저장할 수 없습니다. Python 연결의 경우 `auth_profile`을 저장할 수 없습니다.

인증 프로파일은 Amazon DynamoDB에 저장되며 AWS에서 관리합니다.

# 인증 프로파일과 연결
<a name="connecting-with-authentication-profiles-using"></a>

인증 프로파일을 생성한 후 JDBC 버전 2.0 `AuthProfile`에 대한 연결 옵션으로 프로파일 이름을 포함할 수 있습니다. 이 연결 옵션을 사용하면 저장된 설정이 검색됩니다.

```
jdbc:redshift:iam://endpoint:port/database?AuthProfile=<Profile-Name>&AccessKeyID=<Caller-Access-Key>&SecretAccessKey=<Caller-Secret-Key>
```

다음은 JDBC URL 문자열의 예입니다.

```
jdbc:redshift:iam://examplecluster:us-west-2/dev?AuthProfile="ExampleProfile"&AccessKeyID="AKIAIOSFODNN7EXAMPLE"&SecretAccessKey="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
```

인증 프로파일 이름과 함께 JDBC URL에 `AccessKeyID`와 `SecretAccessKey`를 모두 지정합니다.

로깅 옵션이 포함된 다음 예와 같이 세미콜론 구분 기호로 구성 옵션을 구분할 수도 있습니다.

```
jdbc:redshift:iam://my_redshift_end_point:5439/dev?LogLevel=6;LogPath=/tmp;AuthProfile=my_profile;AccessKeyID="AKIAIOSFODNN7EXAMPLE";SecretAccessKey="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
```

**참고**  
 인증 프로파일에 기밀 정보를 추가하지 않습니다. 예를 들어 인증 프로파일에 `AccessKeyID` 또는 `SecretAccessKey` 값을 저장하지 마세요. 인증 프로필 스토어에는 보안 암호 키의 저장을 금지하는 규칙이 있습니다. 민감한 정보와 관련된 키와 값을 저장하려고 하면 오류가 발생합니다.

# 인증 프로파일 가져오기
<a name="connecting-with-authentication-profiles-getting"></a>

기존 인증 프로파일을 나열하려면 다음 명령을 호출합니다.

```
describe-authentication-profiles --authentication-profile-name <value: String>
```

다음 예에서는 2개의 검색된 프로파일을 보여줍니다. 프로파일 이름을 지정하지 않으면 모든 프로파일이 반환됩니다.

`{ "AuthenticationProfiles": [ { "AuthenticationProfileName": "testProfile1", "AuthenticationProfileContent": "{\"AllowDBUserOverride\":\"1\",\"Client_ID\":\"ExampleClientID\",\"App_ID\":\"ExampleAppID\",\"AutoCreate\":false,\"enableFetchRingBuffer\":true,\"databaseMetadataCurrentDbOnly\":true}" }, { "AuthenticationProfileName": "testProfile2", "AuthenticationProfileContent": "{\"AllowDBUserOverride\":\"1\",\"Client_ID\":\"ExampleClientID\",\"App_ID\":\"ExampleAppID\",\"AutoCreate\":false,\"enableFetchRingBuffer\":true,\"databaseMetadataCurrentDbOnly\":true}" } ] } `