

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

# Okta
<a name="setup-identity-provider-okta"></a>

Okta를 IdP(자격 증명 공급자)로 사용하여 Amazon Redshift 클러스터에 액세스할 수 있습니다. 이 자습서에서는 Okta를 ID 제공업체(idP)로 사용하여 Amazon Redshift 클러스터에 액세스하는 방법을 보여 줍니다.

## 1단계: Okta와 AWS 계정을 서로 신뢰하도록 설정
<a name="setup-identity-provider-okta-trust"></a>

다음 절차에서는 신뢰 관계를 설정하는 방법을 설명합니다.

**Okta와 AWS 계정을 서로 신뢰하도록 설정하려면**

1. Okta 사용자가 연결할 기존 Amazon Redshift 클러스터를 사용하거나 생성합니다. 연결을 구성하려면 이 클러스터의 특정 속성(예: 클러스터 식별자)이 필요합니다. 자세한 내용은 [클러스터 생성](https://docs.aws.amazon.com/redshift/latest/mgmt/create-cluster.html) 섹션을 참조하세요.

1. Amazon Redshift를 Okta 포털의 새 애플리케이션으로 추가합니다. 자세한 단계는 [Okta documentation](https://developer.okta.com/docs/)을 참조하십시오.
   + **애플리케이션 추가**를 선택합니다.
   + **애플리케이션 추가**에서 **Create New App(새 앱 생성)**을 선택합니다.
   + **Create a New Add Application Integration(새 애플리케이션 통합 추가 생성)** 페이지의 **플랫폼**에서 **웹**을 선택합니다.
   + **Sign on method(로그인 방법)**에서 **SAML v2.0**을 선택합니다.
   + **일반 설정** 페이지에서 **앱 이름**에 **{{your-redshift-saml-sso-name}}**을 입력합니다. 이는 애플리케이션 이름입니다.
   + **SAML 설정** 페이지에서 **SSO(Single Sign-On) URL**에 **{{your-redshift-local-host-url}}**을 입력합니다. 이는 SAML 어설션이 리디렉션하는 로컬 호스트 및 포트입니다(예: `http://localhost:7890/redshift/`).

1. [**통합 인증 URL(Single sign on URL)**] 값을 [**수신자 URL(Recipient URL)**] 및 [**대상 URL(Destination URL)**]로 사용합니다.

1. **Signing**(서명)에서 **Sign Assertion**(어설션 서명)을 선택합니다.

1. [**대상 URI(SP 엔터티 ID)(Audience URI (SP Entity ID))**]에 다음 표와 같이 클레임의 **urn:amazon:webservices**를 입력합니다. 

1. **고급 설정** 섹션에서 **SAML 발급자 ID**에 **{{your-Identity-Provider-Issuer-ID}}**를 입력합니다. 이는 **설정 지침 보기** 섹션에서 찾을 수 있습니다.

1. **Attribute Statements(속성 설명)** 섹션에서 다음 표와 같이 클레임을 만듭니다.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/redshift/latest/mgmt/setup-identity-provider-okta.html)

1. **App Embed Link(앱 포함 링크)** 섹션에서 브라우저 SAML 플러그인의 로그인 URL로 사용할 수 있는 URL을 찾습니다.

1. IAM 콘솔에서 IAM SAML 자격 증명 공급자를 만듭니다. 제공하는 메타데이터 문서는 Okta를 설정할 때 저장한 연동 메타데이터 XML 파일입니다. 자세한 단계는 *IAM User Guide*의 [Creating and Managing an IAM Identity Provider (Console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html#idp-manage-identityprovider-console)를 참조하세요.

1. IAM 콘솔에서 SAML 2.0 연동을 위한 IAM 역할을 만듭니다. 자세한 단계는 *IAM User Guide*의 [Creating a Role for SAML](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html#idp_saml_Create)을 참조하세요.

1. IAM 콘솔에서 SAML 2.0 연동을 위해 생성한 IAM 역할에 연결할 수 있는 IAM 정책을 만듭니다. 자세한 단계는 *IAM User Guide*의 [Creating IAM Policies (Console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start)를 참조하세요. Azure AD 예제는 [JDBC 또는 ODBC Single Sign-On 인증 설정](setup-azure-ad-identity-provider.md) 단원을 참조하십시오.

## 2단계: Okta에 대한 인증을 위해 JDBC 또는 ODBC 설정
<a name="setup-identity-provider-okta-auth"></a>

------
#### [ JDBC ]

**Okta에 대한 인증을 위해 JDBC를 설정하려면**
+ Okta Single Sign-On을 사용하여 JDBC를 통해 클러스터에 연결하도록 데이터베이스 클라이언트를 구성합니다.

  JDBC 드라이버를 사용하는 클라이언트를 사용하여 Okta Single Sign-On으로 연결하거나 Java와 같은 언어를 사용하여 스크립트를 통해 연결할 수 있습니다. 설치 및 구성 정보는 [Amazon Redshift용 JDBC 드라이버 버전 2.x 연결 구성](jdbc20-install.md) 단원을 참조하십시오.

  예를 들어 SQLWorkbench/J를 클라이언트로 사용할 수 있습니다. SQLWorkbench/j를 구성할 때 데이터베이스의 URL은 다음 형식을 사용합니다.

  ```
  jdbc:redshift:iam://{{cluster-identifier}}:{{us-west-1}}/{{dev}}
  ```

  SQLWorkbench/J를 클라이언트로 사용하는 경우 다음 단계를 수행합니다.

  1. SQL Workbench/J를 시작합니다. [**연결 프로파일 선택(Select Connection Profile)**] 페이지에서 [**프로파일 그룹(Profile Group)**]을 추가합니다(예: **Okta**).

  1. **연결 프로파일(Connection Profile)**에 **{{your-connection-profile-name}}**을 입력합니다(예: **Okta**).

  1. **Manage Drivers**(드라이버 관리)를 선택하고, **Amazon Redshift**를 선택합니다. [**라이브러리(Library)**] 옆에 있는 [**폴더 열기(Open Folder)**] 아이콘을 선택한 다음 적절한 JDBC .jar 파일을 선택합니다.

  1. **연결 프로파일 선택(Select Connection Profile)** 페이지에서 다음과 같이 연결 프로파일에 정보를 추가합니다.
     + **사용자**에 Okta 사용자 이름을 입력합니다. 이는 Single Sign-On에 사용 중인 Okta 계정의 사용자 이름으로, 인증하려는 클러스터에 대한 권한이 있습니다.
     + **암호**에 Okta 암호를 입력합니다.
     + **드라이버(Drivers)**에서 **Amazon Redshift(com.amazon.redshift.jdbc.Driver)**를 선택합니다.
     + **URL**에 **jdbc:redshift:iam://{{your-cluster-identifier}}:{{your-cluster-region}}/{{your-database-name}}**을 입력합니다.

  1. **확장 속성(Extended Properties)**를 선택하고 다음 중 하나를 수행합니다.
     + **login\_url**에 **{{your-okta-sso-login-url}}**을 입력합니다. 이 값은 URL에 Single Sign-On을 Okta에 로그인하기 위한 인증으로 사용하도록 지정합니다.
     + Okta Single Sign-On에서 **plugin\_name**에 **com.amazon.redshift.plugin.OktaCredentialsProvider**를 입력합니다. 이 값은 드라이버에 Okta Single Sign-On을 인증 방법으로 사용하도록 지정합니다.
     + MFA를 사용하는 Okta Single Sign-On에서 **plugin\_name**에 **com.amazon.redshift.plugin.BrowserSamlCredentialsProvider**를 입력합니다. 이는 드라이버에 MFA를 사용하는 Okta Single Sign-On을 인증 방법으로 사용하도록 지정합니다.

------
#### [ ODBC ]

**Okta에 대한 인증을 위해 ODBC를 설정하려면**
+ Okta Single Sign-On을 사용하여 ODBC를 통해 클러스터에 연결하도록 데이터베이스 클라이언트를 구성합니다.

  Amazon Redshift는 Linux, Windows 및 macOS 운영 체제용 ODBC 드라이버를 제공합니다. ODBC 드라이버를 설치하려면 먼저 SQL 클라이언트 도구가 32비트인지, 64비트인지 확인합니다. SQL 클라이언트 도구의 요구 사항에 맞는 ODBC 드라이버를 설치합니다.

  Windows의 경우 **Amazon Redshift ODBC 드라이버 DSN 설정(Amazon Redshift ODBC Driver DSN Setup)** 페이지의 **연결 설정(Connection Settings)** 아래에 다음 정보를 입력합니다.
  + **데이터 원본 이름(Data Source Name)**에 **{{your-DSN}}**을 입력합니다. 이는 ODBC 프로파일 이름으로 사용되는 데이터 원본 이름을 지정합니다.
  + **인증 유형(Auth type)**에서 다음 중 하나를 수행합니다.
    + Okta Single Sign-On 구성에서 **Identity Provider: Okta**를 선택합니다. 이는 ODBC 드라이버가 Okta Single Sign-On을 사용하여 인증할 때 사용하는 인증 방법입니다.
    + MFA를 사용하는 Okta Single Sign-On 구성에서 **Identity Provider: Browser SAML**을 선택합니다. 이는 ODBC 드라이버가 MFA를 사용하는 Okta Single Sign-On을 사용하여 인증할 때 사용하는 인증 방법입니다.
  + **클러스터 ID(Cluster ID)**에 **{{your-cluster-identifier}}**를 입력합니다.
  + **리전(Region)**에 **{{your-cluster-region}}**을 입력합니다.
  + **데이터베이스(Database)**에 **{{your-database-name}}**을 입력합니다.
  + **사용자(User)**에 **{{your-okta-username}}**을 입력합니다. 이는 Single Sign-On에 사용 중인 Okta 계정의 사용자 이름으로, 인증하려는 클러스터에 대한 권한이 있습니다. **Auth type**(인증 유형)이 **Identity Provider: Okta**(자격 증명 공급자: Okta)인 경우에만 이를 사용합니다.
  + **암호(Password)**에 **{{your-okta-password}}**를 입력합니다. **인증 유형(Auth type)**이 **자격 증명 공급자: Okta(Identity Provider: Okta)**인 경우에만 이를 사용합니다.

  macOS 및 Linux에서는 다음과 같이 `odbc.ini` 파일을 편집합니다.
**참고**  
모든 항목은 대/소문자를 구분하지 않습니다.
  + **clusterid**에 **{{your-cluster-identifier}}**를 입력합니다. 이는 생성된 Amazon Redshift 클러스터의 이름입니다.
  + **리전(region)**에 **{{your-cluster-region}}**을 입력합니다. 이는 생성된 Amazon Redshift 클러스터의 AWS 리전입니다.
  + **데이터베이스(database)**에 **{{your-database-name}}**을 입력합니다. 이는 Amazon Redshift 클러스터에서 액세스하려는 데이터베이스의 이름입니다.
  + **로캘(locale)**에 **en-us**를 입력합니다. 이는 오류 메시지가 표시되는 언어입니다.
  + **iam**에 **1**을 입력합니다. 이 값은 드라이버에 IAM 자격 증명을 사용하여 인증하도록 지정합니다.
  + **plugin\_name**의 경우 다음 중 하나를 수행합니다.
    + MFA를 사용하는 Okta Single Sign-On 구성에 **BrowserSAML**을 입력합니다. 이는 ODBC 드라이버가 MFA가 포함된 Okta Single Sign-On을 사용하여 인증할 때의 인증 방법입니다.
    + Okta Single Sign-On 구성에 **Okta**를 입력합니다. 이는 ODBC 드라이버가 Okta Single Sign-On을 사용하여 인증할 때 사용하는 인증 방법입니다.
  + **uid**에 **{{your-okta-username}}**을 입력합니다. 이는 Single Sign-On에 사용 중인 Okta 계정의 사용자 이름으로, 인증하려는 클러스터에 대한 권한이 있습니다. **plugin\_name**이 **Okta**인 경우에만 이를 사용합니다.
  + **pwd**에 **{{your-okta-password}}**를 입력합니다. **plugin\_name**이 **Okta**인 경우에만 이를 사용합니다.
  + **login\_url**에 **{{your-login-url}}**을 입력합니다. 이는 SAML 응답을 반환하는 시작 Single Sign-On URL입니다. 이는 브라우저 SAML 플러그인에만 적용됩니다.
  + **idp\_response\_timeout**에 **{{the-number-of-seconds}}**를 입력합니다. 이는 PingOne으로부터 응답을 기다리는 지정된 시간(초)입니다. 이는 브라우저 SAML 플러그인에만 적용됩니다.
  + **listen\_port**에 **{{your-listen-port}}**를 입력합니다. 로컬 서버가 수신 대기하는 포트입니다. 기본값은 7890입니다. 이는 브라우저 SAML 플러그인에만 적용됩니다.

  macOS 및 Linux에서는 프로파일 설정을 편집하여 다음 내보내기도 추가합니다.

  ```
  export ODBCINI=/opt/amazon/redshift/Setup/odbc.ini
  ```

  ```
  export ODBCINSTINI=/opt/amazon/redshift/Setup/odbcinst.ini
  ```

------