

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

# Azure
<a name="setup-identity-provider-azure"></a>

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

Microsoft Azure AD Single Sign-On을 사용하여 Amazon Redshift 액세스를 페더레이션하는 방법을 알아봅니다.

[![AWS Videos](http://img.youtube.com/vi/aXs9hEgJCss/0.jpg)](http://www.youtube.com/watch?v=aXs9hEgJCss)


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

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

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

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

1. Microsoft Azure 포털에서 AWS에 사용되는 Azure Active Directory, 그룹, 사용자를 설정합니다.

1. Microsoft Azure 포털에서 Amazon Redshift를 AWS 콘솔에 대한 통합 인증 및 Amazon Redshift에 대한 페더레이션 로그인에 사용할 엔터프라이즈 애플리케이션으로 추가합니다. **Enterprise application(엔터프라이즈 애플리케이션)**을 선택합니다.

1. **\+New application(새 애플리케이션 추가)**을 선택합니다. 애플리케이션 추가 페이지가 나타납니다.

1. 검색 필드에서 **AWS**를 검색합니다.

1. [**Amazon Web Services(AWS)**]와 [**추가(Add)**]를 차례로 선택합니다. 그러면 AWS 애플리케이션이 생성됩니다.

1. **관리**에서 **Single sign-on**을 선택합니다.

1. **SAML**을 선택합니다. Amazon Web Services(AWS) \| SAML -based Sign-on(SAML 기반 로그온) 페이지가 나타납니다.

1. **예**를 선택하여 Set up Single Sign-On with SAML(SAML을 사용하여 Single Sign-On 설정) 페이지로 이동합니다. 이 페이지에는 미리 구성된 Single Sign-On 관련 속성 목록이 나와 있습니다.

1. **Basic SAML Configuration(기본 SAML 구성)**에서 편집 아이콘을 선택하고 **저장**을 선택합니다.

1. 둘 이상의 애플리케이션에 대해 구성하는 경우 식별자 값을 제공합니다. 예를 들면 **{{https://signin.aws.amazon.com/saml\#2}}**를 입력합니다. 두 번째 애플리케이션부터 이 형식을 \# 기호와 함께 사용하여 고유한 SPN 값을 지정합니다.

1. **User Attributes and Claims(사용자 속성 및 클레임)** 섹션에서 편집 아이콘을 선택합니다.

   기본적으로 고유한 사용자 식별자(UID), 역할, RoleSessionName 및 SessionDuration 클레임은 미리 구성되어 있습니다.

1. **\+ Add new claim(새 클레임 추가)**을 선택하여 데이터베이스 사용자에 대한 클레임을 추가합니다.

   **이름(Name)**에 **DbUser**을 입력합니다.

   **네임스페이스(Namespace)**에**https://redshift.amazon.com/SAML/Attributes**를 입력합니다.

   **소스(Source)**에서 **속성(Attribute)**를 선택합니다.

   **소스 속성**에서 **user.userprincipalname**을 선택합니다. 그런 다음 **저장(Save)**을 선택합니다.

1. **\+ Add new claim(새 클레임 추가)**을 선택하여 AutoCreate에 대한 클레임을 추가합니다.

   **Name**(이름)에 **AutoCreate**을 입력합니다.

   **네임스페이스(Namespace)**에**https://redshift.amazon.com/SAML/Attributes**를 입력합니다.

   **Source**(소스)에서**Attribute**(속성)를 선택합니다.

   **소스 속성**에서 **"true"**를 선택합니다. 그런 다음 **Save**(저장)을 선택합니다.

   여기에서 `{{123456789012}}`는 AWS 계정, {{`AzureSSO`}}는 생성한 IAM 역할, {{`AzureADProvider`}}는 IAM 공급자입니다.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/redshift/latest/mgmt/setup-identity-provider-azure.html)

1. **앱 등록 > **{{your-application-name}}** > 인증**에서 **모바일 및 데스크톱 애플리케이션**을 추가합니다. URL을 http://localhost/redshift/로 지정합니다.

1. **SAML Signing Certificate(SAML 서명 인증서)** 섹션에서 **다운로드**를 선택하여 IAM SAML 자격 증명 공급자를 만들 때 사용할 연동 메타데이터 XML 파일을 다운로드하고 저장합니다. 이 파일은 Single Sign-On 페더레이션 자격 증명을 생성하는 데 사용됩니다.

1. IAM 콘솔에서 IAM SAML 자격 증명 공급자를 만듭니다. 제공하는 메타데이터 문서는 Azure 엔터프라이즈 애플리케이션을 설정할 때 저장한 연동 메타데이터 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)를 참조하세요.

   환경에 맞게 다음 정책(JSON 형식)을 수정합니다.
   + `{{us-west-1}}`을 해당 클러스터의 AWS 리전으로 대체합니다.
   + {{`123456789012`}}를 AWS 계정으로 대체합니다.
   + {{`cluster-identifier`}}를 클러스터 식별자(또는 모든 클러스터의 경우 `*`)로 대체합니다.
   + {{`dev`}}를 데이터베이스(또는 모든 클러스터의 경우 `*`)로 대체합니다.
   + 을 해당 IAM 역할의 고유 식별자로 대체합니다..{{`AROAJ2UCCR6DPCEXAMPLE`}}
   + `{{example.com}}`은 해당 테넌트 또는 회사 이메일 도메인으로 대체합니다.
   + 은 사용자를 할당할 데이터베이스 그룹으로 대체합니다..{{`my_dbgroup`}}

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "redshift:GetClusterCredentials",
               "Resource": [
                   "arn:aws:redshift:{{us-west-1}}:{{123456789012}}:dbname:{{cluster-identifier}}/{{dev}}",
                   "arn:aws:redshift:{{us-west-1}}:{{123456789012}}:dbuser:{{cluster-identifier}}/${redshift:DbUser}",
                   "arn:aws:redshift:{{us-west-1}}:{{123456789012}}:cluster:{{cluster-identifier}}"
               ],
               "Condition": {
                   "StringEquals": {
                       "aws:userid": "{{AROAJ2UCCR6DPCEXAMPLE}}:${redshift:DbUser}@{{example.com}}"
                   }
               }
           },
           {
               "Effect": "Allow",
               "Action": "redshift:CreateClusterUser",
               "Resource": "arn:aws:redshift:{{us-west-1}}:{{123456789012}}:dbuser:{{cluster-identifier}}/${redshift:DbUser}"
           },
           {
               "Effect": "Allow",
               "Action": "redshift:JoinGroup",
               "Resource": "arn:aws:redshift:{{us-west-1}}:{{123456789012}}:dbgroup:{{cluster-identifier}}/{{my_dbgroup}}"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "redshift:DescribeClusters",
                   "iam:ListRoles"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

   이 정책은 다음과 같이 권한을 부여합니다.
   + 첫 번째 섹션에서는 지정된 클러스터에 대한 임시 자격 증명을 얻기 위해 `GetClusterCredentials` API 작업에 권한을 부여합니다. 이 예에서 리소스는 `{{cluster-identifier}}`로, 데이터베이스 {{`dev`}}가 있으며, 계정 {{`123456789012`}}와 AWS 리전 {{`us-west-1`}}에 있습니다. `${redshift:DbUser}` 절은 Azure AD에 지정된 `DbUser` 값과 일치하는 사용자만 연결하도록 허용합니다.
   + 조건 절은 특정 사용자만 임시 자격 증명을 받도록 적용합니다. 이는 회사 이메일 도메인의 이메일 주소로 식별되는 IAM 계정에서 역할 고유 ID {{`AROAJ2UCCR6DPCEXAMPLE`}}로 지정된 역할을 가진 사용자입니다. 고유 ID에 대한 자세한 내용은 *IAM User Guide*의 [Unique IDs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids)를 참조하세요.

     IdP(이 경우 Azure AD) 설정에 따라 조건 절의 작성 방법이 결정됩니다. 직원의 이메일이 `johndoe@example.com`인 경우, 먼저 `${redshift:DbUser}`를 해당 직원의 사용자 이름 `johndoe`와 일치하는 수퍼 필드로 설정합니다. 그런 다음 AWS SAML `RoleSessionName` 필드를 해당 직원의 이메일 `johndoe@example.com`과 일치하는 수퍼 필드로 설정하여 이 조건을 작동시킵니다. 이 접근 방식을 이용할 때는 다음 사항을 고려하십시오.
     + `${redshift:DbUser}`를 직원의 이메일이 되도록 설정한 경우, `@example.com`과 일치하도록 JSON 예에서 `RoleSessionName`을 제거합니다.
     + `RoleSessionId`를 직원의 사용자 이름이 되도록 설정한 경우, `@example.com`과 일치하도록 예에서 `RoleSessionName`을 제거합니다.
     + JSON 예제에서 `${redshift:DbUser}` 및 `RoleSessionName` 모두 직원의 이메일로 설정됩니다. 이 JSON 예에서는 Amazon Redshift 데이터베이스 사용자 이름과 `@example.com`을 사용해 사용자를 로그인하여 클러스터에 액세스합니다.
   + 두 번째 섹션에서는 지정된 클러스터에 `dbuser` 이름을 만들 수 있는 권한을 부여합니다. 이 JSON 예에서는 생성을 `${redshift:DbUser}`로 제한합니다.
   + 세 번째 섹션에서는 사용자가 참여할 수 있는 `dbgroup`을 지정할 권한을 부여합니다. 이 JSON 예에서는 사용자가 지정된 클러스터의 `my_dbgroup` 그룹에 참여할 수 있습니다.
   + 네 번째 섹션에서는 사용자가 모든 리소스에 대해 수행할 수 있는 작업에 대한 권한을 부여합니다. 이 JSON 예에서는 사용자가 `redshift:DescribeClusters`를 호출하여 클러스터 엔드포인트, AWS 리전 및 포트와 같은 클러스터 정보를 가져올 수 있도록 합니다. 또한 사용자가 `iam:ListRoles`를 호출하여 사용자가 맡을 수 있는 역할을 확인할 수 있도록 합니다.

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

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

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

  JDBC 드라이버를 사용하는 클라이언트를 사용하여 Azure AD 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)**] 페이지에서 **AzureAuth**라는 [**프로파일 그룹(Profile Group)**]을 추가합니다.

  1. **Connection Profile(연결 프로파일)**에 **Azure**를 입력합니다.

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

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

  1. **Extended Properties(확장 속성)**를 선택하여 다음 설명과 같이 연결 속성에 추가 정보를 추가합니다.

     Azure AD Single Sign-On 구성의 경우 다음과 같이 추가 정보를 추가합니다.
     + **plugin\_name**에 **com.amazon.redshift.plugin.AzureCredentialsProvider**를 입력합니다. 이 값은 드라이버에 Azure AD Single Sign-On을 인증 방법으로 사용하도록 지정합니다.
     + **idp\_tenant**에 **{{your-idp-tenant}}**를 입력합니다. Microsoft Azure AD에만 사용됩니다. 이는 Azure AD에 구성된 회사의 테넌트 이름입니다. 이 값은 테넌트 이름이거나 하이픈이 있는 테넌트 고유 ID일 수 있습니다.
     + **client\_secret**에 **{{your-azure-redshift-application-client-secret}}**를 입력합니다. Microsoft Azure AD에만 사용됩니다. 이는 Azure Single Sign-On 구성을 설정할 때 생성한 Amazon Redshift 애플리케이션의 클라이언트 암호입니다. 이는 com.amazon.redshift.plugin.AzureCredentialsProvider 플러그인에만 적용됩니다.
     + **client\_id**에 **{{your-azure-redshift-application-client-id}}**를 입력합니다. Microsoft Azure AD에만 사용됩니다. 이는 Azure Single Sign-On 구성을 설정할 때 생성한 Amazon Redshift 애플리케이션의 클라이언트 ID(하이픈 포함)입니다.

     MFA를 사용하는 Azure AD Single Sign-On 구성의 경우 다음과 같이 연결 속성에 추가 정보를 추가합니다.
     + **plugin\_name**에 **com.amazon.redshift.plugin.BrowserAzureCredentialsProvider**를 입력합니다. 이는 드라이버에 MFA를 사용하는 Azure AD Single Sign-On을 인증 방법으로 사용하도록 지정합니다.
     + **idp\_tenant**에 **{{your-idp-tenant}}**를 입력합니다. Microsoft Azure AD에만 사용됩니다. 이는 Azure AD에 구성된 회사의 테넌트 이름입니다. 이 값은 테넌트 이름이거나 하이픈이 있는 테넌트 고유 ID일 수 있습니다.
     + **client\_id**에 **{{your-azure-redshift-application-client-id}}**를 입력합니다. 이 옵션은 Microsoft Azure AD에만 사용됩니다. 이는 MFA를 사용하는 Azure AD Single Sign-On 구성을 설정할 때 생성한 Amazon Redshift 애플리케이션의 클라이언트 ID(하이픈 포함)입니다.
     + **listen\_port**에 **{{your-listen-port}}**를 입력합니다. 로컬 서버가 수신 대기하는 포트입니다. 기본값은 7890입니다.
     + **idp\_response\_timeout**에 **{{the-number-of-seconds}}**를 입력합니다. 이는 IdP 서버가 응답을 다시 보낼 때 제한 시간이 지나기 전까지 대기하는 시간(초)입니다. 최소 시간(초)은 10이어야 합니다. 연결 구성이 이 제한 시간보다 어래 걸리면 연결이 중단됩니다.

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

