14章コードのデプロイ

執筆:Jeremiah Spradlin、Mark Lodato

協力:Sergey Simakov、Roxana Loza

 プロダクション環境で実行されているコードは、あなたが想定しているコードでしょうか。システムには、安全ではないデプロイメントを防止または検出するための制御が必要です。デプロイメント自体がシステムに変更をもたらす行為であり、そうした変更はどのようなものであれ、信頼性やセキュリティの問題となる可能性があるからです。安全ではないコードをデプロイしないようにするためには、ソフトウェア開発ライフサイクルの早い段階で制御を実装する必要があります。本章ではまず、ソフトウェアサプライチェーンの脅威モデルを定義し、こうした脅威から保護するためのベストプラクティスを共有します。次に、検証可能なビルドやプロベナンス(provenance = 来歴)ベースのデプロイメントポリシーなど、高度な緩和戦略について深く掘り下げ、最後に、そうした変更をデプロイする方法について実践的なアドバイスを示します。

 前の2つの章では、コードを記述およびテストする際にセキュリティと信頼性を考慮する方法について検討しました。しかし、コードはビルドしてデプロイしない限り、実際には何も影響をもたらしません。そのため、ビルドとデプロイメントのプロセスのあらゆる要素についてセキュリティと信頼性を慎重に検討することが重要です。デプロイされるアーティファクト(成果物)が安全かどうかを、そのアーティファクト自体を検査するだけで判断するのは難しい可能性があります。ソフトウェアサプライチェーンのさまざまな段階で制御を徹底することが、ソフトウェアアーティファクトの安全性に対する信頼の向上につながります。例えば、コードレビューは、ミスが生じる可能性を減らし、攻撃者が悪意のある変更を行うのを防ぐことができますし、自動化テストは、コードが正しく動作するという確信を高めることができます。 ...

Get セキュアで信頼性のあるシステム構築 ―Google SREが考える安全なシステムの設計、実装、保守 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.