

 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="options-for-providing-iam-credentials"></a>

JDBC 또는 ODBC 연결에 IAM 자격 증명을 제공하려면 다음 옵션 중 한 가지를 선택합니다.
+ **AWS 프로필** 

  JDBC 또는 ODBC 설정의 형태로 자격 증명 값을 제공하는 방식의 대안으로 이름 있는 프로필에 값을 입력할 수 있습니다. 자세한 내용은 [구성 프로필 사용](#using-configuration-profile) 섹션을 참조하세요.
+ **IAM 보안 인증**

  AccessKeyID, SecretAccessKey, 그리고 옵션으로 SessionToken에 대한 값을 JDBC 또는 ODBC 설정의 형태로 제공합니다. SessionToken은 임시 자격 증명을 가진 IAM 역할에만 필요합니다. 자세한 내용은 [IAM 자격 증명 제공을 위한 JDBC 및 ODBC 옵션](#jdbc-options-for-providing-iam-credentials) 섹션을 참조하세요.
+ **ID 제공업체 페더레이션** 

  자격 증명 공급자 페더레이션을 사용하여 자격 증명 공급자의 사용자가 Amazon Redshift에 인증할 수 있도록 하는 경우 자격 증명 공급자 플러그인의 이름을 지정합니다. 자세한 내용은 [자격 증명 제공업체 플러그인](#using-credentials-provider-plugin) 섹션을 참조하세요.

  Amazon Redshift JDBC 및 ODBC 드라이버에는 다음 SAML 기반의 자격 증명 페더레이션 자격 증명 공급자를 위한 플러그인이 포함됩니다.
  + Microsoft Active Identity Federation Services(AD FS)
  + PingOne
  + Okta
  + Microsoft Azure Active Directory (Azure AD)

  JDBC 또는 ODBC 설정의 형태로 혹은 프로필을 이용해 플러그인 이름과 관련 값을 입력할 수 있습니다. 자세한 내용은 [JDBC 드라이버 버전 2.x 구성 옵션](jdbc20-configuration-options.md) 섹션을 참조하세요.

자세한 내용은 [5단계: IAM 자격 증명을 사용하도록 JDBC 또는 ODBC 연결 구성](generating-iam-credentials-steps.md#generating-iam-credentials-configure-jdbc-odbc) 섹션을 참조하세요.

## 구성 프로필 사용
<a name="using-configuration-profile"></a>

IAM 자격 증명 옵션과 `GetClusterCredentials` 옵션은 AWS 구성 파일에서 이름 있는 프로파일의 설정대로 제공할 수 있습니다. 프로필 이름을 제공하려면 Profile JDBC 옵션을 사용합니다. 구성은 홈 디렉터리의 `.aws` 폴더의 `config` 또는 `credentials` 파일에 저장되어 있습니다.

Amazon Redshift JDBC 또는 ODBC 드라이버에 포함된 SAML 기반 자격 증명 공급자 플러그인의 경우 [자격 증명 제공업체 플러그인](#using-credentials-provider-plugin)의 바로 앞에서 설명한 설정을 사용할 수 있습니다. `plugin_name`을 사용하지 않으면 다른 옵션은 무시됩니다.

다음 예에서는 2개의 프로파일이 있는 \~/.aws/credentials 파일을 보여줍니다.

```
[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

[user2]
aws_access_key_id=AKIAI44QH8DHBEXAMPLE
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
session_token=AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGd
QrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU
9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz
+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
```

`user2` 예시에 대한 자격 증명을 사용하려면 JDBC URL에서 `Profile=user2`를 지정하십시오.

프로파일 사용에 대한 자세한 내용은 *AWS Command Line Interface 사용 설명서*의 [구성 및 자격 증명 파일 설정](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)을 참조하세요.

JDBC 드라이버에 대한 프로필 사용에 대한 자세한 내용은 [프로파일 지정](jdbc20-configure-authentication-ssl.md#jdbc20-aws-credentials-profiles)을 참조하세요.

ODBC 드라이버에 대한 프로필 사용에 대한 자세한 내용은 [인증 방법](odbc20-authentication-ssl.md)을 참조하세요.

## IAM 자격 증명 제공을 위한 JDBC 및 ODBC 옵션
<a name="jdbc-options-for-providing-iam-credentials"></a>

다음 표는 IAM 자격 증명 제공을 위한 JDBC 및 ODBC 옵션을 목록으로 보여줍니다.


|  옵션  | 설명 | 
| --- | --- | 
| `Iam` | ODBC 연결 문자열 전용. IAM 인증을 사용하려면 1로 설정합니다. | 
| `AccessKeyID`<br />`SecretAccessKey`<br />`SessionToken` | IAM 데이터베이스 인증용으로 구성한 IAM 역할 또는 사용자의 액세스 키 ID 및 비밀 액세스 키. SessionToken은 임시 자격 증명이 있는 IAM 역할에만 필요합니다. SessionToken은 사용자에게 사용되지 않습니다. 자세한 내용은 [임시 보안 자격 증명](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)을 참조하십시오. | 
| plugin\_name | 자격 증명 공급자를 실행하는 완전히 정규화된 클래스 이름. Amazon Redshift JDBC 드라이버에는 SAML 기반의 자격 증명 공급자 플러그인이 포함됩니다. plugin\_name을 제공하는 경우, 다른 관련 옵션도 제공할 수 있습니다. 자세한 내용은 [자격 증명 제공업체 플러그인](#using-credentials-provider-plugin) 섹션을 참조하세요. | 
| `Profile`  | AWS 자격 증명의 프로파일 이름 또는 JDBC에 대한 값을 포함한 config 파일입니다. 자세한 내용은 [구성 프로필 사용](#using-configuration-profile) 섹션을 참조하세요. | 

## 데이터베이스 사용자 자격 증명 생성을 위한 JDBC 및 ODBC 옵션
<a name="jdbc-and-odbc-options-for-database-credentials"></a>

Amazon Redshift JDBC 또는 ODBC 드라이버로 데이터베이스 사용자 자격 증명을 생성하려면 데이터베이스 사용자 이름을 JDBC 또는 ODBC 옵션으로 제공합니다. 선택에 따라 데이터베이스 사용자가 없으면 드라이버가 새로 만들도록 할 수 있고, 사용자가 로그인 시 조인하는 데이터베이스 사용자 그룹 목록을 지정할 수 있습니다.

자격 증명 공급자(IdP)를 사용할 경우, IdP 관리자에게 문의하여 이들 옵션에 올바른 값을 정하십시오. IdP 관리자는 이러한 옵션 제공을 위해 사용자의 IdP를 구성할 수도 있으며, 이 경우 JDBC 또는 ODBC 옵션으로 제공하지 않아도 됩니다. 자세한 내용은 [2단계: IdP에 대한 SAML 어설션 구성](generating-iam-credentials-steps.md#configuring-saml-assertions) 섹션을 참조하세요.

**참고**  
`${redshift:DbUser}`에서 설명한 대로 IAM 정책 변수 [GetClusterCredentials에 대한 리소스 정책](redshift-iam-access-control-identity-based.md#redshift-policy-resources.getclustercredentials-resources)를 사용할 경우, `DbUser`의 값이, API 작업의 요청 컨텍스트에서 검색한 값으로 대체됩니다. Amazon Redshift 드라이버는 SAML 속성으로 제공된 값이 아니라 연결 URL에서 제공한 `DbUser` 변수의 값을 사용합니다.  
이 구성의 보안을 위해 IAM 정책의 조건을 사용하여 `DbUser`으로 `RoleSessionName` 값을 확인할 것을 권장합니다. IAM 정책을 사용하여 조건을 설정하는 방법의 예는 [예제 8: GetClusterCredentials 사용을 위한 IAM 정책 예제](redshift-iam-access-control-identity-based.md#redshift-policy-examples-getclustercredentials)에서 볼 수 있습니다.

다음 표는 데이터베이스 사용자의 자격 증명 생성 옵션을 목록으로 보여줍니다.


|  옵션  | 설명 | 
| --- | --- | 
| DbUser | 데이터베이스 사용자의 이름. 데이터베이스에 DbUser라는 사용자 이름이 있으면 임시 사용자 자격 증명이 기존 사용자와 동일한 권한을 갖습니다. 데이터베이스에 DbUser가 없고 AutoCreate가 True인 경우, 새 사용자 이름 DbUser를 만듭니다. 선택에 따라 기존 사용자의 암호를 비활성화하십시오. 자세한 내용은 [ALTER\_USER](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_USER.html)를 참조하십시오. | 
| AutoCreate | 데이터베이스 사용자가 없어서 DbUser에 지정된 이름으로 새로 만들려면 `true`를 지정합니다. 기본값은 false입니다. | 
| DbGroups | 데이터베이스 사용자가 현재 세션에서 조인하는 둘 이상의 기존 데이터베이스 그룹을 쉼표로 구분한 이름 목록. 기본적으로 PUBLIC에만 신규 사용자가 추가됩니다. | 

## 자격 증명 제공업체 플러그인
<a name="using-credentials-provider-plugin"></a>

Amazon Redshift는 Single Sign-On 인증을 위해 자격 증명 공급자 플러그인을 사용합니다.

Single Sign-On 인증을 지원하기 위해 Amazon Redshift는 Microsoft Azure Active Directory용 Azure AD 플러그인을 제공합니다. 이 플러그인을 구성하는 방법에 대한 자세한 내용은 [JDBC 또는 ODBC Single Sign-On 인증 설정](setup-azure-ad-identity-provider.md) 단원을 참조하십시오.

### 다중 인증
<a name="setting_mfa"></a>

멀티 팩터 인증(MFA)을 지원하기 위해 Amazon Redshift는 브라우저 기반 플러그인을 제공합니다. Okta 및 PingOne용 브라우저 SAML 플러그인과 Microsoft Azure Active Directory용 브라우저 Azure AD 플러그인을 사용합니다.

브라우저 SAML 플러그인의 경우, OAuth 인증은 다음과 같이 흐릅니다.

![플러그인, 로컬 서버, 웹 브라우저 및 엔드포인트가 함께 작동하여 SAML 인증을 통해 사용자를 인증하는 방법에 대한 OAuth 워크플로입니다.](http://docs.aws.amazon.com/ko_kr/redshift/latest/mgmt/images/BrowserSAML_plugin.png)


1. 사용자가 로그인을 시도합니다.

1. 플러그인은 로컬 서버를 시작하여 로컬 호스트에서 들어오는 연결을 수신합니다.

1. 플러그인은 웹 브라우저를 시작하여 지정된 Single Sign-On 로그인 URL 페더레이션 자격 증명 공급자 엔드포인트에서 HTTPS를 통해 SAML 응답을 요청합니다.

1. 웹 브라우저는 링크를 따라 사용자에게 자격 증명을 입력하라는 메시지를 표시합니다.

1. 사용자가 인증하고 동의하면 연동 자격 증명 공급자 엔드포인트가 HTTPS를 통해 `redirect_uri`에 표시된 URI에 SAML 응답을 반환합니다.

1. 웹 브라우저는 SAML 응답과 함께 응답 메시지를 표시된 `redirect_uri`로 이동합니다.

1. 로컬 서버는 수신 연결을 수락하고 플러그인은 SAML 응답을 검색하여 Amazon Redshift에 전달합니다.

브라우저 Azure AD 플러그인의 경우, SAML 인증은 다음과 같이 흐릅니다.

![플러그인, 로컬 서버, 웹 브라우저 및 엔드포인트가 함께 작동하여 SAML 인증을 통해 사용자를 인증하는 방법에 대한 Azure 워크플로입니다.](http://docs.aws.amazon.com/ko_kr/redshift/latest/mgmt/images/BrowserAzure_plugin.png)


1. 사용자가 로그인을 시도합니다.

1. 플러그인은 로컬 서버를 시작하여 로컬 호스트에서 들어오는 연결을 수신합니다.

1. 플러그인은 웹 브라우저를 시작하여 Azure AD `oauth2/authorize` 엔드포인트로부터 권한 부여 코드를 요청합니다.

1. 웹 브라우저는 HTTPS를 통해 생성된 링크를 따라 사용자에게 자격 증명을 입력하라는 메시지를 표시합니다. 링크는 테넌트 및 client\_id와 같은 구성 속성을 사용하여 생성됩니다.

1. 사용자가 인증하고 동의하면 Azure AD `oauth2/authorize` 엔드포인트가 HTTPS를 통해 표시된 `redirect_uri`에 권한 부여 코드와 함께 응답을 반환하고 보냅니다.

1. 웹 브라우저는 SAML 응답과 함께 응답 메시지를 표시된 `redirect_uri`로 이동합니다.

1. 로컬 서버는 수신 연결 및 플러그인 요청을 수락하고 권한 부여 코드를 검색하고 Azure AD `oauth2/token` 엔드포인트에 POST 요청을 보냅니다.

1. Azure AD `oauth2/token` 엔드포인트는 표시된 `redirect_uri`에 액세스 토큰이 있는 응답을 반환합니다.

1. 플러그인은 SAML 응답을 검색하여 Amazon Redshift에 전달합니다.

다음 단원을 참조하십시오.
+ AD FS(Active Directory Federation Services)

  자세한 내용은 [JDBC 또는 ODBC Single Sign-On 인증 설정](setup-azure-ad-identity-provider.md) 섹션을 참조하세요.
+ PingOne(Ping) 

  Ping은 Forms 인증을 사용하여 사전에 지정한 PingOne IdP Adapter로만 지원됩니다.

  자세한 내용은 [JDBC 또는 ODBC Single Sign-On 인증 설정](setup-azure-ad-identity-provider.md) 섹션을 참조하세요.
+ Okta 

  Okta는 AWS Management Console과 함께 사용되는 Okta 제공 애플리케이션에만 지원됩니다.

  자세한 내용은 [JDBC 또는 ODBC Single Sign-On 인증 설정](setup-azure-ad-identity-provider.md) 섹션을 참조하세요.
+ Microsoft Azure Active Directory

  자세한 내용은 [JDBC 또는 ODBC Single Sign-On 인증 설정](setup-azure-ad-identity-provider.md) 섹션을 참조하세요.

### 플러그인 옵션
<a name="configuring_plugin_options"></a>

SAML 기반의 자격 증명 공급자 플러그인을 사용하려면 JDBC 또는 ODBC 옵션을 사용하거나 명명된 프로파일에서 다음 옵션을 지정합니다. `plugin_name`을 지정하지 않으면 다른 옵션은 무시됩니다.


|  옵션  | 설명 | 
| --- | --- | 
| plugin\_name | JDBC의 경우 자격 증명 공급자를 실행하는 클래스 이름입니다. 다음 중 하나를 지정하세요.[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/redshift/latest/mgmt/options-for-providing-iam-credentials.html)<br />ODBC의 경우 다음 중 하나를 지정하십시오.[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/redshift/latest/mgmt/options-for-providing-iam-credentials.html) | 
| idp\_host  | 기업 자격 증명 제공업체 호스트의 이름입니다. 이 이름에 슬래시(/)가 포함되면 안 됩니다. Okta 자격 증명 공급자의 경우 idp\_host의 값은 .okta.com으로 끝나야 합니다. | 
| `idp_port`  | 자격 증명 공급자가 사용하는 포트. 기본값은 443입니다. Okta의 경우 이 포트를 무시합니다. | 
| `preferred_role`  | SAML 어설션에서 AttributeValue 속성에 대한 Role 요소의 역할 Amazon 리소스 이름(ARN)입니다. 선호되는 역할에 적절한 값을 찾으려면 IdP 관리자에게 문의하십시오. 자세한 내용은 [2단계: IdP에 대한 SAML 어설션 구성](generating-iam-credentials-steps.md#configuring-saml-assertions) 섹션을 참조하세요. | 
| `user`  | 해당되는 경우 도메인을 포함하는 기업 사용자 이름입니다. 예를 들어 Active Directory에서는 domain\\username 형식의 도메인 이름이 필수입니다. | 
| 암호   | 기업 사용자의 암호. 이 옵션의 사용은 권장하지 않습니다. 대신 SQL 클라이언트를 사용해 암호를 공급하십시오. | 
| `app_id`  | Okta 애플리케이션을 위한 ID. Okta에만 사용됩니다. Okta application embed link에서 app\_id 값 뒤에 amazon\_aws가 붙습니다. 이 값을 얻으려면 IdP 관리자에게 문의하십시오. 다음은 애플리케이션 내장 링크의 예입니다. https://example.okta.com/home/amazon\_aws/0oa2hylwrpM8UGehd1t7/272  | 
| `idp_tenant` | Azure AD에 사용되는 테넌트입니다. Azure에서만 사용됩니다. | 
| `client_id`  | Azure AD의 Amazon Redshift 엔터프라이즈 애플리케이션의 클라이언트 ID입니다. Azure에서만 사용됩니다. | 