제퍼넷 로고

원활한 Single Sign-On을 위해 AWS IAM Identity Center를 사용하여 Okta를 Amazon Redshift Query Editor V2와 통합 | 아마존 웹 서비스

시간

AWS IAM 자격 증명 센터 (IdC)를 사용하면 단일 위치에서 모든 AWS 계정 및 애플리케이션에 대한 SSO(Single Sign-On) 액세스를 관리할 수 있습니다. 우리는 이를 발표하게 되어 기쁘게 생각합니다. 아마존 레드 시프트 지금 AWS IAM ID 센터와 통합, 및 지원 신뢰할 수 있는 ID 전파, 당신이 사용할 수 있도록 타사 ID 공급자(IdP) Microsoft Entra ID(Azure AD), Okta, Ping, OneLogin 등이 있습니다. 이 통합은 다음을 사용하여 Amazon Redshift 사용자에 대한 인증 및 권한 부여 프로세스를 단순화합니다. 쿼리 편집기 V2 or 아마존 퀵사이트, 데이터 웨어하우스에 더 쉽게 안전하게 액세스할 수 있습니다. 또한 이 통합을 통해 Amazon Redshift는 IdC 관리형 애플리케이션으로 자리잡게 되므로 데이터 웨어하우스에서 데이터베이스 역할 기반 액세스 제어를 사용하여 보안을 강화할 수 있습니다.

AWS IAM Identity Center는 SCIM(System for Cross-domain Identity Management) 2.0 프로토콜을 활용하여 Okta에서 자체적으로 자동 사용자 및 그룹 프로비저닝을 제공합니다. 이러한 통합을 통해 두 서비스 간의 정보를 원활하게 동기화할 수 있어 AWS IAM Identity Center에서 정확한 최신 정보를 보장할 수 있습니다.

이 게시물에서는 IdC 및 Okta와의 통합을 ID 공급자로 사용하여 Amazon Redshift에 SSO를 설정하기 위한 포괄적인 가이드를 간략하게 설명합니다. 이 가이드에서는 Amazon Redshift Query Editor V2(QEV2)용 Amazon Redshift에 SSO를 수행하는 방법을 보여줍니다.

솔루션 개요

Amazon Redshift와 함께 IAM IdC를 사용하면 다음과 같은 방식으로 조직에 이점을 줄 수 있습니다.

  • 사용자는 관리자가 복잡한 권한을 가진 AWS IAM 역할을 설정하지 않고도 Amazon Redshift에 연결할 수 있습니다.
  • IAM IdC 통합을 통해 IdC 그룹을 Amazon Redshift 데이터베이스 역할과 매핑할 수 있습니다. 그런 다음 관리자는 다양한 역할에 다양한 권한을 할당하고 이러한 역할을 다양한 사용자에게 할당하여 조직에 사용자 액세스를 세부적으로 제어할 수 있습니다.
  • IdC는 AWS 사용자에게 중앙 위치를 제공합니다. IdC에서 직접 사용자 및 그룹을 생성하거나 Okta, Ping Identity 또는 Microsoft Entra ID(예: Azure Active Directory[AD])와 같은 표준 기반 ID 공급자에서 관리하는 기존 사용자 및 그룹을 연결할 수 있습니다.
  • IdC는 사용자 및 그룹에 대해 선택한 진실의 소스에 인증을 지시하고 Amazon Redshift가 액세스할 수 있도록 사용자 및 그룹 디렉터리를 유지 관리합니다.
  • 간단한 자동 검색 및 연결 기능을 통해 하나의 IdC 인스턴스를 여러 Amazon Redshift 데이터 웨어하우스와 공유할 수 있습니다. 이를 통해 각각에 대해 IdC 연결을 구성하는 추가 노력 없이 클러스터를 빠르게 추가할 수 있으며, 모든 클러스터와 작업 그룹이 사용자, 해당 속성 및 그룹에 대한 일관된 보기를 갖도록 보장합니다. 참고: 조직의 IdC 인스턴스는 연결하려는 Amazon Redshift 데이터 웨어하우스와 동일한 지역에 있어야 합니다.
  • 사용자 ID는 데이터 액세스와 함께 알려지고 기록되므로 사용자 액세스 감사를 통해 규정 준수 규정을 더 쉽게 충족할 수 있습니다. AWS 클라우드 트레일 데이터에 대한 액세스 권한을 부여합니다.
    아키텍처 다이어그램

