フィード スコープ: プロジェクトフィードと組織フィード

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022

Azure Artifacts を使用すると、開発者は 1 つのフィードから依存関係を管理できます。 フィードは、さまざまな種類のパッケージをホストするための組織スペースとして機能し、組織内のチーム メンバーであるか、既存のパブリック プロジェクトのパブリック ユーザーであるかに関係なく、アクセスできるユーザーを制御できます。

Azure Artifacts で新しいフィードを作成する場合は、シナリオに応じて、プロジェクトまたは組織のいずれかにスコープを設定できます。 ただし、Azure Artifacts では、新しいフィードをプロジェクトにスコープ設定することをお勧めします。 この記事では、2 種類のフィードの主な違いについて説明します。

重要

パブリック フィードは、パブリック プロジェクトによって異なります。 2027 年から、既存のパブリック プロジェクトは自動的にプライベートに変換されます。 その場合、パブリック フィードはホスティング プロジェクトの可視性を継承するため、パブリック にアクセスできなくなります。 詳細については、「 パブリック プロジェクトの廃止」を参照してください。

フィードの作成

  1. Azure DevOps 組織にサインインし、プロジェクトに移動します。

  2. Artifacts を選択し、次に Create Feed を選択します。

  3. フィードにNameを指定し、その表示を選択してパッケージを表示できるユーザーを指定し、nuget.orgなどのパブリック ソースのパッケージを含める場合は一般的なパブリック ソースのパッケージを含める場合はチェック ボックスをオンにします。

  4. Scope で Project を選択してプロジェクト スコープ フィードを作成するか、組織の範囲のフィードが必要な場合は Organization を選択します。

  5. 終わったら [作成] を選択します。

    プロジェクトと組織のスコープ付きフィードを作成する方法を示すスクリーンショット。

注

組織スコープのフィードは、プロジェクト スコープのフィードに変換できません。

プロジェクトスコープのフィードと組織スコープのフィード

プロジェクト スコープのフィードは、組織ではなくプロジェクトを対象とします。 2 種類のフィードの主な違いを次に示します。

カテゴリ プロジェクト単位のフィード 組織単位のフィード
可視性 プロジェクトの可視性を継承します。 既定では常にプライベートです。
リンク URL にはプロジェクト名が含まれています。
例: https://pkgs.dev.azure.com/<ORG_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json
URL にプロジェクトが含まれていません。
例: https://pkgs.dev.azure.com/<ORG_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json
ユーザー インターフェイス フィードをホストするプロジェクトに移動した後にのみ表示されます。 フィードのドロップダウン メニューから常に使用できます。
接続 同じ組織内の別のプロジェクトで実行されているパイプラインからフィードにアクセスするには、 プロジェクト コレクション ビルド サービス と、パイプラインを実行するプロジェクトのプロジェクトの ビルド サービス の両方に適切なロールが付与されている必要があります。 適切なロールを付与する必要があるのは、 プロジェクト コレクション ビルド サービス だけです。

注

別の組織のフィードをアップストリーム ソースとして追加するには、ターゲット フィードの所有者が、 Microsoft Entra テナントに関連付けられている組織内のすべてのフィードとユーザーとターゲット ビューを共有する必要がありますFeed Settings>Views に移動し>指定したビューの右側にある省略記号ボタンを選択>、Edit を選択します。

ヒント

組織に既存のパブリック プロジェクトがある場合は、[組織ポリシー設定] から [パブリック プロジェクトを許可する] ポリシーを無効にすることで、セキュリティの追加レイヤーを追加できます。 2027 年から、既存のパブリック プロジェクトは自動的にプライベートに変換され、パブリック フィードにはパブリックにアクセスできなくなります。

Q&A(質疑応答)

Q: 組織内のすべてのユーザーとパッケージを共有するにはどうすればよいですか?

A: フィード内の特定のパッケージに組織内のすべてのユーザーがアクセスできるようにするには、共有するパッケージを含む ビュー を作成または選択し、その可視性を組織内の People に設定します。

重要

ユーザーが特定のビューにアクセスできる場合、フィード レベルのアクセス許可がなくても、そのビューからパッケージを表示およびダウンロードできます。 パッケージへのアクセスを完全に制限する場合は、フィードとそのビューの両方に対するアクセス許可が制限されていることを確認します。 詳細については、「 Feeds とビューのアクセス許可 を参照してください。

Q: パイプラインから別のプロジェクトのプロジェクト スコープ フィードにアクセスするにはどうすればよいですか?

パイプラインが別のプロジェクトのプロジェクト スコープ フィードにアクセスできるようにするには、プロジェクト レベル (フィードがホストされている場所) とフィード レベルの両方でアクセス権を付与する必要があります。

  • プロジェクトのアクセス許可: フィードをホストしているプロジェクトに移動し、 プロジェクト設定>Permissions を選択し、パイプラインの プロジェクト ビルド サービス を 閲覧者 グループに追加します。

  • フィードのアクセス許可: アクセスするフィードに移動し、[>] を選択し、次のいずれかのロールを持つプロジェクト ビルド サービスを追加します。

    • フィードとアップストリーム リーダー (コラボレーター): フィードからパッケージを表示またはダウンロードする場合、またはアップストリーム ソースからパッケージを保存する場合。
    • フィード パブリッシャー (共同作成者):フィードからのパッケージの表示またはダウンロードに加えて、パッケージを発行、昇格、または非推奨にする場合、またはアップストリーム ソースからパッケージを保存する場合。

Project ビルド サービス ID は、次のように書式設定されます: [Project name] Build Service ([Organization name])。 例: FabrikamFiber ビルド サービス (codesharing-demo)。

Q: 同じ組織内の別のプロジェクトからパイプライン成果物をダウンロードするにはどうすればよいですか?

A: パイプラインが別のプロジェクトから成果物をダウンロードできない場合は、ダウンストリーム プロジェクトと成果物を生成するパイプラインの両方に対して次のアクセス許可が設定されていることを確認します。

  • 成果物を生成しているパイプライン (アップストリーム プロジェクト) で、その他のオプションの省略記号を選択し、>セキュリティの管理> を選択してダウンストリーム プロジェクトのビルド サービスを検索し、次のアクセス許可を許可します: ビルド情報の更新、ビルド パイプラインの表示、および ビルドの表示。

  • ダウンストリーム プロジェクトで: Project Settings>Permissions>Users に移動し> アップストリーム プロジェクトの名前を検索し、 Expand search を選択> アップストリーム プロジェクトのビルド サービスを選択し、 プロジェクト レベルの情報を表示を有効にします。

Q: 新しいフィードでアップストリーム ソースを有効にし、その可視性を "Microsoft Entra テナントのメンバー" に設定した場合、フィードを含む Azure DevOps 組織に Microsoft Entra ユーザーを追加する必要はありますか。

A: はい。フィード内のパッケージにアクセスするには、ユーザーを Azure DevOps 組織に追加する必要があります。 Project Collection Valid Usersとして、組織の設定>セキュリティ>アクセス許可から追加できます。