次の方法で共有


高レベルの特権スコープ、パイプラインデコレーター、未公開の拡張機能を管理する

Azure DevOps の拡張機能は機能を強化し、ワークフローを合理化しますが、一部の拡張機能は、高い特権スコープまたは未発行の状態のためにセキュリティの脆弱性を引き起こす可能性があります。 この記事では、Azure DevOps 組織を潜在的なセキュリティの脆弱性や予期しない動作から保護するために、高い特権、パイプライン デコレーター、および公開されていない拡張機能を特定して管理する方法について説明します。

高度な特権スコープと高度な特権拡張機能とは何ですか?

高特権スコープ

スコープは、一般に拡張機能がアクセスできるリソースと、それらのリソースに対する実行を許可される操作を決定します。 拡張機能では、複数のスコープが使用される場合があります。

高い特権スコープとして定義されているものについては、それは過度に制限されているスコープです。

たとえば、高い特権の範囲では次のことが可能です。

  • ソース コードの読み取り、更新、削除
  • ID とグループの読み取り、書き込み、管理
  • プロジェクトの作成、読み取り、更新、削除

高い特権スコープを含むスコープの完全な一覧については、 マニフェストリファレンスを参照してください

高特権拡張機能

高い特権の拡張機能では、1 つ以上の高い特権スコープを使用します。 高い特権の拡張機能は機密性の高いリソースにアクセスして重要な操作を実行できるため、組織のセキュリティと運用の標準に合わせて慎重に評価することが不可欠です。

拡張機能に関しては、さらに高い特権の拡張機能に関しては、次の要素を考慮してください。

  • 信頼できる発行元: コードと発行元が信頼できる場合にのみ拡張機能をインストールして使用する
  • 要求されたスコープを確認する: 拡張機能の機能に要求されたスコープが必要であることを確認する
  • 使用を制限する: 高い特権の拡張機能は、ワークフローにとって重要な場合にのみインストールします

Azure DevOps 拡張機能での高い特権スコープの使用状況を評価する

既にインストールされている拡張機能の中には、高い特権スコープの使用に関するフラグが設定されている拡張機能はほとんどありません。 組織の設定[拡張機能] セクションで、それらの状態を確認できます。

拡張機能のインストール、更新、または使用は、コードとその発行元が信頼できる場合にのみ行うことをお勧めします。

Microsoft は、拡張機能の新しいバージョンと更新されたバージョンごとにウイルス スキャンを実行します。ただし、この機能は、特定の拡張機能が高い特権スコープを使用しているかどうかについてのみ、ユーザー インターフェイスで強調表示されます。 ウイルス スキャンの詳細については、「 拡張機能を公開する」を参照してください

組織設定の高い特権拡張機能の一覧を示すスクリーンショット。

高い特権スコープで拡張機能を管理する

高い特権スコープを持つ拡張機能を特定する場合は、拡張機能から呼び出されたスコープがユース ケースに不可欠かどうかを評価します。 拡張機能の機能がスコープを正当化しない場合は、Azure DevOps 組織を保護するために拡張機能をインストールまたは使用しないことをお勧めします。

拡張機能の高い特権スコープの詳細を示すスクリーンショット。

Visual Studio Marketplace for Azure DevOps 拡張機能は、高い特権スコープの管理者ページに表示される拡張機能と同様の表示を提供します。 そのため、拡張機能が組織にインストールされる前に 、Azure DevOps Visual Studio Marketplace でフラグが設定された高い特権スコープを特定することもできます。

拡張機能、特に高い特権スコープを持つ拡張機能を選択する場合は、拡張機能の機能がこれらのスコープの使用を正当化するかどうかを重要に考えてください。 発行元と拡張機能のコードが信頼できる場合にのみ、インストールを続行します。

高い特権拡張機能の Azure DevOps の Visual Studio Marketplace の取得画面を示すスクリーンショット。

パイプライン デコレーターを安全に使用する

パイプライン デコレーター は、組織内のすべてのパイプラインを変更および強化するプライベート拡張機能であり、高い特権の拡張機能としても分類されます。 パイプライン デコレーター拡張機能は、発行元とコードを信頼する場合にのみ注意して使用してください。

パイプライン デコレーターが含まれる新しく追加されたスコープの承認画面を示すスクリーンショット。

公開されていない拡張機能の使用を中止する

高い特権の拡張機能を超えて、拡張機能の管理ページは、拡張機能が公開元によって公開されていないかどうかを視覚的に示します。

拡張機能が発行元によって Visual Studio Marketplace から発行されていない場合、通常は拡張機能が維持されなくなったことを示します。

Azure DevOps 組織からアンインストールして、発行されていない拡張機能の使用を中止します。

さらに、Azure DevOps Services REST API バージョン 7.2 では、文字列フィールド unpublished を使用できるようになりました。 このフィールドを使用すると、Visual Studio Marketplace から発行されていない拡張機能をプログラムで識別できます。 たとえば、Azure DevOps 組織内で未発行の拡張機能を検出して管理する独自のプロセスを構築できます。