Azure DevOps の GitHub Advanced Security とマネージド ID とサービス プリンシパルのサポートが一般公開されました
Azure DevOps の GitHub Advanced Security とマネージド ID とサービス プリンシパルのサポートが一般公開されたことをお知らせします。
GitHub Advanced Security では、CodeQL 初期化タスクにユーザーが指定したすべての入力を含むようにコード スキャンも改善されました。 さらに、Swift を含むように CodeQL のサポートを拡張しました。
Boards では、プライベート プレビューで Team Automation ルールをリリースしています。 これで、各バックログ レベルを構成して、子の状態に基づいて作業項目の開始と終了/解決を自動化できます。 プライベート プレビューへの登録に関心がある場合は、リリース ノートを確認してください。
以下の機能の一覧に移動して、これらの機能の詳細を確認してください。
全般
- Azure DevOps のマネージド ID とサービス プリンシパルのサポートが一般公開 (GA) になりました
- Microsoft Identity OAuth の委任されたフロー アプリで使用できる新しい Azure DevOps スコープ
Azure DevOps 用の GitHub Advanced Security
- コード スキャン (CodeQL) ユーザー入力タスクと変数の変更
- コード スキャンの設定に発行タスクが不要になりました
- CodeQL コード スキャンで Swift がサポートされるようになりました
Azure Boards
Azure Pipelines
全般
Azure DevOps のマネージド ID とサービス プリンシパルのサポートが一般公開 (GA) になりました
Azure DevOps での Microsoft Entra ID マネージド ID とサービス プリンシパルのサポートが一般公開 (GA) に達しました。
現在、多くのアプリケーション統合シナリオでは、Azure DevOps と統合するために個人用アクセス トークン (AT) に依存しています。 簡単に使用できる一方で、AT は簡単に漏洩する可能性があります。これにより、悪意のあるアクターが強力なユーザーとして認証される可能性があります。 不要なアクセスを防ぐために、多くの場合、PAT では、定期的な資格情報のローテーションによる時間のかかるメインテナントも必要になります。
アプリケーションで代わりにマネージド ID とサービス プリンシパルを使用して、REST API とクライアント ライブラリを介して Azure DevOps と統合できるようになりました。 この高度に要求された機能は、Azure DevOps のお客様に、AT に代わるより安全な代替手段を提供します。 マネージド ID は、Azure リソースで実行されているアプリケーションが、資格情報を管理することなく Azure AD トークンを取得する機能を提供します。
マネージド ID とサービス プリンシパルは、通常のユーザーと同様に、Azure DevOps でセットアップし、特定の資産 (プロジェクト、リポジトリ、パイプライン) に対するアクセス許可を付与できます。 これにより、マネージド ID またはサービス プリンシパルを使用するアプリケーションは、PAT のように、ユーザーに代わってではなく、Azure DevOps に接続し、自分の代わりにアクションを実行できます。 チームは、認証用のトークンを提供するために個人に頼るのではなく、サービスをまとめて管理できるようになりました。 GA リリースの詳細については、公開 ブログの投稿のお知らせ と機能に関するドキュメントを 参照してください。
Microsoft Identity OAuth の委任されたフロー アプリで使用できる新しい Azure DevOps スコープ
Microsoft Id プラットフォーム上の委任された OAuth アプリ用の新しい Azure DevOps スコープが追加されました。これは、Microsoft Entra ID OAuth アプリとも呼ばれます。 これらの新しいスコープを使用すると、アプリ開発者は、アプリの職務を実行するためにユーザーに要求するアクセス許可を具体的に発表できます。 この高度に要求された機能により、アプリ開発者はアプリに必要なアクセス許可のみをユーザーに要求できます。
以前は、アプリ開発者が選択できる唯一のスコープは、user_impersonationでした。 このスコープにより、アプリはすべての Azure DevOps API にフル アクセスできます。つまり、ユーザーが属しているすべての組織でユーザーが実行できるあらゆる操作を実行できます。 より詳細なスコープが使用可能になったので、アプリは、要求されたスコープがアクセス許可を付与した API のみを要求してアクセスできるように、簡単に保存できます。
これらの新しいスコープの詳細については、公開ブログの 投稿のお知らせ と 機能に関するドキュメントを参照してください。
Azure DevOps 用の GitHub Advanced Security
コード スキャン (CodeQL) ユーザー入力タスクと変数の変更
これで、すべてのユーザー指定入力が CodeQL 初期化タスクで指定されました。これは、CodeQL 'AdvancedSecurity-Codeql-Init@1' を使用してコード分析に使用される CodeQL 分析環境を構成する役割を担います。 Azure DevOps の GitHub Advanced Security の構成の詳細については、Azure DevOps 用の GitHub Advanced Security の構成に関するドキュメントを参照してください。
さらに、ユーザー入力は、変数によって設定された値よりも優先されます。 たとえば、言語変数を次のようにadvancedsecurity.codeql.language: Java
設定した場合、CodeQL 初期化フェーズ中に、入力cpp
で言語を入力Language: cpp,
として指定すると、言語の変数Java
がオーバーライドされます。 入力が正確に構成されていることを確認してください。
コード スキャンの設定に発行タスクが不要になりました
以前は、コード スキャンを構成するときに、発行タスク (AdvancedSecurity-Publish@1) を YAML パイプラインまたはクラシック パイプラインに含める必要がありました。 この更新プログラムにより、発行タスクの必要がなくなり、分析タスク (AdvancedSecurity-Codeql-Analyze@1) 内の高度なセキュリティ サービスに結果が直接投稿されるようになりました。
コード スキャンに必要なタスクを次に示します。
詳細については、セットアップ コード スキャンのドキュメントを 参照してください。
CodeQL コード スキャンで Swift がサポートされるようになりました
Microsoft では、Swift を含むように CodeQL コード スキャンのサポートを拡大しています。 つまり、Apple プラットフォーム用の Swift ライブラリとアプリケーションに取り組んでいる開発者は、一流のコード セキュリティ分析を利用できるようになりました。 現在の機能には、パスの挿入、危険な Web ビューフェッチ、さまざまな暗号化の誤用、フィルター処理されていないユーザー データの安全でない処理や処理などの問題の検出が含まれます。
Swift は、C/C++、Java/Kotlin、JavaScript/TypeScript、Python、Ruby、C#、Go を含む、サポートされているプログラミング言語の一覧の一部になりました。 これらの言語を使用すると、400 個近くの包括的なチェックをコードに対して実行できます。一方で、誤検知率を低く抑え、高精度を確保メイン。
リポジトリの Azure DevOps 用の GitHub Advanced Security の構成の詳細については、Azure DevOps 用の GitHub Advanced Security の構成に関するドキュメント を参照してください。
Azure Boards
Team Automation ルール (プライベート プレビュー)
重要
2023 年 11 月 9 日の時点で、新しい組織をプライベート プレビューに取り込むわけではありません。 いくつかの軽微なバグを解決して、素晴らしいフィードバックを得ました。 これらのバグに取り組んでおり、次のいくつかのスプリントで機能をすべてのユーザーにリリースする予定です。
各バックログ レベルを構成して、子の状態に基づいて作業項目の開始と終了/解決を自動化できるようになりました。 解決しようとしているメインシナリオは 2 つあります。
1 つの子項目がアクティブ化されたら、親をアクティブにします。
すべての子項目が閉じられたら、親を閉じます (または解決します)。
これらの設定を有効にするには、チームのバックログ レベルの構成をクリックします。 次に、[Automation > Rules] タブに移動して、バックログに適用できる 2 つの異なるルールを確認します。 各バックログ レベル (要件、機能、エピック) は、チームの作業方法に合わせて構成できます。
たとえば、子タスクがアクティブに設定されている場合は、親ユーザー ストーリーをアクティブにします。 次に、すべてのタスクが完了したら、[ユーザー ストーリー] を [終了] に設定します。
プライベート プレビューへの登録に関心がある場合は、組織名 (dev.azure.com/{組織名}) を記載したメールをお送りください。 組織の数をプレビューに制限することを理解してください。 私たちの希望は、フィードバックを提供し、2-3スプリント内のすべての人にリリースするためにいくつかの組織を得ることです。
機能は、この開発者コミュニティの提案チケットに基づいて優先順位が付けられました。
Note
この機能は、 New Boards Hubs プレビューでのみ使用できます。
Azure Pipelines
パイプライン ログにリソース使用率が含まれるようになりました
Azure パイプライン ログで、メモリ、CPU 使用率、使用可能なディスク領域などのリソース使用状況メトリックをキャプチャできるようになりました。 ログには、パイプライン エージェントと、ジョブで実行されるタスクを含む子プロセスによって使用されるリソースも含まれます。
パイプライン ジョブがリソースの制約に陥る可能性があると思われる場合は、詳細ログを有効にして、リソース使用率情報をパイプライン ログに挿入します。 これは、ホスティング モデルとは関係なく、任意のエージェントで機能します。
Azure Pipelines エージェントで Alpine Linux がサポートされるようになりました
パイプライン エージェント v3.227 では、 Alpine Linux バージョン 3.13 以降がサポートされるようになりました。 Alpine Linux は、コンテナー (ベース) イメージに人気があります。 エージェントはリリース ページで確認できます。 Alpine Linux バージョンのエージェントにはプレフィックスvsts-agent-linux-musl
が付いています。例: vsts-agent-linux-musl-x64-3.227.1.tar.gz
次のステップ
Note
これらの機能は、今後 2 ~ 3 週間にわたってロールアウトされます。
Azure DevOps に向かい、見てみましょう。
フィードバックの提供方法
これらの機能に関するご意見をお聞かせください。 ヘルプ メニューを使用して、問題を報告したり、提案を提供したりします。
Stack Overflow のコミュニティからアドバイスや質問に回答してもらうこともできます。
よろしくお願いします。
Rajesh Ramamurthy