【AWS SSO】AzureAD連携

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

こんにちは。AWS CLIが好きな福島です。

はじめに

今回は、案件で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を有効にする」をクリックします。

以下の通り、AWS SSOが正常に有効化されました。

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

「IDソースを選択」をクリックします。

「変更」をクリックします。

「外部IDプロバイダー」を選択し、「メタデータファイルのダウンロード」をクリックします。

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

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

検索窓に「active」を入力し、「Azure Active Directory」をクリックします。

「エンタープライズアプリケーション」をクリックします。

「新しいアプリケーション」をクリックします。

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

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

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

「2。シングルサインオンの設定」をクリックします。

「SAML」をクリックします。

「メタデータファイルをアップロードする」をクリックします。

AWS SSOからダウンロードしたメタデータをアップロードします。

右側に「基本的なSAML構成」が表示されるため、「保存」をクリックします。

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

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

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

IDソースの設定(AWS)

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

「ACCEPT」と入力し、「IDソースを変更」をクリックします。

完了と表示されます。

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

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

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

AWS側の設定

「自動プロビジョニングを有効化」をクリックします。

「SCIMエンドポイント」と「アクセストークン」をメモしておきます。

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

補足ですが、ユーザー欄には、まだユーザーが追加されていないことが分かります。

Azure側の設定

プロビジョニング設定

「プロビジョニング」をクリックします。

「作業の開始」をクリックします。

プロビジョニングモードを「自動」に変更します。

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

右上に以下の画面が表示されれば、テスト接続完了となります。

テスト接続が完了後、「保存」をクリックします。

「プロビジョニング状態」を「オン」に変更し、再度、「保存」をクリックします。

マッピング設定

「Provision Azure Active Directory Users」をクリックします。

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

  • facsimileTelephoneNumber 
  • mobile

「mailNickname」を「objectId」に変更し、「OK」をクリック後、「保存」をクリックします。

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

ユーザー追加

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

「ユーザーとグループ」を選択し、「ユーザーの追加」をクリックします。

「ユーザー」をクリックすると右の画面が表示されるため、追加したいユーザーを選択します。

「割り当て」をクリックします。

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

「プロビジョニング ログの表示」をクリックします。

「状態」に「Success」と表示されていればOKです。

AWS側にもユーザーが追加されていることを確認します。

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

おわりに

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

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

blog.serverworks.co.jp

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

blog.serverworks.co.jp

なお、アクセス権の仕組みについて、以下のブログにまとめましたので、 ご興味がある方は、こちらもご覧ください。

blog.serverworks.co.jp

福島 和弥 (記事一覧)

2019/10 入社

AWS CLIが好きです。