YAML パイプラインをセキュリティで保護するためのアプローチを決定する
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
パイプラインのセキュリティを強化するために、増分アプローチを採用することを検討してください。 提供するすべてのガイダンスを実装するのが理想的ですが、推奨事項の数に圧倒されることはありません。 すべてをすぐに対処できない場合でも、まずいくつかの改善を行います。
セキュリティの相互依存関係
セキュリティに関する推奨事項は相互依存です。 ポスチャは、実装する特定の推奨事項に依存します。これは、DevOps とセキュリティ チームの懸念事項と組織のポリシーに合わせて調整されます。
他の側面で便宜上、いくつかのトレードオフを受け入れながら、重要な領域のセキュリティを優先することを検討してください。 たとえば、extends
テンプレートを使ってすべてのビルドをコンテナーで実行することを要求する場合、プロジェクトごとに個別のエージェント プールが必要ない可能性があります。
ほぼ空のテンプレートから始める
最小限のテンプレートから始めて、拡張機能を徐々に適用します。 このアプローチにより、セキュリティ プラクティスを実装する際に、すべてのパイプラインをカバーする一元化された開始点が確保されます。
詳細については、「 テンプレート」を参照してください。
クラシック パイプラインの作成を無効にする
Note
この機能は、Azure DevOps Server 2022.1 以降で使用できます。
YAML パイプラインのみを使用する場合は、クラシック ビルドパイプラインとリリース パイプラインの作成を無効にします。 この予防措置により、サービス接続など、同じリソースを共有する YAML とクラシック パイプラインから発生するセキュリティ上の懸念が回避されます。
クラシック ビルド パイプラインとクラシック リリース パイプラインの作成を個別に無効にします。 両方を無効にした場合、ユーザー インターフェイスまたは REST API を使用してクラシック ビルド パイプライン、クラシック リリース パイプライン、タスク グループ、またはデプロイ グループを作成することはできません。
クラシック パイプラインの作成を無効にするには、 Organization 設定 または Project 設定に移動し、 Pipelines セクションで Settings を選択します。 [全般] セクションで、[Disable creation of classic build pipelines] (クラシック ビルド パイプラインの作成を無効にする) と [Disable creation of classic release pipelines] (クラシック リリース パイプラインの作成を無効にする) をオンにします。
この機能を組織レベルで有効にすると、その組織内のすべてのプロジェクトに適用されます。 ただし、無効のままにした場合は、特定のプロジェクトに対して選択的に有効にすることができます。
Sprint 226 以降では、新しく作成された組織のセキュリティを向上させるために既定では、新しい組織のクラシック ビルドおよびリリース パイプラインの作成を無効にします。