- GitHub Advanced Security for Azure DevOps
- Azure Boards
- Azure Repos
- Azure Pipelines
- Azure Test Plans
- Next steps
- How to provide feedback
今回の更新により、AB#リンクがPull requestの説明に含まれている場合、GitHubPull requestのDevelopmentセクションに直接表示されるようになりました。この強化により、Azure BoardsとGitHubの統合を通じてリンクされた作業項目へのアクセスが簡素化されます。
また、リポジトリの健康状態をよりよく把握し、そのパフォーマンスを効率的に維持するための強化された監視ツールも導入しました!
詳細についてはリリースノートをご覧ください。
- Advanced SecurityのブランチピッカーでPull requestブランチが扱えるようになりました
- Advanced Securityで自動的に既定のブランチが更新されるようになりました
- Advanced SecurityがサードパーティのSARIFをサポートするようになりました
- アラートルールIDが結果のフィンガープリントに統合されるようになり、異なるアラートとして識別されます
- Pull request注釈をプレビュー提供します
- GitHub pull requestsでAB#リンクの詳細が見えるようになりました
- GitHubレポジトリの接続をサポートするREST APIを追加しました
- 添付ファイルを完全に削除できるようになりました
- Azure Pipeline agent v4は.NET 8に移行します
- プレビューモードでシェルタスクの引数検証ができるようになりました
- Azure サービス接続とアプリケーション登録の命名ルールを変更しました
以前はブランチピッカーにPull requestのブランチは表示されていませんでしたが、Pull requestのブランチでのスキャンは可能でした。今回の更新でこれらのブランチが高度なセキュリティブランチピッカーに表示され、検索できるようになりました。
以前は、デフォルトブランチが変更された際に、Advanced Securityリポジトリタブが自動的に更新されず、ブランチピッカーで新しいブランチを手動で選択する必要がありました。今回の更新で、このタブはページを訪れると新しく指定されたデフォルトブランチを自動的に検出してアラートを表示します。
さらに、セキュリティ概要もデフォルトブランチの変更を反映するように更新されますが、更新されたアラート結果が処理されるまでに若干の遅延が発生する場合があります。
サードパーティのスキャニングツールからの結果をAdvanced Securityコードスキャニングタブに表示するためにアップロードできるようになりました。
SARIF 2.1標準に準拠し、$(Agent.TempDirectory)/.advsec
ディレクトリにSARIFファイルを公開するスキャニングツールを使用し、タスクの後にAdvancedSecurity-Publish@1を実行すると、結果がコードスキャニングタブにアップロードされます。
注意事項
SARIFファイル内の結果に関連付けられたファイルパスは、ビルドエージェントで実行されているAdvancedSecurity-Publish@1タスクからアクセス可能でなければなりません。
以前は、同じフィンガープリント、ハッシュ、ツール、およびルール名を持つサードパーティツールの結果は、ルールIDが異なっていても1つのアラートにまとめられていました。
今回の更新で、フィンガープリントにルールIDが含まれるようになり、他のデータポイントが同じであっても、異なるルールIDを持つ結果には別々のアラートが作成されます。既存のアラートも更新され、適宜分割されます。
Advanced Securityのロードマップ項目Pull-request annotationsに記載されているように、依存関係またはコードスキャンタスクを含むパイプラインにリンクされたビルド検証ポリシーを使用するPull requestに対して、インライン注釈を受け取ることができるようになりました。
オプトインは不要です。関連するブランチに対してビルド検証ポリシーを作成するだけです。
注釈内のShow more details
をクリックすると、アラートの詳細ビューに移動します。
Azure BoardsとGitHubの統合を強化するための継続的な改善の一環として、AB#リンクの表示方法を簡素化する新機能を導入しました。今回の更新により、AB#リンクがGitHubPull requestの開発セクションに直接表示されるようになり、説明やコメントを探すことなくリンクされた作業項目にアクセスしやすくなります。
これらのリンクは、Pull requestの説明にAB#が含まれている場合にのみ表示されます。作業項目から直接リンクした場合、それらはDevelopmentセクションには表示されません。さらに、説明からAB#リンクを削除すると、Developmentコントロールからも削除されます。
Azure DevOpsプロジェクトにGitHubリポジトリを追加および削除する自動化を可能にする新しいREST APIエンドポイントを導入しています。さらに、これらのエンドポイントを使用する際の接続ごとのリポジトリ制限を500から2,000に増やしました。
これらのエンドポイントには以下が含まれます。
また、開始するためのサンプルコードも提供しています。
場合によっては、作業項目から添付ファイルを削除するだけではセキュリティリスクが完全に解決されないことがあります。特に、ファイルが悪意のあるものとしてフラグ付けされている場合です。添付ファイルへの共有リンクは、他の作業項目、コメント、または外部チャネルで依然としてアクセス可能な場合があります。これに対処するために、"Permanently delete work items"権限を持つユーザーが添付ファイルを完全に削除できる機能を追加しました。
この操作は、作業項目フォームの添付ファイルタブの"Deleted Attachments"という新しいセクションから実行できます。このセクションは、作業項目を完全に削除するための必要な権限を持つユーザーにのみ表示されます。
添付ファイルが完全に削除されると、関連するすべてのリンクは"File attachment does not exist"というエラーを返します。
注意事項
この機能はNew Boards Hubを有効にしている場合のみ使用可能です。
Gitリポジトリが成長するにつれて、コミット、ブロブ、およびその他のデータが蓄積され、Azure DevOpsインフラストラクチャへの負荷が増加し、パフォーマンスやユーザーエクスペリエンスに影響を与える可能性があります。リポジトリを健全に保つことは、一貫したパフォーマンスと信頼性を確保するための鍵です。
これをサポートするために、リポジトリのサイズ、コミット頻度、内容、および構造などのいくつかの要因を監視するようになりました。リポジトリがインフラストラクチャに負担をかけ始めた場合、是正措置の推奨事項を含む通知を受け取ることがあります。リポジトリの健全性を管理することで、障害を防ぎ、スムーズな運用を確保できます。
リポジトリの健全性を確認するには、Azure Reposに移動し、Fileを選択して、三点リーダーメニューから"Health and usage"を選択して、リポジトリの健全性と使用状況パネルにアクセスします。
Azure Pipelineエージェントv3は現在.NET 6を使用していますが、.NET 6のサポート終了が近づいているため、エージェントを.NET 8にアップグレードします。このアップデートは今後数週間で展開されます。
.NET 8がサポートされていないオペレーティングシステムでセルフホストエージェントを使用している場合、エージェントはv4にアップグレードされません。代わりに、サポートされていないオペレーティングシステムで実行されているパイプラインは、パイプラインログに警告を表示します。QueryAgentPoolsForCompatibleOS.ps1スクリプトを使用して、古いオペレーティングシステムで実行されているパイプラインエージェントを事前に特定できます。
次のオペレーティングシステムバージョンは、更新されたv4エージェントではサポートされません。
- Alpine Linux 3.13 - 3.16
- Debian 10
- Fedora 36 - 38
- macOS 10 & 11
- openSUSE 15.0 - 15.4
- Oracle Linux 7
- Red Hat Enterprise Linux 7
- SUSE Enterprise Linux 12
- Ubuntu, 16.04, 18.04
- Windows 7, 8 & 10 up to 21H2
Bash@3、BatchScript@1、CmdLine@2、PowerShell@2などのシェルタスクは、組織またはプロジェクト設定でシェルタスク引数の検証を有効にすることで、コマンドインジェクションから保護できます。
シェルタスク引数の検証を有効にすると、入力検証によって入力が拒否されるため、既存のスクリプトが動作しなくなる可能性があります。例えば、一部の文字はコマンドセパレータと見なされ、この設定が有効な場合に拒否されます。
この移行をスムーズにするために、プレビューモードを追加しました。プレビューモードを有効にすると、パイプラインと監査ログに警告が表示され、タスクやワークフローを中断することなく潜在的な問題を把握できます。
Organization Settings > Pipelines > Settings > Task restrictions > Audit On を設定してください。
以前、サービス接続は<azure devops org>-<azure devops project>-<azure subscription id>
という形式で命名されていました。このため、同じAzureサブスクリプションを対象とするアプリ登録と対応するサービス接続を関連付けるのが難しくなっていました。明確さを向上させるために、アプリ登録名にサービス接続名が含まれるように変更し、<azure devops org>-<azure devops project>-<service connection name>
という形式となるため、識別しやすくなります。
ビルドパイプラインの構成をシームレスに統合することで、テストケースの実行プロセスを簡素化しました。Test Planレベルで設定されたビルド定義とIDは、Web Runnerに自動的に伝播されるため、毎回手動で構成する必要がなくなります。この改善により、時間を節約し、効率が向上し、より重要なタスクに集中できるようになります。
このアップグレードをChromeで段階的にリリースしてきましたが、今度はEdgeへの展開を拡大しています。
この更新はGoogleのManifest V2の廃止スケジュールに従って、実装をManifest V2からV3に移行します。拡張機能のコア機能は変更されませんが、セキュリティとパフォーマンスが向上します。
詳細については、このアップデートに関する最近のブログ投稿Manifest V3でのTest & Feedback Manifest V3をご覧ください。
注意事項
ここで議論されている機能は今後二~三週にわたって順次展開されます。
Azure DevOpsサービスを体験してみてください。
これらの機能についてどう思っているかお聞きしたいと思います。 フィードバックメニューを使用して問題を報告するか、提案を提出してください。
アドバイスや回答を必要とする質問がある場合、Stack Overflowコミュニティで聞いてください。
ありがとうございました。
Dan Hellem