

 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 と Amazon S3 Access Grants の統合
<a name="redshift-iam-access-control-sso-s3idc"></a>

Amazon S3 Access Grants との統合を利用すると、IAM アイデンティティセンターのアイデンティティをシームレスに伝達して、Amazon S3 データへのアクセスを制御できます。この統合により、IAM アイデンティティセンターのユーザーとグループに基づいて 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 アイデンティティセンターのアイデンティティに基づいて、Amazon S3 のデータへアクセスをきめ細かく制御できます。
+ Amazon Redshift と Amazon S3 全体で IAM アイデンティティセンターのアイデンティティを一元的に管理できます。
+ Amazon S3 アクセスに対して個別の IAM アクセス許可を管理する手間を省けます。

## 仕組み
<a name="redshift-iam-access-control-sso-s3idc-howitworks"></a>

アプリケーションを Amazon S3 Access Grants と統合するには、次の操作を行います。
+ まず、AWS マネジメントコンソール または AWS CLI を使用して、Amazon Redshift を Amazon S3 Access Grants と統合するように設定します。
+ 次に、IdC 管理者権限を持つユーザーが、Amazon S3 Access Grants サービスを使用して、Amazon S3 バケットまたはプレフィックスに特定の IdC ユーザー/グループへのアクセスを許可します。詳細については、「[S3 Access Grants での許可の使用](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-grant.html)」を参照してください。
+ Redshift に対して認証済みの IdC ユーザーが S3 にアクセスするクエリ (COPY、UNLOAD、 Spectrum オペレーションなど) を実行すると、Amazon Redshift はその IdC アイデンティティに範囲を限定された一時的な S3 アクセス認証情報を Amazon S3 Access Grants サービスから取得します。
+ 次に、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 マネジメントコンソール を使用して 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 マネジメントコンソール を使用して 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 アイデンティティセンターが設定されていない場合は、**[ID プロバイダー統合]** セクションは表示されません。詳細については、「[Enabling AWS IAM アイデンティティセンター](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 アイデンティティを承認に使用します。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
```