

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

# AWS 계정 구성
<a name="query-editor-v2-getting-started"></a>

이 태스크 세트를 수행하여 쿼리 에디터 v2가 Amazon Redshift 데이터베이스를 쿼리하도록 구성할 수 있습니다. 적절한 권한을 가지고 현재 AWS 리전에 있는 AWS 계정 소유의 Amazon Redshift 클러스터 또는 작업 그룹의 데이터에 액세스할 수 있습니다.

관리자가 AWS 계정에 대해 쿼리 편집기 v2를 처음 구성할 때 쿼리 편집기 v2 리소스를 암호화하는 데 사용되는 AWS KMS key를 선택합니다. 기본적으로 AWS 소유의 키가 리소스를 암호화하는 데 사용됩니다. 또는 관리자가 구성 페이지에서 키에 대한 Amazon 리소스 이름(ARN)을 선택하여 고객 관리형 키를 사용할 수 있습니다.

계정을 구성한 후에는 AWS KMS 암호화 설정을 변경할 수 없습니다. 쿼리 편집기 v2에서 고객 관리형 키 생성 및 사용에 대한 자세한 내용은 [쿼리 편집기 v2와 함께 사용할 AWS KMS 고객 관리형 키 생성](#query-editor-v2-kms-key) 섹션을 참조하세요. 관리자는 원한다면 파일에서 데이터를 로드하는 등의 일부 기능에서 사용하는 S3 버킷과 경로를 선택할 수도 있습니다. 자세한 내용은 [로컬 파일 설정 및 워크플로우에서 데이터 로드](query-editor-v2-loading-data-local.md) 섹션을 참조하세요.

Amazon Redshift 쿼리 편집기 v2는 인증, 암호화, 격리 및 규정 준수를 지원하여 저장된 데이터와 전송 중인 데이터를 안전하게 보호합니다. 데이터 보안 및 쿼리 편집기 v2에 대한 자세한 내용은 다음 섹션을 참조하세요.
+ [저장 시 암호화](security-server-side-encryption.md)
+ [전송 중 암호화](security-encryption-in-transit.md)
+ [Amazon Redshift의 구성 및 취약성 분석](security-vulnerability-analysis-and-management.md)

AWS CloudTrail은 직접 수행하거나 AWS 계정을 대신하여 수행한 API 호출 및 관련 이벤트를 캡처하고 지정한 Amazon S3 버킷에 로그 파일을 전송합니다. 어떤 사용자 및 계정이 AWS를 호출했는지 어떤 소스 IP 주소에 호출이 이루어졌는지 언제 호출이 발생했는지 확인할 수 있습니다. 쿼리 편집기 v2가 AWS CloudTrail에서 어떻게 작동하는지 자세히 알아보려면 [CloudTrail을 사용하여 로깅](logging-with-cloudtrail.md) 섹션을 참조하세요. CloudTrail에 대한 자세한 내용은 [AWS CloudTrail 사용자 안내서](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)를 참조하세요.

쿼리 편집기 v2에는 일부 리소스에 대해 조정 가능한 할당량이 있습니다. 자세한 내용은 [Amazon Redshift 객체에 대한 할당량](amazon-redshift-limits.md#amazon-redshift-limits-quota) 섹션을 참조하세요.

## 쿼리 편집기 v2로 생성된 리소스
<a name="query-editor-v2-resources"></a>

쿼리 편집기 v2 내에서 저장된 쿼리 및 차트와 같은 리소스를 생성할 수 있습니다. 쿼리 에디터 v2의 모든 리소스는 IAM 역할 또는 사용자와 연결됩니다. 정책을 IAM 역할에 연결하고 사용자에게 역할을 할당하는 것이 좋습니다.

쿼리 편집기 v2에서 저장된 쿼리와 차트에 대한 태그를 추가하고 제거할 수 있습니다. 사용자 정의 IAM 정책을 설정하거나 리소스를 검색할 때 이러한 태그를 사용할 수 있습니다. AWS Resource Groups 태그 편집기를 사용하여 태그를 관리할 수도 있습니다.

IAM 정책으로 IAM 역할을 설정하여 AWS 리전의 동일한 AWS 계정에 있는 다른 사용자와 쿼리를 공유할 수 있습니다.

## 쿼리 편집기 v2와 함께 사용할 AWS KMS 고객 관리형 키 생성
<a name="query-editor-v2-kms-key"></a>

**대칭 암호화 고객 관리형 키를 생성하려면**:

대칭 암호화 고객 관리형 키를 생성하여 AWS KMS 콘솔 또는 AWS KMS API 작업으로 쿼리 편집기 v2 리소스를 암호화할 수 있습니다. 키 생성에 대한 지침은 *AWS Key Management Service 개발자 안내서*의 [대칭 암호화 AWS KMS 키 생성](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)을 참조하세요.

**키 정책**

키 정책은 고객 관리형 키에 대한 액세스를 제어합니다. 모든 고객 관리형 키에는 키를 사용할 수 있는 사람과 키를 사용하는 방법을 결정하는 문장이 포함된 정확히 하나의 키 정책이 있어야 합니다. 고객 관리형 키를 생성할 때 키 정책을 지정할 수 있습니다. 자세한 내용은 *AWS Key Management Service 개발자 안내서*의 [AWS KMS 키에 대한 액세스 관리](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html#managing-access)를 참조하세요.

Amazon Redshift 쿼리 편집기 v2에서 고객 관리형 키를 사용하려면 키 정책에서 다음 API 작업을 허용해야 합니다.
+ `kms:GenerateDataKey` - 데이터를 암호화하기 위해 고유한 대칭 데이터 키를 생성합니다.
+ `kms:Decrypt` - 고객 관리형 키로 암호화된 데이터를 복호화합니다.
+ `kms:DescribeKey` - 서비스에서 키를 검증할 수 있도록 고객 관리형 키 세부 정보를 제공합니다.

다음은 AWS 계정 `111122223333`의 샘플 AWS KMS 정책입니다. 첫 번째 섹션에서 `kms:ViaService`는 쿼리 편집기 v2 서비스(정책에서 `sqlworkbench.{{region}}.amazonaws.com`으로 명명됨)에 대한 키 사용을 제한합니다. 키를 사용하는 AWS 계정은 `111122223333`이어야 합니다. 두 번째 섹션에서는 AWS 계정 `111122223333`의 루트 사용자 및 키 관리자가 키에 액세스할 수 있습니다.

 AWS 계정을 생성하는 경우에는 모든 AWS 서비스 서비스와 리소스에 대한 완전한 액세스 권한이 있는 AWS 계정 *루트 사용자*라는 단일 로그인 ID로 시작합니다. 일상적인 태스크에 루트 사용자를 사용하지 않을 것을 강력히 권장합니다. 루트 사용자 자격 증명이 필요한 작업은 *IAM 사용 설명서*의 [루트 사용자 자격 증명이 필요한 작업](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) 섹션을 참조하세요.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "key-consolepolicy",
    "Statement": [
        {
            "Sid": "Allow access to principals authorized to use Amazon Redshift Query Editor V2",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt",
                "kms:DescribeKey"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": "sqlworkbench.{{us-east-1}}.amazonaws.com",
                    "kms:CallerAccount": "{{111122223333}}"
                }
            }
        },
        {
            "Sid": "Allow access for key administrators",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{111122223333}}:root"
            },
            "Action": [
                "kms:*"
            ],
            "Resource": "arn:aws:kms:{{us-east-1}}:{{111122223333}}:key/key_ID"
        }
    ]
}
```

------

다음 리소스에서 AWS KMS 키에 대한 추가 정보를 확인할 수 있습니다.
+ AWS KMS 정책에 대한 자세한 내용은 *AWS Key Management Service 개발자 안내서*의 [정책에서 권한 지정](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html#overview-policy-elements)을 참조하세요.
+ AWS KMS 정책 문제 해결에 대한 자세한 내용은 *AWS Key Management Service 개발자 안내서*의 [키 액세스 문제 해결](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html#example-no-iam)을 참조하세요.
+ 키에 대한 자세한 내용은 *AWS Key Management Service 개발자 안내서*의 [AWS KMS 키](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys)를 참조하세요.

## 쿼리 편집기 v2에 액세스
<a name="query-editor-v2-configure"></a>

쿼리 편집기 v2에 액세스하려면 권한이 있어야 합니다. 관리자는 다음 AWS 관리형 정책 중 하나를 역할에 연결하여 권한을 부여할 수 있습니다. (IAM 역할에 정책을 연결하고 사용자에게 역할을 할당하는 것이 좋습니다.) 이러한 AWS 관리형 정책은 리소스 태깅이 쿼리 공유를 허용하는 방법을 제어하는 다양한 옵션으로 작성됩니다. IAM 콘솔(([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)))을 사용하여 IAM 사용자 정책을 연결할 수 있습니다.
+ **AmazonRedshiftQueryEditorV2FullAccess** – Amazon Redshift 쿼리 편집기 v2 작업 및 리소스에 대한 전체 액세스 권한을 부여합니다. 이 정책은 다른 필수 서비스에 대한 액세스 권한도 부여합니다.
+ **AmazonRedshiftQueryEditorV2NoSharing** – 리소스를 공유하지 않고 Amazon Redshift 쿼리 편집기 v2 관련 작업을 수행할 수 있는 권한을 부여합니다. 이 정책은 다른 필수 서비스에 대한 액세스 권한도 부여합니다.
+ **AmazonRedshiftQueryEditorV2ReadSharing** – 제한된 리소스 공유로 Amazon Redshift 쿼리 편집기 v2 관련 작업을 수행할 수 있는 권한을 부여합니다. 부여된 보안 주체는 팀과 공유된 리소스를 읽을 수 있지만 업데이트할 수는 없습니다. 이 정책은 다른 필수 서비스에 대한 액세스 권한도 부여합니다.
+ **AmazonRedshiftQueryEditorV2ReadWriteSharing** – 리소스 공유와 함께 Amazon Redshift 쿼리 편집기 v2 관련 작업을 수행할 수 있는 권한을 부여합니다. 부여된 보안 주체는 팀과 공유하는 리소스를 읽고 업데이트할 수 있습니다. 이 정책은 다른 필수 서비스에 대한 액세스 권한도 부여합니다.

제공된 관리형 정책에서 허용 및 거부된 권한을 기반으로 고유한 정책을 생성할 수도 있습니다. IAM 콘솔 정책 편집기를 사용하여 고유한 정책을 생성하는 경우 시각적 편집기에서 정책을 생성할 서비스로 **SQL Workbench**를 선택합니다. 쿼리 편집기 v2는 시각적 편집기와 IAM 정책 시뮬레이터에서 서비스 이름으로 AWS SQL Workbench를 사용합니다.

보안 주체(IAM 역할이 할당된 사용자)가 Amazon Redshift 클러스터에 연결하려면 쿼리 에디터 v2 관리형 정책 중 하나에서 권한이 필요합니다. 클러스터에 대한 `redshift:GetClusterCredentialsWithIAM` 또는 `redshift:GetClusterCredentials` 권한 중 하나도 필요합니다. 이 권한을 얻기 위해 관리 권한이 있는 사용자가 임시 자격 증명을 사용하여 클러스터에 연결해야 하는 IAM 역할에 정책을 연결할 수 있습니다. 정책의 범위를 특정 클러스터로 지정하거나 보다 일반적으로 지정할 수 있습니다. 임시 자격 증명 사용 권한에 대한 자세한 내용은 [GetClusterCredentialsWithIAM 또는 GetClusterCredentials 직접 호출 권한이 있는 IAM 역할 또는 사용자 생성](generating-iam-credentials-steps.md#generating-iam-credentials-role-permissions)을 참조하세요.

보안 주체(일반적으로 IAM 역할이 할당된 사용자)가 **Account settings**(계정 설정) 페이지에서 계정의 다른 사용자가 **Export result set**(결과 집합 내보내기) 기능을 사용할 수 있도록 설정하려면 해당 역할에 연결된 `sqlworkbench:UpdateAccountExportSettings` 권한이 필요합니다. 이 권한은 `AmazonRedshiftQueryEditorV2FullAccess` AWS 관리형 정책에 포함되어 있습니다.

쿼리 편집기 v2에 새로운 기능이 추가되면 필요에 따라 AWS 관리형 정책이 업데이트됩니다. 제공된 관리형 정책에서 허용 및 거부된 권한을 기반으로 자체 정책을 생성하는 경우 정책을 편집하여 관리형 정책의 변경 사항을 최신 상태로 유지하세요. Amazon Redshift의 관리형 정책에 대한 자세한 내용은 [Amazon Redshift에 대한 AWS 관리형 정책](redshift-iam-access-control-identity-based.md#redshift-policy-resources.managed-policies) 섹션을 참조하세요.

액세스 권한을 제공하려면 사용자, 그룹 또는 역할에 권한을 추가하세요.
+ AWS IAM Identity Center의 사용자 및 그룹:

  권한 세트를 생성합니다. *AWS IAM Identity Center 사용자 안내서*에서 [권한 세트 생성](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)의 지침을 따릅니다.
+ ID 제공업체를 통해 IAM에서 관리되는 사용자:

  ID 페더레이션을 위한 역할을 생성합니다. *IAM 사용자 설명서*의 [Create a role for a third-party identity provider (federation)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html)의 지침을 따릅니다.
+ IAM 사용자:
  + 사용자가 맡을 수 있는 역할을 생성합니다. *IAM 사용자 설명서*에서 [Create a role for an IAM user](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)의 지침을 따릅니다.
  + (권장되지 않음) 정책을 사용자에게 직접 연결하거나 사용자를 사용자 그룹에 추가합니다. *IAM 사용 설명서*에서 [사용자(콘솔)에 권한 추가](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)의 지침을 따릅니다.

**참고**  
AWS IAM Identity Center 관리자가 전체 계정의 특정 권한 세트에 대한 모든 권한 세트 연결을 제거하면 제거된 권한 세트와 원래 연결된 쿼리 에디터 리소스에 더 이상 액세스할 수 없습니다. 나중에 동일한 권한을 다시 만들면 새 내부 식별자가 만들어집니다. 내부 식별자가 변경되었으므로 사용자가 이전에 소유했던 쿼리 에디터 리소스에 액세스할 수 없습니다. 관리자가 권한 세트를 삭제하기 전에 해당 권한 세트의 사용자가 노트북 및 쿼리와 같은 쿼리 에디터 리소스를 백업으로 내보내는 것이 좋습니다.

## 쿼리 에디터 v2에서 클러스터 또는 작업 그룹을 연결하기 위한 보안 주체 태그 설정
<a name="query-editor-v2-principal-tags-iam"></a>

페더레이션 사용자 옵션을 사용하여 클러스터 또는 작업 그룹에 연결하려면 보안 주체 태그를 사용하여 IAM 역할 또는 사용자를 설정합니다. 또는 `RedshiftDbUser` 및 `RedshiftDbGroups`(선택 사항)를 전달하도록 아이덴티티 제공업체(IdP)를 설정합니다. IAM을 사용하여 태그를 관리하는 방법에 대한 자세한 내용은 *IAM 사용 설명서*의 [AWS Security Token Service에서 세션 태그 전달](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)을 참조하세요. AWS Identity and Access Management를 사용하여 액세스를 설정하려는 경우, 관리자는 IAM 콘솔([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/))을 사용하여 태그를 추가할 수 있습니다.

**IAM 역할에 보안 주체 태그를 추가하려면**

1. AWS Management Console에 로그인하여 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

1. 탐색 창에서 **역할**을 선택합니다.

1. 페더레이션 사용자를 사용하여 쿼리 편집기 v2에 대한 액세스 권한이 필요한 역할을 선택합니다.

1. **태그** 탭을 선택합니다.

1. **태그 관리(Manage tags)**를 선택합니다.

1. **태그 추가**를 선택한 다음 **키**에 `RedshiftDbUser`를 입력하고 **값**에 페더레이션 사용자 이름을 입력합니다.

1. 필요시 **태그 추가**를 선택한 다음 **키**에 `RedshiftDbGroups`를 입력하고 **값**에 사용자에 연결할 그룹 이름을 입력합니다.

1. **변경 사항 저장(Save changes)**을 선택하여 선택한 IAM 역할에 연결된 태그 목록을 봅니다. 변경 사항을 전파하는 데 몇 초 정도 걸릴 수 있습니다.

1. 페더레이션 사용자를 사용하려면 변경 사항이 전파된 후 쿼리 편집기 v2 페이지를 새로 고칩니다.

**보안 주체 태그를 전달하도록 아이덴티티 제공업체(IdP) 설정**  
아이덴티티 제공업체(IdP)를 사용하여 태그를 설정하는 절차는 IdP에 따라 다릅니다. 사용자 및 그룹 정보를 SAML 속성에 전달하는 방법에 대한 지침은 IdP 설명서를 참조하세요. 올바르게 구성된 경우 AWS Security Token Service에서 `RedshiftDbUser` 및 `RedshiftDbGroups`에 대한 보안 주체 태그를 채우는 데 사용하는 SAML 응답에 다음과 같은 속성이 나타납니다.

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:RedshiftDbUser">
    <AttributeValue>{{db-user-name}}</AttributeValue>
</Attribute>
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:RedshiftDbGroups">
    <AttributeValue>{{db-groups}}</AttributeValue>
</Attribute>
```

 선택적 {{db\_groups}}는 `group1:group2:group3`와 같이 콜론으로 구분된 목록이어야 합니다.

