Continuous Delivery による DevSecOps
DevSecOps はアジャイルを進化させたもので、 DevOps,、ソフトウェアデリバリライフサイクルのできるだけ早い段階で、安全な開発のベストプラクティスを統合する。 この手法によって、セキュリティーの問題が実動システムにまで到達して企業が監査に失格することを防止できます。
DevSecOpsソフトウェアの開発と運用のライフサイクルにセキュリティー・プラクティスを統合する方法論。 この組み合わせの目的は、開発速度とセキュリティーのバランスに優先順位を付けることにあります。 継続的インテグレーションおよび継続的デリバリーのプロセスの一環として、セキュリティおよびコンプライアンス管理の自動化が必要となります。 履歴に含まれているすべての変更が、必要なコントロールを満たしていることを監査員に示すために、それらのコントロールのエビデンスも収集します。
金融サービス業界の要件に沿って、 Continuous Delivery は、 NIST構成管理コントロールのリファレンス実装をサービスとして提供しています。 テンプレートを使用することで、このサービスはほんの数クリックで構成できます。
DevSecOps Continuous Delivery (、Tekton Pipelines、Code Risk Analyzer)、、、、、および を利用しています。 Git Repos and Issue Tracking 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 つの標準の実装方式が使用されるので、組織内のセキュリティー監査を簡素化できます。
DevSecOps?組み込む準備ができている DevSecOpsのベスト・プラクティスを使ってセキュアなアプリをデプロイ するためのチュートリアル・シリーズをご覧ください。 また、DevSecOpsのメリットや関連 ソリューションについても詳しくご紹介しています。