はじめに
SSO(Single Sign-On)な環境を無料で構築してみたいと思います。
本番環境では試す事がなかなか難しいので、こういった環境で実際の動きを確認してみたいと思います。
AzureADを経由して、AWS管理コンソールにSSOできる環境を構築します。
必要なもの
いくつか必要なものがあるので、整理しておきます。
・Office365(試用版)
・SAML対応アプリケーション
今回はAmazon Web Service を使用します。
無料アカウントが作成できますので、持っていない方は下記より作成してください。
やり方
Office365環境の準備
今回はSSO環境として、Office365に含まれているAzure Active Directory を使用します。
そのため、まずOffice365の試用版の環境を構築します。
下記のページにアクセスします。
最上位ライセンスのOffice365 E5 の最下部の無料で試すをクリックします。
メールアドレスを入力し、次へをクリックします。
アカウントのセットアップをクリックします。
必要な項目を入力し、次へをクリックします。
確認コードを送信をクリックします。
確認のため登録した電話番号宛に確認コードが送られます。
ドメイン名を入力し、利用可能かどうか確認をクリックします。
確認後問題なければ、次へをクリックします。
ユーザーIDとパスワードを入力し、次へをクリックします。
設定に移動をクリックします。
Office365セットアップの画面になります。
カスタムドメインは使用しないので、下を選択し、次へをクリックします。
ユーザー追加は後からできるので、次へをクリックします。
Teamsの作成も後からできるので、次へをクリックします。
Officeアプリのインストールも後で良いので、次へをクリックします。
管理センターに移動をクリックします。
管理センターの画面になります。
Office365環境の準備ができました。
Azure Active Directory の設定
SSOを構成するためAzure Active Directoryの設定を実施します。
マニュアルは下記を参照しました。
管理センターのメニューから、Azure Active Directory をクリックします。
Azure Active Directory をクリックし、SSO機能が含まれているENTERPRISE MOBILITY + SECURITY E5 の無料試用版をクリックします。
アクティブ化をクリックします。
再度Azure Active Directoy をクリックします。
AWSとの連携設定 (Azure側)
続いて、AWSへのSSOを構成していきます。Microsoftがチュートリアルを出しているので、この手順に従って設定します。
手順通りにやれば問題無いと思いますが、自分がやった手順を貼っておきます。
Azure Active Directory の エンタープライズアプリケーションをクリックします。
すべてのアプリケーションから新しいアプリケーションをクリックします。
Amazonで検索し、Amazon Web Services (AWS) をクリックします。
追加をクリックします。
Amazon Web Services (AWS)の画面になるので、シングル サインオンをクリックします。
SAMLをクリックします。
基本的なSAML構成 の編集ボタンをクリックします。
設定値は自動で入っているので、保存をクリックします。
ユーザー属性とクレームの編集ボタンをクリックします。
新しいクレームの追加をクリックします。
下記の3つを追加します。
SAML署名証明書のフェデレーションメタデータXMLのダウンロードをクリックします。※AWS側の設定の際に使用します。
AWSとの連携設定 (AWS側)
AWSのIAM(Identity and Access Management) を開き、IDプロバイダーをクリックします。
プロバイダの作成をクリックします。
下記の通り設定します。
メタデータドキュメントは先程のAzureの手順でダウンロードしたファイルです。
Create をクリックします。
IAMのロールをクリック、ロールの作成をクリックします。
SAML 2.0 フェデレーション をクリックします。
先程作成したIDプロバイダーを選択、プログラムによるアクセスと〜を選択し、次のステップをクリックします。
アクセス権を設定し、次のステップをクリックします。
タグはオプションですので、次のステップをクリックします。
ロール名を入力し、ロールの作成をクリックします。
IAMのポリシーをクリック、ポリシーの作成をクリックします。
JSONタブをクリックし、下記のJSONコードを貼り付けます。
ポリシーの確認をクリックします。
名前を入力し、ポリシーの作成をクリックします。
IAMのユーザーをクリック、ユーザーを追加をクリックします。
ユーザー名の入力、プログラムによるアクセスを選択し、次のステップをクリックします。
既存のポリシーを直接アタッチを選択、先程作成したポリシーを選択し、次のステップをクリックします。
タグはオプションなので、次のステップをクリックします。
ユーザーの作成をクリックします。
csvをダウンロードします。
Azure側の設定で使用します。
AWSとの連携設定 (再びAzure側)
Amazon Web Services の設定画面で、プロビジョニングをクリックします。
プロビジョニングモードを自動にし、先程AWSからダウンロードしたCSVを確認し、Clientsecretとシークレットトークンを入力します。
テスト接続をクリックしエラーが出ないことを確認します。
プロビジョニング状態をONに変更し、保存をクリックします。
Azure Active Directory をクリック、ユーザーをクリックします。
新規ユーザーを作成します。
すべてのアプリケーションからAmazon Web Servicesをクリックします。
ユーザーとグループをクリックし、ユーザーの追加をクリックします。
先程作成したユーザーを選択し、選択をクリックします。
割り当てをクリックします。
アクセス確認
マイアプリポータルからSSOをしてみます。
マイアプリポータルについては、下記をご参照ください。
マイアプリポータルへのログインは下記になります。
作成したユーザーでログインすると下記の画面になります。
早速Amazon Web Services をクリックしてみます。
ログイン画面は表示されずにAWSマネジメントコンソールにログインできました!!
1回やってみると、イメージが湧きますね。それほど、難しくない感覚。
オンプレのADとAzureADを同期しているハイブリッド環境でもやる事は変わらないかなと思いますので、社内でもちょっと試そうかなと思いました。
〆