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
Binary Authorizationと友達になろう / Let's be friends ...
Search
iselegant
August 30, 2024
Technology
1.3k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Binary Authorizationと友達になろう / Let's be friends with Binary Authorization
iselegant
August 30, 2024
More Decks by iselegant
See All by iselegant
ECS障害を例に学ぶ、インシデント対応に備えたAIエージェントの育て方 / How to develop AI agents for incident response with ECS outage
iselegant
6
1.2k
Progressive Deliveryで支える!スケールする衛星コンステレーションの地上システム運用 / Ground Station Operation for Scalable Satellite Constellation by Progressive Delivery
iselegant
1
370
Amazon ECS & AWS Fargate 運用アーキテクチャ2025 / Amazon ECS and AWS Fargate Ops Architecture 2025
iselegant
22
12k
勝手に!深堀り!Cloud Run worker pools / Deep dive Cloud Run worker pools
iselegant
5
3.5k
Amazon ECSとCloud Runの相互理解で広げるクラウドネイティブの景色 / Mutually understanding Amazon ECS and Cloud Run
iselegant
20
4.9k
AWSコンテナ本出版から3年経った今、もし改めて執筆し直すなら / If I revise our container book
iselegant
20
8k
Amazon ECS & AWS Fargate 今昔物語 / past and present stories of Amazon ECS and AWS Fargate
iselegant
20
5.9k
エンジニアとして成長するための持続可能なアウトプット戦略 / Sustainable Output Strategy
iselegant
7
1.4k
人工衛星管制システムにおけるCICD / CICD in satellite control systems
iselegant
8
1.8k
Other Decks in Technology
See All in Technology
「嘘をつくテスト」の失敗例から学ぶ 良いテストコード #frontend_phpcon_do
asumikam
0
570
GoとSIMDとWasmの今。
askua
3
510
個人の発見を、組織の知恵に 〜生成AI活用を"探索"から"組織の仕組み"へ〜
kintotechdev
3
1.1k
社内 AI エージェント Synapse と セマンティックレイヤーの育て方
hiroakis
0
380
10倍の生産性を実現するAI駆動並列エージェントのすべて
kumaiu
4
980
Platform engineering for developers, architects & the rest of us (AI agents)
danielbryantuk
0
190
AIを「創る」と「使う」の循環 — HRテックが実践するリアルなAI組織実装
taketo957
0
1.7k
コードレビューを制するチームがソフトウェアデリバリーのフローを制す / Beyond Code Review: Distributing Its Responsibilities Across the SDLC
mtx2s
4
1.3k
非エンジニアがClaudeと挑んだ「1ヶ月間プロダクト30本ノック」
askokc
0
110
AIの性能が向上しても未解決な組織の重大問題は何か?/An Unsolved Organizational Problem in the Age of AI
moriyuya
2
280
MIERUNE JCT 発表資料「宇宙から伊能忠敬ごっこ」
syuchimu
0
190
「コーディング」しない人のための Claude Code 入門 ChatGPT の次の一歩 — 業務に組み込む 育成・共有・自動化
rfdnxbro
2
1.2k
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
240
Automating Front-end Workflow
addyosmani
1370
210k
Between Models and Reality
mayunak
4
330
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
For a Future-Friendly Web
brad_frost
183
10k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
300
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
720
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
400
Visualization
eitanlees
152
17k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
430
Transcript
夏休みの自由研究発表LT大会 Binary Authorizationとともだちになろう Jagu'e'r Cloud Native #15 Meetup Synspective Inc.
新井 雅也
新井 雅也 これまでは、野村総合研究所のインフラエンジニア兼システムアーキ テクトとして、主に金融業界のシステム設計、開発、運用に従事。 2023年6月にSynspectiveにジョイン。クラウドに関する技術力を活 かしつつ、宇宙業界の発展に尽力している。 3度の飯よりRed Bullが好き🐂 AWS Container
Hero AWS Ambassador 2022-2023 Google Cloud Champion Innovator Google Cloud Partner Top Engineer 2023 @msy78 Principal Cloud Architect 2
本自由研究テーマ発表のゴール Binary Authorizationのことを知り、今以上にともだちになる
本自由研究テーマ発表のゴール Binary Authorizationのことを知り、今以上にともだちになる 理解 安心感 信頼
・夏休みの自由研究発表と謳っていますが、内容は至って真面目です。 ・Binary Authorizationの概要を押さえてもらうことが目的です。 ・拙書「The Cloud Run」の内容をベースに発表内容を構成しています。 ⚠ おことわり
Binary Authorizationの役割を知ろう
まずはコンテナに纏わるセキュリティ対策の全体像を一度俯瞰してみよう(Cloud Runのケース)
まずはコンテナに纏わるセキュリティ対策の全体像を一度俯瞰してみよう(Cloud Runのケース)
※NIST SP800-190(アプリケーションコンテナセキュリティ)に関するリスク一覧を元に作成 まずはコンテナに纏わるセキュリティ対策の全体像を一度俯瞰してみよう(Cloud Runのケース)
まずはコンテナに纏わるセキュリティ対策の全体像を一度俯瞰してみよう(Cloud Runのケース) ※NIST SP800-190(アプリケーションコンテナセキュリティ)に関するリスク一覧を元に作成
「信頼できないイメージの使用」によるリスク内容を理解しよう
「信頼できないイメージの使用」によるリスク内容を理解しよう あらゆる環境において最も一般的なハイリスクのシナリオの1つは、信頼できないソフトウェアの実行で ある。コンテナの移動可能性と再利用のしやすさによって、チームは外部ソースからのイメージを実行し たいという誘惑に駆られるが、それらは十分に検証されていないか、信頼できない可能性がある。 ...この外部から提供されたイメージを使用すると、マルウェアの取り込み、データの漏えい、脆弱性のあ るコンポーネントの組み込みなど、外部ソフトウェアが従来から持っていたリスクと同じ種類のリスクが 発生する。 Ref. NIST Special
Publication 800-190 Application Container Security Guide 邦訳版 (IPA提供)より一部抜粋 https://www.ipa.go.jp/security/reports/oversea/nist/ug65p90000019cp4-att/000085279.pdf
「信頼できないイメージの使用」によるリスク内容を理解しよう あらゆる環境において最も一般的なハイリスクのシナリオの1つは、信頼できないソフトウェアの実行で ある。コンテナの移動可能性と再利用のしやすさによって、チームは外部ソースからのイメージを実行し たいという誘惑に駆られるが、それらは十分に検証されていないか、信頼できない可能性がある。 ...この外部から提供されたイメージを使用すると、マルウェアの取り込み、データの漏えい、脆弱性のあ るコンポーネントの組み込みなど、外部ソフトウェアが従来から持っていたリスクと同じ種類のリスクが 発生する。 Ref. NIST Special
Publication 800-190 Application Container Security Guide 邦訳版 (IPA提供)より一部抜粋 https://www.ipa.go.jp/security/reports/oversea/nist/ug65p90000019cp4-att/000085279.pdf
Ref. NIST Special Publication 800-190 Application Container Security Guide 邦訳版
(IPA提供)より一部抜粋 https://www.ipa.go.jp/security/reports/oversea/nist/ug65p90000019cp4-att/000085279.pdf 「信頼できないイメージの使用」リスクの対策内容を理解しよう 組織は、信頼できるイメージとレジストリのセットを維持し、このセットからのイメージだけが環境内で の実行を許可されるようにすることで、信頼できないコンポーネントや悪意のあるコンポーネントがデプ ロイされるリスクを軽減することが望ましい。 これらのリスクを軽減するために、組織は以下のような多層的なアプローチをとることが望ましい。 • 環境内で、信頼できるイメージとレジストリを厳密に一元管理する機能 • NISTで認証済みの実装6を使用した暗号署名による各イメージの個別識別 • 環境内のすべてのホストが、これらの承認済みリストのイメージのみを実行することを確実にする強制 • イメージが信頼できるソースからのものであり、改ざんされていないことを確実とするために、イメージの 実行前にイメージの署名を検証 • 脆弱性や構成要件の変更に応じて、リポジトリ内のイメージがメンテナンスされ更新されていることを確実 とするための継続的なモニタリングとメンテナンス
Ref. NIST Special Publication 800-190 Application Container Security Guide 邦訳版
(IPA提供)より一部抜粋 https://www.ipa.go.jp/security/reports/oversea/nist/ug65p90000019cp4-att/000085279.pdf 「信頼できないイメージの使用」リスクの対策内容を理解しよう
組織は、信頼できるイメージとレジストリのセットを維持し、このセットからのイメージだけが環境内で の実行を許可されるようにすることで、信頼できないコンポーネントや悪意のあるコンポーネントがデプ ロイされるリスクを軽減することが望ましい。 これらのリスクを軽減するために、組織は以下のような多層的なアプローチをとることが望ましい。 • 環境内で、信頼できるイメージとレジストリを厳密に一元管理する機能 • NISTで認証済みの実装6を使用した暗号署名による各イメージの個別識別 • 環境内のすべてのホストが、これらの承認済みリストのイメージのみを実行することを確実にする強制
• イメージが信頼できるソースからのものであり、改ざんされていないことを確実とするために、イメージの 実行前にイメージの署名を検証 • 脆弱性や構成要件の変更に応じて、リポジトリ内のイメージがメンテナンスされ更新されていることを確実 とするための継続的なモニタリングとメンテナンス Ref. NIST Special Publication 800-190 Application Container Security Guide 邦訳版 (IPA提供)より一部抜粋 https://www.ipa.go.jp/security/reports/oversea/nist/ug65p90000019cp4-att/000085279.pdf 「信頼できないイメージの使用」リスクの対策内容を理解しよう
とどのつまり・・・
None
信頼できるイメージのみ 実行を許可 不良・不正・脆弱性が含まれた ソフトウェアのデプロイリスクを軽減 ?
Binary Authorizationは信頼できるイメージの実行を許可するための仕組みを提供してくれる 信頼できるイメージのみ 実行を許可 Binary Authorization 不良・不正・脆弱性が含まれた ソフトウェアのデプロイリスクを軽減
Binary Authorizationは具体的に何ができるの?
Binary Authorization 一定のルール(ポリシー)に従ってデプロイをコントロールできる
Binary Authorization 許可リストによる制御 証明書による制御 一定のルール(ポリシー)に従ってデプロイをコントロールできる
許可リストによる制御 許可リストによる制御はシンプルな運用がウリ
許可リスト(ホワイトリストスタイル)の例 許可リストによる制御 許可リストによる制御はシンプルな運用がウリ
許可リスト(ホワイトリストスタイル)の例 デプロイルール 許可リストによる制御 許可リストによる制御はシンプルな運用がウリ
許可リスト(ホワイトリストスタイル)の例 Cloud Runの場合、デプロイルールと 除外イメージがプロジェクトで共有される →除外リストの粒度設計を考慮する必要あり 許可リストによる制御 許可リストによる制御はシンプルな運用がウリ
Binary Authorization 許可リストによる制御 証明書による制御 ・比較的シンプルに運用できる ・除外リストの粒度設計が必要 「ポリシーによる制御」におけるまとめ
証明書による制御 証明書による制御は設定が煩雑である一方、より厳格なコンプライアンス要件に対応可能
証明書による制御 証明書による制御は設定が煩雑である一方、より厳格なコンプライアンス要件に対応可能 認証プロセスで利用される 信頼できるメタデータを管理
証明書による制御は設定が煩雑である一方、より厳格なコンプライアンス要件に対応可能 証明書による制御
証明書による制御は設定が煩雑である一方、より厳格なコンプライアンス要件に対応可能 証明書による制御
証明書による制御は設定が煩雑である一方、より厳格なコンプライアンス要件に対応可能 証明書による制御
証明書による制御は設定が煩雑である一方、より厳格なコンプライアンス要件に対応可能 証明書による制御 “証明書はメモの「オカレンス」として 保存される”と表現される
証明書による制御は設定が煩雑である一方、より厳格なコンプライアンス要件に対応可能 証明書による制御 Cloud Buildによって ビルドされたイメージのみ デプロイさせることも可能
Binary Authorization 許可リストによる制御 証明書による制御 「証明書による制御」におけるまとめ ・脆弱性の検出結果等と連動させた証明の検証等、厳格な制御が可能 ・設定自体が煩雑になりがち ・比較的シンプルに運用できる ・除外リストの粒度設計が必要
最初は「ポリシーによる制御の運用」から シンプルに導入してみるのがおすすめ。 セキュリティ要件に応じて、証明書による制御を検討。 Binary Authorization 許可リストによる制御 証明書による制御 「証明書による制御」におけるまとめ ・脆弱性の検出結果等と連動させた証明の検証等、厳格な制御が可能 ・設定自体が煩雑になりがち
・比較的シンプルに運用できる ・除外リストの粒度設計が必要
Binary Authorizationのbreakglassに詳しくなろう
「Breakglass」はいわゆるデプロイ用非常ボタンの役割
「Breakglass」はいわゆるデプロイ用非常ボタンの役割
「Breakglass」はいわゆるデプロイ用非常ボタンの役割
「Breakglass」はいわゆるデプロイ用非常ボタンの役割
「Breakglass」はいわゆるデプロイ用非常ボタンの役割 Binary Authorizationの ポリシーによって Pending状態
「Breakglass」はいわゆるデプロイ用非常ボタンの役割 breakglassの実行 合理的な理由を記述して Breakglassを実行
「Breakglass」はいわゆるデプロイ用非常ボタンの役割
「Breakglass」はいわゆるデプロイ用非常ボタンの役割
「Breakglass」はいわゆるデプロイ用非常ボタンの役割 記述した理由が ログ上に記録される 監査証跡として記録
「Breakglass」はいわゆるデプロイ用非常ボタンの役割 考察:breakglassの許可に必要な専用のIAMロールがあっても良いのでは。
自由研究結果のまとめ
自由研究結果のまとめ Binary Authorization ・信頼できるイメージのみ実行を許可させることで、 ソフトウェアのデプロイリスクを軽減 ・許可リストと証明書による制御 →シンプルに許可リストから始めることをオススメ ・breakglassによる緊急デプロイにも対応 →IAM権限周りの制約には注意
Thank you Jagu'e'r Cloud Native #15 Meetup