G Suite > AWS コンソール へのシングルサインオン試した
個人で契約している G Suite を使って、AWS コンソールへシングルサインオンしてみたのでメモ残す。
G Suite : カスタムユーザ属性の作成
- https://admin.google.com にアクセス
- ユーザ > ユーザー属性管理 のアイコンをクリック > カスタム属性を追加 をクリック
以下の内容で追加
- カテゴリ: AWS SAML
- カスタムフィールド(下記表の通り)
名前 | 情報の種類 | 公開設定 | 値の数 |
---|---|---|---|
IAM Role | テキスト | 管理者は閲覧可能 | 複数の値 |
SessionDuration | 整数 | 管理者は閲覧可能 | 単一の値 |
G Suite : アプリの追加
- 続けて アプリ > SAMLアプリ > サービスやアプリをドメインに追加 をクリック
Amazon Web Services
を選択- URLが表示されるのでメモ & 証明書、メタデータなど をダウンロードし、次へ
- AWSの基本情報が表示されるので確認して、次へ
- "名前 ID の書式" で "EMAIL" を選択して、次へ
- 属性のマッピングで、各URLと属性を関連付けする
- https://aws.amazon.com/SAML/Attributes/RoleSessionName
- 基本情報、メインのメールアドレス
- https://aws.amazon.com/SAML/Attributes/Role
- AWS SAML, IAM Role
- https://aws.amazon.com/SAML/Attributes/SessionDuration
- AWS SAML, SessionDuration
- SessionDuration の値を反映することで、デフォルト1時間のセッション断が予防できるとか、詳細は参考URLの Single-sign-on with G Suite on the Amazon Web Services console を参照
- https://aws.amazon.com/SAML/Attributes/RoleSessionName
- 問題なければ完了をクリックし、アプリを追加する。
- 追加後、作成された Amazon Web Services のSAMLアプリを(一部またはすべての)ユーザに対して オン にする
AWS の設定
- AWS コンソールにログイン
- IAM > ID プロバイダー > プロバイダの作成
- 以下の内容を入力
- プロバイダーのタイプ : SAML
- プロバイダ名 : GoogleSSO
- メタデータドキュメント
- G Suite からダウンロードしていたファイルを選択(GoogleIDPMetadata-*.xml)
- 入力が完了したら 次へ 進める
- プロバイダー情報の検証 に進むので 作成 をクリック
次に作成したプロバイダに割り当てるロールを作成する。 詳細については ドキュメントも参照
- IAM > ロール > ロールの作成
- SAML 2.0 フェデレーション を選択
- 以下のように入力
- SAML プロバイダー : 先ほど作成した GoogleSSO を選択
- 属性 : SAML:aud
- 値 : https://signin.aws.amazon.com/saml
- 入力が完了したら 次へ 進める
- アクセス権限はSSOでログインしてきたユーザに割り当てたい権限を選択(任意に作成)し、次へ
- 最後にロール名などを入力し、ロールを作成する。
G Suite ユーザへのアクセス許可
以上でSSO環境の設定は完了したので、AWSにアクセスさせたい G Suiteユーザ の属性にARN情報を追加する。 追加する情報は 作成したロールのARN + ID プロバイダーのARN の組み合わせになる。
例: arn:aws:iam::************:role/GoogleSSO,arn:aws:iam::************:saml-provider/GoogleSSO
- G Suite 管理コンソール > ユーザ > 対象ユーザを選択
- ユーザ情報の詳細 を開く
- AWS SAML のカスタム属性が存在しているので、以下のように入力
- IAM Role :
arn:aws:iam::************:role/GoogleSSO,arn:aws:iam::************:saml-provider/GoogleSSO
- SessionDuration : 28800
- IAM Role :
- 値を入力したら 保存 する。
- アクセスを許可したユーザで Chrome 右上のアプリメニューから Amazon Web Services をクリック、そのままAWSにログインできた事を確認
満足(´・ω・`)
参考URL
- Single-sign-on with G Suite on the Amazon Web Services console
- G Suite 管理者ヘルプ
- AWS Document: SAML 2.0 ベースのフェデレーションについて
- AWS Document: SAML 2.0 フェデレーション用のロールの作成 (コンソール)
以上 c⌒っ゚д゚)っφ メモメモ...