Edited at

Google Apps for Work の SAML を使って AWS にログインする

More than 3 years have passed since last update.


はじめに

Google Apps for Work を使い始めました。

Google Apps for Work は独自のドメインでGmailを利用できることをはじめとして

グループワークに必要なフォーラム機能やメーリングリスト機能や、

GoogleDrive や Google Docs といったドキュメント管理ツールなども提供され、

月々500円/アカウントという低価格で利用することができるサービスです。

今回は、提供されているサービスの一つ SAML を使って、

AWSとのシングルサインオンを実現したいと思います。


Google Apps for Work で SAML を有効にする。


  1. Google Apps for Work の 管理コンソール にログインします。

  2. ログイン後のメニューから 「アプリ」 を選択します。

  3. 「SAMLアプリ」を選択します。

  4. 右下の + を選択します。

  5. Amazon Web Service を選択します。

  6. サービスプロバイダの詳細はデフォルトのままでいいので、次に進みます

  7. 属性のマッピングは https://aws.amazon.com/SAML/Attributes/Role* を 従業員の詳細 > 役職 に設定します。(理由は後述します)

  8. metadata の XML をダウンロードします。

これで SAML の設定が完了しました。


AWS で SAML によるログインを有効にする


プロバイダを登録する



  1. AWSコンソール にアクセスします。

  2. IAM の管理画面にアクセスします。

  3. バーティカルメニューより Identity Providers を選択します。

  4. Create Provider ボタンを選択します。

  5. Provider Type に SAML を選択し、Provider Name に任意の文字列を設定します。

  6. Google Apps for Work 設定時にDLした metadata をアップロードします。

  7. プロバイダのARNをメモしておいてください。


SAMLログイン時に利用するロールを設定する


  1. バーティカルメニューより Roles を選択して Create New Role ボタンを選択します。

  2. Role Name に任意の文字列を設定します。

  3. Select Role Type で Role for Identity Provider Access の Grant Web Single Sign-On (WebSSO) access to SAML providers を選択します。

  4. SAML provider に先ほど登録したプロバイダを指定して登録します。

  5. ロールのARNをメモしておいてください。


Google アカウントに SAMLログイン時に利用するロール設定を反映する


  1. 再び Google Apps for Work の 管理コンソール にログインします。

  2. ユーザ管理を選択し、SAMLでログインさせたいユーザを選択します。

  3. アカウント を選択します。

  4. 従業員の詳細 の編集を選択します。

  5. タイトル とプレースホルダのあるフォームに {プロバイダのARN},{ロールのARN} という文字列を指定します。(https://aws.amazon.com/SAML/Attributes/Role* でAWS側に渡る値となります)


ログインしてみよう

「アプリ > SAML アプリ > Amazon Web Services の設定」 の横にあるボタン

あるいは

右上の Google App メニューから Amazon Web Services を選択します。

すると、いきなり AWSコンソールにログインできたはずです。

これで心置きなくAWSのルートアカウントはMFAをオンにしてパスワードをくそ長いものを指定できるようになります。