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

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

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

Image in a image block

注意ポイント

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

Image in a image block

自動入力される項目

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

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

 応答 URL (Assertion Consumer Service URL)

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

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

Image in a image block

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

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

Image in a image block

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

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

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

Image in a image block

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

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

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

Image in a image block

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

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

Image in a image block

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

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

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

Image in a image block

Image in a image block

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

Image in a image block

Image in a image block

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

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

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

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

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

https://github.com/awslabs/ssosync

まとめ

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

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

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

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

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

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


Twitter(個人)