パイプラインのセキュリティを強化するための機能強化

この更新プログラムでは、Azure DevOps のセキュリティを強化するための機能強化が含まれています。 これで、Azure Container Registry の Docker Registry サービス接続を作成するときに、システム割り当てマネージド ID を使用できるようになりました。 さらに、エージェント プールのアクセス管理が強化され、YAML パイプライン内のリソースの使用を指定できるようになりました。 最後に、フォークされたパブリック GitHub リポジトリの GitHub アクセス トークンを読み取り専用スコープに制限しています。

詳細については、リリース ノートを参照してください。

Azure Boards

Azure Pipelines

Azure Boards

[リンクのコピー] アクションを使用して、特定の作業項目コメントへのリンクをコピーできるようになりました。 その後、そのリンクを別の作業項目のコメントまたは説明に貼り付けることができます。 クリックすると、作業項目が開き、コメントが強調表示されます。

Gif to demo copy comments link.

この機能は、このコミュニティ提案チケット基づいて優先されました。

Note

この機能は、 New Boards Hubs プレビューでのみ使用できます。

Azure Pipelines

Container Registry サービス接続で Azure マネージド ID を使用できるようになりました

Azure Container Registry の Docker Registry サービス接続を作成するときに、システム割り当てマネージド ID を使用できます。 これにより、セルフホステッド Azure Pipelines エージェントに関連付けられているマネージド ID を使用して Azure Container Registry にアクセスできるため、資格情報を管理する必要がなくなります。

New Docker Registry Service Connection for Changes to Approvals

Note

Azure Container Registry へのアクセスに使用されるマネージド ID には、適切な Azure ロール ベースのアクセス制御 (RBAC) の割り当てが必要です (AcrPull ロールや AcrPush ロールなど)。

サービス接続など、保護されたリソースのパイプラインアクセス許可を制限すると、関連付けられている監査イベント ログに、リソースがそのプロジェクトに対して正常に承認されなかったことが正しく示されるようになりました。

Pipeline Permissions for Changes to Approvals

Successfully Authorized for Changes to Approvals

組織で YAML パイプラインのみを使用していることを確認する

Azure DevOps では、クラシック ビルド パイプライン、クラシック リリース パイプライン、タスク グループ、デプロイ グループの作成を無効にすることで、組織で YAML パイプラインのみを使用できるようになりました。 既存のクラシック パイプラインは引き続き実行され、編集することはできますが、新しいパイプラインを作成することはできません。

対応するトグルをオンにすると、組織レベルまたはプロジェクト レベルでクラシック パイプラインの作成を無効にすることができます。 トグルは、プロジェクト/組織の設定 - パイプライン ->> 設定にあります。

Disable Creation Of Classic Build and Classic Pipeline for Changes to Approvals

トグルの状態は既定ではオフになっています。状態を変更するには管理者権限が必要です。 組織レベルでトグルがオンになっている場合は、すべてのプロジェクトに対して無効化が適用されます。 それ以外の場合、各プロジェクトは無効化を適用するかどうかを自由に選択できます。

クラシック パイプラインの作成を無効にすると、クラシック パイプライン、タスク グループ、デプロイ グループの作成に関連する REST API が失敗します。 YAML パイプラインを作成する REST API が機能します。

クラシック パイプラインの作成を無効にすることは、既存の組織に対してオプトインされます。 新しい組織の場合、当面はオプトインされます。

パイプラインの全般設定を更新するために必要な新しい PAT スコープ

General 設定 - Update REST API を呼び出す場合、スコープ Project と Team -> 読み取りおよび書き込みを含む PAT が必要になりました。

Project and Team

エージェント プールのきめ細かいアクセス管理

エージェント プールを使用すると、パイプラインを実行するマシンを指定して管理できます。

以前は、カスタム エージェント プールを使用していた場合は、アクセスできるパイプラインを管理するのが粗いものでした。 すべてのパイプラインで使用を許可することも、各パイプラインにアクセス許可の要求を要求することもできます。 残念ながら、エージェント プールへのパイプライン アクセス許可を付与した後は、パイプライン UI を使用して取り消すことができませんでした。

Azure Pipelines では、エージェント プールに対してきめ細かいアクセス管理が提供されるようになりました。 このエクスペリエンスは、サービス接続のパイプラインアクセス許可を管理するためのエクスペリエンスと似ています。

FabrikamFiber Agent Pool for Changes to Approvals

すべてのパイプラインに保護されたリソースへのアクセスを許可しないようにする

サービス接続や環境などの保護されたリソースを作成する場合は、[すべてのパイプラインにアクセス許可を付与する] チェックボックスを選択できます。 これまで、このオプションは既定でチェックされていました。

これにより、パイプラインで新しい保護されたリソースを簡単に使用できるようになりますが、逆に、リソースにアクセスする権限を誤って多くのパイプラインに付与することが優先されます。

既定でセキュリティで保護された選択肢を昇格させるために、Azure DevOps はチェックボックスのロックを解除します。

New Generic Service Connection for Changes to Approvals

フォークされた GitHub リポジトリからプル要求をビルドするときのセキュリティが強化されました

Azure DevOps を使用して、パブリック GitHub リポジトリをビルドしてテストできます。 パブリック GitHub リポジトリを使用すると、世界中の開発者と共同作業を行うことができますが 、フォークされたリポジトリからのプル要求 (PR) の構築に関連するセキュリティ上の問題が発生します

PR がフォークされた GitHub リポジトリからリポジトリに望ましくない変更を加えないようにするために、Azure DevOps は GitHub アクセス トークンを読み取り専用スコープに制限するようになりました。

Macos-latest ラベルは macos-12 イメージを指します

macos-12 のモントレー イメージは、Azure Pipelines Microsoft でホストされるエージェントの "macos-latest" ラベルの既定のバージョンになる準備ができています。 これまで、このラベルは macos-11 Big Sur エージェントを指しています。

macos-12 と macos-11 の違いの完全な一覧については、GitHub の問題参照してください。 イメージにインストールされているソフトウェアの完全な一覧については、こちらチェック

Ubuntu-latest ラベルは ubuntu-22.04 イメージを指します

ubuntu-22.04 イメージは、Azure Pipelines Microsoft でホストされているエージェントの ubuntu-latest ラベルの既定のバージョンになる準備ができています。 これまで、このラベルは ubuntu-20.04 エージェントを指しています。

ubuntu-22.04 と ubuntu-20.04 の違いの完全な一覧については、GitHub の問題参照してください。 イメージにインストールされているソフトウェアの完全な一覧については、こちらチェック

次のステップ

Note

これらの機能は、今後 2 ~ 3 週間にわたってロールアウトされます。

Azure DevOps に向かい、見てみましょう。

フィードバックの提供方法

これらの機能に関するご意見をお聞かせください。 ヘルプ メニューを使用して、問題を報告したり、提案を提供したりします。

Make a suggestion

Stack Overflow のコミュニティからアドバイスや質問に回答してもらうこともできます。

よろしくお願いします。

ヴィジャイ・マクラジュ