G SuiteのアカウントをAWS コンソールへ連携させる

* 実現したいこと
	* G Suiteで管理しているユーザアカウントをAWSコンソールへのログインユーザと連携したい


# 設定手順
大きくわけて以下の流れになるかと思います。
1. G Suite上でユーザ管理でカスタム属性の作成
2. G Suite上でAmazon Web Servicesクラウドアプリケーションを作成
3. AWS管理コンソールでIDプロバイダを作成
4. AWS管理コンソールで割当てるロールを作成
5. G Suite上でユーザにSAMLの設定情報を追加する

1. ユーザのカスタム属性の作成
	1. Google Adminへログインします。
	2. ユーザを選択します。
	3. 画面右上にある[ユーザ属性を管理]をクリック
![ユーザ属性管理.png](https://qiita-image-store.s3.amazonaws.com/0/10435/35918938-f379-c896-de93-33265033ec2a.png "ユーザ属性管理.png")

	4. カスタムカテゴリを追加をクリック
	5. ここでは、AWSのSAMLへ渡す情報をカスタム属性で作成します。
	6. [カテゴリを追加]をクリックして、AWSアカウントロール属性を作成
	![カスタムカテゴリ属性.png](https://qiita-image-store.s3.amazonaws.com/0/10435/9195a082-bbf9-4bac-8483-f3268d4f0519.png "カスタムカテゴリ属性.png")
	
	7. 以下の属性を作成します。

		|属性名|タイプ|複数の値|限定公開|
		|:---:|:---:|:-----:|:----:|
		|role|テキスト|はい|はい|
		|SessionDuration|整数|いいえ|はい|
	1. [完了]をクリックします。
 
1. 事前構成済みのAmazon Web ServicesクラウドアプリケーションでG SuiteをSAML ID プロバイダ（idp)として選択する
	1. Google Adminへ特権管理者としてログインします。
	1. [アプリ] > [SAML アプリ]をクリックします。
	1. 下にあるプラス(+)アイコンをクリックします。
	![SAMLアプリの追加.png](https://qiita-image-store.s3.amazonaws.com/0/10435/86d1cd8c-df4b-79e5-0b85-7d66ff234e3f.png "SAMLアプリの追加.png")
	1. リストから[Amazon Web Services]の項目を選択します。
	1. ここでGoogle Idp情報のページから、X.509証明書とIDPメタデータをダウンロードしておきます。
	1. [基本的なアプリケーション情報]ウィンドウの[アプリケーション名]と[説明]の値を入力します。
	1. [次へ]をクリックします。
	1. [サービスプロバイダの詳細]の[エンティティID]、[ACSのURL]、[開始URL]欄に次を入力します。
		* ACSのURL: https://signin.aws.amazon.com/saml
		* エンティティID: https://signin.aws.amazon.com/saml
		* 開始URL: <空白>
	1. [署名付き応答]チェックボックスはオフのままにします。
	1. [名前のID]の既定値は、メールアドレスです。メールアドレスを使用します。
	1. [次へ]をクリックします。
	1. [新しいマッピングを追加]をクリックし、以下の属性値を設定します。
		* https://aws.amazon.com/SAML/Attributes/RoleSessionName
			* [基本情報] > [メインのメールアドレス]を設定
		* https://aws.amazon.com/SAML/Attributes/Role
			* カスタム属性を割り当てます[AWSアカウントロール] > [role](複数値可)
			* ここでは、複数アカウントを設定できるように複数値を可にしました。
		* SessionDuration
			* コンソールセッションのTimeout値を設定します(秒)。MAX 12hです。
		![AWS_Console_Login.png](https://qiita-image-store.s3.amazonaws.com/0/10435/af082844-6cb3-c21c-739b-d7c43caa1598.png "AWS_Console_Login.png")

	1. [完了]をクリックします。


1. AWS側の設定
	1. IDプロバイダの作成
		1. AWSコンソールへログインする。
		1. [IAM] > [プロバイダ]から[プロバイダの作成]をクリックします。
		1. プロバイダのタイプにSAMLを選択して、プロバイダ名を入力。
		1. メタデータドキュメントへ1.5.でダウンロードしたメタデータをアップロードして、次へ進みます。
		1. [作成]ボタンをクリックして作成します。
		1. プロバイダの概要にてプロバイダのARNを覚えておきます。
		
		![idp_provider.png](https://qiita-image-store.s3.amazonaws.com/0/10435/e1c7494d-8f9f-b9ee-dd71-168a35ce045e.png "idp_provider.png")
		

	1. ロールの作成
		1. 必要な権限を持ったロールを作成します。
		1. ここでは、一旦AdministratorAccessの権限を持ったロールを作成します。
		1. ロールの概要からロールARNを覚えておきます。
		
		![iam_role_arn.png](https://qiita-image-store.s3.amazonaws.com/0/10435/0072674d-5ae3-95a2-fc37-e6ee691ec614.png "iam_role_arn.png")
		


1. G Suiteユーザの設定
	2. ユーザ一覧から、設定するユーザをクリックして詳細を表示します。
	3. [アカウント] > ユーザ属性を管理の[編集]をクリック。
	4. role欄に<ロールARN>,<プロバイダARN>を入力
	5. SessionDurationにタイムアウト(秒)を指定します。
	
	![ユーザ設定.png](https://qiita-image-store.s3.amazonaws.com/0/10435/c8f64732-6fc5-c0c8-8c19-21b857edda19.png "ユーザ設定.png")

	6. [ユーザを更新]をクリックして設定を反映させます。

1. G SuiteのAmazon Web Servicesアプリケーションの設定
	1. [アプリ] > [SAML アプリ]をクリックします。
	2. 有効にするアプリケーションの右側のメニューからオンにします。
	3. 画面右上のGoogleアプリから、[もっと見る]をクリックしてAWSアプリケーションをクリックして、AWSコンソールへログインできることを確認します。
	![Appsアプリ.png](https://qiita-image-store.s3.amazonaws.com/0/10435/79ad92f9-84b4-d268-5d05-72bbab875e08.png "Appsアプリ.png")


### 
上記手順でAWSへ個別にIAMユーザを作成して管理する必要はなくなります。
権限ロールなどは要件にあわせて複数作成するといいかもしれません。
GSuiteのIdp情報のダウンロードが記載されているヘルプの場所と違い、しばらく探しました。。。
今後も、双方の管理コンソールが変わる可能性があるので適宜読み替えてください。