

 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 IAM アイデンティティセンター の Amazon Redshift ロールの自動作成
<a name="redshift-iam-access-control-sso-autocreate"></a>

この機能は AWS IAM アイデンティティセンター との統合であり、グループメンバーシップに基づいて Redshift でロールを自動作成できます。

ロールの自動作成には、いくつかの利点があります。ロールを自動作成すると、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 ロール階層を活用して、アクセス許可の管理を簡素化します。