

 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/)을 참조하세요.

# Amazon Redshift용 네이티브 자격 증명 공급자(IdP) 페더레이션
<a name="redshift-iam-access-control-native-idp"></a>

네이티브 자격 증명 공급자 페더레이션을 사용하면 기존 자격 증명 공급자를 활용하여 인증 및 권한 관리를 간소화하기 때문에 Amazon Redshift에 대한 자격 증명 및 권한 관리가 더 쉬워집니다. 이는 자격 증명 공급자로부터 Redshift로 자격 증명 메타데이터를 공유할 수 있기 때문에 가능합니다. 이 기능을 처음 사용 시 지원되는 자격 증명 공급자는 [Microsoft Azure Active Directory(Azure AD)](https://azure.microsoft.com/en-us/services/active-directory/)입니다.

서드 파티 자격 증명 공급자의 자격 증명을 인증할 수 있도록 Amazon Redshift를 구성하려면 Amazon Redshift에 자격 증명 공급자를 등록합니다. 이렇게 하면 Redshift는 자격 증명 공급자가 정의한 사용자와 역할을 인증할 수 있습니다. 따라서 자격 증명 정보가 공유되므로 서드 파티 자격 증명 공급자와 Amazon Redshift 모두에서 세분화된 자격 증명 관리를 수행하지 않아도 됩니다.

ID 제공업체(iDP) 그룹에서 전송된 세션 역할을 사용하는 방법에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서**의 [PG\$1GET\$1SESSION\$1ROLES](https://docs.aws.amazon.com/redshift/latest/dg/PG_GET_SESSION_ROLES.html)를 참조하세요.

## 네이티브 ID 제공업체(idP) 페더레이션
<a name="redshift-iam-access-control-native-idp-login"></a>

 자격 증명 공급자와 Amazon Redshift 간의 예비 설정을 완료하려면 몇 가지 단계를 수행합니다. 먼저 Amazon Redshift를 자격 증명 공급자에 서드 파티 애플리케이션으로 등록하고 필요한 API 권한을 요청합니다. 그런 다음 자격 증명 공급자에서 사용자 및 그룹을 생성합니다. 마지막으로 자격 증명 공급자에 고유한 인증 파라미터를 설정하는 SQL 문을 사용하여 Amazon Redshift에 자격 증명 공급자를 등록합니다. 자격 증명 공급자를 Redshift에 등록하는 과정에서 네임스페이스를 할당하여 사용자와 역할이 올바르게 그룹화되도록 합니다.

 Amazon Redshift에 자격 증명 공급자가 등록되면 Redshift와 자격 증명 공급자 간에 통신이 설정됩니다. 그런 다음 클라이언트는 토큰을 전달하고 Redshift에 자격 증명 공급자 엔터티로 인증할 수 있습니다. Amazon Redshift는 IdP 그룹 멤버십 정보를 사용하여 Redshift 역할에 매핑합니다. 사용자가 이전에 Redshift에 존재하지 않는 경우 사용자가 생성됩니다. 자격 증명 공급자 그룹에 매핑되는 역할이 존재하지 않는 경우 새로 생성됩니다. Amazon Redshift 관리자는 역할에 권한을 부여하며 사용자는 쿼리를 실행하고 다른 데이터베이스 작업을 수행할 수 있습니다.

다음 단계에서는 사용자가 로그인할 때 네이티브 자격 증명 공급자 페더레이션이 작동하는 방식을 간략하게 설명합니다.

1. 사용자가 네이티브 IdP 옵션을 사용하여 로그인하면 자격 증명 공급자 토큰이 클라이언트에서 드라이버로 전송됩니다.

1. 사용자가 인증됩니다. 사용자가 Amazon Redshift에 아직 존재하지 않으면 새 사용자가 생성됩니다. Redshift는 사용자의 자격 증명 공급자 그룹을 Redshift 역할에 매핑합니다.

1. 사용자의 Redshift 역할에 따라 권한이 할당됩니다. 권한은 관리자가 사용자 및 역할에 부여합니다.

1. 사용자가 Redshift를 쿼리할 수 있습니다.

## 데스크톱 클라이언트 도구
<a name="redshift-iam-access-control-native-idp-oauth"></a>

네이티브 자격 증명 공급자 페더레이션을 사용하여 Power BI로 Amazon Redshift에 연결하는 방법에 대한 지침은 블로그 게시물 [Integrate Amazon Redshift native IdP federation with Microsoft Azure Active Directory (AD) and Power BI](https://aws.amazon.com/blogs/big-data/integrate-amazon-redshift-native-idp-federation-with-microsoft-azure-ad-and-power-bi/)(Microsoft Azure Active Directory(AD) 및 Power BI와 Amazon Redshift 네이티브 IdP 페더레이션 통합)를 참조하세요. 이 블로그에서는 Azure AD를 사용한 Amazon Redshift 네이티브 IdP 설정의 단계별 구현을 설명합니다. Power BI Desktop 또는 Power BI 서비스에 대한 클라이언트 연결을 설정하는 단계를 자세히 설명합니다. 이 단계에는 애플리케이션 등록, 권한 구성 및 보안 인증 구성이 포함됩니다.

Power BI Desktop 및 JDBC Client-SQL Workbench/J를 사용하여 Amazon Redshift 기본 IdP(아이덴티티 제공업체) 페더레이션을 Azure AD와 통합하는 방법을 알아보려면 다음 비디오를 시청하세요.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/S3MQLvZ-NiI/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/S3MQLvZ-NiI)


네이티브 자격 증명 공급자 페더레이션을 사용하여 SQL 클라이언트, 특히 DBeaver 또는 SQL Workbench/J로 Amazon Redshift에 연결하는 방법에 대한 지침은 [Integrate Amazon Redshift native IdP federation with Microsoft Azure AD using a SQL client](https://aws.amazon.com/blogs/big-data/integrate-amazon-redshift-native-idp-federation-with-microsoft-azure-ad-using-a-sql-client/)(SQL 클라이언트를 사용하여 Microsoft Azure AD와 Amazon Redshift 네이티브 IdP 페더레이션 통합)를 참조하세요.

## 제한 사항
<a name="redshift-iam-access-control-idp-connect-limitations"></a>

이러한 제한 사항이 적용됩니다.
+  Amazon Redshift 드라이버는 다음 버전부터 `BrowserIdcAuthPlugin`을 지원합니다.
  +  Amazon Redshift JDBC 드라이버 v2.1.0.30 
  +  Amazon Redshift ODBC 드라이버 v2.1.3 
  +  Amazon Redshift Python 드라이버 v2.1.3 
+  Amazon Redshift 드라이버는 다음 버전부터 `IdpTokenAuthPlugin`을 지원합니다.
  +  Amazon Redshift JDBC 드라이버 v2.1.0.19 
  +  Amazon Redshift ODBC 드라이버 v2.0.0.9 
  +  Amazon Redshift Python 드라이버 v2.0.914 
+ **향상된 VPC 지원 안 함** - AWS IAM Identity Center를 사용하여 Redshift 신뢰할 수 있는 ID 전파를 구성할 때는 향상된 VPC가 지원되지 않습니다. 향상된 VPC에 대한 자세한 내용은 [Amazon Redshift의 Enhanced VPC Routing](https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html)을 참조하세요.
+  **AWS IAM Identity Center 캐싱** - AWS IAM Identity Center는 세션 정보를 캐싱합니다. 이 경우 Redshift 쿼리 에디터 v2를 통해 Redshift 쿼리 데이터베이스에 연결하려고 할 때 예기치 않은 액세스 문제가 발생할 수 있습니다. 데이터베이스 사용자가 AWS 콘솔에서 로그아웃한 경우에도 쿼리 에디터 v2의 연결된 AWS IAM Identity Center 세션이 유효하기 때문입니다. 캐시는 1시간 후에 만료되므로 일반적으로 모든 문제가 해결됩니다.

# Amazon Redshift Redshift에서 자격 증명 공급자 설정
<a name="redshift-iam-access-control-native-idp-setup"></a>

이 섹션에서는 네이티브 자격 증명 공급자 페더레이션을 위한 통신을 설정하도록 자격 증명 공급자와 Amazon Redshift를 구성하는 단계를 보여줍니다. 자격 증명 공급자의 활성 계정이 필요합니다. Amazon Redshift를 구성하기 전에 Redshift를 자격 증명 공급자에 애플리케이션으로 등록하고 관리자 동의를 얻습니다.

Amazon Redshift에서 다음 단계를 완료합니다.

1. SQL 문을 실행하여 Azure 애플리케이션 메타데이터에 대한 설명과 함께 자격 증명 공급자를 등록합니다. Amazon Redshift에서 자격 증명 공급자를 생성하려면 파라미터 값 *issuer*, *client\$1id*, *client\$1secret* 및 *audience*를 바꾼 후 다음 명령을 실행합니다. 이러한 파라미터는 Microsoft Azure AD에만 적용됩니다. 자격 증명 공급자 이름을 선택한 이름으로 바꾸고 네임스페이스를 자격 증명 공급자 디렉터리의 사용자와 역할을 포함하는 고유한 이름으로 바꿉니다.

   ```
   CREATE IDENTITY PROVIDER oauth_standard TYPE azure
   NAMESPACE 'aad'
   PARAMETERS '{
   "issuer":"https://sts.windows.net/2sdfdsf-d475-420d-b5ac-667adad7c702/",
   "client_id":"<client_id>",
   "client_secret":"BUAH~ewrqewrqwerUUY^%tHe1oNZShoiU7",
   "audience":["https://analysis.windows.net/powerbi/connector/AmazonRedshift"]
   }'
   ```

   `azure` 유형은 공급자가 특히 Microsoft Azure AD와의 통신을 용이하게 함을 나타냅니다. 현재 유일하게 지원되는 서드 파티 자격 증명 공급자입니다.
   + *issuer* - 토큰을 수신할 때 신뢰할 수 있는 발급자 ID입니다. *tenant\$1id*의 고유 식별자가 발급자에 추가됩니다.
   + *client\$1id* - 자격 증명 공급자에 등록된 애플리케이션의 고유한 퍼블릭 식별자입니다. 애플리케이션 ID라고도 합니다.
   + *client\$1secret* - 자격 증명 공급자와 등록된 애플리케이션에게만 알려진 비밀 식별자 또는 암호입니다.
   + *audience* - Azure의 애플리케이션에 할당된 애플리케이션 ID입니다.

   

   공유 클라이언트 비밀을 사용하는 대신, 아이덴티티 제공업체를 생성할 때 파라미터를 설정하여 인증서, 프라이빗 키 및 프라이빗 키 암호를 지정할 수 있습니다.

   ```
   CREATE IDENTITY PROVIDER example_idp TYPE azure 
   NAMESPACE 'example_aad' 
   PARAMETERS '{"issuer":"https://sts.windows.net/2sdfdsf-d475-420d-b5ac-667adad7c702/", 
   "client_id":"<client_id>", 
   "audience":["https://analysis.windows.net/powerbi/connector/AmazonRedshift"], 
   "client_x5t":"<certificate thumbprint>", 
   "client_pk_base64":"<private key in base64 encoding>", 
   "client_pk_password":"test_password"}';
   ```

   프라이빗 키 암호 *client\$1pk\$1password*는 선택 사항입니다.

1. 선택 사항: Amazon Redshift에서 SQL 명령을 실행하여 사용자와 역할을 미리 생성합니다. 이를 통해 사전에 권한을 쉽게 부여할 수 있습니다. Amazon Redshift에서 역할 이름의 형식은 *<Namespace>: <GroupName on Azure AD>*입니다. 예를 들어 이름이 `rsgroup`인 Microsoft Azure AD 그룹과 이름이 `aad`인 네임스페이스를 생성한 경우 역할 이름은 `aad:rsgroup`입니다. Amazon Redshift의 사용자 및 역할 이름은 ID 제공업체 네임스페이스에서 이 사용자 이름 및 그룹 멤버십으로 정의됩니다.

   역할 및 사용자의 매핑 작업에는 `external_id` 값을 통해 최신 상태인지 확인하는 것이 포함됩니다. 외부 ID가 ID 공급자의 그룹 또는 사용자의 식별자에 매핑됩니다. 예를 들어 역할의 외부 ID는 해당 Azure AD 그룹 ID에 매핑됩니다. 마찬가지로 각 사용자의 외부 ID는 ID 공급자의 ID에 매핑됩니다.

   ```
   create role "aad:rsgroup";
   ```

1. 요구 사항에 따라 역할에 관련 권한을 부여합니다. 예를 들면 다음과 같습니다.

   ```
   GRANT SELECT on all tables in schema public to role "aad:rsgroup";
   ```

1. 특정 사용자에게 권한을 부여할 수도 있습니다.

   ```
   GRANT SELECT on table foo to aad:alice@example.com
   ```

   페더레이션된 외부 사용자의 역할 멤버십은 해당 사용자의 세션에서만 사용할 수 있다는 점에 유의하세요. 이는 데이터베이스 객체 생성에 영향을 미칩니다. 예를 들어 페더레이션된 외부 사용자가 뷰 또는 저장 프로시저를 만드는 경우 동일한 사용자는 해당 개체의 권한을 다른 사용자 및 역할에 위임할 수 없습니다.

**네임스페이스에 대한 설명**

네임스페이스는 사용자 또는 역할을 특정 자격 증명 공급자에 매핑합니다. 예를 들어, AWS IAM에서 생성한 사용자의 접두사는 `iam:`입니다. 이 접두사는 사용자 이름 충돌을 방지하고 여러 ID 저장소를 지원할 수 있게 합니다. *aad* 네임스페이스에 등록된 자격 증명 소스의 alice@example.com 사용자가 로그인할 때 `aad:alice@example.com` 사용자가 존재하지 않는 경우 Redshift에서 사용자가 생성됩니다. 사용자 및 역할 네임스페이스는 클러스터와 연결된 고유 식별자인 Amazon Redshift 클러스터 네임스페이스와 기능이 다릅니다.

# ID 제공업체에 대한 Amazon Redshift 역할 자동 생성
<a name="redshift-iam-access-control-native-idp-autocreate"></a>

이 기능을 사용하면 ID 제공업체(idP)의 그룹 멤버십을 기반으로 Redshift에서 역할을 자동으로 생성할 수 있습니다. 자동 생성 역할은 기본 IdP 통합을 통해 Azure Active Directory를 지원합니다.

역할을 자동으로 생성하면 몇 가지 이점이 있습니다. 역할을 자동 생성할 때 Redshift는 IdP에 그룹 멤버십이 있는 역할을 생성하므로 번거로운 수동 역할 생성 및 유지 관리를 피할 수 있습니다. Redshift 역할에 매핑되는 그룹을 필터링할 수도 있습니다.

## 작동 방식
<a name="sso-autocreate-overview"></a>

IdP 사용자로서 Redshift에 로그인하면 다음과 같은 이벤트 시퀀스가 발생합니다.

1. Redshift는 IdP에서 그룹 멤버십을 검색합니다.

1. Redshift는 역할 형식 `idp_namespace:rolename`을 사용하여 해당 그룹에 대한 역할 매핑을 자동으로 생성합니다.

1. Redshift는 매핑된 역할에 대한 권한을 부여합니다.

각 사용자 로그인 시 카탈로그에는 없지만 사용자가 속한 각 그룹이 자동으로 생성됩니다. 선택적으로 필터 포함 및 제외를 설정하여 Redshift 역할이 생성된 IdP 그룹을 제어할 수 있습니다.

## 역할 자동 생성 구성
<a name="sso-autocreate-configuring"></a>

`CREATE IDENTITY PROVIDER` 및 `ALTER IDENTITY PROVIDER` 명령을 사용하여 자동 역할 생성을 활성화하고 구성합니다.

```
-- Create a new IdP with auto role creation enabled
CREATE IDENTITY PROVIDER <idp_name> TYPE azure
  NAMESPACE '<namespace>' 
  APPLICATION_ARN 'app_arn'
  IAM_ROLE 'role_arn'
  AUTO_CREATE_ROLES TRUE; 

-- Enable on existing IdP 
ALTER IDENTITY PROVIDER <idp_name>
  AUTO_CREATE_ROLES TRUE;

-- Disable  
ALTER IDENTITY PROVIDER <idp_name>
  AUTO_CREATE_ROLES FALSE;
```

## 그룹 필터링
<a name="sso-autocreate-filtering"></a>

선택적으로 `INCLUDE` 및 `EXCLUDE` 패턴을 사용하여 Redshift 역할에 매핑되는 IdP 그룹을 필터링할 수 있습니다. 패턴이 충돌하면 `EXCLUDE`가 `INCLUDE`보다 우선합니다.

```
-- Only create roles for groups with 'dev' 
CREATE IDENTITY PROVIDER <idp_name> TYPE azure
  ...
  AUTO_CREATE_ROLES TRUE
  INCLUDE GROUPS LIKE '%dev%';
    
-- Exclude 'test' groups
ALTER IDENTITY PROVIDER <idp_name> 
  AUTO_CREATE_ROLES TRUE
  EXCLUDE GROUPS LIKE '%test%';
```

## 예제
<a name="sso-autocreate-filtering"></a>

다음 예제에서는 필터링 없이 역할 자동 생성을 활성화하는 방법을 보여줍니다.

```
CREATE IDENTITY PROVIDER prod_idc TYPE azure ...
  AUTO_CREATE_ROLES TRUE;
```

다음 예제에는 개발 그룹이 포함되며 테스트 그룹은 제외됩니다.

```
ALTER IDENTITY PROVIDER prod_idc
  AUTO_CREATE_ROLES TRUE
  INCLUDE GROUPS LIKE '%dev%'
  EXCLUDE GROUPS LIKE '%test%';
```

## 모범 사례
<a name="sso-autocreate-bp"></a>

역할에 대해 자동 생성을 활성화할 때 다음 모범 사례를 고려하세요.
+ `INCLUDE` 및 `EXCLUDE` 필터를 사용하여 역할을 가져오는 그룹을 제어합니다.
+ 역할을 정기적으로 감사하고 사용하지 않는 역할을 정리합니다.
+ Redshift 역할 계층 구조를 활용하여 권한 관리를 간소화합니다.

# Single Sign-On 경험을 위해 Redshift와 AWS IAM Identity Center 연결
<a name="redshift-iam-access-control-idp-connect"></a>

신뢰할 수 있는 ID 전파를 통해 Amazon Redshift 데이터 웨어하우스에 대한 사용자 및 그룹 액세스를 관리할 수 있습니다.

[신뢰할 수 있는 ID 전파](https://docs.aws.amazon.com//singlesignon/latest/userguide/trustedidentitypropagation-overview.html)는 연결된 AWS 서비스의 관리자가 서비스 데이터에 대한 액세스 권한을 부여하고 감사하는 데 사용할 수 있는 AWS IAM Identity Center 기능입니다. 이 데이터에 대한 액세스는 그룹 연결과 같은 사용자 속성을 기반으로 합니다. 신뢰할 수 있는 ID 전파를 설정하려면 연결된 AWS 서비스의 관리자와 IAM Identity Center 관리자 간의 협업이 필요합니다. 자세한 내용은 [사전 조건 및 고려 사항](https://docs.aws.amazon.com//singlesignon/latest/userguide/trustedidentitypropagation-overall-prerequisites.html)을 참조하세요.

한 가지 엔드 투 엔드 사례를 설명하자면, Amazon Quick 대시보드 또는 Amazon Redshift 쿼리 에디터 v2를 사용하여 Redshift에 액세스할 수 있습니다. 이 경우 액세스는 AWS IAM Identity Center 그룹을 기반으로 합니다. Redshift는 사용자의 신원과 그룹 멤버십을 확인할 수 있습니다. AWS IAM Identity Center에서는 Okta 또는 PingOne과 같은 서드 파티 ID 제공업체(idP)를 통해 ID를 연결하고 관리할 수 있습니다.

관리자가 Redshift와 AWS IAM Identity Center 간의 연결을 설정한 후에는 ID 제공업체 그룹을 기반으로 세분화된 액세스를 구성하여 데이터에 대한 사용자 액세스 권한을 부여할 수 있습니다.

**중요**  
AWS IAM Identity Center 또는 연결된 ID 제공업체(idP) 디렉터리에서 사용자를 삭제하는 경우 Amazon Redshift 카탈로그에서 사용자가 자동으로 삭제되지는 않습니다. Amazon Redshift 카탈로그에서 사용자를 수동으로 삭제하려면 `DROP USER` 명령을 실행하여 AWS IAM Identity Center 또는 idP에서 제거된 사용자를 완전히 삭제합니다. 사용자 제거에 관한 자세한 내용은 *Amazon Redshift 데이터베이스 개발자 안내서*에 나와 있는 [DROP USER](https://docs.aws.amazon.com/redshift/latest/dg/r_DROP_USER.html)를 참고하시기 바랍니다.

## Redshift와 AWS IAM Identity Center를 통합하여 얻을 수 있는 이점
<a name="redshift-iam-access-control-idp-connect-benefits"></a>

Redshift와 함께 AWS IAM Identity Center를 사용하면 조직이 다음과 같은 이점을 얻을 수 있습니다.
+  Amazon Quick의 대시보드 작성자는 암호를 다시 입력하거나 관리자가 복잡한 권한으로 IAM 역할을 설정할 필요 없이 Redshift 데이터 소스에 연결할 수 있습니다.
+  AWS IAM Identity Center는 AWS의 직원 사용자를 위한 중앙 위치를 제공합니다. AWS IAM Identity Center에서 직접 사용자 및 그룹을 만들거나 Okta, PingOne 또는 Microsoft Entra ID(Azure AD)와 같은 표준 기반 ID 제공업체에서 관리하는 기존 사용자 및 그룹을 연결할 수 있습니다. AWS IAM Identity Center는 사용자 및 그룹을 위해 선택한 정보 소스로 인증을 지시하고 Redshift에서 액세스할 수 있는 사용자 및 그룹 디렉터리를 유지 관리합니다. 자세한 내용은 **AWS IAM Identity Center 사용 설명서의 [ID 소스 관리](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source.html) 및 [지원되는 ID 제공업체](https://docs.aws.amazon.com/singlesignon/latest/userguide/supported-idps.html)를 참조하세요.
+ 간단한 자동 검색 및 연결 기능을 사용하여 하나의 AWS IAM Identity Center 인스턴스를 여러 Redshift 클러스터 및 작업 그룹과 공유할 수 있습니다. 따라서 각 클러스터에 대해 AWS IAM Identity Center 연결을 별도로 구성하지 않고도 클러스터를 빠르게 추가할 수 있으며, 모든 클러스터와 작업 그룹이 사용자, 사용자 속성 및 그룹을 일관되게 볼 수 있습니다. 단, 조직의 AWS IAM Identity Center 인스턴스는 연결하려는 Redshift 데이터 공유와 동일한 리전에 있어야 합니다.
+ 사용자 ID는 데이터 액세스와 함께 알려지고 로깅되므로 AWS CloudTrail에서 사용자 액세스 감사를 통해 규정을 더 쉽게 충족할 수 있습니다.

## 애플리케이션 연결을 위한 관리자 페르소나
<a name="redshift-iam-access-control-idp-personas"></a>

다음은 분석 애플리케이션을 Redshift용 AWS IAM Identity Center 관리형 애플리케이션에 연결하는 데 있어 핵심이 되는 페르소나입니다.
+ **애플리케이션 관리자** - 애플리케이션을 생성하고 ID-토큰 교환을 가능하게 할 서비스를 구성합니다. 또한 이 관리자는 애플리케이션에 액세스할 수 있는 사용자 또는 그룹을 지정합니다.
+ **데이터 관리자** - 데이터에 대한 세분화된 액세스를 구성합니다. AWS IAM Identity Center의 사용자 및 그룹은 특정 권한에 매핑될 수 있습니다.

## Amazon Quick를 통해 AWS IAM Identity Center와 연결된 Amazon Redshift에 연결
<a name="redshift-iam-access-control-idp-connect-qs"></a>

[Quick에서 Amazon Redshift 클러스터로의 연결 승인](https://docs.aws.amazon.com/quick/latest/userguide/enabling-access-redshift.html)에서는 Redshift가 AWS IAM Identity Center에 연결되고 IAM Identity Center를 통해 액세스가 관리되는 경우 Quick을 사용하여 Redshift를 인증하는 방법을 보여 줍니다. 이 단계는 Amazon Redshift Serverless에도 적용됩니다.

## Amazon Redshift 쿼리 에디터 v2를 통해 AWS IAM Identity Center와 연결된 Amazon Redshift에 연결
<a name="redshift-iam-access-control-idp-connect-qe"></a>

Redshift와 AWS IAM Identity Center 연결을 설정하는 단계를 완료하면 사용자는 AWS IAM Identity Center 기반의 네임스페이스 접두사가 붙은 ID를 통해 데이터베이스 및 데이터베이스의 적절한 객체에 액세스할 수 있습니다. 쿼리 에디터 v2 로그인으로 Redshift 데이터베이스에 연결하는 방법에 대한 자세한 내용은 [Query Editor V2를 사용하여 데이터베이스 쿼리Amazon Redshift 쿼리 편집기 v2를 사용하여 데이터베이스 쿼리](query-editor-v2.md) 섹션을 참조하세요.



## 여러 AWS 리전에서 AWS IAM Identity Center 사용
<a name="redshift-iam-access-control-idp-connect-multi-region"></a>

Amazon Redshift는 여러 AWS 리전에서 AWS IAM Identity Center를 지원합니다. AWS IAM Identity Center를 기본 AWS 리전에서 추가 리전으로 확장하여 사용자와의 근접성과 신뢰성을 통해 성능을 개선할 수 있습니다. AWS IAM Identity Center에 새 리전이 추가되면 기본 리전에서 ID를 복제하지 않고도 새 리전에서 Redshift IAM Identity Center 애플리케이션을 생성할 수 있습니다. 행 수준, 열 수준 및 마스킹 제어를 활성화할 수 있는 새 리전에서 AWS IAM Identity Center를 사용하여 Amazon Redshift 페더레이션 권한을 설정할 수 있습니다. 여러 리전에서 AWS IAM Identity Center를 시작하는 방법에 대한 자세한 내용은 *AWS IAM Identity Center 사용 설명서*의 [여러 AWS 리전에서 AWS IAM Identity Center 관리](https://docs.aws.amazon.com/singlesignon/latest/userguide/multi-region-iam-identity-center.html)를 참조하세요.

## AWS IAM Identity Center를 사용하여 Amazon Redshift에 연결 시 제한 사항
<a name="redshift-iam-access-control-idp-connect-limitations"></a>

AWS IAM Identity Center Single Sign-On을 사용할 때는 다음 제한 사항을 고려하세요.


+  **향상된 VPC 지원 없음** - Amazon Redshift에 AWS IAM Identity Center Single Sign-On을 사용하는 경우 향상된 VPC가 지원되지 않습니다. 향상된 VPC에 대한 자세한 내용은 [Amazon Redshift의 Enhanced VPC Routing](https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html)을 참조하세요.

# Amazon Redshift와 AWS IAM Identity Center 통합 설정
<a name="redshift-iam-access-control-idp-connect-console"></a>

Amazon Redshift 클러스터 관리자 또는 Amazon Redshift Serverless 관리자는 여러 단계를 수행하여 Redshift를 AWS IAM Identity Center 지원 애플리케이션으로 구성해야 합니다. 이렇게 하면 Redshift는 AWS IAM Identity Center를 자동으로 검색하고 연결하여 로그인 및 사용자 디렉터리 서비스를 받을 수 있습니다. 그런 다음 Redshift 관리자가 클러스터 또는 작업 그룹을 생성할 때 새 데이터 웨어하우스에서 AWS IAM Identity Center를 사용하여 데이터베이스 액세스를 관리하도록 할 수 있습니다.

Redshift를 AWS IAM Identity Center 관리형 애플리케이션으로 활성화하는 이유는 AWS IAM Identity Center 내에서 또는 통합된 타사 ID 제공업체로부터 사용자 및 그룹 권한을 제어할 수 있도록 하기 위해서입니다. 데이터베이스 사용자(예: 분석가 또는 데이터 과학자)가 Redshift 데이터베이스에 로그인하면 AWS IAM Identity Center의 해당 그룹이 Redshift의 역할 이름과 일치하는지 확인합니다. 이러한 방식으로 Redshift 데이터베이스 역할의 이름을 정의하는 그룹은 예를 들어 판매 분석을 위한 테이블 세트에 액세스할 수 있습니다. 다음 섹션에서는 설정 방법을 안내합니다.

## 사전 조건
<a name="redshift-iam-access-control-idp-connect-prerequisites"></a>

AWS IAM Identity Center를 Amazon Redshift와 통합하기 위한 사전 조건은 다음과 같습니다.
+ **계정 구성 - 계정 간 사용 사례를 계획하거나 동일한 AWS IAM Identity Center 인스턴스로 서로 다른 계정에서 Redshift 클러스터를 사용하는 경우 AWS 조직의 관리 계정에서 AWS IAM Identity Center를 구성해야 합니다. 여기에는 ID 소스 구성이 포함됩니다. 자세한 내용은 **AWS IAM Identity Center 사용 설명서의 [시작하기](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html), [작업 인력 ID](https://docs.aws.amazon.com/singlesignon/latest/userguide/identities.html) 및 [지원되는 ID 제공업체](https://docs.aws.amazon.com/singlesignon/latest/userguide/supported-idps.html)를 참조하세요. Redshift의 데이터에 할당하려면 먼저 AWS IAM Identity Center에서 사용자 또는 그룹을 생성했거나 ID 소스에서 사용자 및 그룹을 동기화해야 합니다.
**참고**  
Redshift와 AWS IAM Identity Center가 동일한 계정에 있는 경우 AWS IAM Identity Center의 계정 인스턴스를 사용할 수 있습니다. Redshift 클러스터 또는 작업 그룹을 만들고 구성할 때 위젯을 사용하여 이 인스턴스를 만들 수 있습니다.
+ **신뢰할 수 있는 토큰 발급자 구성 - 경우에 따라 신뢰 토큰을 발급하고 확인할 수 있는 기관인 신뢰할 수 있는 토큰 발급자를 사용해야 할 수도 있습니다. 이를 위해서는 AWS IAM Identity Center 통합을 구성하는 Redshift 관리자가 신뢰할 수 있는 토큰 발급자를 선택하고 필요한 속성을 추가하여 구성을 완료하기 전에 사전 단계를 거쳐야 합니다. 여기에는 신뢰할 수 있는 토큰 발급자 역할을 하도록 외부 ID 제공업체를 구성하고 AWS IAM Identity Center 콘솔에서 해당 속성을 추가하는 것이 포함될 수 있습니다. 이 단계를 완료하려면 [신뢰할 수 있는 토큰 발급자를 사용하여 애플리케이션 사용](https://docs.aws.amazon.com/singlesignon/latest/userguide/using-apps-with-trusted-token-issuer.html#setuptrustedtokenissuer)을 참조하세요.
**참고**  
모든 외부 연결에 신뢰할 수 있는 토큰 발급자를 설정할 필요는 없습니다. Amazon Redshift 쿼리 에디터 v2를 사용하여 Redshift 데이터베이스에 연결할 때는 신뢰할 수 있는 토큰 발급자 구성이 필요하지 않습니다. 하지만 대시보드와 같은 타사 애플리케이션 또는 ID 제공업체를 통해 인증하는 사용자 지정 애플리케이션에도 적용될 수 있습니다.
+ **하나 이상의 IAM 역할 구성 - 다음 섹션에는 구성해야 하는 권한이 언급되어 있습니다. IAM 모범 사례에 따라 권한을 추가해야 합니다. 구체적인 권한은 다음 절차에 자세히 설명되어 있습니다.

자세한 내용은 [Getting Started with AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-enable-identity-center.html)를 참조하세요.

## AWS IAM Identity Center 작업을 위해 ID 제공업체 구성
<a name="redshift-iam-access-control-idp-connect-admin-config"></a>

사용자 및 그룹 ID 관리를 제어하는 첫 번째 단계는 AWS IAM Identity Center에 연결하고 ID 제공업체를 구성하는 것입니다. AWS IAM Identity Center 자체를 ID 제공업체로 사용하거나 Okta와 같은 타사 ID 저장소를 연결할 수 있습니다. ID 제공업체에 대한 연결 설정 및 구성에 대한 자세한 내용은 **AWS IAM Identity Center 사용 설명서의 [외부 ID 제공업체에 연결](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-idp.html)을 참조하세요. 이 프로세스 말미에 테스트하기 위해 AWS IAM Identity Center에 소수의 사용자 및 그룹을 추가했는지 확인하세요.

### 관리 권한
<a name="redshift-iam-access-control-idp-connect-admin-permissions"></a>

#### Redshift/AWS IAM Identity Center 애플리케이션 수명 주기 관리에 필요한 권한
<a name="redshift-iam-access-control-permissions-application"></a>

Redshift 관리자가 AWS IAM Identity Center와 함께 사용하도록 Redshift를 구성하는 데 사용하는 IAM ID를 만들어야 합니다. 대부분의 경우 권한이 있는 IAM 역할을 생성하고 필요에 따라 다른 ID에 할당합니다. 다음 작업을 수행할 수 있는 권한이 나열되어 있어야 합니다.

**Redshift/AWS IAM Identity Center 애플리케이션 생성**
+ `sso:PutApplicationAssignmentConfiguration` - 보안에 사용됩니다.
+ `sso:CreateApplication` - AWS IAM Identity Center 애플리케이션을 생성하는 데 사용됩니다.
+ `sso:PutApplicationAuthenticationMethod` - Redshift 인증 액세스 권한을 부여합니다.
+ `sso:PutApplicationGrant` - 신뢰할 수 있는 토큰 발급자 정보를 변경하는 데 사용됩니다.
+ `sso:PutApplicationAccessScope` - Redshift AWS IAM Identity Center 애플리케이션을 설정하는 데 사용됩니다. 여기에는 AWS Lake Formation용 및 [Amazon S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-get-started.html)용이 포함됩니다.
+ `redshift:CreateRedshiftIdcApplication` - Redshift AWS IAM Identity Center 애플리케이션을 생성하는 데 사용됩니다.

**Redshift/AWSIAM Identity Center 애플리케이션 설명**
+ `sso:GetApplicationGrant` - 신뢰할 수 있는 토큰 발급자 정보를 나열하는 데 사용됩니다.
+ `sso:ListApplicationAccessScopes` - Redshift AWS IAM Identity Center 애플리케이션 설정에서 다운스트림 통합(예: AWS Lake Formation용 및 S3 Access Grants용)을 나열하는 데 사용됩니다.
+ `redshift:DescribeRedshiftIdcApplications` - 기존 AWS IAM Identity Center 애플리케이션을 설명하는 데 사용됩니다.

**Redshift/AWS IAM Identity Center 애플리케이션 변경**
+ `redshift:ModifyRedshiftIdcApplication` - 기존 Redshift 애플리케이션을 변경하는 데 사용됩니다.
+ `sso:UpdateApplication` - AWS IAM Identity Center 애플리케이션을 업데이트하는 데 사용됩니다.
+ `sso:GetApplicationGrant` - 신뢰할 수 있는 토큰 발급자 정보를 가져옵니다.
+ `sso:ListApplicationAccessScopes` - Redshift AWS IAM Identity Center 애플리케이션을 설정하는 데 사용됩니다.
+ `sso:DeleteApplicationGrant` - 신뢰할 수 있는 토큰 발급자 정보를 삭제합니다.
+ `sso:PutApplicationGrant` - 신뢰할 수 있는 토큰 발급자 정보를 변경하는 데 사용됩니다.
+ `sso:PutApplicationAccessScope` - Redshift AWS IAM Identity Center 애플리케이션을 설정하는 데 사용됩니다. 여기에는 AWS Lake Formation용 및 [Amazon S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-get-started.html)용이 포함됩니다.
+ `sso:DeleteApplicationAccessScope` - Redshift AWS IAM Identity Center 애플리케이션을 설정을 삭제하는 데 사용됩니다. 여기에는 AWS Lake Formation용 및 [Amazon S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-get-started.html)용이 포함됩니다.

**Redshift/AWS IAM Identity Center 애플리케이션 삭제**
+ `sso:DeleteApplication` - AWS IAM Identity Center 애플리케이션을 삭제하는 데 사용됩니다.
+ `redshift:DeleteRedshiftIdcApplication` - 기존 Redshift AWS IAM Identity Center 애플리케이션을 삭제할 수 있는 기능을 제공합니다.

#### Redshift/쿼리 에디터 v2 애플리케이션 수명 주기 관리에 필요한 권한
<a name="redshift-iam-access-control-permissions-application-qev2"></a>

Redshift 관리자가 AWS IAM Identity Center와 함께 사용하도록 Redshift를 구성하는 데 사용하는 IAM ID를 만들어야 합니다. 대부분의 경우 권한이 있는 IAM 역할을 생성하고 필요에 따라 다른 ID에 할당합니다. 다음 작업을 수행할 수 있는 권한이 나열되어 있어야 합니다.

**쿼리 에디터 v2 애플리케이션 생성**
+ `redshift:CreateQev2IdcApplication` - QEV2 애플리케이션을 생성하는 데 사용됩니다.
+ `sso:CreateApplication` - AWS IAM Identity Center 애플리케이션을 생성하는 권한을 부여합니다.
+ `sso:PutApplicationAuthenticationMethod` - Redshift 인증 액세스 권한을 부여합니다.
+ `sso:PutApplicationGrant` - 신뢰할 수 있는 토큰 발급자 정보를 변경하는 데 사용됩니다.
+ `sso:PutApplicationAccessScope` - Redshift AWS IAM Identity Center 애플리케이션을 설정하는 데 사용됩니다. 여기에는 쿼리 에디터 v2가 포함됩니다.
+ `sso:PutApplicationAssignmentConfiguration` - 보안에 사용됩니다.

**쿼리 에디터 v2 애플리케이션 설명**
+ `redshift:DescribeQev2IdcApplications` - AWS IAM Identity Center QEV2 애플리케이션을 설명하는 데 사용됩니다.

**쿼리 에디터 v2 애플리케이션 변경**
+ `redshift:ModifyQev2IdcApplication` - AWS IAM Identity Center QEV2 애플리케이션을 변경하는 데 사용됩니다.
+ `sso:UpdateApplication` - AWS IAM Identity Center QEV2 애플리케이션을 변경하는 데 사용됩니다.

**쿼리 에디터 v2 애플리케이션 삭제**
+ `redshift:DeleteQev2IdcApplication` - QEV2 애플리케이션을 삭제하는 데 사용됩니다.
+ `sso:DeleteApplication` - QEV2 애플리케이션을 삭제하는 데 사용됩니다.

**참고**  
Amazon Redshift SDK에서는 다음과 같은 API를 사용할 수 없습니다.  
CreateQev2IdcApplication
DescribeQev2IdcApplications
ModifyQev2IdcApplication
DeleteQev2IdcApplication
이러한 작업은 AWS 콘솔에서 AWS IAM Identity Center를 Redshift QEV2와 통합하는 경우에만 사용할 수 있습니다. 자세한 내용은 [Actions defined by Amazon Redshift](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonredshift.html#amazonredshift-actions-as-permissions)를 참조하세요.

#### 콘솔에서 새 리소스를 연결하기 위해 데이터베이스 관리자에게 필요한 권한
<a name="redshift-iam-access-control-permissions-application-new-resources"></a>

생성 프로세스 중에 새로 프로비저닝된 클러스터 또는 Amazon Redshift Serverless 작업 그룹을 연결하려면 이러한 권한이 필요합니다. 이러한 권한이 있는 경우 콘솔에 Redshift용 AWS IAM Identity Center 관리형 애플리케이션에 연결하도록 선택할 수 있는 선택 항목이 표시됩니다.
+ `redshift:DescribeRedshiftIdcApplications`
+ `sso:ListApplicationAccessScopes`
+ `sso:GetApplicationAccessScope`
+ `sso:GetApplicationGrant`

가장 좋은 방법은 권한 정책을 IAM 역할에 연결한 다음 필요에 따라 사용자 및 그룹에 할당하는 것입니다. 자세한 내용은 [Amazon Redshift의 Identity and Access Management](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html)를 참조하세요.

## AWS IAM Identity Center와 연결된 AWS 관리형 애플리케이션으로 Redshift 설정
<a name="redshift-iam-access-control-idp-connect-admin-tasks"></a>

AWS IAM Identity Center에서 Amazon Redshift 프로비저닝 클러스터 또는 Amazon Redshift Serverless 작업 그룹의 ID를 관리하려면 먼저 Redshift 관리자가 Redshift를 AWS IAM Identity Center 관리형 애플리케이션으로 생성하기 위한 단계를 완료해야 합니다.

1. Amazon Redshift 또는 Amazon Redshift Serverless 콘솔 메뉴에서 **AWS IAM Identity Center 통합**을 선택한 다음 **AWS IAM Identity Center에 연결**을 선택합니다. 여기에서 일련의 선택 단계를 수행하여 AWS IAM Identity Center 통합을 위한 속성을 채웁니다.

1. Redshift의 AWS IAM Identity Center 관리형 애플리케이션에 대한 표시 이름과 고유한 이름을 선택합니다.

1. 조직의 네임스페이스를 지정합니다. 일반적으로 조직 이름의 축약된 버전입니다. Redshift 데이터베이스에서 AWS IAM Identity Center 관리형 사용자 및 역할의 접두사로 추가됩니다.

1. 사용할 IAM 역할을 선택합니다. 이 IAM 역할은 Redshift에 사용되는 다른 역할과 분리되어야 하며 다른 용도로는 사용하지 않는 것이 좋습니다. 구체적인 필수 정책 권한은 다음과 같습니다.
   + `sso:DescribeApplication` - 카탈로그에 ID 제공업체(idP) 항목을 생성하는 데 필요합니다.
   + `sso:DescribeInstance` - IdP 페더레이션 역할 또는 사용자를 수동으로 생성하는 데 사용됩니다.

1. 클라이언트 연결 및 신뢰할 수 있는 토큰 발급자를 구성합니다. 신뢰할 수 있는 토큰 발급자를 구성하면 외부 ID 제공업체와의 관계를 설정하여 신뢰할 수 있는 ID 전파가 용이해집니다. 예를 들어 ID 전파를 통해 사용자는 한 애플리케이션에 로그인하고 다른 애플리케이션의 특정 데이터에 액세스할 수 있습니다. 이를 통해 사용자는 서로 다른 위치에서 보다 원활하게 데이터를 수집할 수 있습니다. 이 단계에서는 콘솔에서 각 신뢰할 수 있는 토큰 발급자의 속성을 설정합니다. 속성에는 도구 또는 서비스의 구성 속성에서 가져와야 할 수 있는 이름 및 *대상 클레임(*aud 클레임이라고도 함)이 포함됩니다. 타사 도구의 JSON 웹 토큰(JWT)에서 가져온 애플리케이션 이름을 제공해야 할 수도 있습니다.
**참고**  
각 타사 도구 또는 서비스에 필요한 `aud claim`은 토큰 유형(ID 제공업체가 발급한 액세스 토큰일 수 있음) 또는 ID 토큰 등의 다른 유형에 따라 달라질 수 있습니다. 벤더마다 다를 수 있습니다. 신뢰할 수 있는 ID 전파를 구현하고 Redshift와 통합할 때는 타사 도구가 AWS에 전송하는 토큰 유형에 대해 올바른 **aud 값을 제공해야 합니다. 도구 또는 서비스 벤더의 권장 사항을 확인하세요.

   신뢰할 수 있는 ID 전파에 대한 자세한 내용은 *AWS IAM Identity Center 사용 설명서*의 [신뢰할 수 있는 ID 전파 개요](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation-overview.html)를 참조하세요.

Redshift 관리자가 단계를 완료하고 구성을 저장하면 Redshift 콘솔에 AWS IAM Identity Center 속성이 표시됩니다. 또한 시스템 뷰 [SVV\$1IDENTITY\$1PROVIDERS](https://docs.aws.amazon.com/redshift/latest/dg/r_SVV_IDENTITY_PROVIDERS.html)를 쿼리하여 애플리케이션의 속성을 확인할 수 있습니다. 여기에는 애플리케이션 이름과 네임스페이스가 포함됩니다. 네임스페이스는 애플리케이션과 연결된 Redshift 데이터베이스 객체의 접두사로 사용합니다. 이러한 작업을 완료하면 Redshift는 AWS IAM Identity Center 지원 애플리케이션이 됩니다. 콘솔의 속성에는 통합 상태가 포함됩니다. 통합이 완료되면 **활성화됨**이라고 표시됩니다. 이 프로세스가 끝나면 각각의 새 클러스터에서 AWS IAM Identity Center 통합을 활성화할 수 있습니다.

구성 후에는 **사용자** 또는 **그룹** 탭을 선택하고 **할당**을 선택하여 AWS IAM Identity Center에 있는 사용자 및 그룹을 Redshift에 포함할 수 있습니다.

## 새 Amazon Redshift 클러스터 또는 Amazon Redshift Serverless 작업 그룹에 AWS IAM Identity Center 통합 활성화
<a name="redshift-iam-access-control-idp-connect-resource-creation"></a>

데이터베이스 관리자는 새로운 Redshift 리소스가 AWS IAM Identity Center와 연계되어 작동하도록 구성하여 로그인 및 데이터 액세스를 더 용이하게 만듭니다. 이는 프로비저닝된 클러스터 또는 서버리스 작업 그룹을 생성하는 단계의 일부로 수행됩니다. Redshift 리소스를 생성할 수 있는 권한이 있는 모든 사용자는 AWS IAM Identity Center 통합 태스크를 수행할 수 있습니다. 프로비저닝된 클러스터를 생성할 때 Amazon Redshift 콘솔에서 **클러스터 생성**을 선택하는 것부터 시작하면 됩니다. 다음 단계는 데이터베이스에 대한 AWS IAM Identity Center 관리를 활성화하는 방법을 보여줍니다. 클러스터를 생성하는 모든 단계가 포함되어 있지는 않습니다.

1. create-cluster 단계에서 **IAM Identity Center 통합** 섹션의 **<클러스터 이름>에 대해 활성화**를 선택합니다.

1. 통합을 활성화하는 프로세스에 한 단계가 있습니다. 콘솔에서 **IAM Identity Center 통합 활성화**를 선택하면 됩니다.

1. 새 클러스터 또는 작업 그룹의 경우 SQL 명령을 사용하여 Redshift에서 데이터베이스 역할을 생성합니다. 다음은 명령입니다.

   ```
   CREATE ROLE <idcnamespace:rolename>;
   ```

   네임스페이스와 역할 이름은 다음과 같습니다.
   + *IAM Identity Center 네임스페이스 접두사* - AWS IAM Identity Center와 Redshift 간의 연결을 설정할 때 정의한 네임스페이스입니다.
   + *역할 이름* - 이 Redshift 데이터베이스 역할은 AWS IAM Identity Center의 그룹 이름과 일치해야 합니다.

   Redshift는 AWS IAM Identity Center와 연결하여 데이터베이스 역할을 생성하고 AWS IAM Identity Center 그룹에 매핑하는 데 필요한 정보를 가져옵니다.

새 데이터 웨어하우스가 생성되면 AWS IAM Identity Center 통합을 위해 지정된 IAM 역할이 프로비저닝된 클러스터 또는 Amazon Redshift Serverless 작업 그룹에 자동으로 연결된다는 점에 유의하세요. 필요한 클러스터 메타데이터를 입력하고 리소스를 생성한 후에는 속성에서 AWS IAM Identity Center 통합 상태를 확인할 수 있습니다. AWS IAM Identity Center의 그룹 이름에 공백이 있는 경우 매칭되는 역할을 생성할 때 SQL에서 따옴표를 사용해야 합니다.

Redshift 데이터베이스를 활성화하고 역할을 생성했으면 Amazon Redshift 쿼리 에디터 v2 또는 Amazon Quick를 사용하여 데이터베이스에 연결할 준비가 된 것입니다. 자세한 내용은 다음 섹션에 자세히 설명되어 있습니다.

### API를 사용하여 기본 `RedshiftIdcApplication` 설정
<a name="redshift-iam-access-control-idp-connect-admin-config-api"></a>

설정은 ID 관리자가 수행합니다. API를 사용하여 AWS IAM Identity Center 내의 Redshift 애플리케이션을 나타내는 `RedshiftIdcApplication`을 만들고 채웁니다.

1. 먼저 사용자를 생성하고 AWS IAM Identity Center의 그룹에 추가할 수 있습니다. AWS IAM Identity Center용 AWS 콘솔에서 이 작업을 수행하면 됩니다.

1. AWS IAM Identity Center 애플리케이션을 생성하고 Redshift와 호환해서 사용하도록 `create-redshift-idc-application`을 호출합니다. 필요한 값을 입력하여 애플리케이션을 생성합니다. 표시 이름은 AWS IAM Identity Center 대시보드에 표시할 이름입니다. IAM 역할 ARN은 AWS IAM Identity Center에 대한 권한이 있는 ARN이며 Redshift에서도 이 역할을 맡을 수 있습니다.

   ```
   aws redshift create-redshift-idc-application
   ––idc-instance-arn 'arn:aws:sso:::instance/ssoins-1234a01a1b12345d'
   ––identity-namespace 'MYCO'
   ––idc-display-name 'TEST-NEW-APPLICATION'
   ––iam-role-arn 'arn:aws:redshift:us-east-1:012345678901:role/TestRedshiftRole'
   ––redshift-idc-application-name 'myredshiftidcapplication'
   ```

   다음 예는 `create-redshift-idc-application`에 대한 호출에서 반환된 샘플 `RedshiftIdcApplication` 응답을 보여줍니다.

   ```
   "RedshiftIdcApplication": {
                   "IdcInstanceArn": "arn:aws:sso:::instance/ssoins-1234a01a1b12345d",
                   "RedshiftIdcApplicationName": "test-application-1",
                   "RedshiftIdcApplicationArn": "arn:aws:redshift:us-east-1:012345678901:redshiftidcapplication:12aaa111-3ab2-3ab1-8e90-b2d72aea588b",
                   "IdentityNamespace": "MYCO",
                   "IdcDisplayName": "Redshift-Idc-Application",
                   "IamRoleArn": "arn:aws:redshift:us-east-1:012345678901:role/TestRedshiftRole",
                   "IdcManagedApplicationArn": "arn:aws:sso::012345678901:application/ssoins-1234a01a1b12345d/apl-12345678910",
                   "IdcOnboardStatus": "arn:aws:redshift:us-east-1:123461817589:redshiftidcapplication",
                   "RedshiftIdcApplicationArn": "Completed",
                   "AuthorizedTokenIssuerList": [
                          "TrustedTokenIssuerArn": ...,
                          "AuthorizedAudiencesList": [...]...
                   ]}
   ```

1. `create-application-assignment`를 사용하여 AWS IAM Identity Center의 관리형 애플리케이션에 특정 그룹이나 개별 사용자를 할당할 수 있습니다. 이렇게 하면 AWS IAM Identity Center를 통해 관리할 그룹을 지정할 수 있습니다. 데이터베이스 관리자가 Redshift에서 데이터베이스 역할을 생성하는 경우 AWS IAM Identity Center의 그룹 이름이 Redshift의 역할 이름에 매핑됩니다. 이 역할은 데이터베이스의 권한을 제어합니다. 자세한 내용은 [AWS IAM Identity Center 콘솔에서 애플리케이션에 사용자 액세스 권한 할당](https://docs.aws.amazon.com/singlesignon/latest/userguide/assignuserstoapp.html)을 참조하세요.

1. 애플리케이션을 활성화한 후에는 `create-cluster`를 호출하여 AWS IAM Identity Center에서 Redshift 관리형 애플리케이션 ARN을 포함합니다. 이렇게 하면 클러스터가 AWS IAM Identity Center의 관리형 애플리케이션과 연결됩니다.

### AWS IAM Identity Center 애플리케이션을 기존 클러스터 또는 작업 그룹과 연결
<a name="redshift-iam-access-control-idp-connect-admin-config-existing"></a>

AWS IAM Identity Center 통합을 활성화하려는 기존 클러스터 또는 작업 그룹이 있는 경우 SQL 명령을 실행하여 활성화할 수 있습니다. SQL 명령을 실행하여 통합 설정을 변경할 수도 있습니다. 자세한 내용은 [ALTER IDENTITY PROVIDER](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_IDENTITY_PROVIDER.html)를 참조하세요.

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

```
DROP IDENTITY PROVIDER
<provider_name> [ CASCADE ]
```

## 사용자 권한 설정
<a name="redshift-iam-access-control-idp-connect-user-permissions"></a>

관리자는 ID 제공업체 내에서 또는 AWS IAM Identity Center 내에서 사용자의 ID 속성 및 그룹 멤버십을 기반으로 다양한 리소스에 대한 권한을 직접 구성합니다. 예를 들어, ID 제공업체 관리자는 맡은 역할에 적합한 그룹에 데이터베이스 엔지니어를 추가할 수 있습니다. 이 그룹 이름은 Redshift 데이터베이스 역할 이름에 매핑됩니다. 역할은 Redshift의 특정 테이블 또는 뷰에 대한 액세스를 제공하거나 제한합니다.

# AWS IAM Identity Center에 대한 Amazon Redshift 역할 자동 생성
<a name="redshift-iam-access-control-sso-autocreate"></a>

이 기능은 그룹 멤버십을 기반으로 Redshift에서 역할을 자동으로 생성할 수 있는 AWS IAM Identity Center과 통합됩니다.

역할을 자동으로 생성하면 몇 가지 이점이 있습니다. 역할을 자동 생성할 때 Redshift는 IdP에 그룹 멤버십이 있는 역할을 생성하므로 번거로운 수동 역할 생성 및 유지 관리를 피할 수 있습니다. 또한 포함 및 제외 패턴을 사용하여 Redshift 역할에 매핑되는 그룹을 필터링할 수 있습니다.

## 작동 방식
<a name="autocreate-overview"></a>

IdP 사용자로서 Redshift에 로그인하면 다음과 같은 이벤트 시퀀스가 발생합니다.

1. Redshift는 IdP에서 그룹 멤버십을 검색합니다.

1. Redshift는 역할 형식 `idp_namespace:rolename`을 사용하여 해당 그룹에 대한 역할 매핑을 자동으로 생성합니다.

1. Redshift는 매핑된 역할에 대한 권한을 부여합니다.

각 사용자 로그인 시 카탈로그에는 없지만 사용자가 속한 각 그룹이 자동으로 생성됩니다. 선택적으로 필터 포함 및 제외를 설정하여 Redshift 역할이 생성된 IdP 그룹을 제어할 수 있습니다.

## 역할 자동 생성 구성
<a name="autocreate-configuring"></a>

`CREATE IDENTITY PROVIDER` 및 `ALTER IDENTITY PROVIDER` 명령을 사용하여 자동 역할 생성을 활성화하고 구성합니다.

```
-- Create a new IdP with auto role creation enabled
CREATE IDENTITY PROVIDER <idp_name> TYPE AWSIDC
  NAMESPACE '<namespace>' 
  APPLICATION_ARN 'app_arn'
  IAM_ROLE 'role_arn'
  AUTO_CREATE_ROLES TRUE; 

-- Enable on existing IdP 
ALTER IDENTITY PROVIDER <idp_name>
  AUTO_CREATE_ROLES TRUE;

-- Disable  
ALTER IDENTITY PROVIDER <idp_name>
  AUTO_CREATE_ROLES FALSE;
```

## 그룹 필터링
<a name="autocreate-filtering"></a>

선택적으로 `INCLUDE` 및 `EXCLUDE` 패턴을 사용하여 Redshift 역할에 매핑되는 IdP 그룹을 필터링할 수 있습니다. 패턴이 충돌하면 `EXCLUDE`가 `INCLUDE`보다 우선합니다.

```
-- Only create roles for groups with 'dev' 
CREATE IDENTITY PROVIDER <idp_name> TYPE AWSIDC
  ...
  AUTO_CREATE_ROLES TRUE
  INCLUDE GROUPS LIKE '%dev%';
    
-- Exclude 'test' groups
ALTER IDENTITY PROVIDER <idp_name>  
  AUTO_CREATE_ROLES TRUE
  EXCLUDE GROUPS LIKE '%test%';
```

## 예제
<a name="autocreate-filtering"></a>

다음 예제에서는 필터링 없이 역할 자동 생성을 활성화하는 방법을 보여줍니다.

```
CREATE IDENTITY PROVIDER prod_idc TYPE AWSIDC  ...
  AUTO_CREATE_ROLES TRUE;
```

다음 예제에는 개발 그룹이 포함되며 테스트 그룹은 제외됩니다.

```
ALTER IDENTITY PROVIDER prod_idc
  AUTO_CREATE_ROLES TRUE
  INCLUDE GROUPS LIKE '%dev%'
  EXCLUDE GROUPS LIKE '%test%';
```

## 모범 사례
<a name="autocreate-bp"></a>

역할에 대해 자동 생성을 활성화할 때 다음 모범 사례를 고려하세요.
+ `INCLUDE` 및 `EXCLUDE` 필터를 사용하여 역할을 가져오는 그룹을 제어합니다.
+ 역할을 정기적으로 감사하고 사용하지 않는 역할을 정리합니다.
+ Redshift 역할 계층 구조를 활용하여 권한 관리를 간소화합니다.

# Amazon S3 Access Grants와 Amazon Redshift 통합
<a name="redshift-iam-access-control-sso-s3idc"></a>

Amazon S3 Access Grants와의 통합을 사용하면 IAM Identity Center ID를 원활하게 전파하여 Amazon S3 데이터에 대한 액세스를 제어할 수 있습니다. 이 통합을 통해 IAM Identity Center 사용자 및 그룹을 기반으로 Amazon S3 데이터 액세스 권한을 부여할 수 있습니다.

Amazon S3 Access Grants에 대한 자세한 내용은 [S3 Access Grants를 통한 액세스 관리](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html)를 참조하세요.

Amazon S3 Access Grants를 사용하면 애플리케이션에 다음과 같은 이점이 있습니다.
+ IAM Identity Center ID를 기반으로 Amazon S3 데이터에 대한 세분화된 액세스 제어
+ Amazon Redshift 및 Amazon S3에서 IAM Identity Center ID의 중앙 집중식 관리
+ Amazon S3 액세스에 대한 별도의 IAM 권한 관리 불필요

## 작동 방식
<a name="redshift-iam-access-control-sso-s3idc-howitworks"></a>

애플리케이션을 Amazon S3 Access Grants와 통합하려면 다음을 수행합니다.
+ 먼저 AWS Management Console 또는 AWS CLI를 사용하여 Amazon S3 Access Grants와 통합하도록 Amazon Redshift를 구성합니다.
+ 다음으로 IdC 관리자 권한이 있는 사용자는 Amazon S3 Access Grants 서비스를 사용하여 특정 IdC 사용자/그룹에 대한 Amazon S3 버킷 또는 접두사 액세스 권한을 부여합니다. 자세한 내용은 [ S3 Access Grants에서 권한 부여 사용](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-grant.html)을 참조하세요.
+ Redshift에 인증된 IdC 사용자가 S3에 액세스하는 쿼리(예: COPY, UNLOAD 또는 Spectrum 작업)를 실행하면 Amazon Redshift는 Amazon S3 Access Grants 서비스에서 해당 IdC ID로 범위가 지정된 임시 Amazon S3 액세스 자격 증명을 검색합니다.
+ 그런 다음 Amazon Redshift는 검색된 임시 자격 증명을 사용하여 해당 쿼리에 대해 권한이 부여된 Amazon S3 위치에 액세스합니다.

## Amazon S3 Access Grants와의 통합 설정
<a name="redshift-iam-access-control-sso-s3idc-setup"></a>

Amazon Redshift와 Amazon S3 Access Grants의 통합을 설정하려면 다음을 수행합니다.

**Topics**
+ [AWS Management Console을 사용하여 Amazon S3 Access Grants와의 통합 설정](#redshift-iam-access-control-sso-s3idc-setup-console)
+ [AWS CLI를 사용하여 Amazon S3 Access Grants와의 통합 활성화](#redshift-iam-access-control-sso-s3idc-setup-cli)

### AWS Management Console을 사용하여 Amazon S3 Access Grants와의 통합 설정
<a name="redshift-iam-access-control-sso-s3idc-setup-console"></a>

1. Amazon Redshift 콘솔을 엽니다.

1. **클러스터** 창에서 클러스터를 선택합니다.

1. 클러스터의 세부 정보 페이지의 **ID 제공업체 통합** 섹션에서 **S3 Access Grants** 서비스와의 통합을 활성화합니다.
**참고**  
IAM Identity Center가 구성되어 있지 않으면 **ID 제공업체 통합** 섹션이 표시되지 않습니다. 자세한 내용은 [Enabling AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-set-up-for-idc.html)를 참조하세요.

### AWS CLI를 사용하여 Amazon S3 Access Grants와의 통합 활성화
<a name="redshift-iam-access-control-sso-s3idc-setup-cli"></a>

1. S3 통합이 활성화된 새 Amazon Redshift IdC 애플리케이션을 만들려면 다음을 수행합니다.

   ```
   aws redshift create-redshift-idc-application <other parameters> 
     --service-integrations '[ {"S3AccessGrants": [{"ReadWriteAccess": {"Authorization": "Enabled"}}]} ]'
   ```

1. S3 Access Grants 통합을 활성화하도록 기존 애플리케이션을 수정하려면 다음을 수행합니다.

   ```
   aws redshift modify-redshift-idc-application <other parameters>
     --service-integrations '[ {"S3AccessGrants": [{"ReadWriteAccess": {"Authorization": "Enabled"}}]} ]'
   ```

1. S3 Access Grants 통합을 비활성화하도록 기존 애플리케이션을 수정하려면 다음을 수행합니다.

   ```
   aws redshift modify-redshift-idc-application <other parameters>
     --service-integrations '[ {"S3AccessGrants": [{"ReadWriteAccess": {"Authorization": "Disabled"}}]} ]'
   ```

## S3 Access Grants와의 통합 사용
<a name="redshift-iam-access-control-sso-s3idc-using"></a>

S3 Access Grants 통합을 구성한 후 S3 데이터에 액세스하는 쿼리(예: `COPY`, `UNLOAD` 또는 Spectrum 쿼리)는 권한 부여를 위해 IdC ID를 사용합니다. IdC를 사용하여 인증되지 않은 사용자도 이러한 쿼리를 실행할 수 있지만 이러한 사용자 계정은 IdC가 제공하는 중앙 집중식 관리를 활용하지 않습니다.

다음 예시는 S3 Access Grants 통합으로 실행되는 쿼리를 보여줍니다.

```
COPY table FROM 's3://mybucket/data';  // -- Redshift uses IdC identity 
UNLOAD ('SELECT * FROM table') TO 's3://mybucket/unloaded/'    // -- Redshift uses IdC identity
```

# AWS Lake Formation을 통한 데이터 쿼리
<a name="redshift-iam-access-control-idp-analytics-connecting-steps"></a>

AWS Lake Formation을 사용하면 데이터 레이크를 중앙에서 관리 및 보호하고 데이터 액세스를 제공하는 것이 더 쉬워집니다. AWS IAM Identity Center 및 Redshift를 통해 Lake Formation으로 ID를 전파하도록 구성하면 관리자가 조직의 ID 제공업체(IdP) 그룹을 기반으로 Amazon S3 데이터 레이크에 세밀하게 분류된 액세스를 허용할 수 있습니다. 이러한 그룹은 AWS IAM Identity Center를 통해 관리됩니다. 이 섹션에서는 Redshift와 함께 AWS IAM Identity Center를 활용하여 Lake Formation에서 관리하는 리소스에 연결하는 몇 가지 사용 사례를 구성하는 방법을 보여줍니다(예: 데이터 레이크에서 쿼리, 데이터 공유에서 쿼리).

## AWS IAM Identity Center 및 Redshift 연결을 사용하여 데이터 레이크 쿼리
<a name="redshift-iam-access-control-idp-analytics-connecting-datalake"></a>

이 단계는 Redshift에 연결된 AWS IAM Identity Center를 사용하여 Lake Formation에서 관리하는 데이터 레이크를 쿼리하는 사용 사례를 다룹니다.

**사전 조건**:

이 절차에는 몇 가지 사전 조건과 단계가 있습니다.

1. Redshift를 통한 인증 및 ID 관리를 지원하려면 AWS IAM Identity Center를 설정해야 합니다. 콘솔에서 AWS IAM Identity Center를 활성화하고 ID 제공업체(IdP) 소스를 선택할 수 있습니다. 그런 다음 IdP 사용자 세트를 AWS IAM Identity Center와 동기화합니다. 또한 이 문서의 앞부분에 설명된 단계에 따라 AWS IAM Identity Center와 Redshift 간의 연결을 설정해야 합니다.

1. 새 Amazon Redshift 클러스터를 생성하고 구성 단계에서 AWS IAM Identity Center를 통한 ID 관리를 활성화합니다.

1. Lake Formation을 위한 관리형 AWS IAM Identity Center 애플리케이션을 생성하고 구성합니다. 이는 AWS IAM Identity Center와 Redshift 간의 연결 설정에 따른 것입니다. 단계는 다음과 같습니다.

   1. AWS CLI에서 `modify-redshift-idc-application` 명령을 사용하여 Lake Formation 서비스를 Redshift용 AWS IAM Identity Center 관리 애플리케이션과 통합할 수 있도록 설정합니다. 이 호출에는 Lake Formation에 대한 권한 부여를 가능하게 하는 구성 문자열 값으로 설정된 `service-integrations` 파라미터가 포함됩니다.

   1. `create-lake-formation-identity-center-configuration` 명령을 사용하여 Lake Formation을 구성합니다. 그러면 AWS IAM Identity Center 포털에서 볼 수 있는 Lake Formation용 AWS IAM Identity Center 애플리케이션이 생성됩니다. 관리자는 `––cli-input-json` 인수를 설정해야 하며, 이 인수의 값은 모든 AWS CLI API 직접 호출에 표준 형식을 사용하는 JSON 파일의 경로입니다. 다음에 대한 값을 포함해야 합니다.
      + `CatalogId` - Lake Formation 카탈로그 ID
      + `InstanceArn` - AWS IAM Identity Center 인스턴스 ARN 값

관리자가 사전 조건 구성을 완료한 후 데이터베이스 관리자는 데이터 레이크를 쿼리하기 위한 외부 스키마를 생성할 수 있습니다.

1. **관리자가 외부 스키마 생성** - Redshift 데이터베이스 관리자는 다음 SQL 문을 사용하여 데이터베이스에 연결하고 외부 스키마를 만듭니다.

   ```
   CREATE EXTERNAL SCHEMA if not exists my_external_schema from DATA CATALOG database 'my_lf_integrated_db' catalog_id '12345678901234';
   ```

   참고로, AWS IAM Identity Center를 통해 액세스를 관리하므로 이 경우에는 IAM 역할을 지정할 필요가 없습니다.

1. **관리자가 권한 부여** - 관리자가 AWS IAM Identity Center 그룹에 사용 권한을 부여하며, 이로 인해 Redshift 리소스에 대한 권한이 부여됩니다. 다음과 같은 SQL 문을 실행하면 됩니다.

   ```
   GRANT USAGE ON SCHEMA "my_external_schema" to "MYCO:sales";
   ```

   이후 관리자는 AWS CLI를 사용하여 조직의 요구 사항에 따라 객체에 대한 Lake Formation 권한을 부여합니다.

   ```
   aws lakeformation grant-permissions ...
   ```

1. **사용자가 쿼리 실행** - 이제 예컨대 영업 그룹에 속한 AWS IAM Identity Center 사용자는 쿼리 에디터 v2를 통해 Redshift 데이터베이스에 로그인할 수 있습니다. 그런 다음, 아래 샘플과 같이 외부 스키마의 테이블에 액세스하는 쿼리를 실행할 수 있습니다.

   ```
   SELECT * from my_external_schema.table1;
   ```

## AWS IAM Identity Center와 Redshift 연결을 사용하여 데이터 공유에 연결
<a name="redshift-iam-access-control-idp-analytics-connecting-datashare"></a>

 AWS IAM Identity Center를 통해 액세스를 관리하는 경우 다른 Redshift 데이터 웨어하우스에서 데이터 공유에 액세스할 수 있습니다. 이렇게 하려면 쿼리를 실행하여 외부 데이터베이스를 설정합니다. 이 단계를 완료하기 전에는 이전 절차에 설명된 대로 Redshift와 AWS IAM Identity Center 간에 연결을 설정하고 AWS Lake Formation 애플리케이션을 생성한 것으로 가정합니다.

1. **외부 데이터베이스 생성** - 관리자가 ARN을 통해 참조하여 데이터 공유를 위한 외부 데이터베이스를 만듭니다. 다음은 방법을 보여주는 샘플입니다.

   ```
   CREATE DATABASE "redshift_external_db" FROM ARN 'arn:aws:glue:us-east-1:123456789012:database/redshift_external_db-iad' WITH NO DATA CATALOG SCHEMA;
   ```

   ID 관리를 위해 Redshift와 함께 AWS IAM Identity Center를 사용하는 이 사용 사례에서는 IAM 역할이 포함되지 않습니다.

1. **관리자가 권한 설정** - 데이터베이스를 생성한 후 관리자는 AWS IAM Identity Center 그룹에 사용 권한을 부여합니다. 이렇게 하면 Redshift 리소스에 대한 권한이 부여됩니다.

   ```
   GRANT USAGE ON DATABASE "my_external_db" to "MYCO:sales";
   ```

   또한 관리자는 AWS CLI를 사용하여 객체에 대한 Lake Formation 권한을 부여합니다.

   ```
   aws lakeformation grant-permissions ...
   ```

1. **사용자가 쿼리 실행** - 영업 그룹의 사용자는 할당된 권한에 따라 데이터베이스의 테이블을 쿼리할 수 있습니다.

   ```
   select * from redshift_external_db.public.employees;
   ```

데이터 레이크에 대한 권한 부여 및 데이터 공유에 대한 권한 부여 관련 자세한 내용은 [Granting permissions to users and groups](https://docs.aws.amazon.com/lake-formation/latest/dg/grant-permissions-sso.html)를 참조하세요. 스키마 또는 데이터베이스에 사용 권한을 부여하는 방법에 대한 자세한 내용은 [GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html)를 참조하세요.

# 신뢰할 수 있는 토큰 발급자를 사용하여 애플리케이션 또는 도구를 OAuth와 통합
<a name="redshift-iam-access-control-idp-connect-oauth"></a>

 AWS IAM Identity Center 연결을 통해 Redshift에 연결하기 위해 생성한 클라이언트 도구에 기능을 추가할 수 있습니다. AWS IAM Identity Center에 대한 Redshift 통합을 이미 구성한 경우 이 섹션에 자세히 설명된 속성을 사용하여 연결을 설정합니다.

## AWS IAM Identity Center를 사용하여 Redshift에 연결하기 위한 인증 플러그인
<a name="redshift-iam-access-control-idp-connect-plugin"></a>

다음 드라이버 플러그인을 사용하여 AWS IAM Identity Center를 사용하여 Amazon Redshift에 연결할 수 있습니다.
+  `BrowserIdcAuthPlugin` - 이 플러그인은 AWS IAM Identity Center와의 원활한 통합 인증을 지원합니다. 사용자가 기업 ID 제공업체에 정의된 사용자 자격 증명을 사용하여 로그인할 수 있는 브라우저 창을 만듭니다.
+  `IdpTokenAuthPlugin` - 이 플러그인은 Amazon Redshift 드라이버가 AWS IAM Identity Center 인증을 위해 브라우저 창을 열도록 하는 대신 자체적으로 인증 흐름을 관리하려는 애플리케이션에서 사용해야 합니다. Okta, PingOne 및 Microsoft Entra ID(Azure AD)와 같이 AWS IAM Identity Center와 연결된 모든 웹 ID 제공업체의 AWS IAM Identity Center 벤딩 액세스 토큰 또는 OIDC(OpenID Connect) JSON 웹 토큰(JWT)을 허용합니다. 클라이언트 애플리케이션은 이 필수 액세스 토큰/JWT를 생성할 책임이 있습니다.

### `BrowserIdcAuthPlugin`을 사용하는 인증
<a name="redshift-iam-access-control-idp-connect-plugin-browseridcauthplugin"></a>

Amazon Redshift 드라이버에 따라 `BrowserIdcAuthPlugin`을 사용하여 연결하려면 다음 플러그인 이름을 사용하세요.


| 드라이버 | 연결 옵션 키 | 값 | 설명 | 
| --- | --- | --- | --- | 
| JDBC | `plugin_name` | com.amazon.redshift.plugin.BrowserIdcAuthPlugin | 연결할 때 플러그인의 정규화된 클래스 이름을 입력해야 합니다. | 
| ODBC | `plugin_name` | BrowserIdcAuthPlugin |  | 
| Python | `credentials_provider` | BrowserIdcAuthPlugin | Python 드라이버에 사용할 수 있는 `plugin_name` 옵션이 없습니다. 대신 를 사용합니다`credentials_provider` | 

`BrowserIdcAuthPlugin` 플러그인에는 다음과 같은 추가 연결 옵션이 있습니다.


| 옵션 이름 | 필수? | 설명 | 예제 | 
| --- | --- | --- | --- | 
| idc\$1region | 필수 | AWS IAM Identity Center 인스턴스가 위치한 AWS 리전입니다. | us-east-1 | 
| issuer\$1url | 필수 | AWS IAM Identity Center 서버의 인스턴스 엔드포인트입니다. 이 값은 AWS IAM Identity Center 콘솔을 사용하여 찾을 수 있습니다. | https://identitycenter.amazonaws.com/ssoins-g5j2k70sn4yc5nsc | 
| listen\$1port | 선택 | Amazon Redshift 드라이버가 브라우저 리디렉션을 통해 AWS IAM Identity Center로부터 `auth_code` 응답을 수신하는 데 사용하는 포트입니다. | 7890 | 
| idc\$1client\$1display\$1name | 선택 | AWS IAM Identity Center의 Single Sign-On 동의 팝업에서 AWS IAM Identity Center 클라이언트가 애플리케이션에 사용하는 이름입니다. | Amazon Redshift 드라이버 | 
| idp\$1response\$1timeout | 선택 | Redshift 드라이버가 인증 흐름이 완료될 때까지 기다리는 시간(초)입니다. | 60 | 

생성하고 연결하는 도구의 연결 속성에 이 값을 입력해야 합니다. 자세한 내용은 각각의 드라이버에 대한 연결 옵션 설명서를 참조하세요.
+ [JDBC 드라이버 버전 2.x 구성 옵션](jdbc20-configuration-options.md)
+ [ODBC 드라이버 옵션](odbc20-configuration-options.md)
+ [Amazon Redshift Python 커넥터의 구성 옵션](python-configuration-options.md)

### `IdpTokenAuthPlugin`을 사용하는 인증
<a name="redshift-iam-access-control-idp-connect-plugin-idptokenauthplugin"></a>

Amazon Redshift 드라이버에 따라 `IdpTokenAuthPlugin`을 사용하여 연결하려면 다음 플러그인 이름을 사용하세요.


| 드라이버 | 연결 옵션 키 | 값 | 설명 | 
| --- | --- | --- | --- | 
| JDBC | `plugin_name` | com.amazon.redshift.plugin.IdpTokenAuthPlugin | 연결할 때 플러그인의 정규화된 클래스 이름을 입력해야 합니다. | 
| ODBC | `plugin_name` | IdpTokenAuthPlugin |  | 
| Python | `credentials_provider` | IdpTokenAuthPlugin | Python 드라이버에 사용할 수 있는 `plugin_name` 옵션이 없습니다. 대신 를 사용합니다`credentials_provider` | 

`IdpTokenAuthPlugin` 플러그인에는 다음과 같은 추가 연결 옵션이 있습니다.


| 옵션 이름 | 필수? | 설명 | 
| --- | --- | --- | 
| 토큰 | 필수 | AWS IAM Identity Center에서 벤딩한 액세스 토큰 또는 AWS IAM Identity Center와 연결된 웹 ID 제공업체에서 제공하는 OIDC(OpenID Connect) JSON 웹 토큰(JWT)입니다. 애플리케이션은AWS IAM Identity Center 또는 AWS IAM Identity Center와 연결된 ID 제공업체를 통해 애플리케이션 사용자를 인증하여 이 토큰을 생성해야 합니다. | 
| token\$1type | 필수 | `IdpTokenAuthPlugin`에 사용되는 토큰 유형 가능한 값은 다음과 같습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/redshift/latest/mgmt/redshift-iam-access-control-idp-connect-oauth.html)  | 

생성하고 연결하는 도구의 연결 속성에 이 값을 입력해야 합니다. 자세한 내용은 각각의 드라이버에 대한 연결 옵션 설명서를 참조하세요.
+ [JDBC 드라이버 버전 2.x 구성 옵션](jdbc20-configuration-options.md)
+ [ODBC 드라이버 옵션](odbc20-configuration-options.md)
+ [Amazon Redshift Python 커넥터의 구성 옵션](python-configuration-options.md)

# Amazon Redshift 쿼리 에디터 v2의 연결 문제 해결
<a name="redshift-iam-access-control-idp-connect-troubleshooting"></a>

이 목록은 일반적으로 발생하는 오류를 자세히 설명하며 AWS IAM Identity Center 자격 증명을 사용하여 쿼리 에디터 v2와 Redshift 데이터베이스에 연결하는 데 도움이 될 수 있습니다.
+ 오류: **연결 문제: Identity Center 세션 정보를 사용할 수 없습니다.** - 이 오류가 발생하면 브라우저의 보안 및 개인 정보 설정을 확인합니다. 이러한 브라우저 설정, 특히 Firefox의 Total Cookie Protection 기능과 같은 보안 쿠키 관련 설정을 사용하면 Amazon Redshift 쿼리 에디터 v2에서 Redshift 데이터베이스로의 연결 시도가 차단될 수 있습니다. 해당 브라우저에 대해 자세히 설명된 문제 해결 단계를 따르세요.
  + **Firefox** - 현재 서드 파티 쿠키는 기본적으로 차단되어 있습니다. 브라우저 주소 표시줄의 방패 모양 아이콘을 클릭하고 토글을 전환하여 쿼리 에디터 v2의 강화 추적 방지 기능을 끕니다.
  + **Chrome 시크릿 모드** - Chrome 시크릿 모드는 기본적으로 서드 파티 쿠키를 차단합니다. 주소 표시줄의 눈 모양 아이콘을 클릭하여 쿼리 에디터 v2에 서드 파티 쿠키를 허용할 수 있습니다. 쿠키를 허용하도록 설정을 변경한 후에는 주소 표시줄에 눈 모양 아이콘이 보이지 않을 수 있습니다.
  + **Safari** - Mac의 경우 Safari 앱을 엽니다. **설정**을 선택한 후 **고급**을 선택합니다. 토글을 전환하여 **모든 쿠키 차단**을 끕니다.
  + **Edge** - **설정**을 선택하고 **쿠키 및 사이트 권한**을 선택합니다. 그런 다음 **쿠키 및 사이트 데이터 관리 및 삭제** 선택하고 **타사 쿠키 차단**을 끕니다.

  설정을 변경한 후 연결을 시도해도 **연결 문제: Identity Center 세션 정보를 사용할 수 없습니다 오류 메시지가 계속 표시되는 경우** AWS IAM Identity Center와의 연결을 새로 고치는 것이 좋습니다. 이렇게 하려면 Redshift 데이터베이스 인스턴스를 마우스 오른쪽 버튼으로 클릭하고 **새로 고침**을 선택합니다. 인증을 수행할 수 있는 새 창이 나타납니다.
+ 오류: **연결 문제: Identity Ceneter 세션이 만료되었거나 유효하지 않습니다.** - Redshift 프로비저닝된 클러스터 또는 Severless 작업 그룹을 AWS IAM Identity Center와 통합한 후 사용자가 쿼리 에디터 v2에서 Redshift 데이터베이스에 연결하려고 하면 이 오류가 표시될 수 있습니다. 연결 시도가 성공한 후 이 문제가 발생할 수 있습니다. 이 경우 다시 인증하는 것이 좋습니다. 이렇게 하려면 Redshift 데이터베이스 인스턴스를 마우스 오른쪽 버튼으로 클릭하고 **새로 고침**을 선택합니다. 인증을 수행할 수 있는 새 창이 나타납니다.
+ 오류: **범위가 잘못되었습니다. 사용자 자격 증명은 Redshift에 연결할 권한이 없습니다.** - 자격 증명 관리를 위해 Redshift 프로비저닝된 클러스터 또는 Serverless 작업 그룹을 AWS IAM Identity Center와 통합한 후 사용자가 쿼리 에디터 v2에서 Redshift 데이터베이스에 연결하려고 하면 이 오류가 표시될 수 있습니다. 이 경우 쿼리 에디터 v2가 AWS IAM Identity Center를 통해 사용자를 성공적으로 연결하고 인증하여 올바른 리소스에 액세스하려면 관리자가 Redshift 콘솔을 통해 Redshift AWS IAM Identity Center 애플리케이션에 사용자를 할당해야 합니다. 이 작업은 **IAM Identity Center 연결**에서 완료됩니다. 이렇게 하면 사용자는 AWS IAM Identity Center 세션 캐싱의 한도인 1시간 후에 성공적인 연결을 설정할 수 있습니다.
+ 오류: **데이터베이스를 나열할 수 없습니다. FATAL: 클러스터가 자동으로 일시 중지될 때 쿼리가 실패했습니다.** - Amazon Redshift Serverless 데이터베이스가 워크로드를 처리하지 않는 유휴 상태이면 AWS IAM Identity Center 자격 증명으로 연결할 때 일시 중지 상태를 유지할 수 있습니다. 이 문제를 해결하려면 다른 인증 방법으로 로그인하여 서버리스 작업 그룹을 다시 시작합니다. 그런 다음 AWS IAM Identity Center 자격 증명으로 데이터베이스에 연결합니다.
+ 오류: **AWS IAM Identity Center와 페더레이션하려고 시도하는 동안 오류가 발생했습니다. Amazon Redshift 관리자는 Redshift 콘솔을 사용하여 AWS IAM Identity Center QEV2 애플리케이션을 삭제하고 다시 생성해야 합니다.** - 이 오류는 일반적으로 쿼리 에디터 v2와 연결된 AWS IAM Identity Center 애플리케이션 인스턴스가 삭제될 때 발생합니다. 이 문제를 해결하려면 Amazon Redshift 관리자가 AWS IAM Identity Center를 위해 Redshift 및 쿼리 에디터 v2 애플리케이션을 삭제하고 다시 생성해야 합니다. 이 작업은 Redshift 콘솔 또는 [https://docs.aws.amazon.com/cli/latest/reference/redshift/delete-redshift-idc-application.html](https://docs.aws.amazon.com/cli/latest/reference/redshift/delete-redshift-idc-application.html) CLI 명령을 사용하여 수행할 수 있습니다.