ステップ 2: IdP の SAML アサーションを設定する
IAM ロールを作成したら、組織のユーザーまたはグループを IAM ロールにマッピングするクレームルールを IdP アプリケーションで定義する必要があります。詳細については、IAM ユーザーガイドの 認証応答の SAML アサーションを設定する を参照してください。
オプションの GetClusterCredentials
パラメータ DbUser
、AutoCreate
、DbGroups
を使用する場合は、2 つのオプションがあります。JDBC 接続または ODBC 接続でパラメータの値を設定することも、SAML 属性要素を IdP に追加して値を設定することもできます。DbUser
、AutoCreate
、DbGroups
パラメータの詳細については、ステップ 5: IAM 認証情報を使用するように JDBC または ODBC 接続を設定するを参照してください。
注記
「${redshift:DbUser}
」で説明されているように、IAM ポリシー変数 GetClusterCredentials のリソースポリシー を使用する場合、DbUser
の値は API オペレーションのリクエストコンテキストから取得した値で置き換えられます。Amazon Redshift ドライバーは、SAML 属性として提供される値ではなく、接続 URL から提供される DbUser
変数の値を使用します。
この接続の安全性を維持するには、IAM ポリシーの条件を使用して、DbUser
値を RoleSessionName
で検証することが推奨されます。IAM ポリシーを使用して条件を設定する方法の例は、GetClusterCredentials を使用するポリシーの例で参照できます。
DbUser
、AutoCreate
、DbGroups
パラメータを設定するように IdP を設定するには、次の Attribute
要素を含めます。
-
Attribute
属性を持つName
要素は「https://redshift.amazon.com/SAML/Attributes/DbUser」に設定します。AttributeValue
要素は、Amazon Redshift データベースに接続するユーザー名に設定します。AttributeValue
要素の値は小文字のみで、先頭は文字にし、英数字、アンダースコア (_)、プラス記号 (+)、ドット (.)、アットマーク (@)、ハイフン (_) のみを含み、128 文字未満である必要があります。通常、ユーザー名はユーザー ID (例: bobsmith) またはメールアドレス (例: bobsmith@example.com) になります。値にスペースを含めることはできません (ユーザーの表示名を Bob Smith にするなど)。<Attribute Name="https://redshift.amazon.com/SAML/Attributes/DbUser"> <AttributeValue>user-name</AttributeValue> </Attribute>
-
Name 属性を持つ Attribute 要素は「https://redshift.amazon.com/SAML/Attributes/AutoCreate」に設定します。
存在していない場合に、新しいデータベースユーザーを作成するには、AttributeValue 要素を true に設定します。データベースユーザーが Amazon Redshift データベースに存在している必要があることを指定するには、AttributeValue を false に設定します。
<Attribute Name="https://redshift.amazon.com/SAML/Attributes/AutoCreate"> <AttributeValue>true</AttributeValue> </Attribute>
-
Attribute
属性を持つName
要素は「https://redshift.amazon.com/SAML/Attributes/DbGroups」に設定します。この要素には、1 つ以上の
AttributeValue
要素が含まれています。Amazon Redshift データベースに接続するとき、セッションの期間中にDbUser
が参加するデータベースグループ名に各AttributeValue
要素を設定します。<Attribute Name="https://redshift.amazon.com/SAML/Attributes/DbGroups"> <AttributeValue>group1</AttributeValue> <AttributeValue>group2</AttributeValue> <AttributeValue>group3</AttributeValue> </Attribute>