次の方法で共有


アクセス チームおよび所有者チームを使用して、共同作業したり情報を共有したりする

所有者チームまたはアクセス チームを使用して、ビジネス オブジェクトを共有し、Microsoft Dataverse の部署を超えてユーザーと共同作業ができる簡単な方法を提供します。 1 つのチームは 1 つの部署に属しますが、他の部署からのユーザーを含めることができます。 一人のユーザーを複数のチームに関連付けることができます。

所有者チームは行を所有し、チームにセキュリティ ロールが割り当てられています。 チームの特権は、セキュリティ ロールによって定義されます。 チームによって得られる特権に加えて、チームのメンバーは個々のセキュリティ ロールによって定義される特権と、メンバーとなっている他のチームの役割によって定義される特権を所有します。 チームは、チームが所有するレコードに対するフル アクセス権を所有しています。

注意

チームはユーザー グループへのアクセスを提供しますが、ユーザー所有レコードを作成、更新、または削除するために必要な特権を付与するセキュリティ ロールと個々のユーザーを関連付ける必要があります。 これらの特権は、セキュリティ ロールをチームに割り当て、ユーザーをそのチームに追加することでは適用できません。

アクセス チームは独自のレコードを所有していないし、チームにセキュリティ ロールが割り当てられていません。 チームのメンバーは、個々のセキュリティ ロールによって定義される特権と、メンバーとなっているチームのロールによって定義される特権を所有します。 レコードはアクセス チームと共有され、そのチームにはレコードに対する Read、Write、Append などのアクセス権が与えられているため、アクセス チームのメンバーはアクセス権を使用してレコードを作成できません。 レコードを作成するには、ユーザーは Create 権限を持つセキュリティロールが必要となります。

チームの機能は Team テーブルと TeamTemplate テーブルでサポートされます。 Team テーブルを使用して、所有者のチームおよびユーザー作成アクセス チームを作成します。 自動作成のアクセス チームの場合、Team テーブルとTeamTemplate テーブルが使用されます。

所有者チームまたはアクセス チームか。

チームの種類の選択は、目的、プロジェクトの特性、および組織の規模に依存する場合があります。 チームの種類の選択に使用できるガイドラインが少しあります。

所有者のチームを使用するとき

  • 会社のビジネス ポリシーにより、ユーザー以外のチームで所有されるレコードが必要です。

  • Dataverse システム設計時にはチーム数がわかっています。

  • 所有チームによる進行状況に関する日時レポートが必要です。

アクセス チームを使用するとき

  • チームは動的に形成されて解散されます。 通常これは、確立した担当地域、製品またはボリュームなどの、チームを定義する明確な基準が提供されない場合に発生します。

  • Dataverse システム設計時にはチーム数がわかっていません。

  • チーム メンバーにはレコードに対する別個のアクセス権が必要です。 複数のアクセス チームでレコードを共有でき、各チームにレコードに対する異なるアクセス権を提供できます。 たとえば、あるチームには取引先企業に対する読み取り専用アクセス権が与えられ、他のチームには同じ取引先企業に対する読み取り、書き込み、および共有アクセス権が与えられます。

  • レコードに対する所有権がなくても、固有の一連のユーザーは単一レコードに対するアクセスが必要です。

注意

別の種類の "アクセス チーム" は、Web アプリケーションで使用されるアクセス チーム テンプレートによって対応します。 これは変更が頻繁に行われるチームの種類であり、これには特定の取引先企業レコードの営業チームなどが含まれます。 ユーザーが取引先企業内の営業チームに追加されると、Web アプリケーションが、裏で、このレコードに固有チームを作成し、ユーザーをそのチームに追加します。

この種類のアクセス チームについては、このトピックでは取り扱っていません。

チームの設定

所有者およびアクセス チームの種類に加え、アクセス チームではさらに、ユーザーによる作成エンティティまたは自動作成 (システムで管理された) チームの 2 つに細分されます。 セットアップ情報は各チームの種類に固有のものになります。