Amazon Redshift 쿼리 편집기 V2 워크플로:

  1. 최종 사용자는 AWS 액세스 포털 URL(이 URL은 IdC 대시보드 콘솔에서 사용할 수 있음)을 사용하여 흐름을 시작합니다. 브라우저 팝업이 실행되고 Okta 자격 증명을 입력하는 Okta 로그인 페이지로 이동됩니다. 인증에 성공하면 연동 사용자로 AWS 콘솔에 로그인됩니다. AWS 계정을 클릭하고 Amazon Redshift Query Editor V2 애플리케이션을 선택합니다. Query Editor V2에 페더레이션한 후 IdC 인증 방법을 선택합니다.
  2. QEv2는 이번에는 AWS IdC 자격 증명을 사용하여 다시 인증하는 브라우저 흐름을 호출합니다. Okta는 IdP이므로 브라우저에 이미 캐시된 Okta 자격 증명을 입력합니다. 이 단계에서 IdC와의 페더레이션 흐름이 시작되고 이 흐름이 끝나면 브라우저의 QEv2 콘솔에서 세션 토큰과 액세스 토큰을 쿠키로 사용할 수 있습니다.
  3. Amazon Redshift는 검색된 세션 토큰을 기반으로 인증 세부 정보를 검색하고 사용자의 그룹 멤버십을 가져옵니다.
  4. 인증에 성공하면 QEV2로 다시 리디렉션되지만 IdC 인증 사용자로 로그인됩니다.

이 솔루션은 다음 단계를 다룹니다.

  1. Okta를 AWS IdC와 통합하여 사용자 및 그룹을 동기화합니다.
  2. Amazon Redshift와 IdC 통합 설정
  3. IdC의 사용자 또는 그룹을 Amazon Redshift 애플리케이션에 할당합니다.
  4. 새로운 Amazon Redshift 프로비저닝 또는 Amazon Redshift 서버리스 엔드포인트에 대해 IdC 통합을 활성화합니다.
  5. IdC 애플리케이션을 기존 프로비저닝 또는 서버리스 데이터 웨어하우스와 연결합니다.
  6. Amazon Redshift 역할 기반 액세스를 구성합니다.
  7. 권한 집합을 만듭니다.
  8. AWS 계정에 권한 세트를 할당합니다.
  9. IdC를 사용하여 Redshift Query Editor V2에 페더레이션합니다.
  10. 문제해결

사전 조건

연습

Okta를 AWS IdC와 통합하여 사용자 및 그룹 동기화

이 문서에 따라 AWS IdC를 사용하여 Okta에서 그룹 및 사용자 프로비저닝을 활성화하십시오. 여기에서 지금 확인해 보세요..

사용자 및 그룹을 동기화하는 동안 문제가 발생하면 다음 섹션을 참조하세요. 자동 프로비저닝 사용 시 고려 사항.

Amazon Redshift와 IAM IdC 통합 설정

Amazon Redshift 클러스터 관리자 또는 Amazon Redshift 서버리스 관리자는 Redshift를 IdC 지원 애플리케이션으로 구성하는 단계를 수행해야 합니다. 이를 통해 Amazon Redshift는 자동으로 IdC를 검색하고 연결하여 로그인 및 사용자 디렉터리 서비스를 받을 수 있습니다.

그런 다음 Amazon Redshift 관리자가 클러스터 또는 작업 그룹을 생성하면 새 데이터 웨어하우스에서 IdC 및 해당 ID 관리 기능을 사용할 수 있습니다. Amazon Redshift를 IdC 관리형 애플리케이션으로 활성화하는 이유는 IdC 내에서 또는 IdC와 통합된 소스 타사 자격 증명 공급자로부터 사용자 및 그룹 권한을 제어할 수 있다는 것입니다.

분석가나 데이터 과학자와 같은 데이터베이스 사용자가 Amazon Redshift 데이터베이스에 로그인하면 IdC에서 해당 그룹을 확인하고 이러한 그룹은 Amazon Redshift의 역할에 매핑됩니다. 이러한 방식으로 그룹은 테이블 세트에 대한 읽기 액세스를 허용하는 Amazon Redshift 데이터베이스 역할에 매핑될 수 있습니다.

