タダです.
Amazon Workspaces(以下,Workspaces)のログインを Microsoft EntraID の SAML 認証で設定する事があったので今回は SAML 認証設定編です.なお,前回記事は以下になります.
Workspaces のログインを SAML 認証設定でやること
以下のドキュメントにステップが書かれているため,この記事でも沿って書いていきます.
設定工程
事前準備
事前準備として Microsoft EntraID のエンタープライズアプリケーションから SAML のメタデータを取ってくる必要があるので,その設定をまず行います.エンタープライズアプリケーションの SAML 設定でこちらの URL からダウンロードした saml-metadata.xml
をアップロードします.アップロードして保存後にフェデレーションメタデータXML ファイルをダウンロードしておきます.
AWS IAM で SAML ID プロバイダーを作成する
IAM で SAML ID プロパイダーを追加します.事前準備でダウンロードしたフェデレーションメタデータ XML ファイルをアップロードして保存します.
SAML 2.0 フェデレーション IAM ロールを作成する & SAML 2.0 ID プロバイダーを設定する
追加した SAML ID プロバイダーを信頼関係に指定した IAM ロールを作ります.ドキュメントの手順に沿って最終的に以下のポリシーを作成できていれば OK です.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::[AWS アカウント番号]:saml-provider/[追加した SAML ID プロバイダー名]" }, "Action": [ "sts:AssumeRoleWithSAML", "sts:TagSession" ], "Condition": { "StringEquals": { "SAML:sub_type": "persistent" } } } ] }
IAM ロールにインラインポリシーを埋め込む
作成した IAM ロールのインラインポリシーを追加します.ドキュメントの手順に沿って最終的に以下のポリシーを作成できていれば OK です.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "workspaces:Stream", "Resource": "arn:aws:workspaces:ap-northeast-1:[AWS アカウント番号]:directory/[AD Connector のディレクトリ ID]", "Condition": { "StringEquals": { "workspaces:userId": "${saml:sub}" } } } ] }
SAML 認証レスポンスのアサーションを作成する
次に認証レスポンスの中に Microsoft EntraID が AWS に送信する SAML 属性としての情報を設定します.次の4点をシングルサインオン
のページの属性とクレーム
セクションで指定します.
- 一意のユーザー識別子 (名前 ID):
user.mailnickname
https://aws.amazon.com/SAML/Attributes/PrincipalTag:Email
:user.email
https://aws.amazon.com/SAML/Attributes/Role
:arn:aws:iam::ACCOUNTNUMBER:role/ROLENAME,arn:aws:iam::ACCOUNTNUMBER:saml-provider/PROVIDERNAME
https://aws.amazon.com/SAML/Attributes/RoleSessionName
:user.mailnickname
設定完了すると,以下の画像のような設定になります.
フェデレーションのリレーステートを設定する
Microsoft EntraID を使用した WorkSpaces ディレクトリのリレーステート URL を指すようにフェデレーションのリレーステートを設定します.https://relay-state-region-endpoint/sso-idp?registrationCode=registration-code
形式で指定する必要があるので,東京リージョンで設定する場合は以下のような指定になります.
WorkSpaces ディレクトリで SAML 2.0 との統合を有効にする
Microsoft EntraID のエンタープライズアプリケーションで SAML 認証を通すユーザーを追加しておき, https://myapps.microsoft.com/
にアクセスして対象のエンタープライズアプリケーションのリンクをコピーしておきます.コピーした URL の signin
以降を切り取り, https://myapps.microsoft.com/signin/
の後ろに付与した URL を手元で作っておきます.ここから Workspaces ディレクトリで SAML との統合設定を進めます.ドキュメントに沿って最終的に画像のように設定が完了します.
Workspaces のログインで動作確認を行う
ここまでの設定が問題なければ,Workspaces クライアントから SAML 認証でログインできるようになるため動作確認を行います.
エンタープライズアプリケーションに追加したユーザーと前回記事の Active Directory に追加したログインユーザー名が一致しており,かつ Active Directory で設定したパスワードが一致してればログインが成功します.
まとめ
この記事では Workspaces へのログインで Microsoft EntraID SAML 認証を使う設定をまとめました.