Google AppsのアカウントでAWSマネジメントコンソールにSSOログインする

## Google AppsのSAMLアプリケーション設定

1. Googla Appsの[管理コンソール](https://admin.google.com/AdminHome)にログインします。
2. アプリをクリックします。
<img width="639" alt="スクリーンショット 2016-01-10 13.52.51.png" src="https://qiita-image-store.s3.amazonaws.com/0/65478/bc468161-f36e-eb55-29db-dc3cd390223f.png">
　
　
- Amazon Web Servicesを選択します
<img width="740" alt="スクリーンショット 2016-01-10 13.54.42.png" src="https://qiita-image-store.s3.amazonaws.com/0/65478/b75100ff-cfea-fbc5-50fe-6985490cec25.png">
　
　
- IDPメタデータをダウンロードします。これを後でAWS側にアップロードするのでローカルに保存しておきます
<img width="613" alt="スクリーンショット 2016-01-10 13.59.50.png" src="https://qiita-image-store.s3.amazonaws.com/0/65478/5b10a947-475c-1b67-352c-baf0327ff95f.png">
　
　
- Amazon Web Services の基本情報及びサービス プロバイダの詳細は特に何も入力は必要ないです。そのまま「次へ」をクリックして進みます。
- 属性のマッピングは以下のキャプチャの通り設定します。 https://aws.amazon.com/SAML/Attributes/Role に従業員の詳細>役職を設定するのがポイントです。
<img width="622" alt="スクリーンショット 2016-01-10 14.11.24.png" src="https://qiita-image-store.s3.amazonaws.com/0/65478/51f060d6-523a-42e4-dc7c-d0e074ae16ab.png">

以上でGoogla AppsのSAML設定は完了です。

## AWSマネジメントコンソールの設定
### IDプロバイダーの作成
これは、Googla Apps側の組織に関する情報を保持するIAMエンティティとなります。
1. AWSマネジメントコンソールからIAMを選択します
2. IDプロバイダを選択して、プロバイダを作成します
<img width="531" alt="スクリーンショット 2016-01-10 14.17.01.png" src="https://qiita-image-store.s3.amazonaws.com/0/65478/7e85279f-fa51-962d-8ccb-0ad031af56b6.png">
3. プロバイダーのタイプとしてSAMLを選択して、先ほどダウンロードしたIDPメタデータファイルをアップロードして、作成を行います
<img width="625" alt="スクリーンショット 2016-01-10 14.19.01.png" src="https://qiita-image-store.s3.amazonaws.com/0/65478/602fbb85-42a7-bd2f-fcbf-082f1f896911.png">

### ロールの設定
次にロールを設定します。信頼ポリシーでプロバイダーを紐付けて、アクセスポリシーでフェデレーションユーザに許可するアクションを設定しましょう。
1. ロールタイプとして、「SAML プロバイダへのウェブシングルサインオン（WebSSO）アクセスを付与」を選択します
<img width="1226" alt="スクリーンショット 2016-01-10 14.26.43.png" src="https://qiita-image-store.s3.amazonaws.com/0/65478/e4e51ac1-b2d5-1815-677a-27f2f46af76e.png">
2. 信頼性の確立にて、先ほど作ったプロバイダを選択します。
<img width="865" alt="スクリーンショット 2016-01-10 14.29.44.png" src="https://qiita-image-store.s3.amazonaws.com/0/65478/822154ef-61cc-52c1-f01a-6f538e9218ad.png">

こんな感じの信頼ポリシーを生成してくれます

```json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sts:AssumeRoleWithSAML",
      "Principal": {
        "Federated": "<選択したプロバイダへのARN>"
      },
      "Condition": {
        "StringEquals": {
          "SAML:aud": "https://signin.aws.amazon.com/saml"
        }
      }
    }
  ]
}
```

3. アクセスポリシーを選択して、フェデレーションユーザに許可するアクションを選択して、ロールを作成します。
<img width="882" alt="スクリーンショット 2016-01-10 14.33.46.png" src="https://qiita-image-store.s3.amazonaws.com/0/65478/84edcd30-7204-d611-ba4f-4290dfe2b69d.png">

以上でAWS側の設定は完了です。

## Google Appsのアカウント設定
1. Googla Appsの[管理コンソール](https://admin.google.com/AdminHome)に戻ってアカウントページを開きます
<img width="889" alt="スクリーンショット 2016-01-10 14.38.18.png" src="https://qiita-image-store.s3.amazonaws.com/0/65478/4d927eda-073f-fba7-3ec7-86434a05447c.png">

2. アカウントを選択して、従業員の詳細を編集します。タイトルというプレースホルダーが設定してある項目に、<プロバイダのARN>,<ロールのARN> を設定します。
3.  <img width="798" alt="スクリーンショット 2016-01-10 14.39.11.png" src="https://qiita-image-store.s3.amazonaws.com/0/65478/94d1186f-cf29-1932-98a0-d46902938dbd.png">

<img width="697" alt="スクリーンショット 2016-01-10 14.42.55.png" src="https://qiita-image-store.s3.amazonaws.com/0/65478/0fa0cd8e-8ea3-f3c5-fae3-0844f03f5c58.png">

4. 最後にアプリを有効化します
<img width="1207" alt="スクリーンショット 2016-01-10 14.49.47.png" src="https://qiita-image-store.s3.amazonaws.com/0/65478/dc6f3908-aba1-74d2-207d-98d77e84a8e9.png">

## SSOログインを実行
アプリ右上のキャプチャの箇所をクリックします。
<img width="319" alt="スクリーンショット 2016-01-10 14.52.10.png" src="https://qiita-image-store.s3.amazonaws.com/0/65478/7dfb42ff-6da8-e66f-ebc9-f09ffd69e02e.png">

ちゃんとマネジメントコンソールにログインできました。
フェデレーションユーザでログインできていることが確認できます。
<img width="464" alt="スクリーンショット 2016-01-10 14.53.13.png" src="https://qiita-image-store.s3.amazonaws.com/0/65478/172c83af-e3fa-baab-bd6a-1bd53aa35b67.png">