다음 단계에서는 IdC를 사용하여 Amazon Redshift를 AWS 관리형 애플리케이션으로 만드는 방법을 보여줍니다.

  1. 선택 IAM ID 센터 연결 Amazon Redshift 콘솔 메뉴에서.
    Redshift 애플리케이션 생성
  2. 왼쪽 메뉴에서 응용 프로그램 만들기
    Redshift IdC 애플리케이션 생성
  3. XNUMXD덴탈의 IAM ID 센터 연결 열립니다. 선택하다 다음 보기.
  4. In IAM ID 센터 통합 설정 섹션:
    1. IAM ID 센터 표시 이름 – Amazon Redshift의 IdC 관리 애플리케이션에 대한 고유한 이름을 입력합니다.
    2. 관리형 애플리케이션 이름 – 관리되는 Amazon Redshift 애플리케이션 이름을 입력하거나 할당된 값을 그대로 사용할 수 있습니다.
  5. In 타사 ID 공급자와의 연결 섹션:
    1. ID 제공자 네임스페이스 – 조직의 고유한 네임스페이스를 지정합니다. 이는 일반적으로 조직 이름의 축약된 버전입니다. 이는 Amazon Redshift 데이터베이스의 IdC 관리 사용자 및 역할에 대한 접두사로 추가됩니다.
  6. In IAM ID 센터 액세스를 위한 IAM 역할 – 사용할 IAM 역할을 선택합니다. 기존 IAM 역할이 없으면 새 IAM 역할을 생성할 수 있습니다. 필요한 특정 정책 권한은 다음과 같습니다.
    • sso:응용 프로그램 설명 – 카탈로그에서 ID 공급자(IdP) 항목을 생성하는 데 필요합니다.
    • sso:설명인스턴스 – IdP 연합 역할 또는 사용자를 수동으로 생성하는 데 사용됩니다.
    • redshift:DescribeQev2Idc애플리케이션 – Redshift Query Editor V2에서 IDC 인증 기능을 감지하는 데 사용됩니다.

다음 스크린샷은 IAM 역할의 스크린샷입니다.
IAM IdC 역할

IAM IdC 역할 신뢰 관계

  1. 우리는 활성화하지 않을 것입니다 신뢰할 수 있는 ID 전파 우리는 통합되지 않기 때문에 AWS Lake 형성 이 게시물에.
  2. 왼쪽 메뉴에서 다음 보기.
    Redshift IdC 연결
  3. In 타사 IdP를 사용하는 클라이언트 연결 구성 섹션 선택 가능 Amazon Redshift를 타사 애플리케이션과 연결하려는 경우. 그렇지 않으면 다음을 선택하세요. 아니. 이번 포스팅을 위해 우리가 선택한 아니 왜냐하면 Amazon Redshift Query Editor V2하고만 통합할 것이기 때문입니다.
  4. 왼쪽 메뉴에서 다음 보기.
    Redshift IdC 타사 앱 없음
  5. . 신청서 검토 및 생성 섹션에서 이전에 입력한 모든 세부 정보를 검토하고 선택하세요. 응용 프로그램 만들기.
    Redshift IdC 애플리케이션 - 검토 및 생성

Amazon Redshift 관리자가 단계를 완료하고 구성을 저장하면 IdC 속성이 Redshift 콘솔에 나타납니다. 이러한 작업을 완료하면 Redshift가 IdC 지원 애플리케이션이 됩니다.
Redshift IdC 애플리케이션이 생성되었습니다.

관리형 애플리케이션 이름을 선택하면 콘솔의 속성에 통합 상태가 포함됩니다. 그것은 말한다 Success 완료되면. 이 상태는 IdC 구성이 완료되었는지 여부를 나타냅니다.
Amazon Redshift IdC 애플리케이션 상태

IdC에서 Amazon Redshift 애플리케이션으로 사용자 또는 그룹 할당

이 단계에서는 IdC 디렉터리에 동기화된 사용자 또는 그룹을 애플리케이션에 할당할 수 있으며, 여기서 Amazon Redshift 관리자는 Amazon Redshift 애플리케이션의 일부로 포함되어야 하는 IDC의 사용자 또는 그룹을 결정할 수 있습니다.

예를 들어 IdC에 총 20개의 그룹이 있고 모든 그룹을 Amazon Redshift 애플리케이션의 일부로 포함하지 않으려는 경우 Amazon Redshift 지원 IdC 애플리케이션의 일부로 포함할 IdC 그룹을 선택할 수 있는 옵션이 있습니다. . 나중에 Amazon Redshift에서 IDC 통합의 일부로 두 개의 Redshift 데이터베이스 역할을 생성할 수 있습니다.

