사전 조건 - Amazon Redshift

Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 블로그 게시물을 참조하세요.

사전 조건

Amazon Redshift 페더레이션 권한 설정에 대한 IAM 정책 요구 사항

Amazon Redshift 페더레이션 권한을 사용하면 Redshift 웨어하우스에서 직접 관리하는 권한을 사용하여 분석 워크로드 전반의 데이터 액세스를 중앙에서 관리할 수 있습니다.

Amazon Redshift 페더레이션 권한을 활성화하려면 Redshift 프로비저닝된 클러스터 및 서버리스 네임스페이스를 생성하는 데 필요한 표준 권한 외에 특정 IAM 권한이 필요합니다.

Redshift 프로비저닝된 웨어하우스가 Redshift 페더레이션 권한을 활성화하는 경우:

  • redshift:ModifyLakehouseConfiguration

  • redshift:RegisterNamespace

Redshift Serverless 웨어하우스가 Redshift 페더레이션 권한을 활성화하는 경우:

  • redshift-serverless:UpdateLakehouseConfiguration

  • redshift:RegisterNamespace

AWS Glue Data Catalog 통합을 통해 Redshift 페더레이션 권한으로 카탈로그를 생성하려는 경우:

  • glue:CreateCatalog

  • glue:GetCatalog

Lake Formation 리소스를 일회성 등록으로 등록하여 원격 웨어하우스에서 페더레이션된 권한으로 Redshift 권한 페더레이션을 활성화하는 경우:

  • lakeformation:RegisterResource

  • lakeformation:RegisterResourceWithPrivilegedAccess

페더레이션 권한이 있는 Redshift 웨어하우스에 대한 IAM Identity Center 애플리케이션 구성

Amazon Redshift는 자격 증명센터 자격 증명 전파를 지원하여 Redshift 인스턴스와 AWS Lake Formation 및 AWS Glue 서비스 간에 사용자 자격 증명을 원활하게 전달합니다. 이 기능을 사용하려면 전용 IdC 애플리케이션을 구성해야 합니다.

필수 IAM 권한

자격 증명 센터 자격 증명 전파를 위한 자격 증명 센터 애플리케이션을 생성하고 관리하려면 IAM 권한에 다음 권한이 포함되어 있는지 확인합니다.

Amazon Redshift IdC 애플리케이션 관리의 경우:

  • redshift:CreateRedshiftIdcApplication

  • redshift:ModifyRedshiftIdcApplication

  • redshift:DescribeRedshiftIdcApplications

Lake Formation IdC 애플리케이션 관리의 경우:

  • lakeformation:CreateLakeFormationIdentityCenterConfiguration

  • lakeformation:DescribeLakeFormationIdentityCenterConfiguration

  • lakeformation:UpdateLakeFormationIdentityCenterConfiguration

해당 IdC 애플리케이션 및 구성 생성

분석 워크로드에 대한 자격 증명 전파를 설정하려면 Lakehouse 유형의 Amazon Redshift IdC 애플리케이션을 생성합니다. 명시적 사용자 할당 없이 권한을 관리합니다. 이 애플리케이션에 연결된 Redshift 웨어하우스는 IdC 사용자가 연결을 인증하려면 CONNECT 권한이 필요합니다.

AWS 계정당 Lakehouse 유형의 Amazon Redshift IdC 애플리케이션을 하나만 생성할 수 있습니다. 이 애플리케이션은 Lake Formation 및 AWS Glue 서비스와 통합된 모든 Redshift 웨어하우스에서 ID 전파를 처리합니다. 애플리케이션은 AWS Glue Data Catalog에 등록된 Redshift 웨어하우스에서만 사용할 수 있습니다.

Redshift에서 수임하고 IdC 자격 증명 전파에서 사용하는 IAM 역할 준비

Redshift Lakehouse IdC 애플리케이션을 생성하려면 특정 IAM 권한이 있는 계정의 IAM 역할이 필요합니다. Redshift가 이를 수임하고 IdC 자격 증명 전파를 위한 컨텍스트를 설정할 수 있도록 Redshift IdC 애플리케이션에 사용되는 IAM 역할에는 다음과 같은 신뢰 관계가 있어야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Principal": { "Service": [ "redshift-serverless.amazonaws.com", "redshift.amazonaws.com" ] }, "Action": [ "sts:AssumeRole", "sts:SetContext" ] } ] }

그리고 IdC IAM 역할에 대한 아래 권한은 IdC 자격 증명 전파를 지원합니다.

  • AmazonRedshiftFederatedAuthorization – 이 정책을 사용하면 Amazon Redshift가 페더레이션 권한을 통해 AWS Glue Data Catalog 데이터베이스를 쿼리할 수 있습니다.

  • AWSIDC 세트 컨텍스트 정책

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:SetContext" ], "Resource": "*" } ] }
  • AWS IAM Identity Center과 연결된 AWS 관리형 애플리케이션으로 Redshift 설정.

  • AWSIDC 자격 증명 센터 SSO IAM 정책:

    • sso:DescribeApplication - 카탈로그에 ID 제공업체(idP) 항목을 생성하는 데 필요합니다.

    • sso:DescribeInstance - IdP 페더레이션 역할 또는 사용자를 수동으로 생성하는 데 사용됩니다.

      { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "sso:DescribeApplication", "sso:DescribeInstance" ], "Resource": [ "arn:aws:sso:::instance/<IAM Identity Center Instance ID>", "arn:aws:sso::<AWS-account-id>:application/<IAM Identity Center Instance ID>/*" ] }

