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

この記事では、デュアルライトが期待どおりに動作するために必要な特別なセキュリティ ロールとアクセス許可について説明します。

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=、...) はOTC=に対して prvReadcol_ 特権 (Id=) を持っていません。

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

  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. アクセス タブの チーム セクションで、すべて表示を選択します。

    [アクセス] タブの [Teams] セクションの [すべてのリンクを表示] のスクリーンショット。

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

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

    [Teams] ページの [セキュリティ ロールの管理] ボタンのスクリーンショット。

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

    [セキュリティ ロールの管理] ページのセキュリティ ロールの一覧のスクリーンショット。

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

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

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

メモ

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