DevSecOpsリファレンス実装ワークフロー
DevSecOpsリファレンス・アーキテクチャは、Tektonタスク・ライブラリやツールチェイン・テンプレートなどのビルディング・ブロックを使用することで、コンプライアンスと監査対応を合理化する。
継続的インテグレーション、継続的デプロイメント、継続的コンプライアンスのプロセスが標準化されているため、アプリケーション開発チームは、セキュリティのベストプラクティスに従っていることを確認できる。 DevSecOpsソフトウェアの開発と運用のライフサイクルにセキュリティー・プラクティスを統合する方法論。 この組み合わせの目的は、開発速度とセキュリティーのバランスに優先順位を付けることにあります。リファレンスアーキテクチャは、定義済みの継続的インテグレーション、継続的デプロイメント、継続的コンプライアンスツールチェーンテンプレートのセットを提供する。 これらのテンプレートは、ビルド、スキャン、テスト、変更管理、デプロイのために、ツール統合コレクションおよびカスタマイズ可能な参照 Tekton パイプラインを使用します。 パイプライン定義は、ツールチェーンの作成時にデフォルト設定を変更しない限り、 IBM によって定期的に管理および更新されます。
Tekton パイプラインはカスタム・スクリプトのフレームワークを提供します。これを使用すると、コード変更および構成変更のオーケストレーションを、コンプライアンスを確保しながら自動化することができます。 また、パイプラインによって、GitOps リリース・インベントリーを維持しながら、監査可能な変更要求を生成するために使用できるエビデンスを収集して保管することもできます。
Tekton プライベート・パイプライン・ワーカーを使用することによって、パイプラインを利用してパブリッククラウドまたはハイブリッド・ターゲット環境にデプロイすることができます。 Tekton パイプラインは、事前定義のコンテナー・イメージの中で、ユーザー・スクリプトと一緒に実行されます。 Tektonのパイプラインの範囲内であれば、スクリプト化できるものであれば何でも実行できます。
Shift-Left 継続的統合、継続的デプロイメント設計
以下の図は、DevSecOpsアーキテクチャの実装ワークフローと主な機能を示している。

- プル要求またはマージ要求の妥当性検査では、状況をプル要求にエコー出力する、特定のプル要求パイプラインが使用されます。 この機能により、開発者は開発サイクルの早い段階で問題を発見することができます。
- 統合は継続的統合パイプラインを使用して行われます。そのパイプラインでは、すぐに使用可能な多くのコントロールを実装し、これらの統合のエビデンスを正規化された形式でエビデンス・リポジトリー (repo) に収集します。 さらに、成果物インベントリー・リポジトリーにデプロイするためのメタデータも成果物に書き込まれ、GitOps 運用を可能にします。
- デリバリーは、継続的デプロイメントパイプラインを使用して、成果物インベントリからコンテンツを処理し、各デプロイメントの変更要求を生成するための証拠を収集することによって実行される。 また、コンプライアンス・ファクトを Security and Compliance Center に記録することもできるので、これらのファクトをコンプライアンス・プロファイルに照らして評価することができます。
継続的デプロイメントのステージングデプロイメントの一環として、継続的インテグレーションパイプラインは通常、プルリクエストを使用して変更をステージングブランチに昇格させることで、インベントリマスターブランチに発行します。 次に、準備ができたら、後続のブランチ・プロモーションを使用して、変更がステージングから実動に再度プロモートされます。 調整されたリリースデプロイメントを推進するために、共有インベントリとエビデンスリポジトリに出力する複数の継続的デプロイメントパイプラインを持つことができます。
そのインベントリーで複数の成果物がプロモートされるときに作成される変更要求は 1 つだけです。
共有インベントリーとエビデンス・レポからプルする複数の継続的デプロイメント・パイプラインを持つことができ、同じ継続的インテグレーション・インプットから複数の環境をターゲットにすることができる。