次の方法で共有


二重書き込みセキュリティ ロールとアクセス許可の設定

この記事では、二重書き込みを期待通りに機能させるために必要な特殊なセキュリティ ロールとアクセス許可について説明します。

Microsoft Dataverse ユーザーをセキュリティ ロールに割り当てる

すべての Microsoft Dataverse ユーザーは、二重書き込みユーザーおよび二重書き込みアプリ ユーザー セキュリティ ロールに追加される必要があります。

セキュリティ ロールを既定の所有チームに割り当てる

Dataverse では、各事業単位には、その事業単位と同じ名前を使用する既定の所有チームがあります。 グローバル テーブルはルート事業単位に関連付けられています。 ルート事業単位の既定のチームには、二重書き込みに参加するすべての Dataverse テーブルに対して読み取りアクセス許可を付与するセキュリティ ロールを割り当てる必要があります。 セキュリティ ロールの設定方法の詳細については、チームのセキュリティ ロールを管理するを参照してください。

ルート事業単位の既定チームを検索するには、次の手順に従います。

  1. Web ブラウザーで、Dataverse または Customer Engagement アプリ環境 (たとえば、https://[environment].dynamics.com) にサインインします。 環境 を環境名で置き換えます。

  2. 新しいブラウザー タブを開き、次の URL を入力します。

    https://[environment].dynamics.com/api/data/v9.0/teams?$filter=isdefault eq true and businessunitid/_parentbusinessunitid_value eq null&$select=name

    結果は次の例のようになります。

    {
        "@odata.context": "https://[environment].dynamics.com/api/data/v9.0/$metadata#teams(name,teamid)",
        "value": [
            {
                "@odata.etag": "W/\"...\"",
                "name": "[***]",
                "teamid": "...",
                "ownerid": "..."
            }
        ]
    }
    

name プロパティの値は、ルート事業単位の既定チームです。 それを使用してセキュリティ ロールに割り当てます。

既定の所有チームのセキュリティ設定を失敗した場合はどうなりますか?

二重書き込みが呼び出されて財務と運用アプリからのデータ変更を Dataverse へ反映させると、特定チームが Dataverse で二重書き込みされるレコードの所有者として使用されます。 読み取りアクセス許可を持つセキュリティ ロールが割り当てられていない場合、Dataverse テーブルで例外がスローされ、次の例のようなエラー メッセージが表示されます:

データをテーブルに書き込めません
...
プリンシパル チーム (Id=***, ..., is missing prvReadcol_*** privilege (Id=***) on OTC=***。

例外が発生した場合は、次の手順に従ってチームに正しいアクセス許可を割り当て、二重書き込みを期待どおりに機能させます。

  1. Web ブラウザーで、Dataverse 環境 (たとえば https://[environment].dynamics.com) にサインインします。 環境 を環境名で置き換えます。

  2. 新しいブラウザー タブを開き、次の URL を入力します。 ID を、エラー メッセージに表示される ID に置き換えます。

    https://[environment].crm.dynamics.com/api/data/v9.0/teams?$select=name&$filter=teamid eq [ID]

  3. チームの name 値を記録します。

  4. Power Platform 管理センターにサインインします。

  5. 環境ページで、Dataverse 環境に関連付けられている Power Apps 環境を検索して選択します。

    環境ページの環境の一覧。

  6. アクセス タブの チーム セクションで、すべて表示を選択します。

    アクセス タブの チーム セクションで、すべてのリンクを表示します。

  7. 手順 3 で記録した name 値に一致するチーム名を選択します。

  8. ツール バーで、セキュリティ ロールの管理を選択します。

    チーム ページのセキュリティ ロールボタンを管理します。

  9. セキュリティ ロールの一覧で、Dataverse テーブルに対する読み取りアクセス許可を持つロールを選択します。 または、Dataverse テーブルへの読み取りアクセス許可を持つカスタム セキュリティ ロールを作成してから、セキュリティ ロールの一覧で選択することもできます。

    セキュリティ ロールの管理ページのセキュリティ ロールの一覧。

Dataverse セキュリティ ロールと権限の詳細については、環境でリソースに対するユーザー セキュリティを構成するを参照してください。

ユーザーとチームのセキュリティ ロール

ユーザーまたはチーム 割り当てるセキュリティ ロール
cdm_company レコードの既定の所有チームとして設定されている所有チーム 二重書き込みランタイム ユーザー二重書き込みアプリ ユーザー、1 つ以上の組み込み Dataverse セキュリティ ロール (営業担当者または営業マネージャーなど) または Dataverse カスタム セキュリティ ロールにより、二重書き込み (アカウント、連絡先、注文など) の対象範囲にあるエンティティへのアクセスを許可します
ライブ同期を実行しているビジネス ユーザー 二重書き込みランタイム ユーザー二重書き込みアプリ ユーザー、1 つ以上の組み込み Dataverse セキュリティ ロール (営業担当者または営業マネージャーなど) または Dataverse カスタム セキュリティ ロールにより、二重書き込み (アカウント、連絡先、注文など) の対象範囲にあるエンティティへのアクセスを許可します
テーブル マップの更新が必要なメーカー Dataverse でのシステム カスタマイザーまたはシステム管理者 ロール、財務と運用アプリでのシステム管理者ロール
グローバル レコードに対する所有チーム 二重書き込みランタイム ユーザー二重書き込みアプリ ユーザー、1 つ以上の組み込み Dataverse セキュリティ ロール (営業担当者または営業マネージャーなど) または Dataverse カスタム セキュリティ ロールにより、対象範囲 (製品など) にあるエンティティへのアクセスを許可します

メモ

グローバル アドレス帳および関係者モデル ソリューションの場合、関係者、関係者の連絡先、電子住所、郵便番号、関係者の郵便番号、住所ロール、場所などのエンティティに権限を含めるカスタム ロールを作成する必要があります。 エンティティの完全なリストについては、関係者およびグローバル アドレス帳を参照してください。