はじめに
Google Apps for Work を使い始めました。
Google Apps for Work は独自のドメインでGmailを利用できることをはじめとして
グループワークに必要なフォーラム機能やメーリングリスト機能や、
GoogleDrive や Google Docs といったドキュメント管理ツールなども提供され、
月々500円/アカウントという低価格で利用することができるサービスです。
今回は、提供されているサービスの一つ SAML を使って、
AWSとのシングルサインオンを実現したいと思います。
Google Apps for Work で SAML を有効にする。
- Google Apps for Work の 管理コンソール にログインします。
- ログイン後のメニューから 「アプリ」 を選択します。
- 「SAMLアプリ」を選択します。
- 右下の + を選択します。
- Amazon Web Service を選択します。
- サービスプロバイダの詳細はデフォルトのままでいいので、次に進みます
- 属性のマッピングは https://aws.amazon.com/SAML/Attributes/Role* を 従業員の詳細 > 役職 に設定します。(理由は後述します)
- metadata の XML をダウンロードします。
これで SAML の設定が完了しました。
AWS で SAML によるログインを有効にする
プロバイダを登録する
- AWSコンソール にアクセスします。
- IAM の管理画面にアクセスします。
- バーティカルメニューより Identity Providers を選択します。
- Create Provider ボタンを選択します。
- Provider Type に SAML を選択し、Provider Name に任意の文字列を設定します。
- Google Apps for Work 設定時にDLした metadata をアップロードします。
- プロバイダのARNをメモしておいてください。
SAMLログイン時に利用するロールを設定する
- バーティカルメニューより Roles を選択して Create New Role ボタンを選択します。
- Role Name に任意の文字列を設定します。
- Select Role Type で Role for Identity Provider Access の Grant Web Single Sign-On (WebSSO) access to SAML providers を選択します。
- SAML provider に先ほど登録したプロバイダを指定して登録します。
- ロールのARNをメモしておいてください。
Google アカウントに SAMLログイン時に利用するロール設定を反映する
- 再び Google Apps for Work の 管理コンソール にログインします。
- ユーザ管理を選択し、SAMLでログインさせたいユーザを選択します。
- アカウント を選択します。
- 従業員の詳細 の編集を選択します。
- タイトル とプレースホルダのあるフォームに {プロバイダのARN},{ロールのARN} という文字列を指定します。(https://aws.amazon.com/SAML/Attributes/Role* でAWS側に渡る値となります)
ログインしてみよう
「アプリ > SAML アプリ > Amazon Web Services の設定」 の横にあるボタン
あるいは
右上の Google App メニューから Amazon Web Services を選択します。
すると、いきなり AWSコンソールにログインできたはずです。
これで心置きなくAWSのルートアカウントはMFAをオンにしてパスワードをくそ長いものを指定できるようになります。