LoginSignup
5
6

More than 3 years have passed since last update.

Office365(AzureAD)アカウントでAWSにSSOする

Last updated at Posted at 2019-12-27

はじめに

社内で使用しているOffice365のアカウントを検証用に使用しているAWSにSSOしたい、という要件があったため対応したので手順の共有です。
今回はAWS側でSSOをするのではなく、AzureADでSSOしてAWSにログインします。
IdPがAzureAD、SPとしてAWSを追加する形です。

前提として

・Office365を使用していること(AzureADに登録があること)
・Office365の全体管理者が必要

設定方法

こちらを参考にやりました
Azure Active Directory シングル サインオン (SSO) とアマゾン ウェブ サービス (AWS) の統合

AzureADの設定

エンタープライズアプリケーションの追加

1.まずはAzurePortalに管理者でログイン
2.ホーム画面から左ペインの「Azure Active Directory」を選択します。
3.エンタープライズアプリケーションを選択します。
4.「新しいアプリケーション」を選択します。
5.「ギャラリーから追加する」の検索欄に"amazon"と入力すると、いくつか候補が出てくるので、「Amazon Web Services (AWS)」を選択し、追加します。
  (そうすると、エンタープライズアプリケーション-すべてのアプリケーションの一覧にAWSが追加される)

Amazon Web Services (AWS)の設定

1.AzurePortal⇒Azure Active Directory⇒エンタープライズアプリケーション⇒Amazon Web Services (AWS)を選択します。
2.シングルサインオンを選択し、シングルサインオンの方式⇒SAMLを選択します。
3.「基本的なSAML構成」を編集で開き、「識別子 (エンティティ ID)」に以下URLを入職します。
"https://signin.aws.amazon.com/saml?<任意の値>"
4.「SAML署名証明書」から「フェデレーション メタデータ XML」をダウンロードします。
5.「Amazon Web Services (AWS) のセットアップ」からログイン URL、Azure AD 識別子、ログアウト URLをコピーして控えておきます。

AWSの設定

1.IAMを編集できるアカウントでAWSマネジメントコンソールにログインします。
2.IAMの画面を開き、「IDプロバイダー」を選択します。
3.「プロバイダの作成」をクリックし、「プロバイダーのタイプ」から SAML を選択し、「プロバイダ名」には、AzureADで設定した「識別子 (エンティティ ID)」の任意の値(URI)を入力し、メタデータにはダウンロードしたものを選択し、プロバイダを作成します。
4.左ペインから「ロール」を選択し、「ロールの作成」を選択します。
5.「SAML2.0フェデレーション」を選択します。
6.SAMLプロバイダーに、作成したものを選択し、「プログラムによるアクセスとAWSマネジメントコンソールによるアクセスを許可する」を選択、属性はたしかそのまま(SAML;aud)、値に以下URLを入力します。
https://signin.aws.amazon.com/saml
7.ポリシーの選択では、SSOしてAWSにログインする際の権限を設定します。
  (今回はPowerUserAccessに設定しました。)
8.タグは何も設定せず、スルーでいいです。
9.ロール名に任意の値を入れ、ロールを作成します。
10.左ペインから「ポリシー」を選択し、「ポリシーの作成」を選択します。
11.JSONタブを選択し、以下の通り編集します。

{
    "Version": "2012-10-17",     
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
            "iam:ListRoles"
            ],
            "Resource": "*"
        }
    ]
}

Vesionの部分の日付は適当で大丈夫です。

12.ポリシーの名前を任意のものを入力し、ポリシーを作成します。
13.左ペインから「ユーザー」を選択し、「ユーザーの追加」を選択します。
14.ユーザー名を任意に指定し、アクセスの種類は「プログラムによるアクセス」を選択します。
15.アクセス許可の設定で、「既存のポリシーを直接アタッチ」を選択し、先ほど作成したポリシーを検索して選択します。
16.タグはスルーで、ユーザーを作成します。ここで、CSVのダウンロードと「アクセスキーID」「シークレットアクセスキー」をコピーして控えておきます。

再びAzureADの設定

1.AzurePortal⇒Azure Active Directory⇒エンタープライズアプリケーション⇒Amazon Web Services (AWS)⇒プロビジョニング を選択します。
2.clientsecretに「アクセスキーID」、シークレット トークンに「シークレットアクセスキー」を入力し、テスト接続を押下して右上に緑のチェックマークが出ることを確認し、一旦保存します。
3.プロビジョニング状態がオフになっているので、オンにして保存します。

SSOの確認

1.Azure Active Directoryの「ユーザーとグループ」を選択し、「ユーザーの追加」を選択します。
2.SSO対象のユーザを選択し、AWS側で作成したロールを選択し、ユーザーを追加します。
3.対象のアカウントでOffice365ポータルにログインします。
4.「すべてのアプリ」を選択し、Amazon Web Services (AWS)のアプリアイコンを選択します。
5.AWSのマネジメントコンソールにSSOしてログインできる(はず)

個人的な感想

個人的にはエンタープライズアプリケーションに登録してSSOできるってのがなんかかっこよかったので気に入ってます。
運用自体もAzureADでユーザの出し入れ、もしくはグループの出し入れだけなので簡単かと思いました。

画像つきのものは近々noteにも記事をupします。

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6