**Microsoft Azure AD에 대한 인증을 위해 ODBC를 설정하려면**
+ Azure AD 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 프로파일 이름으로 사용되는 데이터 원본 이름을 지정합니다.
  + Azure AD Single Sign-On 구성을 위한 **Auth type**(인증 유형)에서 **Identity Provider: Azure AD**를 선택합니다. 이는 ODBC 드라이버가 Azure Single Sign-On을 사용하여 인증할 때 사용하는 인증 방법입니다.
  + MFA를 사용하는 Azure AD Single Sign-On 구성을 위한 **Auth type**(인증 유형)에서 **Identity Provider: Browser Azure AD**를 선택합니다. 이는 ODBC 드라이버가 MFA를 사용하는 Azure Single Sign-On을 사용하여 인증할 때 사용하는 인증 방법입니다.
  + **클러스터 ID(Cluster ID)**에 **{{your-cluster-identifier}}**를 입력합니다.
  + **리전(Region)**에 **{{your-cluster-region}}**을 입력합니다.
  + **데이터베이스(Database)**에 **{{your-database-name}}**을 입력합니다.
  + **사용자(User)**에 **{{your-azure-username}}**을 입력합니다. 이는 Single Sign-On에 사용 중인 Microsoft Azure 계정의 사용자 이름으로, 인증하려는 클러스터에 대한 권한이 있습니다. **인증 유형(Auth Type)**이 **자격 증명 공급자: Azure AD(Identity Provider: Azure AD)**인 경우에만 이를 사용합니다.
  + **암호(Password)**에 **{{your-azure-password}}**를 입력합니다. **Auth Type**(인증 유형)이 **Identity Provider: Azure AD**(자격 증명 공급자: Azure AD)인 경우에만 이를 사용합니다.
  + **IdP 테넌트**에 **{{your-idp-tenant}}**를 입력합니다. 이는 IdP(Azure)에 구성된 회사의 테넌트 이름입니다. 이 값은 테넌트 이름이거나 하이픈이 있는 테넌트 고유 ID일 수 있습니다.
  + **Azure 클라이언트 암호**에 **{{your-azure-redshift-application-client-secret}}**를 입력합니다. 이는 Azure Single Sign-On 구성을 설정할 때 생성한 Amazon Redshift 애플리케이션의 클라이언트 암호입니다.
  + **Azure 클라이언트 ID**에 **{{your-azure-redshift-application-client-id}}**를 입력합니다. 이는 Azure Single Sign-On 구성을 설정할 때 생성한 Amazon Redshift 애플리케이션의 클라이언트 ID(하이픈 포함)입니다.
  + **수신 대기 포트(Listen Port)**에 **{{your-listen-port}}**를 입력합니다. 로컬 서버가 수신하는 기본 수신 대기 포트입니다. 기본값은 7890입니다. 이는 브라우저 Azure AD 플러그인에만 적용됩니다.
  + **응답 제한 시간(Response Timeout)**에 **{{the-number-of-seconds}}**를 입력합니다. 이는 IdP 서버가 응답을 다시 보낼 때 제한 시간이 지나기 전까지 대기하는 시간(초)입니다. 최소 시간(초)은 10이어야 합니다. 연결 구성이 이 제한 시간보다 어래 걸리면 연결이 중단됩니다. 이 옵션은 브라우저 Azure AD 플러그인에만 적용됩니다.

  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 자격 증명을 사용하여 인증하도록 지정합니다.
  + Azure AD Single Sign-On 구성을 위한 **plugin\_name**에 **AzureAD**를 입력합니다. 이는 드라이버에 Azure Single Sign-On을 인증 방법으로 사용하도록 지정합니다.
  + MFA를 사용하는 Azure AD Single Sign-On 구성을 위한 **plugin\_name**에 **BrowserAzureAD**를 입력합니다. 이는 드라이버에 MFA를 사용하는 Azure Single Sign-On을 인증 방법으로 사용하도록 지정합니다.
  + **uid**에 **{{your-azure-username}}**을 입력합니다. 이는 Single Sign-On에 사용 중인 Microsoft Azure 계정의 사용자 이름으로, 인증하려는 클러스터에 대한 권한이 있습니다. **plugin\_name**이 **AzureAD**인 경우에만 이를 사용합니다.
  + **pwd**에 **{{your-azure-password}}**를 입력합니다. **plugin\_name**이 **AzureAD**인 경우에만 이를 사용합니다.
  + **idp\_tenant**에 **{{your-idp-tenant}}**를 입력합니다. 이는 IdP(Azure)에 구성된 회사의 테넌트 이름입니다. 이 값은 테넌트 이름이거나 하이픈이 있는 테넌트 고유 ID일 수 있습니다.
  + **client\_secret**에 **{{your-azure-redshift-application-client-secret}}**를 입력합니다. 이는 Azure Single Sign-On 구성을 설정할 때 생성한 Amazon Redshift 애플리케이션의 클라이언트 암호입니다.
  + **client\_id**에 **{{your-azure-redshift-application-client-id}}**를 입력합니다. 이는 Azure Single Sign-On 구성을 설정할 때 생성한 Amazon Redshift 애플리케이션의 클라이언트 ID(하이픈 포함)입니다.
  + **listen\_port**에 **{{your-listen-port}}**를 입력합니다. 로컬 서버가 수신 대기하는 포트입니다. 기본값은 7890입니다. 이는 브라우저 Azure AD 플러그인에 적용됩니다.
  + **idp\_response\_timeout**에 **{{the-number-of-seconds}}**를 입력합니다. 이는 Azure로부터 응답을 기다리는 지정된 시간(초)입니다. 이 옵션은 브라우저 Azure AD 플러그인에 적용됩니다.

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

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

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