다음 단계에서는 Amazon Redshift 지원 IdC 애플리케이션에 그룹을 할당합니다.

  1. On IAM ID 센터 속성 Amazon Redshift 콘솔에서 다음을 선택합니다. 양수인 아래에 그룹 탭.
  2. 그룹을 처음 할당하는 경우 알림이 표시됩니다. 선택하다 시작하기.
  3. 애플리케이션에서 동기화할 그룹을 입력하세요. 이 예에서는 wssso-sales 및 awssso-finance 그룹을 선택했습니다.
  4. 왼쪽 메뉴에서 선택한다.
    Redshift 애플리케이션 - 사용자 및 그룹 할당

새로운 Amazon Redshift 프로비저닝 클러스터 또는 Amazon Redshift Serverless에 대한 IdC 통합 활성화

섹션(Amazon Redshift와 IAM Identity Center 통합 설정) — Amazon Redshift 데이터베이스 관리자는 로그인 및 데이터 액세스를 더 쉽게 만들기 위해 IdC와 연계하여 작동하도록 새로운 Redshift 리소스를 구성해야 합니다. 이는 프로비저닝된 클러스터 또는 서버리스 작업 그룹을 생성하는 단계의 일부로 수행됩니다. Amazon Redshift 리소스를 생성할 권한이 있는 사람은 누구나 이러한 IdC 통합 작업을 수행할 수 있습니다. 프로비저닝된 클러스터를 생성할 때 다음을 선택하여 시작합니다. 클러스터 생성 Amazon Redshift 콘솔에서.

  1. 왼쪽 메뉴에서 클러스터에 대해 활성화(권장) 섹션에서 IAM ID 센터 연결 클러스터 생성 단계에서.
  2. 드롭다운에서 위 단계에서 생성한 redshift 애플리케이션을 선택합니다.

새 데이터 웨어하우스가 생성되면 IdC 통합을 위해 지정된 IAM 역할이 프로비저닝된 클러스터 또는 서버리스 네임스페이스에 자동으로 연결됩니다. 필수 클러스터 메타데이터 입력을 마치고 리소스를 생성한 후 속성에서 IdC 통합 상태를 확인할 수 있습니다.
Amazon Redshift - 클러스터 생성

IdC 애플리케이션을 기존 프로비저닝된 클러스터 또는 서버리스 엔드포인트와 연결

IdC 통합을 활성화하려는 기존 프로비저닝된 클러스터 또는 서버리스 작업 그룹이 있는 경우 SQL 명령을 실행하여 이를 수행할 수 있습니다. 통합을 활성화하려면 다음 명령을 실행합니다. 데이터베이스 관리자가 쿼리를 실행해야 합니다.

CREATE IDENTITY PROVIDER "<idc_application_name>" TYPE AWSIDC
NAMESPACE '<idc_namespace_name>'
APPLICATION_ARN '<idc_application_arn>'
IAM_ROLE '<IAM role for IAM Identity Center access>';

예:

CREATE IDENTITY PROVIDER "redshift-idc-app" TYPE AWSIDC
NAMESPACE 'awsidc'
APPLICATION_ARN 'arn:aws:sso::123456789012:application/ssoins-12345f67fe123d4/apl-a0b0a12dc123b1a4'
IAM_ROLE 'arn:aws:iam::123456789012:role/EspressoRedshiftRole';

IdP를 변경하려면 다음 명령을 사용하십시오. 이 새로운 매개변수 값 세트는 현재 값을 완전히 대체합니다.

ALTER IDENTITY PROVIDER "<idp_name>"
NAMESPACE '<idc_namespace_name>'|
IAM_ROLE default | 'arn:aws:iam::<AWS account-id-1>:role/<role-name>';

몇 가지 예는 다음과 같습니다.

ALTER IDENTITY PROVIDER "redshift-idc-app"
NAMESPACE 'awsidctest';

ALTER IDENTITY PROVIDER "redshift-idc-app"
IAM_ROLE 'arn:aws:iam::123456789012:role/administratoraccess';

참고: idc-namespace 값을 업데이트하면 이후에 생성되는 모든 새 클러스터는 업데이트된 네임스페이스를 사용하게 됩니다.

