AD FS
이 자습서에서는 AD FS를 ID 제공업체(idP)로 사용하여 Amazon Redshift 클러스터에 액세스하는 방법을 보여 줍니다.
1단계: AD FS와 AWS 계정을 서로 신뢰하도록 설정
다음 절차에서는 신뢰 관계를 설정하는 방법을 설명합니다.
-
AD FS 사용자가 연결할 기존 Amazon Redshift 클러스터를 사용하거나 생성합니다. 연결을 구성하려면 이 클러스터의 특정 속성(예: 클러스터 식별자)이 필요합니다. 자세한 내용은 클러스터 생성 섹션을 참조하세요.
-
Microsoft Management Console에서 Amazon Redshift 액세스를 제어하도록 AD FS를 설정합니다.
-
ADFS 2.0을 선택한 후 Add Relying Party Trust(신뢰 당사자 신뢰 추가)를 선택합니다. Add Relying Party Trust Wizard(신뢰 당사자 신뢰 추가 마법사) 페이지에서 시작을 선택합니다.
-
Select Data Source(데이터 원본 선택) 페이지에서 Import data about the relying party published online or on a local network(온라인 또는 로컬 네트워크에 게시된 신뢰 당사자에 대한 데이터 가져오기)를 선택합니다.
-
Federation metadata address (host name or URL)(연동 메타데이터 주소(호스트 이름 또는 URL))에
https://signin.aws.amazon.com/saml-metadata.xml
을 입력합니다. 메타데이터 XML 파일은 AWS를 신뢰 당사자로 설명하는 표준 SAML 메타데이터 문서입니다. -
표시 이름 지정 페이지에서 표시 이름에 값을 입력합니다.
-
Choose Issuance Authorization Rules(발급 권한 부여 규칙 선택) 페이지에서 발급 권한 부여 규칙을 선택하여 모든 사용자가 이 신뢰 당사자에 액세스할 수 있도록 허용하거나 거부합니다.
-
Ready to Add Trust(신뢰 추가 준비 완료) 페이지에서 설정을 검토합니다.
-
Finish(완료) 페이지에서 Open the Edit Claim Rules dialog for this relying party trust when the wizard closes(마법사가 닫힐 때 이 신뢰 당사자 신뢰에 대한 클레임 규칙 편집 대화 상자 열기)를 선택합니다.
-
컨텍스트(오른쪽 클릭) 메뉴에서 Relying Party Trusts(신뢰 당사자 신뢰)를 선택합니다.
-
신뢰 당사자의 경우 컨텍스트(오른쪽 클릭) 메뉴를 열고 Edit Claim Rules(클레임 규칙 편집)를 선택합니다. 클레임 규칙 편집(Edit Claim Rules) 페이지에서 규칙 추가(Add Rule)를 선택합니다.
-
Claim rule template(클레임 규칙 템플릿)에서 Transform an Incoming Claim(수신 클레임 변환)을 선택한 후 Edit Rule – NameId(규칙 편집 – NameId) 페이지에서 다음을 수행합니다.
-
클레임 규칙 이름에 NameId를 입력합니다.
-
Incoming claim name(수신 클레임 이름)으로 Windows Account Name(Windows 계정 이름)을 선택합니다.
-
Outgoing claim name(발신 클레임 이름)으로 Name ID(이름 ID)를 선택합니다.
-
Outgoing name ID format(발신 이름 ID 형식)으로 Persistent Identifier(영구 식별자)를 선택합니다.
-
Pass through all claim values(모든 클레임 값 전달)를 선택합니다.
-
-
Edit Claim Rules(클레임 규칙 편집) 페이지에서 Add Rule(규칙 추가)를 선택합니다. Select Rule Template(규칙 템플릿 선택) 페이지에서 Claim rule template(클레임 규칙 템플릿)으로 Send LDAP Attributes as Claims(LDAP 속성을 클레임으로 전송)를 선택합니다.
-
규칙 구성 페이지에서 다음 작업을 수행합니다.
-
클레임 규칙 이름에 RoleSessionName을 입력합니다.
-
속성 저장의 경우 Active Directory를 선택합니다.
-
LDAP Attribute(LDAP 속성)의 경우 이메일 주소를 선택합니다.
-
[발신 클레임 유형(Outgoing Claim Type)]으로 https://aws.amazon.com/SAML/Attributes/RoleSessionName을 선택합니다.
-
-
Edit Claim Rules(클레임 규칙 편집) 페이지에서 Add Rule(규칙 추가)를 선택합니다. 규칙 템플릿 선택(Select Rule Template) 페이지에서 클레임 규칙 템플릿(Claim rule template)으로 사용자 지정 규칙을 사용하여 클레임 전송(Send Claims Using a Custom Rule)을 선택합니다.
-
Edit Rule – Get AD Groups(규칙 편집 – AD 그룹 가져오기) 페이지에서 클레임 규칙 이름에 Get AD Groups(AD 그룹 가져오기)를 입력합니다.
-
Custom rule(사용자 지정 규칙)에 다음을 입력합니다.
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => add(store = "Active Directory", types = ("http://temp/variable"), query = ";tokenGroups;{0}", param = c.Value);
-
Edit Claim Rules(클레임 규칙 편집) 페이지에서 Add Rule(규칙 추가)를 선택합니다. Select Rule Template(규칙 템플릿 선택) 페이지에서 Claim rule template(클레임 규칙 템플릿)으로 Send Claims Using a Custom Rule(사용자 지정 규칙을 사용하여 클레임 전송)을 선택합니다.
-
Edit Rule – Roles(규칙 편집 – 역할) 페이지에서 클레임 규칙 이름에 역할을 입력합니다.
-
Custom rule(사용자 지정 규칙)에 다음을 입력합니다.
c:[Type == "http://temp/variable", Value =~ "(?i)^AWS-"] => issue(Type = "https://aws.amazon.com/SAML/Attributes/Role", Value = RegExReplace(c.Value, "AWS-", "arn:aws:iam::123456789012:saml-provider/ADFS,arn:aws:iam::123456789012:role/ADFS-"));
SAML 공급자 및 맡을 역할의 ARN을 적어 둡니다. 이 예에서
arn:aws:iam:123456789012:saml-provider/ADFS
는 SAML 공급자의 ARN이고arn:aws:iam:123456789012:role/ADFS-
는 역할의 ARN입니다.
-
-
federationmetadata.xml
파일을 다운로드했는지 확인합니다. 문서 내용에 잘못된 문자가 없는지 확인합니다. 이는 AWS와의 신뢰 관계를 구성할 때 사용하는 메타데이터 파일입니다. -
IAM 콘솔에서 IAM SAML 자격 증명 공급자를 만듭니다. 제공하는 메타데이터 문서는 Azure 엔터프라이즈 애플리케이션을 설정할 때 저장한 연동 메타데이터 XML 파일입니다. 자세한 단계는 IAM User Guide의 Creating and Managing an IAM Identity Provider (Console)를 참조하세요.
-
IAM 콘솔에서 SAML 2.0 연동을 위한 IAM 역할을 만듭니다. 자세한 단계는 IAM User Guide의 Creating a Role for SAML을 참조하세요.
-
IAM 콘솔에서 SAML 2.0 연동을 위해 생성한 IAM 역할에 연결할 수 있는 IAM 정책을 만듭니다. 자세한 단계는 IAM User Guide의 Creating IAM Policies (Console)를 참조하세요. Azure AD 예제는 JDBC 또는 ODBC Single Sign-On 인증 설정 단원을 참조하십시오.
2단계: AD FS에 대한 인증을 위해 JDBC 또는 ODBC 설정
다음 절차에서는 AD FS에 대한 JDBC 관계를 설정하는 방법을 설명합니다.
-
AD FS Single Sign-On을 사용하여 JDBC를 통해 클러스터에 연결하도록 데이터베이스 클라이언트를 구성합니다.
JDBC 드라이버를 사용하는 클라이언트를 사용하여 AD FS 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를 클라이언트로 사용하는 경우 다음 단계를 수행합니다.
-
SQL Workbench/J를 시작합니다. [연결 프로파일 선택(Select Connection Profile)] 페이지에서 [프로파일 그룹(Profile Group)]을 추가합니다(예:
ADFS
). -
Connection Profile(연결 프로파일)에 연결 프로파일 이름을 입력합니다(예:
ADFS
). -
Manage Drivers(드라이버 관리)를 선택하고, Amazon Redshift를 선택합니다. [라이브러리(Library)] 옆에 있는 [폴더 열기(Open Folder)] 아이콘을 선택한 다음 적절한 JDBC .jar 파일을 선택합니다.
-
Select Connection Profile(연결 프로파일 선택) 페이지에서 다음과 같이 연결 프로파일에 정보를 추가합니다.
-
사용자에 AD FS 사용자 이름을 입력합니다. 이는 Single Sign-On에 사용 중인 계정의 사용자 이름으로, 인증하려는 클러스터에 대한 권한이 있습니다.
-
암호에 AD FS 암호를 입력합니다.
-
드라이버(Drivers)에서 Amazon Redshift(com.amazon.redshift.jdbc.Driver)를 선택합니다.
-
URL에
jdbc:redshift:iam://
을 입력합니다.your-cluster-identifier
:your-cluster-region
/your-database-name
-
-
[확장 속성(Extended Properties)]을 선택합니다. plugin_name에
com.amazon.redshift.plugin.AdfsCredentialsProvider
를 입력합니다. 이 값은 드라이버에 AD FS Single Sign-On을 인증 방법으로 사용하도록 지정합니다.
-