セキュアで信頼性のあるシステム構築 ―Google SREが考える安全なシステムの設計、実装、保守
by Heather Adkins, Betsy Beyer, Paul Blankinship, Piotr Lewandowski, Ana Oprea, Adam Stubblefield, Kuma Arakawa, 渡邉 了介
14章コードのデプロイ
執筆:Jeremiah Spradlin、Mark Lodato
協力:Sergey Simakov、Roxana Loza
プロダクション環境で実行されているコードは、あなたが想定しているコードでしょうか。システムには、安全ではないデプロイメントを防止または検出するための制御が必要です。デプロイメント自体がシステムに変更をもたらす行為であり、そうした変更はどのようなものであれ、信頼性やセキュリティの問題となる可能性があるからです。安全ではないコードをデプロイしないようにするためには、ソフトウェア開発ライフサイクルの早い段階で制御を実装する必要があります。本章ではまず、ソフトウェアサプライチェーンの脅威モデルを定義し、こうした脅威から保護するためのベストプラクティスを共有します。次に、検証可能なビルドやプロベナンス(provenance = 来歴)ベースのデプロイメントポリシーなど、高度な緩和戦略について深く掘り下げ、最後に、そうした変更をデプロイする方法について実践的なアドバイスを示します。
前の2つの章では、コードを記述およびテストする際にセキュリティと信頼性を考慮する方法について検討しました。しかし、コードはビルドしてデプロイしない限り、実際には何も影響をもたらしません。そのため、ビルドとデプロイメントのプロセスのあらゆる要素についてセキュリティと信頼性を慎重に検討することが重要です。デプロイされるアーティファクト(成果物)が安全かどうかを、そのアーティファクト自体を検査するだけで判断するのは難しい可能性があります。ソフトウェアサプライチェーンのさまざまな段階で制御を徹底することが、ソフトウェアアーティファクトの安全性に対する信頼の向上につながります。例えば、コードレビューは、ミスが生じる可能性を減らし、攻撃者が悪意のある変更を行うのを防ぐことができますし、自動化テストは、コードが正しく動作するという確信を高めることができます。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access