기존 클러스터 또는 서버리스 작업 그룹의 경우 이전 명령을 사용하여 각 Amazon Redshift 클러스터에서 네임스페이스를 수동으로 업데이트해야 합니다. 또한 ID 공급자와 연결된 모든 데이터베이스 역할이 새 네임스페이스 값으로 업데이트됩니다.

다음 명령을 사용하여 ID 공급자를 비활성화하거나 활성화할 수 있습니다.

ALTER IDENTITY PROVIDER <provider_name> disable|enable;

예:

ALTER IDENTITY PROVIDER <provider_name> disable;

기존 ID 공급자를 삭제할 수 있습니다. 다음 예에서는 CASCADE가 ID 공급자에 연결된 사용자 및 역할을 삭제하는 방법을 보여줍니다.

DROP IDENTITY PROVIDER <provider_name> [ CASCADE ]

Amazon Redshift 역할 기반 액세스 구성

이 단계에서는 IdC에서 동기화한 그룹을 기반으로 Amazon Redshift에서 데이터베이스 역할을 미리 생성합니다. 역할 이름이 IdC 그룹 이름과 일치하는지 확인하세요.

Amazon Redshift 역할은 최종 사용자에게 필요한 권한 관리를 간소화합니다. 이 게시물에서는 영업 및 재무라는 두 가지 데이터베이스 역할을 생성하고 각각 영업 및 재무 데이터가 있는 쿼리 테이블에 대한 액세스 권한을 부여합니다. 당신은 할 수 있습니다 이 샘플 SQL 노트북 다운로드Redshift Query Editor v2로 가져오기 이 예제에 사용된 노트북의 모든 셀을 실행합니다. 또는 SQL 클라이언트에 SQL을 복사하여 입력할 수 있습니다.

다음은 Amazon Redshift에서 역할을 생성하는 구문입니다.

create role "<IDC_Namespace>:<IdP groupname>;

예 :

create role "awsidc:awssso-sales";
create role "awsidc:awssso-finance";

영업 및 재무 데이터베이스 스키마를 생성합니다.

create schema sales_schema;
create schema finance_schema;

테이블 만들기:

CREATE TABLE IF NOT EXISTS finance_schema.revenue
(
account INTEGER   ENCODE az64
,customer VARCHAR(20)   ENCODE lzo
,salesamt NUMERIC(18,0)   ENCODE az64
)
DISTSTYLE AUTO
;

insert into finance_schema.revenue values (10001, 'ABC Company', 12000);
insert into finance_schema.revenue values (10002, 'Tech Logistics', 175400);
insert into finance_schema.revenue values (10003, 'XYZ Industry', 24355);
insert into finance_schema.revenue values (10004, 'The tax experts', 186577);

CREATE TABLE IF NOT EXISTS sales_schema.store_sales
(
ID INTEGER   ENCODE az64,
Product varchar(20),
Sales_Amount INTEGER   ENCODE az64
)
DISTSTYLE AUTO
;

Insert into sales_schema.store_sales values (1,'product1',1000);
Insert into sales_schema.store_sales values (2,'product2',2000);
Insert into sales_schema.store_sales values (3,'product3',3000);
Insert into sales_schema.store_sales values (4,'product4',4000);

다음은 Amazon Redshift 서버리스 역할에 권한을 부여하는 구문입니다.

GRANT { { SELECT | INSERT | UPDATE | DELETE | DROP | REFERENCES } [,...]| ALL [ PRIVILEGES ] } ON { [ TABLE ] table_name [, ...] | ALL TABLES IN SCHEMA schema_name [, ...] } TO role <IdP groupname>;

요구 사항에 따라 역할에 관련 권한을 부여합니다. 다음 예에서는 역할 판매에 대한 모든 권한을 부여합니다. sales_schema 에 대한 권한만 선택합니다. finance_schema 금융의 역할을 합니다.

예 :

grant usage on schema sales_schema to role "awsidc:awssso-sales";
grant select on all tables in schema sales_schema to role "awsidc:awssso-sales";

grant usage on schema finance_schema to role "awsidc:awssso-finance";
grant select on all tables in schema finance_schema to role "awsidc:awssso-finance";

권한 집합 만들기