所有者チーム

所有者チームは 1 つまたは複数の行を所有できます。 所有者チームを作成するには、Team テーブルを使用して、Team.TeamType 列を Owner に設定します。 TeamType 値の一覧については、チーム テーブル参照を参照してください。

注意

環境のテーブル定義を表示するには、ご使用の環境でテーブル定義を参照する で説明されているテーブル定義ブラウザー ソリューションをインストールします。 テーブル参照でテーブルの参照ドキュメントを参照することもできます。

チームを行の所有者にするには、行をチームに割り当てる必要があります。 割り当てるには、AssignRequest メッセージを使用します。 所有者チームに行を一括で割り当てるには、ReassignObjectsOwnerRequest メッセージまたは ReassignObjectsSystemUserRequest メッセージを使用します。

チームが所有する行では OwnershipTypes プロパティを OwnershipType.TeamOwned に設定する必要があります。

所有者のチームが行を所有せず、チームに割り当てられるセキュリティ ロールがない場合、ConvertOwnerTeamToAccessTeamRequest メッセージを使用してアクセス チームに変換できます。 この変換は一方向です。 アクセス チームを所有者のチームに変換し直すことはできません。 変換中、チームに関連付けられたすべてのキューとメールボックスが削除されます。

チームのメンバーを追加または削除するには、AddMembersTeamRequest メッセージおよび RemoveMembersTeamRequest メッセージを使用します。

ユーザー定義アクセス チーム

複数の行を、ユーザー作成のアクセス チームと共有できます。

  • アクセス チームを作成するには、Team テーブルを使用して、Team.TeamType 列を Access に設定します。 TeamType 値の一覧については、Team テーブル定義を参照してください。

  • レコードをユーザー定義のアクセス チームと共有するには、GrantAccessRequest メッセージを使用します。 ユーザー定義チームの場合、Team.SystemManaged 属性は false です。 Team.SystemManaged 値の一覧については、Team テーブル定義を参照してください。

  • チームのメンバーを追加または削除するには、AddMembersTeamRequest メッセージおよび RemoveMembersTeamRequest メッセージを使用します。

  • チーム メンバー別にレコードへのアクセス権を付与するには、複数のチームを作成し、各チームにレコードに対する異なるアクセス権のセットを付与します。

自動作成された (システム管理) のアクセス チーム

自動作成された (システム管理された) チームは特定のレコードについて作成され、他の行をこのチームで共有することはできません。 システム管理チームでは、チーム テンプレートを用意する必要があります。 テンプレートを作成するには、TeamTemplate テーブルを使用します。 このテンプレートで、チーム作成時に、テーブルの種類と、チームのユーザーに付与するテーブルの行に対するアクセス権 (読み取りや書き込みなど) を定義します。 テンプレートで指定するテーブルは、自動作成したアクセス チームで有効にする必要があります。 その行に対し異なるアクセス権をチーム メンバーに与えるには、複数のチーム テンプレートを作成します。 たとえば、取引先企業テーブルでは、行を参照する必要のみがあるチーム用の読み取りアクセス権を 1 つのテンプレートに関連付けます。 2 番目のテンプレートに読み取り、書き込み、共有アクセス権を付与し、同じ行により多くのアクセス権が必要なチーム向けにします。

自動作成されたアクセス チームのテーブルを有効にするには、AutoCreateAccessTeams 属性を true に設定します。

テーブルに対して作成できるチーム テンプレートの最大数は MaxAutoCreatedAccessTeamsPerEntity 環境データベース設定で指定されます。 既定値は 4 です。 自動作成のアクセス チームに対して有効にできるテーブルの最大数は、MaxEntitiesEnabledForAutoCreatedAccessTeams 環境データベース設定で指定されます。 既定値は 100 です。 これらの設定は、OrganizationSettingsEditor を使用して更新できます。

