☁️ くもをもくもくまなぶ

クラウドコンピューティングサービスの学んだことを中心につらつらと書いています

AWS SSOでAzureAD認証設定を行った時にハマったこと

参考にするドキュメント

Tutorial: Azure AD SSO integration with AWS IAM Identity Center (successor to AWS Single Sign-On) - Microsoft Entra | Microsoft Learn

Azure AD - AWS IAM Identity Center (successor to AWS Single Sign-On) (amazon.com)

利用するギャラリー

Azure AD ギャラリーの参照 - Microsoft Azure

注意ポイント

1. AWSからダウンロードするmetadata

自動入力される項目

必須項目には自動で値が設定されます

 識別子 (エンティティ ID)

 応答 URL (Assertion Consumer Service URL)

なお、この項目たちを保存したあとに「保存」したあとに、

Azure Portal上で接続を試すか確認が促されますが、「いいえ、後でtestします」を選択します。

Azure PortalからダウンロードするSAML証明書

前述のMS Learnには、次のように記載されています。(2022年11月12日時点)

ここでは多くの人が Certificate(Base64)を選択するのではないかと思います。

アップロード先を間違えないこと

SAML metadataにアップロードしても正しいと判定されてしまいます。

このあと「ACCEPT」して、検証を進めて初めて「〜XML data」とあり、

「え、XMLが必要なの!?」と気づきます。

そうです、少し前にAWS側にアップロードしたのは、「AWS IAM Identity Center (successor to AWS Single Sign-On).cer」という証明書です。

AWSの画面ではPreviousが押せなかった場合は、Cancelからやり直すことになります。

Federation Metadata XML(フェデレーション メタデータ XML)をダウンロードして、「AWS IAM Identity Center (successor to AWS Single Sign-On).xml」を再度アップロードします。

そうすると、検証もクリアして無事にAWS IAM Identity Centerのトップ画面に戻ります。

AzureADの場合は、自動プロビジョニング機能が利用可能です。

SCIMを使ってユーザの追加、削除が自動化できるので、私はこちらを選択しました。

証明書(Base64)をダウンロードした場合は、次の通りに設定する必要があります。

ですので、個人的にはXMLデータをダウンロードして設定するほうが楽にできます。

GoogleアカウントでAWS IAM Identity Centerへの連携

Google アカウントで自動プロビジョニングをする場合には、SSO Syncという機能が提供されていますが、こちらはAWS上にリソースを作成する必要があります。

Lambdaなどのリソース作成となりますがテンプレートは用意されていますし、

SAMでデプロイする手順などはREADME.mdに書いてあります。

https://github.com/awslabs/ssosync

まとめ

元は会社の方で、AWS SSOをGoogleアカウントで認証できるように設定していたところに、

改めてMicrosoftアカウントで認証できるように設定変更している際に、ハマったことがきっかけでした。

今回改めて実施してみて、当時はドキュメントの記載ミスのように書いていますが、

結果的には私の読み込みの甘さでした。

結果的にどちらのパターンでも設定できることが分かったので、

今回実施してみてよかったです。


Twitter(個人)