コルネの進捗や備忘録が記されたなにか

進捗や成果物や備忘録てきななにかを雑に更新していきます。

Copilot Studio のコンポーネント コレクションを特定のユーザーに編集権限を共有する


スポンサードリンク

はじめに

Copilot Studio にはコンポーネント コレクションという再利用可能なコンポーネントが存在しています。

learn.microsoft.com

詳細は上記公式ドキュメントをみていただければと思うのですが、こちらを利用することで、トピック、ナレッジ、アクション、エンティティのコレクションを作成することができます。

こちらのコンポーネント コレクションは複数のエージェント間で共有することが可能です。
Power Apps のコンポーネントをイメージしていただけるといいかもですね。

例えば汎用的に利用するナレッジ(社内規定集とか)を、規定を管理している部門が用意して、それを配布することで、エージェントの作成に利用してもらったり、デバッグ用トピック(Version 情報を返すようなやつ)を用意して開発をスムーズに進めたりなどなどの利用ができます。

超ざっくり図解するとこんな感じかな。

さて、そんなコンポーネント コレクションですが、利用にあたって以下のような制限があります。

To edit a component collection, or add a component collection to an agent, you must be the person who created the collection, or a user with the system customizer or system admin role. Once a component collection is available for an agent, all agent authors can see and use the collection but they can't change the components inside the collection. Learn more about configuring user security in an environment.

日本語訳ver

コンポーネントコレクションを編集する、またはエージェントにコンポーネントコレクションを追加するには、コレクションを作成した人、またはシステムカスタマイザまたはシステム管理者ロールを持つユーザである必要があります。コンポーネントコレクションがエージェントで利用可能になると、すべてのエージェント作成者はコレクションを表示および使用できますが、コレクション内のコンポーネントを変更することはできません。環境におけるユーザセキュリティの設定について、詳しくはこちらをご覧ください。

作成されたコンポーネント コレクションを編集するには以下いずれかである必要があると記載されていますね。

これではコンポーネント コレクションを含めた共同開発を行うような場合や、コンポーネント コレクションを配布して不特定多数に使ってもらうような場合は少し困る場合があるかと思います。

とはいえ、コンポーネント コレクションの共同開発や配布のために"System Customizer"や"System Administrator"を付与するのはちょっと権限的に過剰だな?といった管理面での懸念もあります。

今回は、上記セキュリティロールを付与せずになるべき最小の権限でコンポーネント コレクションの権限を委譲する方法を記載します。

なお公式ドキュメントベースではない点にご留意ください。

コンポーネント コレクションを作成する

一応簡単にコンポーネント コレクションの作成方法もまとめておきます。

エージェントから作成する

  1. コンポーネント コレクションに追加したいコンポーネント(ナレッジなど)を含むエージェントを開きます
  2. 設定 > コンポーネント コレクション を選択して、「作成」を選択します
  3. コンポーネント コレクションの「名前」、「説明」、「ソリューション」を入力します
    コンポーネント コレクションはここで選択したソリューションに入ります  
  4. コンポーネント コレクションに追加するコンポーネントを選択します
  5. 問題なければ作成を行います
  6. 完成

ライブラリから作成する

ドキュメントでは以下のような記載がありますが、多分これ前の UI かな??
今は「ライブラリ」なんてサイドナビゲーションにないですからね。
* 2025/08/18(月)時点

Create a component collection from the library

  1. In the side navigation, select Library.
  2. Select Add new, then select Component collection.
  3. Enter a name and a description for your component collection.
  4. Select Finish.
  5. Connect the agent that contains the components you want to share to your new component collection.
  6. Add components from the selected agent to the collection.

ソリューションから作成する

ソリューションの
新規 > エージェント > コンポーネント コレクション
より作成を行う UI があります。

ただしここから作成を行おうとしても Copilot Studio のホーム画面にリダイレクトされるだけなので利用不可です。

* 2025/08/18(月)時点

エージェントでコンポーネント コレクションを利用する

権限がある前提です。

  1. コンポーネント コレクションを追加したいエージェントを開きます
  2. 設定 > コンポーネント コレクション > 使用可能
    より追加したいコンポーネントを選択し、「エージェント に追加」を選択します
  3. エージェントにコンポーネント コレクションが追加されます

コンポーネント コレクションを共有する

それでは本題です。

ソリューションのオブジェクトから共有する

コンポーネント コレクションの作成を行ったソリューションを開くと、「エージェント コンポーネント コレクション」という種類のオブジェクトが作成されています。

こちらのコンポーネント コレクションより、縦の三点リーダーから「編集」を選択します。

* 「表示名」をクリックして遷移するのは Copilot Studio のコンポーネント コレクションの画面なので注意

「編集」から開くと、こんな感じで Power Apps の画面が開きます。

画面右上端にある「Share」の「Manage access」を選択します。

共有を行いたいチームまたはユーザーを選択して、対象に付与したい権限を選択します。

なおエージェントに対象のコンポーネント コレクションを追加したい場合は以下のような権限が最低限必要となってきます。

これで対象のユーザーにコンポーネント コレクションが共有されます。

セキュリティ ロールを作成して共有する

コンポーネント コレクションは Dataverse テーブルの「Copilot component collection」(スキーマ名「botcomponentcollection」)にて定義されています。

なのでこのように「Copilot component collection」への権限を付与したセキュリティロールを用意して、対象のユーザーやチームに権限を付与することによって

コンポーネント コレクションの CRUD 権限を渡すことができます。

上記では適当に「組織」を割り当てていますが、こちらは状況に応じて適切な権限を割り当てるようにしてください。

[おまけ]既存チームを編集する

一応こういうやり方もあるよ。よいう紹介。

Power Apps の画面から共有を行おうとした際、既存の共有がいくつかあったかと思います。

こいつは「アクセス チーム」として対象の環境のチームに保存されています。

なのでこちらについて、
チームメンバーの管理 > チームメンバーの追加
よりユーザーを追加してあげれば権限付与することが可能です。

ただこの運用を行う場合は、既存のチーム名だと管理ができないと思います。
なので、名前をわかりやすいものに変更してあげたほうがいいですかね。

おわりに

(多分)あまり紹介されていない Copilot Studio のコンポーネント コレクションの共有方法の紹介でした。

再利用可能な形式でナレッジやトピックなどの組み合わせをコンポーネントとして展開可能なので、上手く使えばエージェントの開発がより活性化することになると思います。

ただ共有のやり方もうちょっとなんとかしてくれないかな?


スポンサードリンク