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
GitLab Ultimateを用いたDevSecOps実践事例
Search
k1nakayama
December 14, 2023
Technology
0
200
GitLab Ultimateを用いたDevSecOps実践事例
GitLab Dev Ops Dive で登壇したスライド
k1nakayama
December 14, 2023
Tweet
Share
More Decks by k1nakayama
See All by k1nakayama
Amazon Q Developerを活用したアーキテクチャのリファクタリング
k1nakayama
2
240
GitLab Duo with Amazon Q の機能実装を試してみた
k1nakayama
0
140
GitLabを活用したDevSecOps
k1nakayama
1
430
GitLabを活用したクラウドネイティブ アプリケーションセキュリティ
k1nakayama
0
170
サーバーレス開発を円滑に進めるための実践DevSecOps
k1nakayama
1
510
大容量データをDynamoDBで扱う際のMomento導入検討
k1nakayama
0
800
Deep Dive on DevOps for Serverless Applications
k1nakayama
0
340
Access to multiple microservices on AWS
k1nakayama
3
1.5k
Other Decks in Technology
See All in Technology
ZOZOTOWNフロントエンドにおけるディレクトリの分割戦略
zozotech
PRO
16
5.2k
OpenAPIから画面生成に挑戦した話
koinunopochi
0
150
我々は雰囲気で仕事をしている / How can we do vibe coding as well
naospon
2
220
サービスロボット最前線:ugoが挑むPhysical AI活用
kmatsuiugo
0
190
小さなチーム 大きな仕事 - 個人開発でAIをフル活用する
himaratsu
0
120
実践データベース設計 ①データベース設計概論
recruitengineers
PRO
2
190
見てわかるテスト駆動開発
recruitengineers
PRO
4
270
ABEMAにおける 生成AI活用の現在地 / The Current Status of Generative AI at ABEMA
dekatotoro
0
650
MySQL HeatWave:サービス概要のご紹介
oracle4engineer
PRO
4
1.7k
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
30k
Understanding Go GC #coefl_go_jp
bengo4com
0
1.1k
Yahoo!ニュースにおけるソフトウェア開発
lycorptech_jp
PRO
0
330
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Documentation Writing (for coders)
carmenintech
73
5k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Six Lessons from altMBA
skipperchong
28
4k
Producing Creativity
orderedlist
PRO
347
40k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Cult of Friendly URLs
andyhume
79
6.5k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
The Language of Interfaces
destraynor
160
25k
Transcript
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. GitLab Ultimateを用いたDevSecOps実践事例 Keiichi
Nakayama Vice General Manager Cloud Partner Group CHARA-WEB Co., Ltd.
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. 自己紹介 • 中山
桂一 ( @k1nakayama ) • 株式会社キャラウェブ クラウドパートナーグループ 副部長 • クラウドインテグレーション事業をリード • AWS Community Builders (Serverless) • AWS x Serverless / GitLab / DevSecOps
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. DevOpsを導入する目的は?
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. DevOpsを導入する目的 Ø チームの生産性向上
要件定義からデリバリーまでのリードタイムを短縮 ソフトウェアの質を向上させ、変更後の障害を低減する Ø セキュリティ対応 デリバリー後のセキュリティインシデントによって手戻りや、信用 失墜を未然に防ぐ Ø ガバナンス対応 ライセンス違反や、適切な承認者による承認のないデリバリーを 防ぐ
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. CI/CDを構築しただけでは生産性は向上しない uCI/CDはビルド、テスト、デプロイ、デリバリーの自動化をする ビルド、テスト、デプロイ、デリバリーに関する時間を最小限にす
ることが出来るため、CI/CDの導入自体は必須 u多くの場合、コードをマージする前までのフェーズに時間が掛 かっている SDLCにおいて改善を検討する場合、設計フェーズでビジネス側 で要件が甘く、固まっていない状態で設計フェーズにきてしまっ たことによる認識合わせの時間や、MRのレビューをアサインし た後、長時間放置されて停滞するなど、CI/CDの前段階に改善 ポイントが見られるケースが多い
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. セキュリティ対応は別にせずシフトレフトする セキュリティへの取り組みを早い段階に組み込み(シフトレフト)、 手戻りを最小限に抑える
セキュリティ診断 セキュリ ティ診断 DevOps DevSecOps 手戻り
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. ガバナンスが効いていないマージは危険 Ø セキュリティテストを実施していたら、常に安全なリリースになっ
ているという勘違い Ø ライセンス違反はリリースした時点でアウト Ø 承認者が承認してしまえば、マージ出来てしまう Ø 問題のあるままのデリバリーは企業の信用失墜リスク
© 2023, CHARA-WEB Co.,Ltd. All rights reserved.
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. DORA Four Keys
u顧客への価値提供のスループットが高いか Ø デプロイ頻度 Ø 変更のリードタイム u安定したデリバリーを続けられているか Ø サービス復旧時間 Ø 変更時の障害率 出典:GitLab Blog
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. バリューストリーム 上記は、とあるプロジェクトのバリューストリーム分析をカスタム設 定により、開発フェーズ毎に分析したものです。
イシューがBacklogに入った後、1日程度後で着手され、そのイ シューは7時間で構築が完了しレビューに移行しています。そして、 レビュー状態が1日経過して、ようやくリリース出来る状態になって いることが分かります。 これを見ることで、このチームは、レビューをもっと早く進められれ ば、市場への価値提供が1日早く改善できることが分かります。
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. 各種セキュリティテスト • SAST等の静的なテストだけではな
く、DAST、API Fuzz Testなど、従 来外部に委託し行っていたような 脆弱性診断を、コードをプッシュす る毎に自動的に実行できる • 脆弱性ダッシュボードで、脆弱性を 一元管理でき、必要に応じてワンク リックでイシュー化できる • 依存関係スキャンで検出した結果 を元にSBOMの出力が行える
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. AIを活用した脆弱性対応 脆弱性として検出される内容は 多種多様なものがあり、セキュ
リティの専門家であっても、その 脆弱性についての説明や対応 方法を全て提示することは難し いです。 GitLabは、AIを活用し、ボタン1 つで脆弱性の説明、脅威の内 容、対応策を説明します
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. セキュリティポリシー、コンプライアンス テスト結果に応じて、特定のライ センスが使用されていることが
検出された場合や、脆弱性が検 出された場合などに、特定の人 や一定のロールを持つ人の承 認を一定数得られなければマー ジできない、といったルールを設 定できます。 また、特定のテストを実行してい なければマージ出来ないという ポリシーも設定できます。
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. 単一プラットフォームだから実現 Ø DORAメトリクス
イシュー管理、CI/CD、インシデント管理が一体となったプラット フォームでないとDORAメトリクスは取得できない Ø 脆弱性管理 コード管理、CI/CD、イシュー管理、脆弱性管理が一体となって いないと、二重管理が発生したり、マージ前に脆弱性の状態を 確認できないまま、マージされてしまう恐れがある Ø ガバナンス テスト結果に応じた承認者の設定や、それらの設定が正しく行 われているかを組織全体を俯瞰して管理
© 2023, CHARA-WEB Co.,Ltd. All rights reserved. まとめ ü DevOpsを進める際は、目的を達成できているかをどの様に判
断するかまで考える ü セキュリティを常に意識したデリバリーをすることは、企業の責 任であり、怠ると信用を失う恐れがあるため、シフトレフトして開 発現場にセキュリティ意識を持たせる ü ガバナンスの効いていないデリバリーは、テストを行わないまま デリバリーしている状態と同じである ü DevSecOpsを単一プラットフォームで進めることができる GitLab(Ultimate)を使うことで、生産性向上とセキュリティを両 立させていくことができる
Accelerate your business with the cloud.