Google Workspace と IAM Identity Center を連携して SSO してみた
Configure SAML and SCIM with Google Workspace and IAM Identity Center - AWS IAM Identity Center
上記ドキュメントの内容をやってみました。
Google Workspace の作成について
Cloud Identity(Google WorkspaceのIdP機能だけを抜き出したようなもの。無償で使えます。)
上記ブログを参考に、Cloud Identity を利用するためにドメインを取得して設定を行っていました。
設定の途中で Google Workspace の利用が必要な旨の画面が表示されたのですが、Cloud Identity Premium 以外の選択肢がありませんでした。
Cloud Identity Premium は 14 日間無料で利用できるためいったん請求情報などを登録して Cloud Identity Premium の利用を開始しました。
利用開始後に請求コンソールからサブスクリプションを解除できることも確認できました。
ただし、サブスクリプションをキャンセルしない場合には 14 日後に料金が発生するのでご注意ください。
- Google Workspace の無料試用について - Google Workspace 管理者 ヘルプ
- Cloud Identity Premium の無料試用について - Cloud Identity ヘルプ
01. Google Workspace で SAML アプリケーションを設定
ドキュメントの手順通りに設定します。
メタデータをダウンロード後、IAM Identity Center 側での作業が必要なので、サービスプロバイダの詳細を開いたまま IAM Identity Center 側のステップに移ります。
02. IAM Identity Center のアイデンティティソースの変更
ドキュメントの手順通りに設定します。
以下の URL を Google Workspace 側の画面で入力します。
- IAM Identity Center Assertion Consumer Service (ACS) の URL: ACS の URL
- IAM Identity Center 発行者 URL: エンティティ ID
Google Workspace 側で名前 ID の形式を EMAIL に設定します。
マッピングを設定して完了します。
手順 01 でダウンロードしたメタデータを IAM Identity Center 側にアップロードします。
03. ユーザーアクセスを有効化
Google Workspace 側で Amazon Web Services のアプリのユーザーアクセスをオンにします。
04. IAM Identity Center で自動プロビジョニングを有効化
ドキュメントの手順通りに設定します。
SCIM エンドポイントとアクセストークンはコピーしておきます。
05. Google Workspace で自動プロビジョニングを設定
ドキュメントの手順通りに設定します。
手順 04 でコピーした SCIM エンドポイントとアクセストークンを入力します。
属性はデフォルト設定です。
今回はグループも設定しませんでした。
プロビジョニング解除もデフォルト設定です。
自動プロビジョニングをオンにします。
Google Workspace 側でユーザーを追加してみる
SCIM による自動プロビジョニングの動作を確認します。
Google Workspace 側でユーザーを作成します。
ユーザーの作成から同期までは最長 24 時間かかります。
Configure SAML and SCIM with Google Workspace and IAM Identity Center - AWS IAM Identity Center
Provisioning can take up to 24 hours, although in most cases it completes within minutes.
今回の検証では 5 分ほどで同期されました。
Google Workspace 側でユーザーで Google にログインしてアプリから Amazon Web Services を選択することで AWS アクセスポータルに SSO されることも確認できました。
IAM Identity Center でアカウントに許可セットとユーザーを割り当てることでアカウントへのログインもできました。
Google Workspace 側でユーザーを削除した場合
AWS SSOのIDストアをAzure ADにしている環境においてAzure ADのユーザを削除したときのAWS SSOの状態まとめ | DevelopersIO
Google Workspace 側でユーザーを削除した場合、IAM Identity Center 側ではユーザーのステータスが無効になるのみで、ユーザーの削除は行われませんでした。
CloudTrail には userAgent: Google-Auto-Provisioning からの DisableUser が記録されていたため、自動的に削除するには DisableUser を検出する EventBridge ルールを作成し、Lambda などから DeleteUser を実行する必要がありそうです。
まとめ
今回は Google Workspace と IAM Identity Center を連携して SSO してみました。
どなたかの参考になれば幸いです。
参考資料
- Configure SAML and SCIM with Google Workspace and IAM Identity Center - AWS IAM Identity Center
- 【AWS IAM Identity Center】Google Workspaceの代わりにCloud Identityを使ってGoogleアカウントからのシングルサインオン環境を作る - サーバーワークスエンジニアブログ
- Google Workspace の無料試用について - Google Workspace 管理者 ヘルプ
- Cloud Identity Premium の無料試用について - Cloud Identity ヘルプ
- AWS SSOのIDストアをAzure ADにしている環境においてAzure ADのユーザを削除したときのAWS SSOの状態まとめ | DevelopersIO
Discussion