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
Abstract Sentinel
Search
Junki Mano
August 26, 2019
Technology
0
85
Abstract Sentinel
社内LT用に作成したHelmfileの概要資料です
チームのDaily Standup Meeting後に、Kubernetes周りのエコシステムやツールがテーマであるLTがありそこで発表しました
Junki Mano
August 26, 2019
Tweet
Share
More Decks by Junki Mano
See All by Junki Mano
ソフトウェアアーキテクトって何やるの? ~知っておくと役立つ考え方を共有します~ | 技育祭2022秋
laqiiz
3
2k
Goで工場を制御する要であるPLCにアクセスする / go-plc
laqiiz
0
2.2k
CNCF
laqiiz
1
87
Local_Kubernetes.pdf
laqiiz
1
84
Abstract Helmfile
laqiiz
1
84
Abstract GitOps
laqiiz
1
150
公開用_WebDBForum2018_テクノロジーショーケース_業務IoTストリーミング基盤.pdf
laqiiz
1
240
Other Decks in Technology
See All in Technology
AOAI Dev Day LLMシステム開発 Tips集
hirosatogamo
15
3.8k
AutomatedLabを使って内部ペンテストを勉強しよう! -やられ社内ネットワークの自動構築-
n_etupirka
1
610
Classmethod Odyssey 登壇資料
yamahiro
0
390
フルリモートワークはエンジニアの夢を叶えたか? #cm_odyssey
mamohacy
2
600
テスト・設計研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
VPoEの視点から見た、ヘンリーがサーバーサイドKotlinを使う理由 / Why Server-side Kotlin 2024
cho0o0
1
420
スタートアップにおける組織設計とスクラムの長期戦略 / Scrum Fest Kanazawa 2024
yoshikiiida
13
3.6k
Azure AI ことはじめ
tsubakimoto_s
0
130
CEL(Common Expression Language)で書いた条件にマッチしたIAM Policyを見つける / iam-policy-finder
fujiwara3
0
710
Azure Pipelinesを使用したCICDベースラインアーキテクチャ実践
yuriemori
0
190
セキュリティ研修 Day1【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
[NIKKEI Tech Talk] KDDI/KAG Scrum & Community for Engineering Training
curanosuke
2
220
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
20
1.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
78
15k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.5k
Visualization
eitanlees
139
14k
The Illustrated Children's Guide to Kubernetes
chrisshort
39
47k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
19k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
224
21k
Building Applications with DynamoDB
mza
89
5.8k
Designing with Data
zakiwarfel
96
5k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
2.9k
The Pragmatic Product Professional
lauravandoore
29
6.1k
Raft: Consensus for Rubyists
vanstee
134
6.5k
Transcript
Sentinel Future-Daily-Standup-Meeting Kubernetes Ecosystem Study 2019-08-26 Mano Junki
What is Sentinel?
Sentinel Sentinelは、インフラの変更が安全であることを確実にするた めに、ビジネスポリシーと規制ポリシーをコード化することで変 更範囲を制限します。infrastructure as codeとpolicy as codeを 統合することで、利用者はインフラ管理を安全に自動化できます 2017年にHashiCorpが提唱。アクセスポリシーをコードとして
記述可能にするという意味で、同社ツールが実現してきた 「Infrastructure as Code」に掛けて「Policy as Code」とした。 実現するためのツールは”Sentinel”。 https://www.publickey1.jp/blog/17/hashicorpsentinelpolicy_as_codehashiconf17.html
What is “Policy as a Code”?
Policy as a Code • Infrastructure as Codeの普及から、Terraform(HCL)や Kubernetes Menifest(YAML)などの宣言的なコンフィグの
複雑性が勃興 • これらの定義は宣言的であるので、チェックが難しい(レビュアーや規約 でガンバって後はテスト)。その割に神経質になる必要がありツラミ。 • 例えば、命名ルールや、設定された値について(k8sのレプリカ数が Staging以降は3以上であるべきなどは暗黙値化しやすい) →Policy as a Codeと呼ばれるツール
Usage
RE: Sentinel • Policy as a Codeを実現するための草分け的なツール • HashiCorpエンタープライズに入れば利用可能 •
専用のDSLでルールを記載
Example • ステージングが「us-east-1」リージョンにデプロイされ、本番環境が「us-west-1」にデプロイ されることを保証するSentinelポリシーの例です。 https://www.hashicorp.com/blog/why-policy-as-code
sentinel test sentinel test で検証
DevOps
CI • 機械的にチェックできることはルールセットを定義して、それ をもとに lint でチェックして CI で失敗させるのが効率的 • 人が意思入れしたものを、コードで宣言的に表現できる
(Bastionサーバだけはプレフィスクを付ける、リソースリ ミットをこのクラスタには入れる、など)
(個人的)チェックしたいこと
(個人的)チェックしたいこと一覧 Terraformに対して • 命名規約系 • 環境数ごとのvariableがあるか(prd, stg, etc.) • GKE最大ノード数、マシンタイプ
• 外部IP付与 • Firewall Ruleプロトコル(ssh, https) • Firewall Ruleの優先度(他のリソースとの依存性) • LoadBalancerに固定IPが必須(エフェメラルNG) • etc. →クリエイティブな仕事
まとめ
まとめ • SentinelはPolicy as a Codeと呼ばれる静的解析のLinter • Linterのルールには、各自ポリシーや業務ルールを組み込め、 より宣言的に、よりCI組み込みにフレンドリー •
ただし、Sentinelの利用にはEnterprise*利用 * 現状、OSS版の提供は無し https://www.hashicorp.com/products/terraform/offerings
Thank you