次の方法で共有


Advanced Security で依存関係スキャンアラートを無視する

Advanced Security の依存関係スキャンは、ソース コードで使用されているオープンソース コンポーネントを検出し、関連する脆弱性があるかどうかを識別します。 オープンソースコンポーネントから見つかった脆弱性には、アラートとしてフラグが設定されます。 この更新プログラムでは、誤検知または許容可能なリスクであると考えられる Advanced Security の依存関係スキャン アラートを無視できます。

Azure Repos では、新しいブランチを作成するときに "ポリシーの編集" アクセス許可を削除するように既定の動作を変更しました。

これらの機能の詳細については、リリース ノートを参照してください。

GitHub Advanced Security for Azure DevOps

Azure Boards

Azure Pipelines

Azure Repos

全般

Advanced Security で依存関係スキャン アラートのアラートを無視する

これで、誤検知または許容可能なリスクであると思われる依存関係スキャン アラートを無視できるようになりました。 これらは、現在使用できる Advanced Security のシークレット スキャンとコード スキャン アラートの場合と同じ無視オプションです。

依存関係スキャン アラートを無視する

これらのアラートを無視するには、依存関係スキャン タスクを使用して検出パイプラインを再実行し、 Advanced Security: dismiss alerts アクセス許可があることを確認する必要がある場合があることに注意してください。

アラートの無視の詳細については、「 Dismiss 依存関係スキャン アラートを参照してください。

Azure Boards

Azure Boards の複数の領域から作業項目の URL をコピーするように少し改善しました。 特定の作業項目への直接リンクを簡単に取得できるようにします。

バックログのコピー リンク コンテキスト メニュー項目の画像

コピー リンク は、作業項目フォーム、バックログ、タスク バックログのコンテキスト メニューに追加されました。

Note

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

Azure Pipelines

Kubernetes タスクで kubelogin がサポートされるようになりました

kubelogin をサポートするために、KubernetesManifest@1HelmDeploy@0Kubernetes@1、およびAzureFunctionOnKubernetes@1タスクを更新しました。 これにより、Azure Active Directory 統合で構成された Azure Kubernetes Service (AKS) をターゲットにできます。

Kubelogin は、 Hosted イメージにプレインストールされていません。 上記のタスクが kubelogin を使用していることを確認するには、それに依存するタスクの前に KubeloginInstaller@0 タスクを挿入してインストールします。

 - task: KubeloginInstaller@0

 - task: HelmDeploy@0
   # arguments do not need to be modified to use kubelogin

承認 REST API の機能強化

承認 運用環境へのデプロイを手動で確認できるようにすることで、YAML パイプラインのセキュリティを向上させます。 Approvals クエリ REST API を更新して、より強力にしました。 次の手順を実行します。

  • approvalIdの一覧を指定する必要はありません。 すべてのパラメーターが省略可能になりました。
  • userIdの一覧を指定して、これらのユーザーに保留中の承認の一覧を取得できます。 現在、REST API は、ユーザーが承認者として明示的に割り当てられている承認の一覧を返します。
  • pendingなど、返される承認のstateを指定できます。

例を次に示します。 GET https://dev.azure.com/fabrikamfiber/fabrikam-chat/_apis/pipelines/approvals?api-version=7.1-preview.1&userId=00aa00aa-bb11-cc22-dd33-44ee44ee44ee&state=pending 戻り値

{
    "count": 2,
    "value":
    [
        {
            "id": "87436c03-69a3-42c7-b5c2-6abfe049ee4c",
            "steps": [],
            "status": "pending",
            "createdOn": "2023-06-27T13:58:07.417Z",
            "lastModifiedOn": "2023-06-27T13:58:07.4164237Z",
            "executionOrder": "anyOrder",
            "minRequiredApprovers": 1,
            "blockedApprovers": [],
            "_links":
            {
                "self":
                {
                    "href": "https://dev.azure.com/fabrikamfiber/fabricam-chat/_apis/pipelines/approvals/87436c03-69a3-42c7-b5c2-6abfe049ee4c"
                }
            }
        },
        {
            "id": "2549baca-104c-4a6f-b05f-bdc4065a53b7",
            "steps": [],
            "status": "pending",
            "createdOn": "2023-06-27T13:58:07.417Z",
            "lastModifiedOn": "2023-06-27T13:58:07.4164237Z",
            "executionOrder": "anyOrder",
            "minRequiredApprovers": 1,
            "blockedApprovers": [],
            "_links":
            {
                "self":
                {
                    "href": "https://dev.azure.com/fabrikamfiber/fabricam-chat/_apis/pipelines/approvals/2549baca-104c-4a6f-b05f-bdc4065a53b7"
                }
            }
        }
    ]
}