또한 역할을 함께 묶을 때 태그를 유지하도록 `TransitiveTagKeys` 속성을 설정할 수 있습니다.

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys">
  <AttributeValue>RedshiftDbUser</AttributeValue>
  <AttributeValue>RedshiftDbGroups</AttributeValue>
</Attribute>
```

쿼리 편집기 v2 설정에 대한 자세한 내용은 [쿼리 편집기 v2를 사용하는 데 필요한 권한](redshift-iam-access-control-identity-based.md#redshift-policy-resources.required-permissions.query-editor-v2) 섹션을 참조하세요.

Active Directory Federation Services(AD FS)를 설정하는 방법에 대한 자세한 내용은 블로그 게시물 [Federate access to Amazon Redshift query editor v2 with Active Directory Federation Services(AD FS)](https://aws.amazon.com/blogs//big-data/federate-access-to-amazon-redshift-query-editor-v2-with-active-directory-federation-services-ad-fs-part-3/)(Active Directory Federation Services(AD FS)를 사용하여 Amazon Redshift 쿼리 편집기 v2에 대한 페더레이션 액세스)를 참조하세요.

Okta를 설정하는 방법에 대한 자세한 내용은 블로그 게시물 [Federate single sign-on access to Amazon Redshift query editor v2 with Okta](https://aws.amazon.com/blogs//big-data/federate-single-sign-on-access-to-amazon-redshift-query-editor-v2-with-okta/)(Okta를 사용하여 Amazon Redshift 쿼리 편집기 v2에 대한 페더레이션 Single Sign-On 액세스)를 참조하세요.

**참고**  
쿼리 에디터 v2의 **페더레이션된 사용자** 연결 옵션을 사용하여 클러스터 또는 작업 그룹에 연결하는 경우 ID 제공업체(idP)는 `RedshiftDbUser` 및 `RedshiftDbGroups`에 대한 사용자 지정 보안 주체 태그를 제공할 수 있습니다. 현재 AWS IAM Identity Center에서는 쿼리 에디터 v2에 사용자 지정 보안 주체 태그를 직접 전달하는 기능을 지원하지 않습니다.