概要
Amazon Redshift は、一時的データベースユーザー認証情報を生成する GetClusterCredentials 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」を参照してください。
このポリシーでは、Amazon Redshift クラスター、データベース、データベースユーザー名、ユーザーグループ名など特定のリソースへのアクセスが付与または制限されます。
注記
Amazon Redshift JDBC、または ODBC ドライバーを使用して GetClusterCredentials
オペレーションを呼び出し、データベースにログオンするプロセスを管理することをお勧めします。分かりやすいように、このトピック全体で JDBC または ODBC ドライバーとともに SQL クライアントを使用するものと仮定します。
GetClusterCredentials
オペレーションまたは並列 get-cluster-credentials
CLI コマンドの使用の具体的な詳細と例については、GetClusterCredentials および get-cluster-credentials を参照してください。
認証と承認を一元的に管理するため、Amazon Redshift では IAM を使用したデータベース認証がサポートされ、エンタープライズフェデレーションによるユーザー認証が可能になります。ユーザーを作成する代わりに、AWS Directory Service、エンタープライズユーザーディレクトリ、またはウェブ ID プロバイダーの既存のアイデンティティを使用できます。このようなユーザーはフェデレーティッドユーザーと呼ばれます。 AWS では、IdP を通じてアクセスが要求されたとき、フェデレーティッドユーザーにロールを割り当てます。
組織内のユーザーまたはクライアントアプリケーションに Amazon Redshift API オペレーションを呼び出すフェデレーティッドアクセスを提供するには、SAML 2.0 をサポートした JDBC または ODBC ドライバーを使用して、組織の IdP から認証をリクエストすることもできます。この場合、組織のユーザーは Amazon Redshift に直接アクセスすることはできません。