そういえばGoogle Workspaceに課金してたのでAWSをSSOログインしようと思い立ったメモです。
AWS IAM Identity Center(AWS SSO)を使った方が、管理 & 一時的なプログラムアクセスキーが発行できるので、そっちの方が良さそう。
例示として以下の状態を想定します
サービスA
,サービスB
,サービスC
という3つのAWSアカウントがある開発者用ロール
,閲覧専用ロール
の2つのIAM ロールがある
AWS IAM Identity Center (AWS SSO) を使わない場合
↓のやり方で設定した場合の話になります
Google Workspace の各ユーザーの属性に直接アクセス許可する AWSアカウント・IAMロール を設定する必要がある
(もしかしたらグループ設定できる?)
Google Workspace側の設定
AWSへのSAMLログイン時
初期設定後、GoogleユーザーやAWSアカウント、許可権限(IAMロール)を追加する場合は、
- AWS側ですること
- 該当のAWSアカウントへ、許可したい権限だけを持ったIAMロールを作成
- Google Workspace側ですること
- ↑で作ったIAMロールのARNを各Googleユーザーの属性に追加する
この場合は、3つのAWS アカウント、2つのIAMロールの組み合わせのARNを各Googleユーザーの属性に対して設定しないといけないので、だるいです。 ツールで管理してもだるそう
AWS IAM Identity Center (AWS SSO) を使う場合
↓のやり方で設定した場合の話になります
- 公式ブログ: https://aws.amazon.com/jp/blogs/security/how-to-use-g-suite-as-external-identity-provider-aws-sso/
- スタディサプリさんでの事例: https://blog.studysapuri.jp/entry/2022/01/12/080000
AWS IAM Identity Center (以降 IamIC と記載) で設定したユーザー&グループ、AWSアカウント、許可セット(IAMロール的なもの)の組み合わせで設定します。
初期設定後、GoogleユーザーやAWSアカウント、許可権限(IAMロール)を追加する場合は、
- AWS側ですること
- AWS IamIC のユーザーをグループに追加する
- AWSアカウントに対して、グループと許可セットのアクセス許可を紐付ける
- Google Workspace側ですること
- なし (AWS IamICのユーザーとメアドが一致していればOK)
その他
請求ダッシュボードへの権限はIAMだけじゃなくて管理者アカウントの設定でIAMアクセスの許可を設定する必要がありました。