Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Workforce Identity を使った 権限管理で Cloud Run を動かしてみた
Search
SatohJohn
November 22, 2024
Programming
0
930
Workforce Identity を使った 権限管理で Cloud Run を動かしてみた
2024 年 11 月 22 日(金) Jagu'e'r Cloud Native #16 ハイブリッド Meetup にて発表させていただきました。
SatohJohn
November 22, 2024
Tweet
Share
More Decks by SatohJohn
See All by SatohJohn
Vertex_AI_Searchを使いこなす実践テクニック
satohjohn
1
120
アーキテクチャモダナイゼーションの書籍紹介
satohjohn
0
22
NVIDIA NeMo Agent Tooklit を使ってみた
satohjohn
0
73
Gemini Enterprise を恐れない - Securityと監査-
satohjohn
0
170
進化の早すぎる生成 AI と向き合う
satohjohn
0
710
お前も Gemini CLI extensions を作らないか?
satohjohn
0
160
検索システムにおけるセキュリティ
satohjohn
1
110
Feature Flag 開発を標準化し、加速させる OpenFeature を導入する
satohjohn
4
2.7k
ADK Java が出たので AI Agent を作ろう
satohjohn
0
210
Other Decks in Programming
See All in Programming
AIコーディングの理想と現実 2026 | AI Coding: Expectations vs. Reality 2026
tomohisa
0
1.2k
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
250
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
750
encoding/json/v2のUnmarshalはこう変わった:内部実装で見る設計改善
kurakura0916
0
350
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.5k
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
360
Agent Skills Workshop - AIへの頼み方を仕組み化する
gotalab555
15
8.2k
Railsの気持ちを考えながらコントローラとビューを整頓する/tidying-rails-controllers-and-views-as-rails-think
moro
4
380
Claude Code、ちょっとした工夫で開発体験が変わる
tigertora7571
0
200
AI時代のソフトウェア開発でも「人が仕様を書く」から始めよう-医療IT現場での実践とこれから
koukimiura
0
140
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
200
あなたはユーザーではない #PdENight
kajitack
4
340
Featured
See All Featured
A better future with KSS
kneath
240
18k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
850
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
640
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
64
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
470
The Cult of Friendly URLs
andyhume
79
6.8k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
67
37k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
240
Transcript
Workforce Identity を使った 権限管理で Cloud Run を動かしてみた Jagu'e'r Cloud Native
#16 ハイブリッド Meetup 株式会社 スリーシェイク Sreake事業部 佐藤慧太 Copyright © 3-shake, Inc. All Rights Reserved.
まずは乾杯しましょう
あ、みんな、飲みましたよね?! それ今回、弊社 3-shake から提供をさせていただきましたので せっかくだから、ちょっとだけ会社紹介させてください! (オンラインの方、ご提供できず申し訳ないです)
About 3-shake xOps Plattform DesignOps IaaS DevOps / SRE
RevOps (Revenue Ops) HR(Engineer Hiring) HROps Data Engineering DataOps Security DevSecOps SecOps 事業者が抱える セキュリティリスクを無くす 本格的な脆弱性診断を 無料で手軽に セキュリファイ Security 良いエンジニアに良い案件を フリーランスエンジニアに 「今よりいい条件」を リランス HR(Engineer Hiring) あらゆるサービスを連携する ハブになる クラウド型ETL/データパイプ ラインサービスの決定版 レコナー Data Engineering 日本のSREをリードする SRE総合支援からセキュリティ 対策まで全方位支援 スリーク SRE スリーシェイク = xOps領域のプラットフォーマーへ 4
Sreake SRE(SRE総合支援サービス) 技術戦略から設計、構築、運用までワンストップ支援する 技術支援サービス 技術戦略 コンサルティング システム 設計 構築 /
実装 支援 アセスメント (パフォーマンス / セキュリティ) 運用支援 Micro Service , Multi Cloud や k8s をはじめとした Cloud Native な先進的技術及び大規模なサービス 運用に強みを持つエンジニアによる技術支援 ベンダー的な役割ではなく「お客様の チームメンバー」という立ち位置で最新技術の提案から運用支援 までをトータルご支援 5
自己紹介 佐藤 慧太@SatohJohn • 2012/4 フリュー株式会社 入社 ToC 向けのアプリケーション開発を 10年ほど経験
リードエンジニアとして 0からサービスを 設計開発運用を経験 • 2023/1 株式会社スリーシェイク 入社 SRE として労苦 <Toil>を減らす仕事に従事 Google Cloud Partner Top Engineer ’24、’25 生成 AI とかやってます
目次 1. Workforce Identity の紹介をする 2. Workforce Identity を設定する a.
Auth0 を設定する b. 試しに動かしてみる 3. Cloud Run jobs を動かしてみる ここまでで2分
構成(簡略なもの) Auth0 Workforce Identity ログイン 実行 IAM Cloud Run OIDC
Workforce Identity について 01 Copyright © 3-shake, Inc. All Rights
Reserved.
Workforce Identity について Workload identity Workforce identity ≠
Workforce Identity について Workload identity Workforce identity • アプリケーションやサービスなどの 人間以外のエン
ティティ が、Google Cloudのリソースにアクセスする ためのID • サービスアカウントキーの代わりに フェデレーション IDを使用する これにより、セキュリティリスクを軽減し、ID管理を簡 素化にする • Kubernetes や Compute Engine などのGoogle Cloud サービスで実行されている アプリケーションに適用できる • オンプレミス や マルチクラウド 環境のワークロードに も使用できる • 外部IDプロバイダー (IdP) を使用して認証を行う。 Google Cloudは、 OpenID Connect (OIDC) をサポー トしている多くのIdPと連携できる Gemini から
Workforce Identity について Workload identity Workforce identity • 従業員、請負業者、ベンダー など、組織内の
人間 が Google CloudのリソースにアクセスするためのID • Cloud Identity の Google Cloud Directory Sync (GCDS) とは異なり、既存のIdPからGoogle Cloud ID にユーザーIDを同期する必要がない • 属性マッピング と 属性条件 によるきめ細かなアクセス 制御が可能 • シングルサインオン (SSO) を実現し、ユーザーエクス ペリエンスを向上させることができます。 Gemini から
Workforce Identity について Workload identity Workforce identity ≠ アプリケーションやサービスがGoogle Cloudのリソースにアクセスする
必要がある場合は Workload Identity を使用します。 従業員やパートナーがGoogle Cloudのリソースにアクセスする 必要がある場合は Workforce Identity を使用します。
Workforce Identity を設定する 02 Copyright © 3-shake, Inc. All Rights
Reserved.
Auth0 の設定 1. Application の作成 2. Client ID、 Client Secret
Issuer の取得 3. Callback URL の設定
Auth0 の設定 1. Application の作成 2. Client ID、 Client Secret
Issuer の取得 3. Callback URL の設定
Auth0 の設定 1. Application の作成 2. Client ID、 Client Secret
Issure の取得 3. Callback URL の設定 後で設定する poolId と providerId を入れておきま しょう https://auth.cloud.google/signin-callback/locat ions/global/workforcePools/{poolId}/providers /{providerId}
Workforce Identity の設定 1. Pool の作成 2. 先程の情報を使って Provider の作成
Workforce Identity の設定 1. Pool の作成 2. 先程の情報を使って Provider の作成
a. OIDC の接続 b. レスポンスタイプは code c. マッピングは email と 紐づける 作成した後に session の期限を決められます 最短15分 最長 12時間です
Workforce Identity の設定 1. Pool の作成 2. 先程の情報を使って Provider の作成
a. OIDC の接続 b. レスポンスタイプ code (*1) c. マッピングは email と 紐づける(*2) *1 Auth0 でやっていたところ、code じゃないとうまくいき ませんでした、IdP により変更してください *2 email かどうかは要件によりますが、vertex ai search の acl の場合は email に紐づけないといけません
Workforce Identity ログインのテストをする 1. 作成された Provider に URL が生えているので、 それをクリックし、ログインする
2. アカウント名 に email が正しく入っていることを確認する
Workforce Identity ログインのテストをする 1. 作成された Provider に URL が生えているので、 それをクリックし、ログインする
→ これがちょっとバグってる 2. アカウント名 に email が正しく入っていることを確認する
Workforce Identity ログインのテストをする 1. 作成された Provider に URL が生えているので、 それをクリックし、ログインする
→ これがちょっとバグってる a. https://auth.cloud.google/signin/locations/global/workforcePo ols/{poolID}/providers/{providerId}?continueUrl=https://cons ole.cloud.google/ にアクセスしてください 2. アカウント名 に email が正しく入っていることを確認する https://cloud.google.com/iam/docs/workforce-console-sso#initiate-idp-link
1. 組織の Cloud Logging に対してログが流れるので以下のクエリで確認 補足: Workforce Identity のログ確認 resource.type="audited_resource"
resource.labels.service="sts.googleapis.com" protoPayload.resourceName:"workforceIdentityPools/{poolId}/providers/{providerId}" https://cloud.google.com/iam/docs/audit-logging/examples-workforce-identity resource.type="audited_resource" resource.labels.service="sts.googleapis.com" protoPayload.authenticationInfo.principalSubject="{subject}" Provider Id で絞る場合 subject で絞る場合 (assertion.sub の値が入る)
Cloud Run jobs を動かしてみる 03 Copyright © 3-shake, Inc. All
Rights Reserved.
Cloud Run jobs を動かしてみる 1. IAM の設定 2. 認証に使う設定ファイルの作成 3.
gcloud でのログイン 4. Cloud Run service を叩く
Cloud Run jobs を動かしてみる 1. IAM の設定 2. 認証に使う設定ファイルの作成 3.
gcloud でのログイン 4. Cloud Run service jobs を叩く
Cloud Run jobs を動かしてみる 1. IAM の設定 2. 認証に使う設定ファイルの作成 3.
gcloud でのログイン 4. Cloud run jobs を叩く ID ID の形式 説明 Workforce Identity プール 内の単一の ID principal://iam.googleapis.com/l ocations/global/workforcePools/ {POOL_ID}/subject/{SUBJECT_A TTRIBUTE_VALUE} Auth0 の特定の ID の人を権限設 定するのであれば利用する グループ内のす べての Workforce ID principalSet://iam.googleapis.co m/locations/global/workforcePo ols/{POOL_ID}/group/{GROUP_I D} group で区切っており、それぞれで 権限を分けたいのであれば利用す る。 特定の属性値 を持つすべての Workforce ID principalSet://iam.googleapis.co m/locations/global/workforcePo ols/{POOL_ID}/{attribute.ATTRIB UTE_NAME}/{ATTRIBUTE_VALU E} 特定の attribution をつけているの であれば 例えば mapping の際に assertion.sub をマッピングして利用 するなど Workforce Identity プール 内のすべての ID principalSet://iam.googleapis.co m/locations/global/workforcePo ols/{POOL_ID}/* 認証した人に全員同じ権限を付ける のであれば良い owner role をつけることはできません
Cloud Run jobs を動かしてみる 1. IAM の設定 2. 認証に使う設定ファイルの作成 3.
gcloud でのログイン 4. Cloud run jobs を叩く $ gcloud iam workforce-pools create-login-config \ locations/global/workforcePools/john-sample-pool/providers/sample-auth0 \ --output-file=wfi.json $ gcloud auth login --login-config=wfi.json $ gcloud run jobs execute job --project=test-satohjohn --wait
まとめ 1. Workforce identity を使って他の IdP の情報を使った権限管理ができる a. 金銭コスト、管理コスト などの理由で
Cloud Identity のユーザを使えない組織には使えるかも b. 今回触れませんでしたが、IdP の Group 情報を付与できるので、それを使うと 管理しやすいと思います
まとめ 1. Workforce identity を使って他の IdP の情報を使った権限管理ができる a. 金銭コスト、管理コスト などの理由で
Cloud Identity のユーザを使えない組織には使えるかも b. 今回触れませんでしたが、IdP の Group 情報を付与できるので、それを使うと 管理しやすいと思います 2. 今日のビールを美味しく飲んでいただいた方、今後とも 3-shake を よろしくお願いします!