

 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 アドレス、および呼び出しの発生日時を特定できます。AWS CloudTrail におけるクエリエディタ v2 の動作の詳細については、「[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>

**対称暗号化顧客管理キーを作成するには**

クエリエディタ v2 リソースを暗号化する対称暗号化顧客管理キーを作成するには、AWS KMS コンソールまたは AWS KMS API オペレーションを使用します。キーの作成方法については *AWS Key Management Service デベロッパーガイド*の「[対称暗号化 AWS KMS キーの作成](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)」を参照してください。

**キーポリシー**

キーポリシーは、カスタマーマネージドキーへのアクセスを制御します。すべてのカスタマーマネージドキーには、キーポリシーが 1 つだけ必要です。このポリシーには、そのキーを使用できるユーザーとその使用方法を決定するステートメントが含まれています。顧客管理キーを作成するときに、キーポリシーを指定できます。詳細については、「*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`である必要があります。2 番目のセクションでは、ルートユーザーとキー管理者の AWS アカウント `111122223333` がキーにアクセスできます。

 AWS アカウントを作成すると、すべての AWS のサービスとリソースに対する完全なアクセス権を持つ AWS アカウント *ルートユーザー*と呼ばれる 1 つのサインイン 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 Policy Simulator の中で、サービス名として 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 ロールを割り当てたユーザー) が、アカウント内の他のユーザーに対して **[アカウント設定]** ページで**結果セットをエクスポート**することを許可するには、`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 アイデンティティセンター のユーザーとグループ:

  アクセス許可セットを作成します。「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)」の手順に従ってください。
+ IAM 内で、ID プロバイダーによって管理されているユーザー:

  ID フェデレーションのロールを作成します。詳細については *IAM ユーザーガイド* の [サードパーティー ID プロバイダー (フェデレーション) 用のロールを作成する](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) を参照してください。
+ IAM ユーザー:
  + ユーザーが担当できるロールを作成します。手順については *IAM ユーザーガイド* の [IAM ユーザーのロールの作成](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 アイデンティティセンター 管理者がアカウント全体にわたり特定のアクセス許可セットのアクセス許可セットの関連付けをすべて削除すると、削除されたアクセス許可セットに元々関連付けられていたクエリエディタのリソースにアクセスできなくなります。後で同じアクセス許可を再作成すると、新しい内部識別子が作成されます。内部識別子が変更されたため、ユーザーが以前所有していたクエリエディタのリソースにはアクセスできません。管理者がアクセス許可セットを削除する前に、そのアクセス許可セットのユーザーは、ノートブックやクエリなどのクエリエディタのリソースをバックアップとしてエクスポートしておくことをお勧めします。

## クエリエディタ v2 からクラスターまたはワークグループに接続するためのプリンシパルタグの設定
<a name="query-editor-v2-principal-tags-iam"></a>

フェデレーションユーザーオプションを使用してクラスターまたはワークグループに接続するには、プリンシパルタグを使って IAM ロールまたはユーザーを設定します。または、`RedshiftDbUser`および (オプション) `RedshiftDbGroups` で、ID プロバイダー (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 マネジメントコンソール にサインインして、IAM コンソール [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) を開きます。

1. ナビゲーションペインで **[ロール]** を選択します。

1. フェデレーションユーザーを使用して、クエリエディタ v2 へのアクセスが必要なロールを選択します。

1. **[タグ]** タブを選択します。

1. [**タグの管理**] をクリックします。

1. **[タグを追加]** を選択して、`RedshiftDbUser` を **[キー]** に入力し、フェデレーションユーザー名を **[値]** に入力します。

1. オプションで、**[タグの追加]** を選択して、`RedshiftDbGroups` を **[キー]** に入力し、ユーザーに関連付けるグループ名を **[値]** に入力します。

1. **[変更を保存]** を選択して、選択した IAM ロールに関連付けられているタグのリストを表示します。変更が反映されるまで、数秒かかる場合があります。

1. フェデレーションユーザーを使用するには、変更が反映された後、クエリエディタ v2 のページを更新します。

**プリンシパルタグを渡すように ID プロバイダー (IdP) をセットアップする**  
ID プロバイダー (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 フェデレーションサービス (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 フェデレーションサービス (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 へのシングルサインオンアクセスをフェデレーションする) を参照してください。

**注記**  
クエリエディタ v2 の**[フェデレーテッドユーザー]** 接続オプションを使用してクラスターまたはワークグループに接続すると、ID プロバイダー (IdP) は `RedshiftDbUser` と `RedshiftDbGroups` のカスタムプリンシパルタグを提供できます。現時点では、AWS IAM アイデンティティセンター はクエリエディタ v2 へのカスタムプリンシパルタグを直接渡すことはサポートしていません。