AddUserToRecordTeamRequest メッセージおよび RemoveUserFromRecordTeamRequest メッセージを使用して、特定のレコードにおけるユーザーを追加または削除すると、ユーザーはシステム管理チームで自動的に追加および削除されます。 最初のユーザーをレコードに追加してチーム ID がAccessTeamId で返されると、実際のアクセス チームが作成されます。 このチームの Team.SystemManaged 列は true に設定されます。 Team.SystemManaged 値の一覧については、Team エンティティのメタデータを参照してください。 この情報は、環境のテーブル定義にあります。 メッセージの発信者はテーブルの共有特権および、テンプレートのアクセス権と一致する行のアクセス権を持っている必要があります。 たとえば、テンプレートで読み取りアクセス権限が指定されている場合、呼び出し元ユーザーは行の読み取りアクセス権が必要です。 チームに追加するため、テンプレートで指定されたテンプレートの必要最小限のアクセス レベルは、基本的な (ユーザー) 読み取りです。

チーム テンプレートとシステム管理アクセス チーム間の親子関係のため、テンプレートを削除すると、テンプレートに関連付けられたすべてのチームは伝播規則に従い削除されます。

チーム テンプレートのアクセス権を変更する場合、この変更は、新しい自動作成アクセス チームにのみ適用されます。 既存のチームは影響を受けません。

チームへのクイック リファレンス

次の情報を、利用できるチームのクイック リファレンスとして使用します。

チーム 使用すべきとき 使用する必要があるエンティティはどれか。 チーム テンプレートを使用するか。 チーム メンバーの追加または削除に使用するメッセージ。 レコードを所有しているか。 所有する行数、またはアクセスできる行数はいくつですか? セキュリティ ロールを割り当て済みか。
担当者 チームによるレコードの所有権が必要です。

チーム数は設計段階で分かります。
Team いいえ AddMembersTeamRequest
RemoveMembersTeamRequest
はい 複数のレコードを所有できます。 はい
アクセス、ユーザー作成 複数レコードをチームで共有する必要があります。

チーム数は設計段階では分かりません。

チーム メンバーにはレコードに対する別個のアクセス権が必要です。
Team いいえ AddMembersTeamRequest
RemoveMembersTeamRequest
いいえ 複数のレコードにアクセスできます。 いいえ。 レコードに対するアクセス権を付与します。
アクセス、自動作成された (システム管理) ユーザーの一意のセットは 1 つのレコードに対応します。

チーム メンバーにはレコードに対する別個のアクセス権が必要です。

レコードごとにチームを自動作成することをお勧めします。
TeamTemplate

Team
はい AddUserToRecordTeamRequest
RemoveUserFromRecordTeamRequest
いいえ 1 レコードのみアクセスできます。 いいえ。 レコードに対するアクセス権を付与します。

注意

所有者チームとアクセス チームでは、レコードおよび、取引先企業とその取引先企業に関連するすべての営業案件などの関連する行にアクセス権が付与されます。 レコード間の上位関係では、伝播規則が適用されます。 所有チームに対しては、ユーザーに割り当てられている役割に加えて、そのユーザーが属するチームに割り当てられている役割に基づいてテーブルにアクセスできます。 これにより、ユーザーは部署の外部に特権を持つことができます。 詳細: テーブル関係の動作

注意

ユーザーは、アクセス チームに参加するために十分な特権が必要です。 たとえば、アクセス チームに取引先企業の削除アクセス権がある場合、このチームに参加するために、ユーザーに取引先企業エンティティの削除特権が必要です。 特権が十分でないユーザーを追加しようとすると、エラー メッセージ "You can’t add the user to the access team because the user doesn’t have sufficient privileges on the entity. (ユーザーにエンティティに対して十分な特権がないため、ユーザーをアクセス チームに追加できません。)" が表示されます。

関連項目

サンプル: アクセス チームを使用してレコードを共有
ユーザーとチーム テーブル

チーム テーブル

TeamTemplate テーブル

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。