【AWS SSO】AzureAD連携

記事タイトルとURLをコピーする

こんにちは。SRE2課の福島です。

はじめに

今回は、案件でAWS SSOとAzureADの連携を行ったため、その内容を記載いたします。

参考:https://aws.amazon.com/jp/blogs/aws/the-next-evolution-in-aws-single-sign-on/

AWS SSOとは

AWS Single Sign-On (SSO) は、複数の AWS アカウントとビジネスアプリケーションへのアクセスの一元的な管理を容易にし、割り当てられたアカウントとアプリケーションのすべてに対する 1 か所からのシングルサインオンアクセスをユーザーに提供できるようにする AWS のサービスです。

前提条件

AWS SSOを利用するには、以下の前提条件がございますので、ご注意ください。

  • AWS Organizationsサービスの[すべての機能]を有効にしていること
  • AWS Organizationsのマスターアカウントにログインできること
    ※AWS SSOのセットアップは、マスターアカウントで実施いたします。

AWS SSOとAzureADの連携

では早速、AWS SSOとAzureADの連携を実施いたします。
※AWSとAzureを交互に操作するため、項目にどちらで操作するか記載しております。

AWS SSOの有効化(AWS)

「AWS SSOを有効にする」をクリックします。 f:id:swx-fukushima:20201107085531p:plain

以下の通り、AWS SSOが正常に有効化されました。 f:id:swx-fukushima:20201107085535p:plain

メタデータファイルのダウンロード(AWS)

「IDソースを選択」をクリックします。 f:id:swx-fukushima:20201107085544p:plain

「変更」をクリックします。 f:id:swx-fukushima:20201107085445p:plain

「外部IDプロバイダー」を選択し、「メタデータファイルのダウンロード」をクリックします。 f:id:swx-fukushima:20201107085449p:plain

メタデータファイルのダウンロードが完了後、この画面を一旦、置いておき、Azureの操作に移ります。

エンタープライズアプリケーションの作成(Azure)

検索窓に「active」を入力し、「Azure Active Directory」をクリックします。 f:id:swx-fukushima:20201107085452p:plain

「エンタープライズアプリケーション」をクリックします。 f:id:swx-fukushima:20201107085455p:plain

「新しいアプリケーション」をクリックします。 f:id:swx-fukushima:20201107085502p:plain

「独自のアプリケーションの作成」をクリックします。
アプリケーション名を入力します。 今回は、「AWS SSO」と設定いたしました。
最後に「作成」をクリックします。

f:id:swx-fukushima:20201107085512p:plain

少し待つと以下の画面が表示されます。

f:id:swx-fukushima:20201107085517p:plain

シングルサインオンの設定(Azure)

「2。シングルサインオンの設定」をクリックします。 f:id:swx-fukushima:20201107085520p:plain

「SAML」をクリックします。 f:id:swx-fukushima:20201107084817p:plain

「メタデータファイルをアップロードする」をクリックします。 f:id:swx-fukushima:20201107084820p:plain

AWS SSOからダウンロードしたメタデータをアップロードします。 f:id:swx-fukushima:20201107084825p:plain

右側に「基本的なSAML構成」が表示されるため、「保存」をクリックします。 f:id:swx-fukushima:20201107084828p:plain

今すぐtestしますか?と表示されますが、AWS SSO側の設定が完了していないため、「いいえ、後でtestします」をクリックします。
また、「識別子」および「応答URL」に値が設定されていることが分かります。 f:id:swx-fukushima:20201107084837p:plain

フェデレーション メタデータ XMLのダウロード(Azure)

「フェデレーション メタデータ XML」の右記の「ダウンロード」をクリックします。
※何も表示されていない場合、ブラウザを更新してください。 f:id:swx-fukushima:20201107084844p:plain

IDソースの設定(AWS)

ここから再度、AWSの作業になります。 「IdP SAML メタデータ」にAzureでダウンロードしたメタデータをアップロードし、「次:確認」をクリックします。

f:id:swx-fukushima:20201107084853p:plain

「ACCEPT」と入力し、「IDソースを変更」をクリックします。 f:id:swx-fukushima:20201107084904p:plain

