YAML パイプラインをセキュリティで保護する方法を計画する

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

段階的な方法を使ってパイプラインをセキュリティで保護することをお勧めします。 理想的には、Microsoft が提供するすべてのガイダンスを実装します。 ただし、推奨事項の数に驚かないでください。 また、すべての変更を今すぐ行えないという理由だけで、"一部の" 改善を行うことを保留しないでください。

セキュリティに関する推奨事項は相互に依存する

セキュリティに関する推奨事項には、複雑な相互依存関係があります。 セキュリティ態勢は、実装する推奨事項によって大きく異なります。 そして、選択する推奨事項は、DevOps チームとセキュリティ チームの懸念事項によって異なります。 また、組織のポリシーとプラクティスにも依存します。

ある重要な領域ではセキュリティを強化し、別の領域ではセキュリティが弱くなっても利便性を向上させる、といった選択が考えられます。 たとえば、extends テンプレートを使ってすべてのビルドをコンテナーで実行することを要求する場合、プロジェクトごとに個別のエージェント プールが必要ない可能性があります。

ほぼ空のテンプレートから始める

まず、ほぼ空のテンプレートから拡張を適用することで始めることをお勧めします。 このようにすると、セキュリティ プラクティスの適用を始めるときに、すべてのパイプラインを既に受け入れる一元化された場所が用意されています。

詳細については、「 テンプレート」を参照してください。

クラシック パイプラインの作成を無効にする

Note

この機能は、Azure DevOps Server 2022.1 以降で使用できます。

YAML パイプライン "のみ" を開発する場合は、ビルドとリリースのクラシック パイプラインの作成を無効にします。 これにより、同じリソース (同じサービス接続など) を共有する YAML パイプラインとクラシック パイプラインに起因するセキュリティ上の問題が回避されます。

クラシック ビルド パイプラインとクラシック リリース パイプラインの作成は、個別に無効にすることができます。 両方を無効にすると、ユーザー インターフェイスまたは REST API を使って、クラシック ビルド パイプライン、クラシック リリース パイプライン、タスク グループ、デプロイ グループを作成することはできません。

組織レベルまたはプロジェクト レベルで 2 つのトグルをオンにすることで、クラシック パイプラインの作成を無効にできます。 これらを有効にするには、"組織またはプロジェクトの設定" に移動し、[パイプライン] セクションで [設定] を選びます。 [全般] セクションで、[Disable creation of classic build pipelines] (クラシック ビルド パイプラインの作成を無効にする) と [Disable creation of classic release pipelines] (クラシック リリース パイプラインの作成を無効にする) をオンにします。

これらを組織レベルで有効にすると、その組織内のすべてのプロジェクトに対して有効になります。 無効のままにした場合は、プロジェクトを選んで有効にできます。

新しく作成される組織のセキュリティを強化するため、Sprint 226 以降では、新しい組織に対するクラシック ビルドとリリース パイプラインの作成は既定で無効になります。

次のステップ

セキュリティ アプローチを計画したら、リポジトリで保護を提供する方法を検討します。