새 Lakehouse 유형 Redshift IdC 애플리케이션 생성

CLI

create-redshift-idc-application 요청에서 Lakehouse 애플리케이션 유형을 지정하여 Lakehouse IdC 애플리케이션을 생성하면 IdC 사용자 인증에 대한 CONNECT 권한 요구 사항을 활성화하면서 Identity Center에서 명시적 사용자 할당이 필요하지 않습니다.

aws redshift create-redshift-idc-application \ --idc-instance-arn <your_idc_instance_arn> \ --idc-display-name '<name_of_idc_application_display_on_idc_console>' \ --iam-role-arn <idc_carrier_role_arn> \ --application-type Lakehouse \ --redshift-idc-application-name '<name_of_idc_display_on_redshift_console>' \ --service-integrations '[ { "LakeFormation":[ { "LakeFormationQuery":{"Authorization": "Enabled"} } ] }, { "Redshift":[ { "Connect" : { "Authorization": "Enabled" } } ] } ]'

이 구성을 사용하면 Redshift와 Lake Formation 간에 신뢰할 수 있는 자격 증명 전파가 가능하므로 사용자는 추가 권한 할당 없이 Identity Center 자격 증명을 사용하여 서비스 간에 데이터에 액세스할 수 있습니다.

Console
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/redshiftv2/에서 Amazon Redshift 콘솔을 엽니다.

  2. IAM Identity Center 연결 페이지로 이동하여 애플리케이션 생성을 선택합니다.

  3. 일반 IDC 애플리케이션 설정을 구성합니다.

  4. AWS IAM Identity Center(권장)를 사용하여 Amazon Redshift 페더레이션 권한 구성을 선택하여 애플리케이션 유형을 설정합니다.

  5. Lake Formation 및 Redshift 연결 자격 증명 전파 통합은 기본적으로 활성화됩니다.

  6. 나머지 클러스터 설정을 완료하고 애플리케이션 생성을 선택합니다.

기존 Redshift IdC 애플리케이션 수정

필요한 서비스 통합이 활성화되지 않은 기존 Redshift IdC 애플리케이션이 있는 경우, 서비스와 클러스터/네임스페이스 간의 ID 전파를 지원하도록 업데이트할 수 있습니다.

CLI

modify-redshift-idc-application 명령을 사용하여 LakeFormation:query 권한 부여와 Redshift:Connect 권한 부여를 모두 활성화합니다. 이러한 통합은 교차 서비스 및 교차 클러스터 IdC 자격 증명 전파에 필수적입니다.

aws redshift modify-redshift-idc-application \ --redshift-idc-application-arn '<arn_of_the_target_redshift_idc_application>' \ --service-integrations '[ { "LakeFormation":[ { "LakeFormationQuery":{"Authorization": "Enabled"} } ] }, { "Redshift":[ { "Connect" : { "Authorization": "Enabled" } } ] } ]'
Console
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/redshiftv2/에서 Amazon Redshift 콘솔을 엽니다.

  2. IAM Identity Center 연결 페이지로 이동하여 편집하려는 기존 IDC 애플리케이션을 선택합니다.

  3. 자격 증명 전파 통합을 선택하여 다른 설정을 활성화 및 구성하고 변경 사항 저장을 선택합니다.

Lake Formation 자격 증명 센터 구성 생성

Lake Formation 서비스가 아직 생성되지 않은 경우 전용 IdC 애플리케이션이 필요합니다. 또한 구성이 제대로 작동하려면 Redshift:Connect 권한 부여를 활성화해야 합니다.

CLI

create-lake-formation-identity-center-configuration 명령을 사용하여 Redshift:Connect 권한 부여를 활성화합니다. 이러한 통합은 Lake Formation이 IdC 자격 증명을 Redshift 클러스터 및 Redshift Serverless 네임스페이스로 전파하는 데 필수적입니다.

