AD FS
このチュートリアルでは、AD FS を ID プロバイダー (IdP) として使用して、Amazon Redshift クラスターにアクセスする方法を説明します。
ステップ 1: AD FS と AWS アカウントを相互に信頼するように設定する
以下の手順では、信頼関係を設定する方法を説明します。
-
AD FS ユーザーが接続するための既存の Amazon Redshift クラスターを作成または使用します。接続を設定するには、クラスター識別子など、このクラスターの特定のプロパティが必要です。詳細については、「クラスターの作成」を参照してください。
-
Microsoft マネジメントコンソールで Amazon Redshift アクセスを制御するために AD FS を設定します。
-
ADFS 2.0を選択し、証明書利用者信頼の追加を選択します。証明書利用者信頼の追加ウィザード ページで、開始を選択します。
-
データソースの選択 ページで、オンラインまたはローカルネットワーク上で公開されている証明書利用者に関するデータのインポートを選択します。
-
フェデレーションメタデータアドレス (ホスト名またはURL)に
https://signin.aws.amazon.com/saml-metadata.xml
と入力します。メタデータ XML ファイルは、AWS を証明書利用者として記述する標準の SAML メタデータドキュメントです。 -
表示名の指定 ページで、表示名に値を入力します。
-
発行認可ルールの選択 ページで、この証明書利用者へのアクセスをすべてのユーザーに許可または拒否する発行認可ルールを選択します。
-
信頼の追加の準備 ページで、設定を確認します。
-
終了 ページで、ウィザードが終了すると、この証明書利用者信頼のための [クレームルールの編集] ダイアログが開きますを選択します。
-
コンテキスト (右クリック) メニューで、証明書利用者信頼を選択します。
-
証明書利用者については、コンテキスト (右クリック) メニューを開き、クレームルールの編集を選択します。[クレームルールの編集] ページで、[ルールを追加] を選択します。
-
クレームルールテンプレートで、受信クレームの変換を選択し、ルールの編集 – NameIdページで、次の操作を行います。
-
クレームルール名に NameIdを入力します。
-
受信クレーム名で、Windows アカウント名を選択します。
-
発信クレーム名で、名前 IDを選択します。
-
発信者名 ID フォームで、永続的識別子を選択します。
-
すべてのクレーム値を通過を選択します。
-
-
[クレームルールの編集] ページで、[ルールを追加] を選択します。ルールテンプレートの選択 ページの クレームルールテンプレートで、LDAP 属性をクレームとして送信を選択します。
-
ルールの設定 ページで、次の手順を実行します。
-
クレームルール名に、RoleSessionNameと入力します。
-
属性を保存するで アクティブディレクトリを選択します。
-
LDAP 属性で E-Mail-Addressesを選択します。
-
送信クレームタイプで https://aws.amazon.com/SAML/Attributes/RoleSessionNameを選択します。
-
-
[クレームルールの編集] ページで、[ルールを追加] を選択します。[ルールテンプレートの選択] ページの [クレームルールテンプレート]で、[カスタムルールによるクレーム送信] を選択します。
-
ルールの編集 - AD グループの取得 ページで、クレームルール名に AD グループの取得と入力します。
-
カスタムルールで、次のように入力します。
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => add(store = "Active Directory", types = ("http://temp/variable"), query = ";tokenGroups;{0}", param = c.Value);
-
[クレームルールの編集] ページで、[ルールを追加] を選択します。[ルールテンプレートの選択] ページの [クレームルールテンプレート]で、[カスタムルールによるクレーム送信] を選択します。
-
ルールの編集 - ロール ページの クレームルール名に ロールと入力します。
-
カスタムルールで、次のように入力します。
c:[Type == "http://temp/variable", Value =~ "(?i)^AWS-"] => issue(Type = "https://aws.amazon.com/SAML/Attributes/Role", Value = RegExReplace(c.Value, "AWS-", "arn:aws:iam::123456789012:saml-provider/ADFS,arn:aws:iam::123456789012:role/ADFS-"));
引き受ける SAML プロバイダーとロールの ARN をメモします。この例では、
arn:aws:iam:123456789012:saml-provider/ADFS
は SAML プロバイダーの ARN で、arn:aws:iam:123456789012:role/ADFS-
はロールの ARN です。
-
-
federationmetadata.xml
ファイルをダウンロードしたことを確認します。ドキュメントの内容に無効な文字が含まれていないことを確認してください。これは、AWSとの信頼関係を設定する際に使用するメタデータファイルです。 -
IAM コンソールで、IAM SAML アイデンティティプロバイダーを作成します。指定したメタデータドキュメントは、Azure エンタープライズアプリケーションの設定時に保存したフェデレーションメタデータ XML ファイルです。詳細な手順については、「IAM ユーザーガイド」の「IAM ID プロバイダーを作成および管理する (コンソール)」を参照してください。
-
IAM コンソールで、SAML 2.0 フェデレーション用の IAM ロールを作成します。詳細なステップについては、「IAM ユーザーガイド」の「SAML 用のロールの作成」を参照してください。
-
IAM コンソールで SAML 2.0 フェデレーション用に作成した IAM ロールにアタッチできる IAM ポリシーを作成します。詳細な手順については、「IAM ユーザーガイド」の「IAM ポリシーの作成 (コンソール)」を参照してください。Azure AD の例については、「JDBC または ODBC シングルサインオン認証の設定」を参照してください。