Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20241119_AWS IAM Identity Center(IdC)とGoogle Cl...

20241119_AWS IAM Identity Center(IdC)とGoogle Cloud Identity(CI)で実現するガバクラのアカウント・権限管理

セキュアなアカウント・権限管理のベストプラクティスの一つとして、ガバメントクラウドの仕組みを詳説。

Avatar for Yutaka Kozuka

Yutaka Kozuka

November 19, 2024

More Decks by Yutaka Kozuka

Other Decks in Technology

Transcript

  1. Yutaka Kozuka 2024/11/19 AWS IAM Identity Center と Google Cloud

    Identityで実現する 『ガバメントクラウドのアカウント・権限管理』 アカウント・権限管理設計
  2. 自己紹介(Yutaka Kozuka) 簡単な肩書: • 2024 Japan AWS Jr. Champions •

    wakaru-blog.com(ブログ)運営 業務での取り組み: • 主に公共サービス系のお客様に対して、システム 設計・開発・運用を担当。 • 好きなAWSサービスはEKS(マネージド Kubernetesサービス)
  3. 目次 本紙 1.GCASの概要 2.GCAS(IdP)と IAM Identity Center(SP)の連携 3.各サービスの説明(Cloud Identity と

    IAM Identity Center) 4.SAMLによるIdPとSPの認証フロー 5.事業者によるGCASを利用したAWSアカウントへのログイン 6.IAM Identity Centerでの許可管理 7.事業者によるロールの管理 Appendix 1.ロールの信頼ポリシーにIAM Identity Centerユーザーを指定する例 2.IAM Identity CenterユーザーでCLIを利用する例 3.参考資料
  4. Google Cloudを基盤として構築された、デジタル庁のプラットフォーム。 ガバメントクラウド移行の本格化に向け、今後、中央省庁や 1,741 ある地方公共団体と呼ばれる領域からのクラウド利用申請が急激な 勢いで増加していくことが予測されている。これを自動化・効率化する仕組み。 AWSにおいては、IAM Identity Centerと連携し、アカウントの払い出し、認証認可を行う。 GCASの概要

    ①ユーザー登録・認証 Cloud Identity で多要素 認証や端末の識別を行い、 SSO先の制御や管理を行う。 各省庁職員に限らず、地方 公共団体職員や開発ベン ダーも対象としたユーザー認 証が可能。 ②システム情報登録・CSPア カウント払い出し ガバメントクラウド利用システ ムの情報登録と環境払い出 し申請を行う。 ③ヘルプデスクの提供 ガバメントクラウドに関する問 い合わせの受付と回答を Web アプリケーションで管理 する。 ④ガイド・ダッシュボードの提 供 ガバメントクラウドの利用ガイ ドに関する Web ページが用 意されている。 Google Cloudを基盤として ガバメントクラウドの利用状況 を Web アプリケーションで可 視化する。
  5. GCAS(IdP)とIAM Identity Center(SP)の連携 SP: IAM Identity Center IdPに以下を提供 • ACS

    URL • 発行者URL IdP: Cloud Identity SPに以下を提供 • サインインURL • 発行者URL • 証明書 GCASはGoogle Cloud Cloudで作成され、IdPとし て機能する。 IAM Identity CenterはSPとして機能する。 IdPとCSPは、お互いにURLや証明書を渡すことで、 連携を行う。 「IdP」とは、Identity Providerの略でユーザーの認 証を行うシステムで、ユーザーのID情報を管理し、他 のサービスにログインする際に信頼できる認証情報を 提供する。 「SP」とは、ユーザーがアクセスするサービス自体で、 IdPから受け取った認証情報を基にアクセスを許可し ます。
  6. 各サービスの説明(Cloud Identity と IAM Identity Center) Google:Cloud Identity GCPアカウントやWorkspace、他アプリケーションへ のアクセス管理を一元化し、複数のリソースにSSOで

    アクセスできるようにするサービス。また、組み込みの ディレクトリサービスも備えている。 IdPとしてユーザーの認証を行う。外部のIdPと連携 可能。 主な利点: • GCPやWorkspace、他アプリケーションへのアク セスを効率化 • ディレクトリサービス持つ • 一貫したセキュリティポリシーの適用 • 組織の規模に合わせて容易に拡張可能 ガバメントクラウドでは、GCAS(Cloud Identity) と IAM Identity Centerが連携し、アカウントの管理や認証認可を行っている。 Cloud Identity と IAM Identity Centerのそれぞれのサービスの説明は以下の通り。 AWS:IAM Identity Center AWSアカウントや他アプリケーションへのアクセス管理 を一元化し、複数のリソースにSSOでアクセスできる ようにするサービス。 IdPとしてユーザーの認証を行う。外部のIdP (Active Directory、Google Cloud Identity など)と連携可能。 主な利点: • AWSリソースや他アプリケーションへのアクセスを 効率化 • 一貫したセキュリティポリシーの適用 • 組織の規模に合わせて容易に拡張可能
  7. SAMLによるIdPとSPの認証フロー SP IdP SAMLプロトコルを利用した、IdPとCSPのユーザー認 証フローは以下の通り。 SAML認証フロー: ① ユーザーがSPにアクセスする。 ② CSPは、ユーザーをIdPにリダイレクトし、認証を要

    求する。 ③ IdPがユーザーを認証し、SAMLアサーションを生 成してCSPに返す。 ④ 最後に、SPがアサーションを検証し、ユーザーにア クセス権を付与する。 ① ② ③ ④
  8. 事業者によるGCASを利用したAWSアカウントへのログイン 事業者はAWSアカウントへのログイン時、GCASで認 証を行った後、AWSアカウントへのSSOを行う。 ログインフロー: ① ユーザーがAWSにアクセスする。 ② IAM Identity Centerは、ユーザーをGCASにリ

    ダイレクトし、認証を要求する。 ③ GCASがユーザーを認証し、SAMLアサーションを 生成してIAM Identity Centerに返す。 ④ 最後に、IAM Identity Centerがアサーションを 検証し、ユーザーにAWSアカウントへのアクセス権 を付与する。 ⑤ ユーザーは事前にIAM Identity Centerで割り 当てられた許可セットを利用する。 ⑤ SP: IAM Identity Center IdP: GCAS ① ② ③ ④ AWS account A 許可セット: • Adminグループ • Adminロール
  9. IAM Identity Centerでの許可管理 IAM Identity CenterはOrganizationsと連携し、複数AWSアカウントへのSSOや、各アカウントへの許可セットやユーザーの割り当て を行う。 ガバメントクラウド IAM Identity

    Center AWS account A AWS account B 許可セット: • Adminグループ • Adminロール 許可セット: • SwitchRoleグループ • SwitchRoleロール AWS Digital Agency account A GCAS(IdP)で作成したユーザーにIAM Identity Center ユーザーとしての権限付与と管理を行う。 フロー: ① GCAS(IdP)でユーザーを作成する ② IAM Identity CenterでAdminグループを作成する ③ IAM Identity CenterでSwitchRoleグループを作成する ④ IAM Identity CenterでGCASと同じIDのユーザーを作 成する ⑤ ユーザーを各グループに登録する ⑥ IAM Identity Centerで許可セットを作成する ⑦ グループと許可セットを各アカウントに紐づける
  10. ロールの信頼ポリシーにIAM Identity Centerユーザーを指定する例 IAM Identity Centerから払い出され、 SwitchRoleグループに割り当てられたユーザーを、スウィッチ先のロールの信頼ポリシーに指定す る方法。 { "Version":

    "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<AccountID>:role/aws- reserved/sso.amazonaws.com/ap-northeast-1/AWSReservedSSO_SwitchOnlyRole_<ランダム 文字列>" }, "Action": "sts:AssumeRole", "Condition": { "StringLike": { "aws:userid": [ "*:<IAM Identity Centerユーザー名>", "*:<IAM Identity Centerユーザー名>" ] } } } ] } • IAM Identity Centerに許可セッ トで利用されるロールを指定。 • IAM Roleから確認可能。 • StringLikeにIAM Identity Center 許可するユーザーを指定。 • リージョン右のアカウント情報 から確認可能。
  11. • IAM Identity Center と Google Cloud Identity を利用した認証認可を実現するための技術的な記事 •

    https://qiita.com/hiren/items/4980e5922593270c7c7b • IAM Identity Center を利用した認証認可を実現するための技術的な記事 • https://zenn.dev/yaasita/articles/aa48bfa06b9a53#%E3%83%96%E3%83%A9%E3%82%A6%E3 %82%B6 • デジタル庁が作成しているガバメントクラウドでSSOを導入した経緯や仕組みについての記事 • https://guide.gcas.cloud.go.jp/general/security-tech/ • デジタル庁が作成しているGCASを利用した認証認可への移行についての記事 • https://guide.gcas.cloud.go.jp/aws/sso-transition/ • Google Cloudが作成しているGCASの概要についての記事 • https://cloud.google.com/blog/ja/products/gcp/application-development-to-accelerate-the-use-of- the-government-cloud 参考記事