

 Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 [블로그 게시물](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)을 참조하세요.

# 사전 조건
<a name="federated-permissions-prereqs"></a>

## Amazon Redshift 페더레이션 권한 설정에 대한 IAM 정책 요구 사항
<a name="federated-permissions-prereqs-iam"></a>

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 애플리케이션 구성
<a name="federated-permissions-prereqs-configuration"></a>

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](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftFederatedAuthorization.html) – 이 정책을 사용하면 Amazon Redshift가 페더레이션 권한을 통해 AWS Glue Data Catalog 데이터베이스를 쿼리할 수 있습니다.
+ AWSIDC 세트 컨텍스트 정책

  ```
   {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "sts:SetContext"
              ],
              "Resource": "*"
          }
      ]
  }
  ```
+ [AWS IAM Identity Center과 연결된 AWS 관리형 애플리케이션으로 Redshift 설정](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-idp-connect-console.html#redshift-iam-access-control-idp-connect-admin-tasks).
+ 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/](https://console.aws.amazon.com/redshiftv2/)에서 Amazon Redshift 콘솔을 엽니다.

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

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

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

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

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

------

기존 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/](https://console.aws.amazon.com/redshiftv2/)에서 Amazon Redshift 콘솔을 엽니다.

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

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

------

**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/](https://console.aws.amazon.com/lakeformation/))을 엽니다.

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

1. 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/](https://console.aws.amazon.com/lakeformation/))을 엽니다.

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

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

------

## Lake Formation 사전 조건
<a name="federated-permissions-prereqs-lakeformation"></a>

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

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

   ```
   aws lakeformation grant-permissions \
       --cli-input-json \
       '{
           "Principal": {
               "DataLakePrincipalIdentifier": "<PrincipalArn>"
           },
           "Resource": {
               "Catalog": {}
           },
           "Permissions": [
               "CREATE_CATALOG"
           ]
       }'
   ```

1. 계정이 Lake Formation을 사용한 적이 없는 경우, Lake Formation 콘솔의 관리 역할 및 작업 페이지에서 카탈로그 생성자가 IAMAllowedPrincipals로 설정되어 있는지 확인합니다. 구성되지 않은 경우 [데이터 레이크 관리자 생성](https://docs.aws.amazon.com/lake-formation/latest/dg/initial-lf-config.html#create-data-lake-admin)에 따라 데이터 레이크 관리자를 설정합니다. 또는 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": [
                   "*"
               ]
           }
       ]
   }
   ```

1. 데이터 레이크 관리자가 IAMAllowedPrincipals에 카탈로그 생성 권한을 부여하도록 합니다. 관리 역할 및 작업 페이지의 카탈로그 생성자에 대한 **권한 부여** 버튼을 통해 액세스 권한을 부여할 수 있습니다.

## 연결 권한
<a name="federated-permissions-prereqs-connect"></a>

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 사용자 액세스를 세밀하게 제어할 수 있습니다.

### 구문
<a name="federated-permissions-prereqs-connect-syntax"></a>

```
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 권한을 부여합니다.