Google アカウントで AWS にログインする

  • 26
    いいね
  • 0
    コメント

Happy Elements 株式会社 カカリアスタジオ Advent Calendar 2016 2 日目の記事となります.本日の担当はインフラグループの @nagizero です.よろしくお願いします.

はじめに

従来,弊社では AWS を利用する従業員ひとりひとりに IAM アカウントを発行していました.最初はよかったのですが,利用者が増えるにつれてアカウントの管理が煩雑になっていきました.さらに,複数の AWS を利用することになったため,管理コストも倍々となりました.

そこで,管理の手間を省くために,従業員がすでに持っている何かしらのアカウントで認証を統合することにしました.弊社では Google Apps for Work を利用していたので, Google アカウントを利用して AWS を利用できるように設定しました.

以下, Google Apps for Work のアカウントで AWS にログインできるようになるまでの手順をスクリーンショットを交えながら記載します.

資料

これらの記事には大変お世話になりました.この場で謝意を表します.

作業

AWS, Google Apps 双方の管理者権限が必要となります.

AWS を SAML 2.0 のサービスプロバイダとして設定する

Google Apps の管理コンソールから Security を開きます.

Security

Set up single sign-on (SSO) から CertificateIDP metadata をダウンロードします.

Set up SSO

AWS の IAM コンソールから ID プロバイダ を選択して プロバイダの作成を押します.

ID provider

プロバイダーのタイプは SAML, プロバイダ名は GoogleApps, メタデータドキュメントは先ほど Google Apps からダウンロードした IDP metadata を選択して次に進みます.

プロバイダの設定

作成を押して終了です.

プロバイダー情報の検証

プロバイダのリストから GoogleApps を選択し,プロバイダの ARN をメモしておきます.

ARN

AWS で SSO ユーザのロールを作成する

AWS の IAM コンソールから ロール を選択して 新しいロールの作成を押します.

ロール

ロール名を入力して次に進みます.テストのため,読み込み権限のみを持つ ReadOnly ロールを作成してみます.

ロール名の設定

ID プロバイダアクセス用のロール から SAML プロバイダへのウェブシングルサインオン (WebSSO) アクセスを付与を選択します.

ロールタイプの設定

先ほど作成したプロバイダ GoogleApps を選択して次に進みます.

プロバイダ選択

次に進みます.

ロールの信頼の確認

ReadOnlyAccess を選択して次に進みます.

ポリシーのアタッチ

ロール ARN をメモした後,ロールの作成を押して終了です.

確認

AWS で Google Apps を SAML ID プロバイダ(IdP)として選択する

Google Apps の管理コンソールから Apps > SAML Apps を開き, Add a service/App to your domain を押し, Amazon Web Services を選択します.

a78ac2be-3e05-b82e-3afd-f7d78768fb0a.png

NEXT を押します.

4bcfada3-6886-309f-c7b5-328f655a6da6.png

お好みでロゴをアップロードして NEXT を押します.

ae2ebd4f-1f63-90c9-4866-3cbba3daa625.png

AWS 固有のサービスプロバイダの詳細を入力する

NEXT を押します.

d2957741-6df5-174a-5d93-0e296e2bcc14.png

https://aws.amazon.com/SAML/Attributes/RoleSessionNameBasic InformationPrimary Email をマッピングします.また, https://aws.amazon.com/SAML/Attributes/RoleEmployee DetailsJob Title をマッピングして FINISH を押します.

42e1ec56-8c30-0214-3676-c5b899ffcc1d.png

AWS アプリに対して SSO をオンにする

Google Apps の管理コンソールから Apps > SAML Apps > Amazon Web Services を開き, ON for some organizations を押します.

bceff693-6aad-d8bd-40a5-3c5d303d8e5a.png

対象の組織のみ ON にします.

bbc7754f-5ccc-fb30-2792-8a6a17eadabb.png

Google Apps - AWS 間の SSO を確認する

Google Apps の管理コンソールから SSO を許可したいユーザを選択し, Account > Basic Information > Edit を押します.

b3886a86-1cb5-2d2b-acda-83fdbab16178.png

何もせず ADDITIONAL INFO を押します.

a907fc9b-5d63-a444-ec23-5ff575c2afe9.png

何もせず NEXT を押します.

91b7551f-0cda-fb05-d9f5-08d153824abb.png

Title{プロバイダの ARN},{ロール ARN} を入力して UPDATE USER を押します.

7f3fa756-705f-83d6-71fa-4141c598a4d4.png

対象ユーザで Google Apps にログインし,メニューの最下部にある Amazon Web Services を押します.

2a52ec04-3a73-9c2b-60f5-6c123b25f9da.png

フェデレーションログインされました. ReadOnly ロールでユーザがログインしていることがわかります.

ffc565e5-1673-fa8b-9b0d-ebf4d84a2ee9.png

あとはロールに適切な権限を付与すれば OK です.

おわりに

統合認証を利用することでアカウント管理の手間から少しだけ解放されました.このように,従業員が楽をする (快適に働けるようにする) ための環境整備を行うことも弊社インフラグループのミッションとなっています.