권한 집합은 하나 이상의 컬렉션을 정의하기 위해 만들고 유지 관리하는 템플릿입니다. IAM 정책. 권한 세트는 조직의 사용자 및 그룹에 대한 AWS 계정 액세스 할당을 단순화합니다. 페더레이션된 사용자가 쿼리 편집기 V에 액세스할 수 있도록 권한 집합을 만듭니다.

권한 집합을 생성하려면 다음 단계를 따르세요.

  1. 열기 IAM ID 센터 콘솔.
  2. 탐색 창의 다중 계정 권한선택한다. 권한 집합.
  3. 왼쪽 메뉴에서 권한 집합 만들기.
    IdC-권한 집합 만들기
  4. 왼쪽 메뉴에서 사용자 지정 권한 집합 그런 다음 다음 보기.
  5. $XNUMX Million 미만 AWS 관리형 정책선택한다. AmazonRedshiftQueryEditorV2ReadSharing.
  6. $XNUMX Million 미만 고객 관리형 정책, 섹션 아래 4단계에서 생성한 정책 이름을 제공합니다. Amazon Redshift와 IAM Identity Center 통합 설정.
  7. 왼쪽 메뉴에서 다음 보기.
  8. 엔터 버튼 권한 집합 이름. 예를 들어 Amazon Redshift-Query-Editor-V2입니다.
  9. $XNUMX Million 미만 릴레이 상태 – 선택 사항 – s다음 형식을 사용하여 기본 릴레이 상태를 쿼리 편집기 V2 URL로 보냅니다. https://<region>.console.aws.amazon.com/sqlworkbench/home.
    이 게시물에서는 다음을 사용합니다. https://us-east-1.console.aws.amazon.com/sqlworkbench/home.
  10. 왼쪽 메뉴에서 다음 보기.
  11. 검토 및 생성 화면에서 선택 만들기. 콘솔에 다음 메시지가 표시됩니다. 권한 집합 Redshift-Query-Editor-V2 성공적으로 생성되었습니다.
    IdC- 생성 권한 검토

AWS 계정에 권한 세트 할당

  1. 열기 IAM ID 센터 콘솔.
  2. 탐색 창의 다중 계정 권한선택한다. AWS 계정.
  3. AWS 계정 페이지에서 Single Sign-On 액세스 권한을 할당하려는 하나 이상의 AWS 계정을 선택합니다.
  4. 왼쪽 메뉴에서 사용자 또는 그룹 할당.
  5. AWS-account-name에 사용자 및 그룹 할당에서 권한 집합을 생성하려는 그룹을 선택합니다. 그런 다음 선택하세요. 다음 보기.
  6. 권한 집합 할당 대상: AWS 계정 이름, 섹션에서 생성한 권한 집합을 선택합니다. 권한 집합 만들기. 그런 다음 다음 보기.
  7. AWS-account-name에 대한 과제 검토 및 제출 페이지 검토 및 제출선택한다. 문의하기. 콘솔에 다음 메시지가 표시됩니다. AWS 계정을 성공적으로 다시 프로비저닝하고 업데이트된 권한 세트를 계정에 적용했습니다..
    Idc-검토 및 과제 제출IdC 할당 권한이 생성되었습니다.

IdC를 사용하는 Query Editor V2를 사용하여 Amazon Redshift에 연동

이제 IdC 인증을 사용하여 Amazon Redshift Query Editor V2 및 연동 로그인에 연결할 준비가 되었습니다.

  1. 열기 IAM ID 센터 콘솔.
  2. 대시보드로 이동하여 AWS 액세스 포털 URL.
  3. 브라우저 팝업이 실행되고 Okta 자격 증명을 입력할 수 있는 Okta 로그인 페이지로 이동됩니다.
  4. 인증에 성공하면 연동 사용자로 AWS 콘솔에 로그인됩니다.
  5. 선택하여 AWS 계정 Amazon Redshift Query Editor V2 애플리케이션을 선택합니다.
  6. Query Editor V2에 페더레이션한 후 Redshift 인스턴스를 선택(예: 마우스 오른쪽 버튼 클릭)하고 연결 만들기.
  7. IdC를 사용하여 인증하려면 인증 방법을 선택하세요. IAM ID 센터.
  8. 팝업이 표시되고 Okta 자격 증명이 이미 캐시되어 있으므로 동일한 자격 증명을 활용하고 IdC 인증을 사용하여 Amazon Redshift Query Editor V2에 연결합니다.

