ステップ 2: IdP の SAML アサーションを設定する - Amazon Redshift

ステップ 2: IdP の SAML アサーションを設定する

IAM ロールを作成したら、組織のユーザーまたはグループを IAM ロールにマッピングするクレームルールを IdP アプリケーションで定義する必要があります。詳細については、IAM ユーザーガイド認証応答の SAML アサーションを設定する を参照してください。

オプションの GetClusterCredentials パラメータ DbUserAutoCreateDbGroupsを使用する場合は、2 つのオプションがあります。JDBC 接続または ODBC 接続でパラメータの値を設定することも、SAML 属性要素を IdP に追加して値を設定することもできます。DbUserAutoCreateDbGroups パラメータの詳細については、ステップ 5: IAM 認証情報を使用するように JDBC または ODBC 接続を設定するを参照してください。

注記

${redshift:DbUser}」で説明されているように、IAM ポリシー変数 GetClusterCredentials のリソースポリシー を使用する場合、DbUserの値は API オペレーションのリクエストコンテキストから取得した値で置き換えられます。Amazon Redshift ドライバーは、SAML 属性として提供される値ではなく、接続 URL から提供される DbUser 変数の値を使用します。

この接続の安全性を維持するには、IAM ポリシーの条件を使用して、DbUser 値を RoleSessionNameで検証することが推奨されます。IAM ポリシーを使用して条件を設定する方法の例は、GetClusterCredentials を使用するポリシーの例で参照できます。

DbUserAutoCreateDbGroups パラメータを設定するように 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>