目的
複数のAWSアカウントを利用用途に使い分けていると、それぞれのログイン情報を管理するのは煩雑なので Azure Active Directory の認証情報を用いて、Office 365 ポータル からAWSコンソールを利用できる状態にします。
手順1. AzureADにエンタープライズアプリケーションを追加
チュートリアル:Azure Active Directory シングル サインオン (SSO) とアマゾン ウェブ サービス (AWS) の統合 に書いてある通りです。
AzureAD のエンタープライズアプリケーション に追加
「Azure Active Directory 管理センター」 の 「エンタープライズ アプリケーション」 で + 新しいアプリケーション
を選択します。
追加するアプリケーションを指定するので、「ギャラリーから追加する」にあるテキストボックスに「Amazon Web Services」と入力して、 候補に上がった Amazon Web Services(AWS)
を選択します。
画面右側に詳細が表示されるので、 「名前」に利用するAWSアカウントを識別できるものに変更して、 追加
をクリックします。 ここで指定した名前は Office 365 ポータルのの表示にも使われます。
Azure Active Directoryのエンタープライズアプリケーション でSAMLの設定
追加した エンタープライズアプリケーション の「概要」が表示されるので、 2。シングル サインオンの設定
を選択します。
「シングル サインオン方式の選択」から SAML
を選択します。
SAMLの設定画面を表示した時に 識別子と 応答URL を問われるので、 いいえ、後で保存します
を選択します。
スクロールして、 「SAML署名証明書」にある フィレデーション メタデータXML
をダウンロードします。ここでダウンロードしたXMLは AWSに設定を行う過程で、AWSコンソールからアップロードします。
手順2.AWSにIDプロバイダーを追加
AWSコンソソールにログインして、 「Identity and Access Management (IAM)」の IDプロバイダー
の作成を開始します。
作成する IDプロバイダーの情報を入力します。入力後は画面右下の 次のステップ
をクリックします。
- プロバイダーのタイプ
-
SAML
を選択する
-
- プロバイダー名
- 任意の名前を入力する
- 次の手順で IAM ロールを作成する時に指定するので名前を控えておく
- メタデータドキュメント
- AzureADのエンタープライズアプリケーションの設定をこなう過程でダウンロードした 「SAML署名証明書」にの
フィレデーションメタデータXML
を指定する
- AzureADのエンタープライズアプリケーションの設定をこなう過程でダウンロードした 「SAML署名証明書」にの
入力した IDプロバイダーの確認画面が表示されるので、誤りがなければ画面右下の 作成
をクリックします。
IDプロバイダーが作成されると、一覧に追加されます。
手順3. AWSでIAMロールを作成してSSOで認証されたユーザの権限を定義する
「Identity and Access Management (IAM)」の ロール
の作成を開始します。
作成するロールの情報を指定します。必要な指定を行ったら、 次のステップ: アクセス権限
をクリックします。
- 信頼されたエンティティの種類を選択
-
SAML2.0 フィデレーション
を選択する
-
- SAML 2.0 プロバイダを選択
- SAML プロバイダーは一つ前の手順で作成した IDプロバイダーを指定する
-
プログラムによるアクセスとAWSマネージメントコンソールによるアクセスを許可する
を選択する -
属性
は変更しない -
値
は変更しない -
条件
はAzure Active Directoryの属性に基づいて条件付けを行うのであれば指定する
Azure Active Directoryで認証したユーザに付与する IAM ポリシーを指定したら、次のステップ: タグ
をクリックします。今回は 「ReadOnlyAccess」にしました。
タグを適宜設定したら、次のステップ: 確認
をクリックします。
最後に、ロール名とロールの説明を入力して、 ロールの作成
をクリックします。ここで指定したロール名は AzureADの「エンタープライズ アプリケーション」の「ユーザとグループ」で利用されます。後の手順でユーザを単位に付与するロールを指定します。
- ロール名
- 「ReadOnlyAccessWithAzureAD」
- 説明
- 「Grant ReadOnlyAccess permission to the user authenticated by Azuru AD.」
ロールの一覧に今回作成した IAM ロールが追加された事を確認します。
手順4. AWSのIAMロールのリストを取得できるIAMユーザを作成する
ポリシーを作成
AzureADがユーザにロールを割り当てるために、ロールの一覧を取得できるIAMユーザを作成します。
まずは、ポリシーを作成します。 「Identity and Access Management (IAM)」の ポリシーの作成を開始します。
ポリシーの作成画面では、 JSON
タブに下に JSONを設定して、 ポリシーの確認
をクリックします。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:ListRoles"
],
"Resource": "*"
}
]
}
作成したポリシー名と説明を入力します。 参考にした チュートリアル:Azure Active Directory シングル サインオン (SSO) とアマゾン ウェブ サービス (AWS) の統合 に従って入力します。最後に、 ポリシーの作成
をクリックして、ポリシーを作成します。
- 名前
- 「AzureAD_SSOUserRole_Policy」
- 説明
- 「This policy will allow to fetch the roles from AWS accounts」
作成されると、一覧に追加されます。
IAMユーザを作成
AzureADでユーザにIAMロール (今回であれば ReadOnlyAccessWithAzureAD
)を割り当てるために、AWSにあるロールの一覧を取得します。それを行うために、IAMユーザを作成して「Access key ID」と「Secret access key」を発行します。
「Identity and Access Management (IAM)」の ユーザの作成を開始します。
作成するユーザ名とアクセスの種類を指定して、 次のステップ: アクセス権限
をクリックします。
- ユーザ名
- 「AzureADRoleManager」
- アクセスの種類
- 「プログラムによるアクセス」
直前で作成したポリシー「AzureAD_SSOUserRole_Policy」を指定して、 次のステップ: タグ
をクリックします。
- アクセス許可の設定
- 既存のポリシーを直接アタッチ
- 指定するポリシー
- 「ポリシーのフィルター」に
AzureAD_SSOUserRole_Policy
を設定してフィルターをかけます。 - 「AzureAD_SSOUserRole_Policy」
- 「ポリシーのフィルター」に
タグを適宜設定して、 次のステップ: 確認
をクリックします。
内容を確認して問題なければ ユーザの作成
をクリックします。
ユーザの追加が完了したら、 アクセスキーとシークレットアクセスキーが記載された CSVファイルをダウンロードしておきます。
手順5. Azure ADに AIMユーザ AzureADRoleManager のアクセスキーとシークレットアクセスキーを設定する
AzureADのエンタープライズアプリケーションから 手順1 で追加したものを選択し、 「管理」の「プロビジョニング」を選択します。
プロビジョニングモードを指定して、 AIMユーザ「AzureADRoleManager」の認証情報を設定して、「テスト接続」を行い、成功する事を確認します。成功した後に「保存」をクリックして、入力値を保存します。
- プロビジョニングモード
- 自動
- clientsecret
- IAMユーザ「AzureADRoleManager」のアクセスキー
- シークレットトークン
- IAMユーザ「AzureADRoleManager」のシークレットアクセスキー
必要事項を入力した後に、「テスト接続」を行い、画面右上に成功メッセージが表示されるのを確認する。
入力値を保存すると 「プロビジョニング状態」が活性状態になるので、「オン」に変更して、再度保存します。
手順6. SSOで AWSにアクセスできるユーザを指定する
AzureADのエンタープライズアプリケーションから 手順1 で追加したものを選択し、 「管理」の「ユーザとグループ」を選択します。
「ユーザとグループ」の + ユーザの追加
をクリックします。
画面右側でAWS コンソールへのログインを許可するユーザもしくはグループを選択します。
- Active Direcotryに登録されているユーザとグループの一覧が表示されるので対象を選択する
- 中段の 「選択したアイテム」に、選択肢たユーザもしくはグループが表示されるのを確認する。
- 下段の
選択
をクリックする
ロールは一つだけ作成したので、それが適用されます。複数のロールを作成している場合は、「ロールの選択」から適宜指定します。ユーザとロールの選択すると、 割り当て
が活性化されるでクリックして保存します。
ユーザとグループの一覧に戻り、割り当てたユーザが表示されています。
Office 365 ポータルからAWSコンソールにログインする
追加されたユーザで Office 365 ポータルにアクセスすると、 「All Apps」に追加されているので、これをクリックするとAzureADの認証情報が使われてAWSコンソールを利用できます。
AWSで権限を分けたい場合
新しいIAMロールを作成します。「信頼されたエンティティ」は同じものを使います。