

 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/)を参照してください。

# IAM 認証を使用したデータベースユーザー認証情報の生成
<a name="generating-user-credentials"></a>

AWS Identity and Access Management (IAM) のアクセス許可ポリシーによって付与されるアクセス許可に基づいて一時的なデータベース認証情報を生成し、Amazon Redshift データベースに対するユーザーのアクセスを管理できます。

一般的に、Amazon Redshift データベースユーザーは、データベースのユーザー名とパスワードを提供してデータベースにログオンします。ただし、Amazon Redshift データベースでユーザー名とパスワードを維持する必要はありません。ユーザーがユーザー認証情報を作成し、IAM 認証情報に基づいてデータベースにログオンできるようにシステムを設定できます。

Amazon Redshift は、一時的データベースユーザー認証情報を生成する [GetClusterCredentials](https://docs.aws.amazon.com/redshift/latest/APIReference/API_GetClusterCredentials.html) API オペレーションを提供します。`GetClusterCredentials` オペレーションを呼び出すプロセスを管理する Amazon Redshift JDBC、または ODBC ドライバーで SQL クライアントを設定できます。これは、データベースのユーザー認証情報を取得し、SQL クライアントと Amazon Redshift データベース間の接続を確立することにより行われます。また、データベースアプリケーションを使用してプログラムで `GetClusterCredentials` オペレーションを呼び出し、データベースのユーザー認証情報を取得して、データベースに接続することもできます。

既に AWSの外部でユーザー ID を管理している場合、Security Assertion Markup Language (SAML) 2.0 に準拠した ID プロバイダー (IdP) を使用して、Amazon Redshift リソースへのアクセスを管理できます。IAM ロールへのフェデレーティッドユーザーアクセスを許可するよう IdP を設定します。この IAM ロールにより、一時的データベース認証情報を生成し、Amazon Redshift データベースにログオンできます。

SQL クライアントには、自動的に `GetClusterCredentials` オペレーションを呼び出すためのアクセス許可が必要です。IAM ロールを作成し、`GetClusterCredentials` オペレーションと関連アクションへのアクセスを付与または制限する IAM アクセス権限ポリシーを添付して、それらのアクセス許可を管理します。ベストプラクティスとして、アクセス許可ポリシーを IAM ロールにアタッチし、それを必要に応じてユーザーやグループに割り当てることをお勧めします。詳細については、「[Amazon Redshift での Identity and Access Management](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html)」を参照してください。

このポリシーでは、Amazon Redshift クラスター、データベース、データベースユーザー名、ユーザーグループ名など特定のリソースへのアクセスが付与または制限されます。

**注記**  
Amazon Redshift JDBC、または ODBC ドライバーを使用して `GetClusterCredentials` オペレーションを呼び出し、データベースにログオンするプロセスを管理することをお勧めします。分かりやすいように、このトピック全体で JDBC または ODBC ドライバーとともに SQL クライアントを使用するものと仮定します。  
`GetClusterCredentials` オペレーションまたは並列 `get-cluster-credentials` CLI コマンドの使用の具体的な詳細と例については、[GetClusterCredentials](https://docs.aws.amazon.com/redshift/latest/APIReference/API_GetClusterCredentials.html) および [get-cluster-credentials](https://docs.aws.amazon.com/cli/latest/reference/redshift/get-cluster-credentials.html) を参照してください。

認証と認可を一元的に管理するため、Amazon Redshift では IAM を使用したデータベース認証がサポートされ、エンタープライズフェデレーションによるユーザー認証が可能になります。ユーザーを作成する代わりに、AWS Directory Service、エンタープライズユーザーディレクトリ、またはウェブ ID プロバイダーの既存のアイデンティティを使用できます。このようなユーザーはフェデレーティッドユーザーと呼ばれます。 AWS では、IdP を通じてアクセスが要求されたとき、フェデレーティッドユーザーにロールを割り当てます。

組織内のユーザーまたはクライアントアプリケーションに Amazon Redshift API オペレーションを呼び出すフェデレーティッドアクセスを提供するには、SAML 2.0 をサポートした JDBC または ODBC ドライバーを使用して、組織の IdP から認証をリクエストすることもできます。この場合、組織のユーザーは Amazon Redshift に直接アクセスすることはできません。

詳細については、「IAM ユーザーガイド**」の「[ID プロバイダーとフェデレーション](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html)」を参照してください。