Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、ブログ記事
前提条件
Amazon Redshift フェデレーティッドアクセス許可設定の IAM ポリシー要件
Amazon Redshift フェデレーティッドアクセス許可を使用すると、Redshift ウェアハウスによって直接管理されるアクセス許可を使用して、分析ワークロード全体のデータアクセスを一元管理できます。
Amazon Redshift フェデレーティッドアクセス許可を有効にするには、Redshift でプロビジョニングされたクラスターとサーバーレス名前空間の作成に必要な標準のアクセス許可に加えて、特定の IAM アクセス許可が必要です。
Redshift プロビジョニングされたウェアハウスで Redshift フェデレーティッドアクセス許可を有効にするには
redshift:ModifyLakehouseConfigurationredshift:RegisterNamespace
Redshift Serverless ウェアハウスで Redshift フェデレーティッドアクセス許可を有効にするには
redshift-serverless:UpdateLakehouseConfigurationredshift:RegisterNamespace
AWS Glue Data Catalog 統合で、Redshift フェデレーティッドアクセス許可を持つカタログを作成するには
glue:CreateCatalogglue:GetCatalog
Lake Formation リソースを 1 回限りの登録として登録し、フェデレーティッドアクセス許可を持つリモートウェアハウスから Redshift アクセス許可フェデレーションを有効にする場合
lakeformation:RegisterResourcelakeformation:RegisterResourceWithPrivilegedAccess
フェデレーティッドアクセス許可を持つ Redshift ウェアハウスの IAM アイデンティティセンターアプリケーション設定
Amazon Redshift は、アイデンティティセンターの ID 伝播をサポートし、Redshift インスタンスと AWS Lake Formation、AWS Glue サービス間でユーザー ID をシームレスに渡します。この機能を使用するには、専用の IdC アプリケーションを設定する必要があります。
必須の IAM アクセス許可
アイデンティティセンター ID 伝播用のアイデンティティセンターアプリケーションを作成および管理するには、IAM アクセス許可に次のアクセス許可が含まれていることを確認してください。
Amazon Redshift IdC アプリケーション管理の場合
redshift:CreateRedshiftIdcApplicationredshift:ModifyRedshiftIdcApplicationredshift:DescribeRedshiftIdcApplications
Lake Formation IdC アプリケーション管理の場合
lakeformation:CreateLakeFormationIdentityCenterConfigurationlakeformation:DescribeLakeFormationIdentityCenterConfigurationlakeformation:UpdateLakeFormationIdentityCenterConfiguration
対応する IdC アプリケーションと設定を作成する
分析ワークロードの ID 伝播を確立するには、Lakehouse タイプの Amazon Redshift IdC アプリケーションを作成します。明示的なユーザー割り当てを必要とせずにアクセス許可を管理します。このアプリケーションにリンクされた Redshift ウェアハウスには、IdC ユーザーが接続を認証するための CONNECT 権限が必要です。
Lakehouse タイプの Amazon Redshift IdC アプリケーションは、AWS アカウントごとに 1 つだけ作成できます。このアプリケーションは、Lake Formation および AWS Glue サービスと統合されたすべての Redshift ウェアハウスでの ID の伝播を処理します。アプリケーションは、AWS Glue Data Catalog に登録されている Redshift ウェアハウスでのみ使用できます。
Redshift が引き受け、IdC ID 伝播で使用される IAM ロールを準備する
Redshift Lakehouse IdC アプリケーションを作成するには、お使いのアカウントに特定の IAM アクセス許可のある IAM ロールが必要です。Redshift IdC アプリケーションで使用される IAM ロールには、Redshift がそれを引き受けて IdC ID 伝播のコンテキストを設定できるように、次の信頼関係が必要です。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Principal": { "Service": [ "redshift-serverless.amazonaws.com", "redshift.amazonaws.com" ] }, "Action": [ "sts:AssumeRole", "sts:SetContext" ] } ] }
また、IdC ID の伝播をサポートする IdC IAM ロールのアクセス許可を以下に示します。
-
AmazonRedshiftFederatedAuthorization – このポリシーにより、Amazon Redshift はフェデレーションアクセス許可を使用して AWS Glue Data Catalog データベースをクエリできます。
-
AWSIDC コンテキスト設定ポリシー
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:SetContext" ], "Resource": "*" } ] } -
AWS IAM アイデンティティセンター で Redshift を AWS マネージドアプリケーションとして設定します。
-
AWSIDC アイデンティティセンター SSO IAM ポリシー:
-
sso:DescribeApplication– カタログに ID プロバイダー (IdP) エントリを作成するために必要です。 -
sso:DescribeInstance– IdP フェデレーションロールまたはユーザーを手動で作成する場合に使用します。{ "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "sso:DescribeApplication", "sso:DescribeInstance" ], "Resource": [ "arn:aws:sso:::instance/<IAM Identity Center Instance ID>", "arn:aws:sso::<AWS-account-id>:application/<IAM Identity Center Instance ID>/*" ] }
-
新しい Lakehouse タイプ Redshift IdC アプリケーションを作成する
既存の Redshift IdC アプリケーションを変更する
必要なサービス統合が有効になっていない既存の Redshift IdC アプリケーションがある場合は、サービスとクラスター/名前空間の間の ID 伝播をサポートするように更新できます。
Lake Formation アイデンティティセンター設定を作成する
Lake Formation サービスには、専用 IdC アプリケーションがまだ作成されていない場合に必要です。また、設定が正しく機能するためには、Redshift:Connect 認可を有効にする必要があります。
Lake Formation アイデンティティセンターの設定を更新する
必要なサービス統合が有効になっていない Lake Formation IdC アプリケーションを設定した場合は、サービスとクラスター/名前空間の間の ID 伝播をサポートするように更新できます。
Lake Formation の前提条件
Amazon Redshift フェデレーティッドアクセス許可で AWS Glue Data Catalog を有効にするには、Lake Formation の CREATE_CATALOG アクセス許可が必要です。
-
アカウントが既存の Lake Formation カスタマーに属している場合、Lake Formation 管理者は各クラスター作成者に CREATE_CATALOG アクセス許可を明示的に付与する必要があります。次の CLI コマンドの例を使用します。
aws lakeformation grant-permissions \ --cli-input-json \ '{ "Principal": { "DataLakePrincipalIdentifier": "<PrincipalArn>" }, "Resource": { "Catalog": {} }, "Permissions": [ "CREATE_CATALOG" ] }' -
アカウントが Lake Formation を使用したことがない場合は、Lake Formation コンソールの管理ロールとタスクページで、カタログ作成者が IAMAllowedPrincipals に設定されていることを確認します。設定されていない場合は、「データレイク管理者を作成する」に従ってデータレイク管理者を設定します。または、Amazon Redshift フェデレーティッドアクセス許可で AWS Glue Data Catalog のみを使用する場合は、必要最小限のポリシーでデータレイク管理者を作成できます。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "lakeformation:PutDataLakeSettings", "lakeformation:GrantPermissions", "lakeformation:GetDataLakeSettings", "lakeformation:BatchGrantPermissions", "lakeformation:ListPermissions" ], "Resource": [ "*" ] } ] } -
データレイク管理者に、カタログを作成するためのアクセス許可を IAMAllowedPrincipals に付与してもらいます。アクセスは、[管理ロールとタスク] ページのカタログ作成者の [付与] ボタンを使用して付与できます。
Connect 権限
Amazon Redshift フェデレーティッドアクセス許可の一部として、Amazon Redshift は Amazon Redshift ワークグループまたはクラスターへの AWS IAM アイデンティティセンター フェデレーションユーザーのアクセスを管理するための CONNECT 権限を導入しました。この機能は、ワークグループまたはクラスターで Amazon Redshift フェデレーティッドアクセス許可が有効になっている場合に使用できます。
この権限により、管理者は Amazon Redshift フェデレーティッドアクセス許可が有効になっている各 Amazon Redshift ワークグループまたはクラスターのきめ細かなアクセス許可を通じてユーザーアクセスを制御できます。Amazon Redshift 管理者は、Amazon Redshift ワークグループまたはクラスターに直接接続するためのアクセス権を持つ AWS IAM アイデンティティセンター フェデレーションユーザー (複数可) またはグループ (複数可) を指定し、各ワークグループまたはクラスターでの AWS IAM アイデンティティセンター ユーザーアクセスをきめ細かく制御できます。
構文
GRANT CONNECT [ON WORKGROUP] TO [USER] <prefix>:<username> | ROLE <prefix>:<rolename> | PUBLIC;
- CONNECT [ON WORKGROUP]
-
ワークグループに接続するアクセス許可を付与 CONNECT アクセス許可は、AWS IAM アイデンティティセンター ID (ユーザーとロール) にのみ適用されます。
- TO <prefix>:<username>
-
アクセス許可を受け取る AWS IAM アイデンティティセンター フェデレーションユーザーを示します。
- TO ROLE <prefix>:<rolename>
-
アクセス許可を受け取る AWS IAM アイデンティティセンター フェデレーショングループを示します。
- PUBLIC
-
CONNECT アクセス許可を、後で作成されるユーザーを含め、すべての AWS IAM アイデンティティセンター フェデレーションユーザーに付与します。