AWS
IAM
GSuite

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

次にアプリの種類を選択する画面になるので、SAMLアプリ をクリックします。
スクリーンショット 2019-01-04 23.58.14.png

すると一覧顔面に移るので「サービスやアプリをドメインに通知」または「+」をクリックして登録画面へ進みます。
スクリーンショット 2019-01-04 23.58.30.png

SSOを有効にする項目に「Amazon Web Services」があるのでそれを選択します。
スクリーンショット 2019-01-04 23.59.10.png

Google IdP 情報 では 「IDPメタデータ」 をダウンロードします。
スクリーンショット 2019-01-04 23.59.41.png

Amazon Web Services の基本情報では設定する項目はないのでそのまま [次へ] をクリックします。
スクリーンショット 2019-01-05 0.00.11.png

サービスプロバイダの詳細もデフォルトのまま [次へ] をいクリックします。
スクリーンショット 2019-01-05 0.01.26.png

属性のマッピングでは上段に「基本情報」「メインのメール」を、下段に「AWS」「role」 を選択し [完了] をクリックします。
スクリーンショット 2019-01-05 0.07.19.png
スクリーンショット 2019-01-05 0.07.42.png

以上で、GoogleアプリにAmazon Web Servicesというアプリケーションが登録されました。
スクリーンショット 2019-01-05 0.08.16.png

登録しただけだとステータスがオフになっているため、サービスを編集からサービスのステータス「オン」 にして有効化します。
スクリーンショット 2019-01-05 0.22.40.png

AWS管理コンソール

Google側でアプリの登録を行ったら、AWS管理コンソール側でマッピング対象を作成します。
作成は「IAM > IDプロバイダー」 から「プロバイダの作成」をクリックして行います。
スクリーンショット 2019-01-05 0.10.04.png

プロバイダーのタイプをプルダウンからSAMLを選び、プロバイダ名を入力します。また、メタデータドキュメントは先ほどダウンロードしたIDPファイルを選択しアップします。
アップしたら「次のステップ」をクリックします。
スクリーンショット 2019-01-05 0.11.59.png

内容を確認し問題なければ「次のステップ」をクリックします。
スクリーンショット 2019-01-05 0.12.15.png

「IDプロバイダー」を作成したらそれをベースとするロールを作成します。
「IAM > ロール」から「ロールの作成」をクリックします。
スクリーンショット 2019-01-05 0.12.47.png

エンティティの種類は SAML 2.0 フェデレーション を選択します。
するとプロバイダーなどの設定が表示されるので、SAML プロバイダー を先ほど作成したプロバイダを選択し、属性を SAML:aud を選択、値にはhttps://signin.aws.amazon.com/samlを入力し、 [次のステップ:アクセス権限] をクリックします。
スクリーンショット 2019-01-05 0.19.44.png

そのあとは通常のロール作成と同じになります。
必要に応じてアクセス権限とタグの設定を行い、最後にロール名を設定して [ロールの作成] をクリックして完了です。
スクリーンショット 2019-01-05 0.20.54.png

G Suite ユーザーとIAMロールのマッピング

G Suiteユーザーに対して先ほど作成したIAM情報を設定します。
「ユーザー > (ユーザー名) > ユーザー情報」にAWSという項目があるのでそこを編集し、roleという項目に先ほどAWS側で作成した「{IDプロバイダーARN},{ロールARN}」を入力します。
スクリーンショット 2019-01-05 0.24.43.png

するとアプリ一覧に表示されるAmazon Web Servicesというアイコンをクリックすると設定したロールでAWS管理コンソールへログインができるようになります。
スクリーンショット 2019-01-05 0.28.13.png

おわりに

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

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