フィード スコープ: プロジェクトフィードと組織フィード
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Artifacts を使用すると、開発者は 1 つのフィードから依存関係を管理できます。 フィードは、さまざまな種類のパッケージをホストするための組織スペースとして機能し、組織内のチーム メンバーかパブリック ユーザーかに関係なく、アクセスできるユーザーを制御できます。
Azure Artifacts で新しいフィードを作成する場合は、シナリオに応じて、プロジェクトまたは組織のいずれかにスコープを設定できます。 ただし、Azure Artifacts では、新しいフィードをプロジェクトにスコープ設定することをお勧めします。 この記事では、2 種類のフィードの主な違いについて説明します。
フィードの作成
Azure DevOps 組織にサインインし、プロジェクトに移動します。
[ Artifacts]\(成果物\) を選択し、フィードを作成します。
フィードにNameを指定し、その表示を選択してパッケージを表示できるユーザーを指定し、 nuget.orgなどのパブリック ソースのパッケージを含める場合は一般的なパブリック ソースのパッケージを含める場合はチェック ボックスをオンにします。
Scope で Project を選択してプロジェクト スコープ フィードを作成するか、組織の範囲のフィードが必要な場合は Organization を選択します。
終わったら [作成] を選択します。
Note
組織スコープのフィードは、プロジェクト スコープのフィードに変換できません。
プロジェクトスコープのフィードと組織スコープのフィード
プロジェクトスコープのフィードは、組織ではなくプロジェクトにスコープが設定されています。 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 |
ユーザー インターフェイス | フィードをホストするプロジェクトに移動した後にのみ表示されます。 | フィードのドロップダウン メニューから常に使用できます。 |
接続 | 同じ組織内の別のプロジェクトで実行されているパイプラインからフィードにアクセスするには、 Project Collection Build Service およびパイプラインを実行するプロジェクトの Build Service プロジェクトの ID に、フィード設定で Feed Publisher (Contributor) ロールが付与されている必要があります。 | Project コレクション ビルド サービスを割り当てる必要があるのはフィード設定の Feed Publisher (Contributor) ロールだけです。 |
Note
別の組織のフィードをアップストリーム ソースとして追加するには、ターゲット フィードの所有者が、 Microsoft Entra テナントに関連付けられている組織内のすべてのフィードとユーザーとターゲット ビューを共有する必要がありますFeed Settings>Views に移動し>指定したビューの右側にある省略記号ボタンを選択>、Edit を選択します。
ヒント
プロジェクト スコープ フィードにセキュリティレイヤーを追加し、フィードの可視性を保護する場合は、Organization ポリシー設定から Allow パブリック プロジェクト ポリシーを無効にすることができます。
Q&A
Q: 組織内のすべてのユーザーとパッケージを共有するにはどうすればよいですか?
A: フィード内の特定のパッケージに組織内のすべてのユーザーがアクセスできるようにするには、共有するパッケージを含む ビュー を作成または選択し、その可視性を組織内の People に設定します。
重要
ユーザーが特定のビューにアクセスできる場合、フィード レベルのアクセス許可がなくても、そのビューからパッケージを表示およびダウンロードできます。 パッケージへのアクセスを完全に制限する場合は、フィードとそのビューの両方に対するアクセス許可が制限されていることを確認します。 詳細については、「 Feeds とビューのアクセス許可 を参照してください。
Q: パイプラインから別のプロジェクトのプロジェクト スコープ フィードにアクセスするにはどうすればよいですか?
パイプラインが別のプロジェクトのプロジェクト スコープ フィードにアクセスできるようにするには、フィードのスコープが設定されているプロジェクトとフィード自体の両方へのアクセス権をパイプラインに付与する必要があります。
プロジェクトのアクセス許可: フィードをホストするプロジェクトに移動し、 プロジェクト設定>Permissions を選択し、パイプラインの project ビルド サービス 共同作成者グループまたは共同作成者アクセスを許可する任意のグループに追加します。
フィードのアクセス許可: アクセスするフィードに移動し、Settings>Feed アクセス許可を選択し、Feed および Upstream Reader (コラボレーター) としてproject ビルド サービスを追加します。 Project ビルド サービス ID は、
[Project name] Build Service ([Organization name])
(FabrikamFiber ビルド サービス (codesharing-demo) など) のように書式設定されます。
Q: 同じ組織内の別のプロジェクトからパイプライン成果物をダウンロードするにはどうすればよいですか?
A: パイプラインが別のプロジェクトから成果物をダウンロードできない場合は、ダウンストリーム プロジェクトと成果物を生成するパイプラインの両方に対して次のアクセス許可が設定されていることを確認します。
成果物 (アップストリーム プロジェクト) を生成するパイプラインで >管理セキュリティの詳細オプションの省略記号を選択し> ダウンストリーム プロジェクトのビルド サービスを検索し、 Update ビルド情報、 View ビルド、および View ビルドのアクセス許可を許可します。
ダウンストリーム プロジェクトで: Project Settings>Permissions>Users に移動し> アップストリーム プロジェクトの名前を検索し、 Expand search を選択> アップストリーム プロジェクトのビルド サービスを選択し、 プロジェクト レベルの情報を表示を有効にします。
Q: 新しいフィードでアップストリーム ソースを有効にし、その可視性を "Microsoft Entra テナントのメンバー" に設定した場合、フィードを含む Azure DevOps 組織に Microsoft Entra ユーザーを追加する必要はありますか。
A: はい。フィード内のパッケージにアクセスするには、ユーザーを Azure DevOps 組織に追加する必要があります。 Organization Settings>Security>Permissions からProject Collection Valid Usersとして追加できます。