aws lakeformation create-lake-formation-identity-center-configuration \ --instance-arn <your_idc_instance_arn> \ --service-integrations '[{ "Redshift": [{ "RedshiftConnect": { "Authorization": "ENABLED" } }] }]'
Console
  1. AWS Management Console에 로그인하고 Lake Formation 콘솔(https://console.aws.amazon.com/lakeformation/)을 엽니다.

  2. 왼쪽 탐색 창에서 IAM Identity Center 통합을 선택합니다.

  3. IAM Identity Center 통합 페이지에서 Amazon Redshift 연결에 대해 신뢰할 수 있는 자격 증명 전파를 활성화할 수 있습니다. Lake Formation은 유효 권한을 기반으로 자격 증명을 다운스트림에 전파하므로 권한이 부여된 애플리케이션이 사용자를 대신하여 데이터에 액세스할 수 있습니다.

Lake Formation 자격 증명 센터 구성 업데이트

필요한 서비스 통합이 활성화되지 않은 Lake Formation IdC 애플리케이션을 구성한 경우 서비스와 클러스터/네임스페이스 간의 ID 전파를 지원하도록 업데이트할 수 있습니다.

CLI

update-lake-formation-identity-center-configuration 명령을 사용하여 Redshift:Connect 권한 부여를 활성화합니다. 이러한 통합은 교차 서비스 및 교차 클러스터 IdC 자격 증명 전파에 필수적입니다.

aws lakeformation update-lake-formation-identity-center-configuration \ --service-integrations '[{ "Redshift": [{ "RedshiftConnect": { "Authorization": "ENABLED" } }] }]'
Console
  1. AWS Management Console에 로그인하고 Lake Formation 콘솔(https://console.aws.amazon.com/lakeformation/)을 엽니다.

  2. 왼쪽 탐색 창에서 IAM Identity Center 통합을 선택합니다.

  3. IAM Identity Center 통합 페이지에서 Amazon Redshift 연결에 대해 신뢰할 수 있는 자격 증명 전파를 활성화할 수 있습니다. Lake Formation은 유효 권한을 기반으로 자격 증명을 다운스트림에 전파하므로 권한이 부여된 애플리케이션이 사용자를 대신하여 데이터에 액세스할 수 있습니다.

Lake Formation 사전 조건

Amazon Redshift 페더레이션 권한으로 AWS Glue Data Catalog를 활성화하려면 고객에게 Lake Formation CREATE_CATALOG 권한이 필요합니다.

  1. 계정이 기존 Lake Formation 고객에게 속한 경우 Lake Formation 관리자는 각 클러스터 생성자에게 CREATE_CATALOG 권한을 명시적으로 부여해야 합니다. 다음 샘플 CLI 명령을 사용합니다.

    aws lakeformation grant-permissions \ --cli-input-json \ '{ "Principal": { "DataLakePrincipalIdentifier": "<PrincipalArn>" }, "Resource": { "Catalog": {} }, "Permissions": [ "CREATE_CATALOG" ] }'
  2. 계정이 Lake Formation을 사용한 적이 없는 경우, Lake Formation 콘솔의 관리 역할 및 작업 페이지에서 카탈로그 생성자가 IAMAllowedPrincipals로 설정되어 있는지 확인합니다. 구성되지 않은 경우 데이터 레이크 관리자 생성에 따라 데이터 레이크 관리자를 설정합니다. 또는 Amazon Redshift 페더레이션 권한으로만 AWS Glue Data Catalog를 사용하는 경우 최소 필수 정책으로 데이터 레이크 관리자를 생성할 수 있습니다.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "lakeformation:PutDataLakeSettings", "lakeformation:GrantPermissions", "lakeformation:GetDataLakeSettings", "lakeformation:BatchGrantPermissions", "lakeformation:ListPermissions" ], "Resource": [ "*" ] } ] }
  3. 데이터 레이크 관리자가 IAMAllowedPrincipals에 카탈로그 생성 권한을 부여하도록 합니다. 관리 역할 및 작업 페이지의 카탈로그 생성자에 대한 권한 부여 버튼을 통해 액세스 권한을 부여할 수 있습니다.

연결 권한

Amazon Redshift 페더레이션 권한의 일부로 Amazon Redshift는 Amazon Redshift 작업 그룹 또는 클러스터에 대한 AWS IAM Identity Center 페더레이션 사용자의 액세스를 관리하는 CONNECT 권한을 도입했습니다. 이 기능은 작업 그룹 또는 클러스터에서 Amazon Redshift 페더레이션 권한이 활성화된 경우에 사용할 수 있습니다.

이 권한을 통해 관리자는 Amazon Redshift 페더레이션 권한이 활성화된 각 Amazon Redshift 작업 그룹 또는 클러스터에서 세분화된 권한을 통해 사용자 액세스를 제어할 수 있습니다. Amazon Redshift 관리자는 Amazon Redshift 작업 그룹 또는 클러스터에 직접 연결할 수 있는 액세스 권한이 있는 AWS IAM Identity Center 페더레이션 사용자 또는 그룹을 지정하여 각 작업 그룹 또는 클러스터에서 AWS IAM Identity Center 사용자 액세스를 세밀하게 제어할 수 있습니다.

구문

GRANT CONNECT [ON WORKGROUP] TO [USER] <prefix>:<username> | ROLE <prefix>:<rolename> | PUBLIC;
CONNECT [ON WORKGROUP]

작업 그룹에 연결할 권한을 부여합니다. CONNECT 권한은 AWS IAM Identity Center 자격 증명(사용자 및 역할)에만 적용됩니다.

TO <prefix>:<username>

권한을 받는 AWS IAM Identity Center 페더레이션 사용자를 나타냅니다.

TO ROLE <prefix>:<rolename>

권한을 받는 AWS IAM Identity Center 페더레이션 그룹을 나타냅니다.

PUBLIC

이후에 생성되는 사용자를 포함하여, 모든 AWS IAM Identity Center 페더레이션 사용자에게 CONNECT 권한을 부여합니다.