

# Okta 플러그인 및 Okta ID 제공업체를 사용하여 ODBC에 대한 SSO 구성
<a name="odbc-okta-plugin"></a>

이 페이지에서는 Okta 자격 증명 공급자를 사용하여 Single Sign-On(SSO) 기능에 대한 Amazon Athena ODBC 드라이버 및 Okta 플러그인을 구성하는 방법을 설명합니다.

## 사전 조건
<a name="odbc-okta-plugin-prerequisites"></a>

이 자습서의 단계를 완료하려면 다음이 필요합니다.
+ Amazon Athena ODBC 드라이버. 다운로드 링크는 [ODBC로 Amazon Athena에 연결](connect-with-odbc.md) 단원을 참조하세요.
+ SAML에서 사용하려는 IAM 역할. 자세한 내용은 [IAM 사용자 설명서](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html)의 *SAML 2.0 페더레이션을 위한 역할 생성*을 참조하세요.
+ Okta 계정. 자세한 내용을 보려면 [Okta.com](https://www.okta.com/)을 방문하세요.

## Okta에서 앱 통합 생성
<a name="odbc-okta-plugin-creating-an-app-integration-in-okta"></a>

먼저 Okta 대시보드를 사용하여 Athena에 대한 통합 인증을 위한 SAML 2.0 앱을 생성하고 구성합니다. Okta의 기존 Redshift 애플리케이션을 사용하여 Athena에 대한 액세스를 구성할 수 있습니다.

**Okta에서 앱 통합을 생성하려면**

1. [Okta.com](https://www.okta.com/)에서 계정의 관리자 페이지에 로그인합니다.

1. 탐색 창에서 **애플리케이션**(Applications), **애플리케이션**(Applications)을 선택합니다.

1. **애플리케이션**(Applications) 페이지에서 **앱 카탈로그 찾아보기**(Browse App Catalog)를 선택합니다.

1. **Browse App Integration Catalog**(앱 통합 카탈로그 찾아보기) 페이지의 **Use Case**(사용 사례) 섹션에서 **All Integrations**(모든 통합)을 선택합니다.

1. 검색 상자에 **Amazon Web Services Redshift**를 입력한 다음 **Amazon Web Services Redshift SAML**을 선택합니다.

1. **통합 추가**(Add Integrations)를 선택합니다.  
![\[통합 추가(Add Integrations)를 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/odbc-okta-plugin-1.png)

1. **General Settings Required**(필요한 일반 설정) 섹션에서 **Application label**(애플리케이션 레이블)에 애플리케이션 이름을 입력합니다. 이 자습서에서는 **Athena-ODBC-Okta**라는 이름을 사용합니다.  
![\[Okta 애플리케이션의 이름을 입력합니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/odbc-okta-plugin-2.png)

1. **완료**를 선택합니다.

1. Okta 애플리케이션(예: **Athena-ODBC-Okta**)에 대한 페이지에서 **Sign On**(로그인)을 선택합니다.  
![\[로그인(Sign On) 탭을 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/odbc-okta-plugin-3.png)

1. **설정**(settings) 섹션에서 **편집**(Edit)을 선택합니다.  
![\[편집을 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/odbc-okta-plugin-4.png)

1. **Advanced Sign-on Settings**(고급 로그인 설정) 섹션에서 다음 값을 구성합니다.
   + **IdP ARN 및 역할 ARN**(IdP ARN and Role ARN)에 AWS IDP ARN 및 역할 ARN을 쉼표로 분리된 값으로 입력합니다. 자세한 내용은 *IAM 사용 설명서*의 [인증 응답을 위한 SAML 어설션 구성](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_assertions.html)을 참조하세요.
   + **Session Duration**(세션 기간)에 900\$143200초 사이의 값을 입력합니다. 이 자습서에서는 기본값인 3600(1시간)을 사용합니다.  
![\[고급 로그인 설정을 입력합니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/odbc-okta-plugin-5.png)

   **DbUser Format**(DbUser 형식), **AutoCreate** 및 **Allowed DBGroups**(허용된 DBGroups) 설정은 Athena에서 사용되지 않습니다. 따라서 해당 설정을 구성할 필요가 없습니다.

1. **저장**을 선택합니다.

## Okta에서 ODBC 구성 정보 검색
<a name="odbc-okta-plugin-retrieve-odbc-configuration-information-from-okta"></a>

이제 Okta 애플리케이션을 생성했으므로 애플리케이션의 ID와 IdP 호스트 URL을 검색할 준비가 되었습니다. 나중에 Athena에 연결하기 위해 ODBC를 구성할 때 필요합니다.

**Okta에서 ODBC 구성 정보를 검색하려면**

1. Okta 애플리케이션의 **General**(일반) 탭을 선택한 다음 아래로 스크롤하여 **App Embed Link**(앱 포함 링크)로 이동합니다.  
![\[Okta 애플리케이션의 포함 링크 URL입니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/odbc-okta-plugin-6.png)

   **Embed Link**(포함 링크) URL의 형식은 다음과 같습니다.

   ```
   https://trial-1234567.okta.com/home/amazon_aws_redshift/Abc1de2fghi3J45kL678/abc1defghij2klmNo3p4
   ```

1. **Embed Link**(포함 링크) URL에서 다음 부분을 추출하여 저장합니다.
   + `https://` 다음 첫 번째 세그먼트, 최대 `okta.com`까지(예: **trial-1234567.okta.com**). IdP 호스트입니다.
   + URL의 마지막 두 세그먼트(가운데 슬래시 포함) 세그먼트는 숫자, 대문자, 소문자가 혼합된 두 개의 20자 문자열(예: **ABC1DE2FGHI3J45KL678/ABC1DEFGHIJ2KLMNO3P4**)입니다. 애플리케이션 ID입니다.

## Okta 애플리케이션에 사용자 추가
<a name="odbc-okta-plugin-add-a-user-to-the-okta-application"></a>

이제 Okta 애플리케이션에 사용자를 추가할 준비가 되었습니다.

**Okta 애플리케이션에 사용자를 추가하려면**

1. 왼쪽 탐색 창에서 **디렉터리(Directory)**와 **사람(People)**을 차례로 선택합니다.

1. **사람 추가**(Add Person)를 선택합니다.  
![\[사람 추가(Add Person)를 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/odbc-okta-plugin-7.png)

1. **사람 추가**(Add Person) 대화 상자에 다음 정보를 입력합니다.
   + **이름(First name)**과 **성(Last name)**에 값을 입력합니다. 이 자습서에서는 **test user**를 사용합니다.
   + **사용자 이름**(Username) 및 **기본 이메일**(Primary email) 값을 입력합니다. 이 자습서에서는 두 항목 모두 **test@amazon.com**을 사용합니다. 암호에 대한 보안 요구 사항은 다를 수 있습니다.  
![\[사용자 보안 인증을 입력합니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/odbc-okta-plugin-8.png)

1. **저장**을 선택합니다.

이제 생성된 사용자를 애플리케이션에 할당할 준비가 되었습니다.

**애플리케이션에 사용자를 할당하려면**

1. 탐색 창에서 **Applications**(애플리케이션), **Applications**(애플리케이션)를 선택한 다음 애플리케이션 이름(예: **Athena-ODBC-Okta**)을 선택합니다.

1. **Assign**(할당)을 선택한 다음 **Assign to People**(사람에게 할당)을 선택합니다.  
![\[사람에게 할당(Assign to People)을 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/odbc-okta-plugin-9.png)

1. 사용자에 대한 **Assign**(할당) 옵션을 선택한 다음 **Done**(완료)을 선택합니다.  
![\[할당(Assign)을 선택한 다음 완료(Done)를 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/odbc-okta-plugin-10.png)

1. 프롬프트에서 **Save and Go Back**(저장하고 돌아가기)을 선택합니다. 대화 상자에 사용자의 상태가 **Assigned**(할당됨)로 표시됩니다.

1. **완료**(Done)를 선택합니다.

1. **Sign On**(로그인) 탭을 선택합니다.

1. 아래로 스크롤하여 **SAML 서명 인증서**(SAML Signing Certificates) 섹션으로 이동합니다.

1. **작업**을 선택합니다.

1. **IdP 메타데이터 보기**(View IdP metadata)에 대한 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 연 다음 파일을 저장할 브라우저 옵션을 선택합니다.

1. 파일을 `.xml` 확장명으로 저장합니다.  
![\[IdP 메타데이터를 로컬 XML 파일에 저장.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/odbc-okta-plugin-11.png)

## AWS SAML 자격 증명 공급자 및 역할 생성
<a name="odbc-okta-plugin-create-an-aws-saml-identity-provider-and-role"></a>

이제 AWS의 IAM 콘솔에 메타데이터 XML 파일을 업로드할 준비가 되었습니다. 이 파일을 사용하여 AWS SAML 자격 증명 공급자 및 역할을 생성합니다. AWS 서비스 관리자 계정을 사용하여 이러한 단계를 수행합니다.

**AWS에서 SAML 자격 증명 공급자 및 역할을 생성하려면**

1. AWS Management Console에 로그인하여 [https://console.aws.amazon.com/IAM/](https://console.aws.amazon.com/IAM/)에서 IAM 콘솔을 엽니다.

1. 탐색 창에서 [**자격 증명 공급자**(Identity providers)]를 선택한 다음 [**공급자 추가**(Add provider)]를 선택합니다.  
![\[공급자 추가(Add Provider)를 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/odbc-okta-plugin-12.png)

1. **자격 증명 공급자 추가**(Add an Identity provider) 창에서 **공급자 구성**(Configure provider)에 다음 정보를 입력합니다.
   + **공급자 유형**(Provider type)에 **SAML**을 선택합니다.
   + **공급자 이름**(Provider name)에 공급자의 이름을 입력합니다(예: ** AthenaODBCOkta**).
   + **메타데이터 문서(Metadata document)**에서 **파일 선택(Choose file)** 옵션을 사용하여 다운로드한 자격 증명 공급자(IdP) 메타데이터 XML 파일을 업로드합니다.  
![\[자격 증명 공급자에 대한 정보를 입력합니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/odbc-okta-plugin-13.png)

1. **공급자 추가**(Add Provider)를 선택합니다.

### Athena 및 Amazon S3 액세스를 위한 IAM 역할 생성
<a name="odbc-okta-plugin-creating-an-iam-role-for-athena-and-amazon-s3-access"></a>

이제 Aurora 및 Amazon S3 액세스를 위한 IAM 역할을 생성할 준비가 되었습니다. 이 역할을 사용자에게 할당합니다. 이렇게 하면 사용자에게 Athena에 대한 Single Sign-On 액세스 권한을 제공할 수 있습니다.

**사용자에 대한 IAM 역할을 생성하려면**

1. IAM 콘솔의 탐색 창에서 **역할**(Roles)을 선택하고 **역할 생성**(Create role)을 선택합니다.  
![\[역할 생성을 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/odbc-okta-plugin-14.png)

1. **역할 생성**(Create role) 페이지에서 다음 옵션을 선택합니다.
   + **신뢰할 수 있는 엔터티 유형 선택(Select type of trusted entity)**에서 **SAML 2.0 연합(SAML 2.0 Federation)**을 선택합니다.
   + **SAML 2.0 기반 공급자**(SAML 2.0–based provider)에서 생성한 SAML 자격 증명 공급자(예: **AthenaODBCOkta**)를 선택합니다.
   + **Allow programmatic and AWS Management Console access**를 선택합니다.  
![\[역할 생성(Create role) 페이지에서 옵션을 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/odbc-okta-plugin-15.png)

1. **다음**(Next)을 선택합니다.

1. **권한 추가**(Add Permissions) 페이지에서 **필터 정책**(Filter policies)에 **AthenaFull**를 입력한 다음 Enter 키를 누릅니다.

1. `AmazonAthenaFullAccess` 관리형 정책을 선택하고 **Next**(다음)를 선택합니다.  
![\[AmazonAthenaFullAccess 관리형 정책을 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/odbc-okta-plugin-16.png)

1. **이름 지정, 검토 및 생성**(Name, review, and create) 페이지의 **역할 이름**(Role name)에 역할의 이름(예: **Athena-ODBC-OktaRole**)을 입력한 후 **역할 생성**(Create role)을 선택합니다.

## Athena에 대한 SAML ODBC 연결 구성
<a name="odbc-okta-plugin-configuring-the-okta-odbc-connection-to-athena"></a>

이제 Windows의 ODBC 데이터 소스 프로그램을 사용하여 Athena 대한 Okta ODBC 연결을 구성할 준비가 되었습니다.

**Athena에 대한 Okta ODBC 연결을 구성하려면**

1. Windows에서 **ODBC 데이터 원본**(ODBC Data Sources) 프로그램을 시작합니다.

1. **ODBC 데이터 원본 관리자(ODBC Data Source Administrator)** 프로그램에서 **추가(Add)**를 선택합니다.  
![\[추가를 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/odbc-okta-plugin-17.png)

1. **Simba Athena ODBC 드라이버**(Simba Athena ODBC Driver)를 선택하고 **완료**(Finish)를 선택합니다.  
![\[Athena ODBC 드라이버를 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/odbc-okta-plugin-18.png)

1. **Simba Athena ODBC 드라이버 DSN 설치**(Simba Athena ODBC Driver DSN Setup) 대화 상자에서 설명된 값을 입력합니다.
   + **데이터 소스 이름**(Data Source Name)에 데이터 소스 이름을 입력합니다(예: **Athena ODBC 64**).
   + **설명**(Description)에 데이터 원본에 대한 설명을 입력합니다.
   + **AWS 리전**에서 사용 중인 AWS 리전을 입력합니다(예: **us-west-1**).
   + **S3 출력 위치**(S3 Output Location)에 출력을 저장할 Amazon S3 경로를 입력합니다.  
![\[데이터 소스 이름 설정 값을 입력합니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/odbc-okta-plugin-19.png)

1. **인증 옵션**(Authentication Options)을 선택합니다.

1. **인증 옵션(Authentication Options)** 대화 상자에서 다음 값을 선택하거나 입력합니다.
   + **인증 유형**(Authentication Type)에서 **Okta**를 선택합니다.
   + **사용자**에 Okta 사용자 이름을 입력합니다.
   + **암호**에 Okta 암호를 입력합니다.
   + **IdP 호스트**(IdP Host)에서 이전에 기록한 값(예: **trial-1234567.okta.com**)을 입력합니다.
   + **IdP 포트**(IdP Port)에 **443**을 입력합니다.
   + **앱 ID**(App ID)에서 이전에 기록한 값(Okta 포함 링크의 마지막 두 세그먼트)을 입력합니다.
   + **Okta 앱 이름**(Okta App Name)에 **amazon\$1aws\$1redshift**를 입력합니다.  
![\[인증 옵션을 입력합니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/odbc-okta-plugin-20.png)

1. **확인**(OK)을 선택합니다.

1. **테스트**(Test)를 선택하여 연결을 테스트하거나 **확인**(OK)을 선택하여 마칩니다.