次の方法で共有


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

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

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

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

フィードの作成

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

  2. [ Artifacts]\(成果物\) を選択し、フィードを作成します。

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

  4. [スコープ] で、[プロジェクト] を選択してプロジェクト スコープフィードを作成します。組織スコープフィードが必要な場合は[組織]を選択します。

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

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

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
ユーザー インターフェイス フィードをホストするプロジェクトに移動した後にのみ表示されます。 フィードのドロップダウン メニューから常に使用できます。
接続 同じ組織内の別のプロジェクトで実行されているパイプラインからフィードにアクセスするには、プロジェクト コレクション ビルド サービスと、パイプラインを実行するプロジェクトのビルド サービス ID にフィード設定のフィードパブリッシャー (共同作成者) ロールが付与されている必要があります。 フィード設定で Project Collection Build Service フィード パブリッシャー (共同作成者) ロールに割り当てる必要があるだけです。

Note

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

ヒント

プロジェクト スコープ フィードにセキュリティレイヤーを追加し、フィードの可視性を保護する場合は、[組織のポリシー設定] から [パブリック プロジェクト許可する] ポリシーを無効にすることができます。

Q&A

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

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

重要

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

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

パイプラインが別のプロジェクトのプロジェクト スコープ フィードにアクセスできるようにするには、フィードのスコープが設定されているプロジェクトとフィード自体の両方へのアクセス権をパイプラインに付与する必要があります。

  • プロジェクトのアクセス許可: フィードをホストしているプロジェクトに移動し、[プロジェクト設定>のアクセス許可] を選択し、パイプラインのプロジェクト ビルド サービスを共同作成者グループまたは共同作成者アクセス権を付与する任意のグループに追加します。

  • フィードのアクセス許可: アクセスするフィードに移動し、[設定フィードのアクセス許可]>を選択し、フィードおよびアップストリーム リーダー (コラボレーター) としてプロジェクト ビルド サービスを追加します。 Project ビルド サービス ID は、次 [Project name] Build Service ([Organization name]) のように書式設定されます (例: FabrikamFiber Build Service (codesharing-demo))。

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

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

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

  • ダウンストリーム プロジェクトで、[プロジェクト設定の権限]>ユーザー>がアップストリーム プロジェクトの名前を検索し、[検索の展開>] を選択してアップストリーム プロジェクトのビルド サービスを選択し、[プロジェクト レベルの情報の表示]>を有効にします。

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

A: はい。フィード内のパッケージにアクセスするには、ユーザーを Azure DevOps 組織に追加する必要があります。 組織設定>のセキュリティ>アクセス許可から、プロジェクト コレクションの有効なユーザーとして追加できます。