Continuous Delivery による DevSecOps
DevSecOps は、アジャイルと DevOpsを進化させたものであり、ソフトウェア・デリバリー・ライフサイクル (「シフト・レフト」とも呼ばれる) において可能な限り早期にセキュアな開発のベスト・プラクティスを統合します。 この手法によって、セキュリティーの問題が実動システムにまで到達して企業が監査に失格することを防止できます。
DevSecOpsA methodology that integrates security practices with the software development and operations lifecycle. The goal of the merge is to prioritize the balance of development speed and security. では、継続的統合および継続的デリバリー・プロセスの一部として、セキュリティーおよびコンプライアンスの制御を自動化する必要があります。 履歴に含まれているすべての変更が、必要なコントロールを満たしていることを監査員に示すために、それらのコントロールのエビデンスも収集します。
Financial Services 業界の要件に合わせて調整された Continuous Delivery は、 NIST Configuration Management のコントロールをサービスとして実装するための参照実装を提供します。 テンプレートを使用することで、このサービスはほんの数クリックで構成できます。
DevSecOps は、 Continuous Delivery (Git Repos and Issue Tracking、Tekton Pipelines、 DevOps Insights、および Code Risk Analyzer)、 Secrets Manager、 Key Protect、 Cloud Object Storage、 Container Registry および Vulnerability Advisorを使用します。 すぐに使用可能な DevSecOps は、 SonarQube、Gosec、OWASP Zap (動的スキャン)、任意の単体テスト・フレームワーク、GPG 署名などの一般的なスキャン・ツールも使用します。 また、外部の Git プロバイダーや成果物ストアなどの追加のツールも使用することができます。 DevSecOps は、具体的にはプライベート・パイプライン・ワーカーを使用することで、ハイブリッド・デプロイメントをサポートします。また、Satellite Config や ArgoCD などの他のデプロイメント・ツールと連携することができます。
DevSecOps はどのように機能しますか?
アジャイル と DevOps は、自動化を実現し、開発の速度、ソフトウェアの品質、デリバリー・プロセスの一貫性と信頼性を向上させると同時に、ヒューマン・エラーが発生する可能性を取り除きます。 DevSecOps は、DevOps のプロセスに、セキュリティーとコンプライアンスのための一連のコントロールを組み込みます。 この機能により、組織は、強力なセキュリティー態勢と継続的な監査対応状態を維持しながら、迅速かつ頻繁に配信することができます。
アジャイル や DevOps と同様に、DevSecOps も文化に変化をもたらし、開発者、運用部門、セキュリティーとコンプライアンスの担当者を隔てていた従来のバリアが取り払われます。 開発チームは、開発したソフトウェアのセキュリティーの評価を外部チームに任せるのではなく (大抵は開発サイクルの遅い段階で行われるので、脆弱性が検出された場合の影響は大きく、修復コストも高くなります)、これまでよりセキュリティーを自分達の責任として捉えるようになります。 サイロ化されたセキュリティー・チームを配備する従来のモデルでは、規模を拡大できないので、クラウドネイティブの DevOps 領域の開発プロジェクトのニーズを満たせません。 DevSecOps では、セキュリティー・チームの目的を、サポート、アドバイス、およびガバナンスの役割以上のものに進化させることができます。
DevSecOps を使用する必要があるのはなぜですか?
DevSecOps を使用すると、開発者は干渉を最小限に抑えながら更新を頻繁にデリバリーし続けることができます。 自動化されたセキュリティー・スキャンとコントロールが DevOps パイプラインに組み込まれると、変更管理プロセスにはエビデンスのある信頼性が提供されます。 また、この組み込みによって、すべての安全基準が満たされ、かつ特定の検査に合格した場合には、実稼働環境への新規デプロイメントを自動的に承認することもサポートされます。 セキュリティーとコンプライアンスを開発とデプロイメントのプロセスに早い段階で導入することで、ソフトウェアが実稼働環境に到達する前に問題を早く検出して、コストとリスクを削減できます。 この手法はよく「シフト・レフト」と呼ばれます。 また、すべての組織でセキュアなベスト・プラクティスが訓練に含まれていたとしても、開発者にセキュリティー・レベルの深い専門知識が不足していることがあります。 DevSecOps とシフト・レフトをデリバリー・ライフサイクルに適用することで、既知の脆弱性を実稼働環境に不用意にリリースするリスクを減らすことができます。
組織間での標準化
異種のオファリングやコンポーネントを開発する複数の独立したチームで、継続的統合と継続的デリバリーに同じ標準プロセスを使用することで、組織は非常に大きなメリットを得ることができます。 それらのメリットには、一貫性やスケールによる経済性などがあります。 コンプライアンスについて評価できるように装備された規範的な参照用パイプライン一式を組織全体ですべてのコンポーネントに使用すれば、開発者が自動化ソリューションの開発に費やす時間が短くなるので、機能の開発に専念できるようになります。 開発リーダーとセキュリティー担当者は、セキュアで準拠したソフトウェアにするために必要なコントロールが適用されていることに自信を持ち、監査に使用できるエビデンスを提供することができます。 コンポーネントやオファリングごとに各チームが独自のコンプライアンス実装方式を使用するのではなく、1 つの標準の実装方式が使用されるので、組織内のセキュリティー監査を簡素化できます。
DevSec運用を組み込む準備ができましたか? チュートリアル・シリーズでは、 DevSecOps ベスト・プラクティスを使用したセキュア・アプリのデプロイ について説明しています。 また、 DevSecOps および関連する ソリューションの利点について学習することもできます。