------

## 문제 해결
<a name="setup-identity-provider-azure-auth"></a>

브라우저 Azure AD 플러그인 문제를 해결하려면 다음을 고려합니다.
+ 브라우저 Azure AD 플러그인을 사용하려면 요청에 지정된 회신 URL을 애플리케이션에 대해 구성된 회신 URL과 일치하도록 설정해야 합니다. Microsoft Azure 포털에서 **SAML을 사용하여 SSO(Single Sign-On) 설정** 페이지로 이동합니다. 그런 다음 **회신 URL**이 http://localhost/redshift/로 설정되어 있는지 확인합니다.
+ IdP 테넌트 오류가 발생하면 **IdP 테넌트** 이름이 Microsoft Azure에서 Active Directory를 설정하는 데 처음 사용한 도메인 이름과 일치하는지 확인합니다.

  Windows에서 [**Amazon Redshift ODBC DSN 설정(Amazon Redshift ODBC DSN Setup)**] 페이지의 [**연결 설정(Connection Settings)**] 섹션으로 이동합니다. 그런 다음 IdP(Azure)에 구성된 회사의 테넌트 이름이 Microsoft Azure에서 Active Directory를 설정하는 데 처음 사용한 도메인 이름과 일치하는지 확인합니다.

  macOS 및 Linux에서 *odbc.ini* 파일을 찾습니다. 그런 다음 IdP(Azure)에 구성된 회사의 테넌트 이름이 Microsoft Azure에서 Active Directory를 설정하는 데 처음 사용한 도메인 이름과 일치하는지 확인합니다.
+ 요청에 지정된 회신 URL이 애플리케이션에 대해 구성된 회신 URL과 일치하지 않는 오류가 발생하는 경우 **리디렉션 URI**가 회신 URL과 동일한지 확인합니다.

  Microsoft Azure 포털에서 애플리케이션의 **앱 등록** 페이지로 이동합니다. 그런 다음 리디렉션 URI가 응답 URL과 일치하는지 확인합니다.
+ 예기치 않은 응답: 무단 오류가 발생하는 경우 **모바일 및 데스크톱 애플리케이션** 구성을 완료했는지 확인합니다.

  Microsoft Azure 포털에서 애플리케이션의 **앱 등록** 페이지로 이동합니다. 그런 다음 **인증**으로 이동하여 http://localhost/redshift/를 리디렉션 URI로 사용하도록 **모바일 및 데스크톱 애플리케이션**을 구성했는지 확인합니다.