チェックを無効にする

デバッグ チェックの手間を軽減しました。 Azure 関数の呼び出しまたは REST API の呼び出しチェックが正しく機能せず、修正が必要な場合があります。 以前は、このようなチェックを削除して、デプロイが誤ってブロックされないようにする必要がありました。 チェックを修正したら、それを再度追加して正しく構成し、必要なすべてのヘッダーが設定されているか、クエリ パラメーターが正しいことを確認する必要がありました。 これは面倒です。

これで、チェックを無効にできます。 無効になっているチェックは、後続のチェック スイートの評価では実行されません。

チェック イメージを無効にします。

誤ったチェックを修正したら、それを有効にすることができます。

チェック イメージを有効にします。

YAML cron スケジュールの更新

YAML パイプラインでは、cron YAML プロパティ使用してスケジュールされたトリガーを定義できます。

batch プロパティの動作を更新しました。 簡単に言うと、batchtrue に設定した場合、別のスケジュールされたパイプラインの実行が進行中の場合、cron スケジュールは実行されません。 これは、パイプライン リポジトリのバージョンに関係なく行われます。

alwaysbatch の相互作用についての説明を以下の表に示します。

常時 Batch Behavior
false false 最後に成功したスケジュールされたパイプライン実行に関する変更がある場合にのみ、パイプラインが実行されます
false true パイプラインの実行は、最後に成功したスケジュールされたパイプライン実行 に関する変更がある場合にのみ実行されます 進行中のスケジュールされたパイプラインの実行はありません
true false cron スケジュールに従ってパイプラインを実行する
true true cron スケジュールに従ってパイプラインを実行する

たとえば、 always: falsebatch: trueがあるとします。 パイプラインを 5 分ごとに実行する必要があることを指定する cron スケジュールがあるとします。 新しいコミットがあるとします。 5 分以内に、パイプラインはスケジュールされた実行を開始します。 パイプラインの実行が完了するまでに 30 分かかるとします。 この 30 分以内に、コミットの数に関係なく、スケジュールされた実行は行われません。 次のスケジュールされた実行は 後にのみ実行されます 現在のスケジュールされた実行が完了します。

YAML パイプラインには複数の cron スケジュールが含まれている場合があり、どの cron スケジュールを実行するかに基づいて、パイプラインで異なるステージ/ジョブを実行できます。 たとえば、夜間ビルドと毎週のビルドがあり、毎週のビルド中にパイプラインでさらに統計情報を収集する必要があるとします。

これを可能にするには、cron スケジュールの displayName プロパティを含む Build.CronSchedule.DisplayName という名前の新しい定義済みシステム変数を導入します。

クラシック パイプラインの作成を制御するための新しいトグル

昨年、クラシック ビルドおよびリリース パイプラインの作成を できないパイプライン構成設定を開始しました

フィードバックに応じて、最初の切り替えが 2 つに分割されました。1 つはクラシック build パイプライン用、1 つはクラシック リリース用、 パイプライン、デプロイ グループ、タスク グループ用です。

作成を無効にする

組織で [ Disable creation of classic build and release pipelines ] トグルがオンになっている場合は、両方の新しいトグルがオンになります。 元のトグルがオフの場合、両方の新しいトグルがオフになります。

Azure Repos

ブランチ作成者に対する "ポリシーの編集" アクセス許可の削除

以前は、新しいブランチを作成したときに、そのブランチのポリシーを編集するアクセス許可が付与されています。 この更新プログラムでは、リポジトリに対して "アクセス許可の管理" 設定がオンになっている場合でも、このアクセス許可を付与しないように既定の動作を変更しています。

アクセス許可管理イメージ。

セキュリティ アクセス許可の継承またはグループ メンバーシップによって明示的に (手動または REST API を使用して) 付与された "ポリシーの編集" アクセス許可が必要です。

次のステップ

Note

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

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

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

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

ご提案の送信

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

よろしくお願いします。

シルヴィウ アンドリカ