Okta - Amazon Redshift

Okta

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

1단계: Okta와 AWS 계정을 서로 신뢰하도록 설정

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

Okta와 AWS 계정을 서로 신뢰하도록 설정하려면
  1. Okta 사용자가 연결할 기존 Amazon Redshift 클러스터를 사용하거나 생성합니다. 연결을 구성하려면 이 클러스터의 특정 속성(예: 클러스터 식별자)이 필요합니다. 자세한 내용은 클러스터 생성 섹션을 참조하세요.

  2. Amazon Redshift를 Okta 포털의 새 애플리케이션으로 추가합니다. 자세한 단계는 Okta documentation을 참조하십시오.

    • 애플리케이션 추가를 선택합니다.

    • 애플리케이션 추가에서 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) URLyour-redshift-local-host-url을 입력합니다. 이는 SAML 어설션이 리디렉션하는 로컬 호스트 및 포트입니다(예: http://localhost:7890/redshift/).

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

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

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

  6. Advanced Settings(고급 설정) 섹션에서 SAML Issuer ID(SAML 발급자 ID)your-Identity-Provider-Issuer-ID를 입력합니다. 이는 View Setup Instructions(설정 지침 보기) 섹션에서 찾을 수 있습니다.

  7. Attribute Statements(속성 설명) 섹션에서 다음 표와 같이 클레임을 만듭니다.

    클레임 이름

    https://aws.amazon.com/SAML/Attributes/Role

    arn:aws:iam::123456789012:role/Okta,arn:aws:iam::123456789012:saml-provider/Okta

    https://aws.amazon.com/SAML/Attributes/RoleSessionName

    user.email

    https://redshift.amazon.com/SAML/Attributes/AutoCreate

    "true"

    https://redshift.amazon.com/SAML/Attributes/DbUser

    user.email

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

  9. IAM 콘솔에서 IAM SAML 자격 증명 공급자를 만듭니다. 제공하는 메타데이터 문서는 Okta를 설정할 때 저장한 연동 메타데이터 XML 파일입니다. 자세한 단계는 IAM User GuideCreating and Managing an IAM Identity Provider (Console)를 참조하세요.

  10. IAM 콘솔에서 SAML 2.0 연동을 위한 IAM 역할을 만듭니다. 자세한 단계는 IAM User GuideCreating a Role for SAML을 참조하세요.

  11. IAM 콘솔에서 SAML 2.0 연동을 위해 생성한 IAM 역할에 연결할 수 있는 IAM 정책을 만듭니다. 자세한 단계는 IAM User GuideCreating IAM Policies (Console)를 참조하세요. Azure AD 예제는 JDBC 또는 ODBC Single Sign-On 인증 설정 단원을 참조하십시오.

2단계: Okta에 대한 인증을 위해 JDBC 또는 ODBC 설정

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

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

    예를 들어 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).

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

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

    4. 연결 프로파일 선택(Select Connection Profile) 페이지에서 다음과 같이 연결 프로파일에 정보를 추가합니다.

      • 사용자에 Okta 사용자 이름을 입력합니다. 이는 Single Sign-On에 사용 중인 Okta 계정의 사용자 이름으로, 인증하려는 클러스터에 대한 권한이 있습니다.

      • 암호에 Okta 암호를 입력합니다.

      • 드라이버(Drivers)에서 Amazon Redshift(com.amazon.redshift.jdbc.Driver)를 선택합니다.

      • URLjdbc:redshift:iam://your-cluster-identifier:your-cluster-region/your-database-name을 입력합니다.

    5. 확장 속성(Extended Properties)를 선택하고 다음 중 하나를 수행합니다.

      • login_urlyour-okta-sso-login-url을 입력합니다. 이 값은 URL에 Single Sign-On을 Okta에 로그인하기 위한 인증으로 사용하도록 지정합니다.

      • Okta Single Sign-On에서 plugin_namecom.amazon.redshift.plugin.OktaCredentialsProvider를 입력합니다. 이 값은 드라이버에 Okta Single Sign-On을 인증 방법으로 사용하도록 지정합니다.

      • MFA를 사용하는 Okta Single Sign-On에서 plugin_namecom.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 파일을 편집합니다.

    참고

    모든 항목은 대/소문자를 구분하지 않습니다.

    • clusteridyour-cluster-identifier를 입력합니다. 이는 생성된 Amazon Redshift 클러스터의 이름입니다.

    • 리전(region)your-cluster-region을 입력합니다. 이는 생성된 Amazon Redshift 클러스터의 AWS 리전입니다.

    • 데이터베이스(database)your-database-name을 입력합니다. 이는 Amazon Redshift 클러스터에서 액세스하려는 데이터베이스의 이름입니다.

    • 로캘(locale)en-us를 입력합니다. 이는 오류 메시지가 표시되는 언어입니다.

    • iam1을 입력합니다. 이 값은 드라이버에 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을 사용하여 인증할 때 사용하는 인증 방법입니다.

    • uidyour-okta-username을 입력합니다. 이는 Single Sign-On에 사용 중인 Okta 계정의 사용자 이름으로, 인증하려는 클러스터에 대한 권한이 있습니다. plugin_nameOkta인 경우에만 이를 사용합니다.

    • pwdyour-okta-password를 입력합니다. plugin_nameOkta인 경우에만 이를 사용합니다.

    • login_urlyour-login-url을 입력합니다. 이는 SAML 응답을 반환하는 시작 Single Sign-On URL입니다. 이는 브라우저 SAML 플러그인에만 적용됩니다.

    • idp_response_timeoutthe-number-of-seconds를 입력합니다. 이는 PingOne으로부터 응답을 기다리는 지정된 시간(초)입니다. 이는 브라우저 SAML 플러그인에만 적용됩니다.

    • listen_portyour-listen-port를 입력합니다. 로컬 서버가 수신 대기하는 포트입니다. 기본값은 7890입니다. 이는 브라우저 SAML 플러그인에만 적용됩니다.

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

    export ODBCINI=/opt/amazon/redshift/Setup/odbc.ini
    export ODBCINSTINI=/opt/amazon/redshift/Setup/odbcinst.ini