다음 데모에서는 연동 사용자(Ethan)가 AWS 액세스 포털 URL을 사용하여 IdC 인증을 통해 Amazon Redshift에 액세스하는 것을 보여줍니다. 사용자 Ethan은 sales_schema 테이블에 액세스합니다. 사용자 Ethan이 Finance_schema의 테이블에 액세스하려고 하면 사용자에게 권한 거부 오류가 발생합니다.
QEV2-IdC-데모

문제해결

  • 다음 오류가 발생하는 경우:
    ERROR: registered identity provider does not exist for "<idc-namespace:redshift_database_role_name"

이는 잘못된 네임스페이스를 사용하여 역할을 생성하려고 한다는 의미입니다. 명령을 사용하여 현재 네임스페이스를 확인하십시오. select * from identity_providers;

  • 아래 오류가 발생하는 경우:
    ERROR: (arn:aws:iam::123456789012:role/<iam_role_name>) Insufficient privileges to access AWS IdC. [ErrorId: 1-1234cf25-1f23ea1234c447fb12aa123e]

이는 IAM 역할에 IdC에 액세스할 수 있는 충분한 권한이 없음을 의미합니다. IAM 역할에는 다음 권한이 있는 정책이 포함되어야 합니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "redshift:DescribeQev2IdcApplications",
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "sso:DescribeApplication",
                "sso:DescribeInstance"
            ],
            "Resource": "arn:aws:sso::726034267621:application/ssoins-722324fe82a3f0b8/*"
        }
    ]
}

  • 아래 오류가 발생하는 경우:
    FATAL: Invalid scope. User's credentials are not authorized to connect to Redshift. [SQL State=28000]

사용자 및 그룹이 Amazon Redshift IdC 애플리케이션에 추가되었는지 확인하십시오.

정리

리소스를 정리하려면 다음 단계를 완료하세요.

  1. IdC와 통합하기 위해 생성한 Okta 애플리케이션을 삭제합니다.
  2. IAM ID 센터 구성을 삭제합니다.
  3. 테스트용으로 생성한 Redshift 애플리케이션과 Redshift 프로비저닝된 클러스터를 삭제합니다.
  4. IdC 및 Redshift 통합을 위해 생성한 IAM 역할을 삭제합니다.

결론

이 게시물에서는 Okta를 IdC 및 Amazon Redshift Query Editor 버전 2와 통합하여 SSO 설정을 단순화하는 방법에 대한 자세한 연습을 보여주었습니다. 이 통합을 통해 Amazon Redshift에서 역할 기반 액세스 제어를 사용할 수 있습니다. 이 통합을 시도해 보시기 바랍니다.

Amazon Redshift를 사용한 IdC에 대해 자세히 알아보려면 다음을 방문하십시오. 선적 서류 비치.


저자에 관하여

데부 팬더 AWS의 제품 관리 선임 관리자입니다. 그는 분석, 애플리케이션 플랫폼 및 데이터베이스 기술 분야의 업계 리더이며 IT 업계에서 25년 이상의 경력을 보유하고 있습니다.

마니쉬 샤르마 XNUMX년 이상 대규모 데이터 웨어하우스 및 분석 솔루션을 설계하고 구현한 경험이 있는 AWS의 수석 데이터베이스 엔지니어입니다. 그는 다양한 Amazon Redshift 파트너 및 고객과 협력하여 더 나은 통합을 주도하고 있습니다.

하시다 파텔 AWS의 분석 부문 수석 솔루션 아키텍트입니다.

프라빈 쿠마르 라마크리슈난 AWS의 수석 소프트웨어 엔지니어입니다. 그는 파일 시스템, 스토리지 가상화, 네트워크 보안 등 다양한 분야에 걸쳐 약 20년의 경험을 갖고 있습니다. AWS에서는 Redshift 데이터 보안을 강화하는 데 중점을 두고 있습니다.

카르티크 라마나단 AWS Redshift의 수석 소프트웨어 엔지니어이며 샌프란시스코에 거주하고 있습니다. 그는 Redshift 이전에 네트워킹, 데이터 스토리지 및 IoT 분야 전반에 걸쳐 XNUMX년에 가까운 개발 경험을 보유하고 있습니다. 일하지 않을 때 그는 작가이기도 하며 물 속에 있는 것을 좋아합니다.

spot_img

최신 인텔리전스

spot_img