G Suite のアカウントを利用したAWS管理コンソールへのSSOログイン

# はじめに
最近、メールは仕事でもウェブメールを利用するのが一般的になってきました。中でもGmailを利用しているところが多いのではないかなと思います。
そこで、GoogleのアカウントからAWS管理コンソールへログインできたら便利だなと思ったのでSSOを設定してみました。

# 設定
設定は「G Suite → AWS管理コンソール → G Suite」の流れで設定していきます。

### G Suiteへのアプリケーション登録
はじめにGoogleアプリへAWS管理コンソールへのログイン機能を登録します。
まずは、G Suiteの管理コンソールへログインしてアプリをクリックします。
![スクリーンショット 2019-01-04 23.57.05.png](https://qiita-image-store.s3.amazonaws.com/0/82090/51a9e97a-109b-747f-a71d-f912f2dffee2.png)

次にアプリの種類を選択する画面になるので、**SAMLアプリ** をクリックします。
![スクリーンショット 2019-01-04 23.58.14.png](https://qiita-image-store.s3.amazonaws.com/0/82090/5ed51dd9-c664-3c1a-0f5e-2d131594407f.png)

すると一覧顔面に移るので**「サービスやアプリをドメインに通知」**または**「+」**をクリックして登録画面へ進みます。 
![スクリーンショット 2019-01-04 23.58.30.png](https://qiita-image-store.s3.amazonaws.com/0/82090/a3a5fc7d-4203-e106-7544-db95477f2bd9.png)

SSOを有効にする項目に「Amazon Web Services」があるのでそれを選択します。
![スクリーンショット 2019-01-04 23.59.10.png](https://qiita-image-store.s3.amazonaws.com/0/82090/669d27a4-01b1-1947-b333-da5241808f79.png)

**Google IdP 情報** では **「IDPメタデータ」** をダウンロードします。
![スクリーンショット 2019-01-04 23.59.41.png](https://qiita-image-store.s3.amazonaws.com/0/82090/02bed947-ebb2-df2f-a5b1-19a03cdedf58.png)

**Amazon Web Services の基本情報**では設定する項目はないのでそのまま **[次へ]** をクリックします。
![スクリーンショット 2019-01-05 0.00.11.png](https://qiita-image-store.s3.amazonaws.com/0/82090/78ee3045-022d-82d2-0639-417d2c59713c.png)

**サービスプロバイダの詳細**もデフォルトのまま **[次へ]** をいクリックします。
![スクリーンショット 2019-01-05 0.01.26.png](https://qiita-image-store.s3.amazonaws.com/0/82090/8bee9c6a-b497-8f2d-7b6f-5137eaff8ca4.png)

**属性のマッピング**では上段に**「基本情報」**と**「メインのメール」**を、下段に**「AWS」**と**「role」** を選択し **[完了]** をクリックします。
![スクリーンショット 2019-01-05 0.07.19.png](https://qiita-image-store.s3.amazonaws.com/0/82090/a044f879-cb60-c9d6-5264-4b5cda0336f5.png)
![スクリーンショット 2019-01-05 0.07.42.png](https://qiita-image-store.s3.amazonaws.com/0/82090/dacf6cb2-a47e-a85c-473b-562a12a52d89.png)

以上で、Googleアプリに**Amazon Web Services**というアプリケーションが登録されました。
![スクリーンショット 2019-01-05 0.08.16.png](https://qiita-image-store.s3.amazonaws.com/0/82090/f8ace235-04cc-6d0e-8e90-3dbd7a8b6fd7.png)

登録しただけだとステータスがオフになっているため、**サービスを編集**から**サービスのステータス**を **「オン」** にして有効化します。
![スクリーンショット 2019-01-05 0.22.40.png](https://qiita-image-store.s3.amazonaws.com/0/82090/144362af-24b4-f45d-76f5-6913b9a484c4.png)


### AWS管理コンソール
Google側でアプリの登録を行ったら、AWS管理コンソール側でマッピング対象を作成します。
作成は「IAM > IDプロバイダー」 から「プロバイダの作成」をクリックして行います。
![スクリーンショット 2019-01-05 0.10.04.png](https://qiita-image-store.s3.amazonaws.com/0/82090/a73e2fb0-cca1-92b1-b9b9-0acc19a17fd9.png)

プロバイダーのタイプをプルダウンからSAMLを選び、プロバイダ名を入力します。また、メタデータドキュメントは先ほどダウンロードしたIDPファイルを選択しアップします。
アップしたら「次のステップ」をクリックします。
![スクリーンショット 2019-01-05 0.11.59.png](https://qiita-image-store.s3.amazonaws.com/0/82090/df159154-082e-7608-0a2c-8855693d7222.png)

内容を確認し問題なければ「次のステップ」をクリックします。
![スクリーンショット 2019-01-05 0.12.15.png](https://qiita-image-store.s3.amazonaws.com/0/82090/126515b6-cc39-48a9-dacd-1d7581deb3a7.png)

「IDプロバイダー」を作成したらそれをベースとするロールを作成します。
「IAM > ロール」から「ロールの作成」をクリックします。
![スクリーンショット 2019-01-05 0.12.47.png](https://qiita-image-store.s3.amazonaws.com/0/82090/8ef52ba5-fca9-222c-8c86-db20456999ed.png)

エンティティの種類は **SAML 2.0 フェデレーション** を選択します。
するとプロバイダーなどの設定が表示されるので、**SAML プロバイダー** を先ほど作成したプロバイダを選択し、属性を **SAML:aud** を選択、値には`https://signin.aws.amazon.com/saml`を入力し、 **[次のステップ：アクセス権限]** をクリックします。
![スクリーンショット 2019-01-05 0.19.44.png](https://qiita-image-store.s3.amazonaws.com/0/82090/6ba5496d-96ad-8a57-cefd-b6a0d06589c9.png)

そのあとは通常のロール作成と同じになります。
必要に応じてアクセス権限とタグの設定を行い、最後にロール名を設定して **[ロールの作成]** をクリックして完了です。
![スクリーンショット 2019-01-05 0.20.54.png](https://qiita-image-store.s3.amazonaws.com/0/82090/3f18aa30-7c6b-6101-5660-94797df18d4f.png)


### G Suite ユーザーとIAMロールのマッピング
G Suiteユーザーに対して先ほど作成したIAM情報を設定します。
**「ユーザー > (ユーザー名) > ユーザー情報」**にAWSという項目があるのでそこを編集し、**role**という項目に先ほどAWS側で作成した**「{IDプロバイダーARN},{ロールARN}」**を入力します。
![スクリーンショット 2019-01-05 0.24.43.png](https://qiita-image-store.s3.amazonaws.com/0/82090/00e33c0e-425c-a503-07ee-758bc51bf370.png)

するとアプリ一覧に表示される*Amazon Web Services*というアイコンをクリックすると設定したロールでAWS管理コンソールへログインができるようになります。
![スクリーンショット 2019-01-05 0.28.13.png](https://qiita-image-store.s3.amazonaws.com/0/82090/82677dea-4c2f-ce7f-8d1f-81f3b8866077.png)


# おわりに
SSOを利用することでIAMユーザーを個別に用意する必要がなくなります。
もし、スイッチユーザーを使いたい場合でもSSOログインした後にスイッチ可能なのでとても便利です。


[参考]
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html