完了と表示されます。 f:id:swx-fukushima:20201107084908p:plain

ここまででAWS SSOとAzureADの連携は完了です。 次は、ユーザーの登録を行います。

自動プロビジョニング設定

今回は、自動プロビジョニングの設定を行い、AzureADのユーザーを自動でAWS SSOにプロビジョニングいたします。

AWS側の設定

「自動プロビジョニングを有効化」をクリックします。 f:id:swx-fukushima:20201107084911p:plain

「SCIMエンドポイント」と「アクセストークン」をメモしておきます。 f:id:swx-fukushima:20201107084915p:plain

AWS側の設定は、これで完了になります。

補足ですが、ユーザー欄には、まだユーザーが追加されていないことが分かります。 f:id:swx-fukushima:20201107084923p:plain

Azure側の設定

プロビジョニング設定

「プロビジョニング」をクリックします。 f:id:swx-fukushima:20201107084918p:plain

「作業の開始」をクリックします。 f:id:swx-fukushima:20201107084926p:plain

プロビジョニングモードを「自動」に変更します。 f:id:swx-fukushima:20201107084929p:plain

AWSで取得した「SCIMエンドポイント」と「アクセストークン」を 「テナントのURL」と「シークレット トークン」に入力し、「テスト接続」をクリックします。 f:id:swx-fukushima:20201107084932p:plain

右上に以下の画面が表示されれば、テスト接続完了となります。 f:id:swx-fukushima:20201107084935p:plain

テスト接続が完了後、「保存」をクリックします。 f:id:swx-fukushima:20201107084938p:plain

「プロビジョニング状態」を「オン」に変更し、再度、「保存」をクリックします。 f:id:swx-fukushima:20201107084757p:plain

マッピング設定

「Provision Azure Active Directory Users」をクリックします。 f:id:swx-fukushima:20201107084941p:plain

以下の属性を削除します。

  • facsimileTelephoneNumber 
  • mobile f:id:swx-fukushima:20201107084946p:plain

「mailNickname」を「objectId」に変更し、「OK」をクリック後、「保存」をクリックします。 f:id:swx-fukushima:20201107084954p:plain

これで自動プロビジョニングの設定が完了となります。

ユーザー追加

作成したアプリケーションにAzureADに登録されているユーザーを追加していきます。
※今回は検証のため、ユーザーを連携しますが、AWS SSOでアクセス権限を付与することを考慮するとグループを連携した方が権限管理は、楽になるかと思います。

「ユーザーとグループ」を選択し、「ユーザーの追加」をクリックします。 f:id:swx-fukushima:20201107085006p:plain

「ユーザー」をクリックすると右の画面が表示されるため、追加したいユーザーを選択します。 f:id:swx-fukushima:20201107084746p:plain

「割り当て」をクリックします。 f:id:swx-fukushima:20201107084751p:plain

「プロビジョニング」を選択後、「プロビジョニングを再開する」をクリックします。
※デフォルトは、40分間隔でプロビジョニングが実施されます。 f:id:swx-fukushima:20201107084800p:plain

「プロビジョニング ログの表示」をクリックします。 f:id:swx-fukushima:20201107084805p:plain

「状態」に「Success」と表示されていればOKです。 f:id:swx-fukushima:20201107084809p:plain

AWS側にもユーザーが追加されていることを確認します。 f:id:swx-fukushima:20201107084812p:plain

これでAWS SSOとAzureADの連携は完了となります。
後は、AWS SSOでアクセス権限セットの設定を行うことで複数のAWSアカウントにログインすることが可能となります。
手順は、最下行に記載のブログの「ユーザーポータルにログイン」項目以降をご参照ください。

おわりに

今回は、AWS SSOのIDソースにAzureADを指定しましたが、AWS SSO自身でID(ユーザーやグループ)を管理することも可能です。

詳細は、以下のブログをご参照ください。

blog.serverworks.co.jp

また、AWS SSO関連の情報を取得するためのCLIコマンドを以下のブログでご紹介しておりますので、 ご興味がある方は、こちらもご覧ください。

blog.serverworks.co.jp

福島 和弥 (記事一覧)

SRE2課

2019/10 入社

AWS CLIが好きです。