それなりに適当にやってます

なんとなくそれっぽいメモとか備忘録とか適当に。 2018年5月にブログ移転しました。 古い記事は未整理です。

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と属性を関連付けする
  • 問題なければ完了をクリックし、アプリを追加する。
  • 追加後、作成された 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
  • 値を入力したら 保存 する。
  • アクセスを許可したユーザで Chrome 右上のアプリメニューから Amazon Web Services をクリック、そのままAWSにログインできた事を確認

満足(´・ω・`)

参考URL

以上 c⌒っ゚д゚)っφ メモメモ...