次の方法で共有


Azure Data Lake Storage で Azure のマネージド ID を使用する

Azure Data Lake Storage は階層化されたセキュリティ モデルを提供します。 このモデルを使用すると、使用するネットワークまたはリソースの種類とサブセットに基づいて、アプリケーションやエンタープライズ環境が要求するストレージ アカウントへのアクセス レベルを保護および制御できます。 ネットワーク ルールが構成されている場合、指定された一連のネットワークまたは指定された一連の Azure リソースを介してデータを要求するアプリケーションのみがストレージ アカウントにアクセスできます。 ストレージ アカウントへのアクセスを、指定した IP アドレス、IP 範囲、Azure Virtual Network (VNet) 内のサブネット、または一部の Azure サービスのリソース インスタンスから発生する要求に制限できます。

AzureのマネージドID (以前はマネージド サービスID (MSI) と呼ばれていました) は、シークレットの管理に役立ちます。 Azureの機能を使用している Microsoft Dataverse の顧客は、1 つ以上の Dataverse 環境に使用できるマネージド ID (エンタープライズ ポリシー作成の一部) を作成します。 テナントにプロビジョニングされるこのマネージド ID は、その後、Azure Data Lake にアクセスするために Dataverse よって使用されます。

マネージド ID を使用すると、ストレージ アカウントへのアクセスは、テナントに関連付けられた Dataverse 環境から発生する要求に制限されます。 Dataverse がユーザーに代わってストレージに接続すると、要求が安全で信頼できる環境から発生したことを証明するために、追加のコンテキスト情報を含めます。 これにより、ストレージはストレージ アカウントへのアクセスを Dataverse に許可します。 マネージド ID は、信頼を確立するためにコンテキスト情報の署名に使用されます。 これにより、Azure サービス間の接続に Azure が提供するネットワークとインフラストラクチャ セキュリティに加えて、アプリケーション レベルのセキュリティが追加されます。

開始する前に

  • ローカル コンピューターに Azure CLI が必要です。 ダウンロードしてインストールする
  • これら 2 つの PowerShell モジュールが必要です。 これらがない場合は、PowerShellを開いて次のコマンドを実行します。
    • Azure Az PowerShellモジュール: Install-Module -Name Az
    • Azure Az.Resources PowerShellモジュール: Install-Module -Name Az.Resources
    • Power Platform 管理者PowerShellモジュール: Install-Module -Name Microsoft.PowerApps.Administration.PowerShell
  • GitHubのこの 圧縮フォルダー ファイルに移動します。 次に、選択 ダウンロード してダウンロードします。 圧縮フォルダー ファイルを、PowerShell コマンドを実行できる場所にあるコンピューターに展開します。 圧縮フォルダーから抽出されたすべてのファイルとフォルダーは、元の場所に保存される必要があります。
  • この機能をオンボードするために、同じ Azure リソース グループの下に新しいストレージ コンテナーを作成することをお勧めします。

選択した Azure サブスクリプションのエンタープライズ ポリシーを有効にする

重要

この タスク を完了するには、 Azureサブスクリプション所有者 ロールのアクセス権が必要です。 Azureリソース グループの概要ページからAzure サブスクリプションID を取得します。

  1. Azure CLIを 管理者 として実行して開き、次のコマンドを使用してAzureサブスクリプションにログインします: az login 詳細情報: Azure CLIでログイン
  2. (オプション) 複数のAzureサブスクリプションがある場合は、必ず Update-AzConfig -DefaultSubscriptionForLogin { Azure subscription id } を実行して既定のサブスクリプションを更新してください。
  3. この機能の 開始する前に の一部としてダウンロードした圧縮フォルダーを、PowerShellを実行できる場所に展開します。
  4. 選択したAzureサブスクリプションのエンタープライズ ポリシーを有効にするには、PowerShellスクリプト ./SetupSubscriptionForPowerPlatform.ps1 を実行します。
    • Azure サブスクリプション ID を指定します。

エンタープライズ ポリシーを作成する

重要

この タスク を完了するには、 Azureリソース グループ所有者 ロールのアクセス権が必要です。 Azureリソース グループの概要ページから、Azure サブスクリプションID場所、および リソース グループ 名を取得します。

  1. エンタープライズ ポリシーを作成します。 PowerShellスクリプトを実行する ./CreateIdentityEnterprisePolicy.ps1

    • Azure サブスクリプション ID を指定します。
    • Azure リソース グループ名を指定します。
    • 優先するエンタープライズ ポリシー名を指定します。
    • Azure リソース グループの場所を指定します。
  2. ポリシー作成後、 ResourceId のコピーを保存します。

注意

以下は、ポリシー作成でサポートされている有効な 場所 入力です。 最も適切な場所を選択します。

エンタープライズ ポリシーで使用可能な場所

米国 EUAP

アメリカ合衆国

南アフリカ

英国

オーストラリア

韓国

日本

インド

フランス

欧州

アジア

ノルウェイ

ドイツ

スイス

カナダ

ブラジル

UAE

シンガポール

閲覧者に Azure 経由でエンタープライズ ポリシーへのアクセスを許可する

Dynamics 365管理者と Power Platform 管理者は Power Platform 管理センター にアクセスして、環境をエンタープライズ ポリシーに割り当てることができます。 エンタープライズ ポリシーにアクセスするには、Azure Key Vault管理者のメンバーシップが必要で、Dynamics 365または管理者に 閲覧者 ロール を付与する必要があります Power Platform 。閲覧者 ロールが付与されると、Dynamics 365または管理者は Power Platform 管理センター でエンタープライズ ポリシーを表示できるようになります Power Platform 。

エンタープライズ ポリシーに閲覧者ロールを付与された Dynamics 365 および Power Platform 管理者のみが、ポリシーに '環境を追加' できます。 他の Dynamics 365 および PowerPlatform 管理者はエンタープライズ ポリシーを表示できる場合がありますが、環境を追加しようとするとエラーが発生します。

重要

この タスク を完了するには、 Microsoft.Authorization/roleAssignments/write ユーザー アクセス 管理者 または 所有者 などの 権限が必要です。

  1. Azure portal にサインインします。
  2. Dynamics 365 Power Platform 管理者ユーザーの ObjectIDを取得します。
    1. ユーザー エリアに移動します。
    2. Dynamics 365 または Power Platform 管理者ユーザーを開きます。
    3. ユーザーの概要ページで、 ObjectID をコピーします。
  3. エンタープライズ ポリシーIDを取得します。
    1. Azure リソース グラフ エクスプローラー に移動します。
    2. 次のクエリを実行します: resources | where type == 'microsoft.powerplatform/enterprisepolicies'Azure Resource Graphエクスプローラーからクエリを実行する
    3. 結果ページの右までスクロールし、選択 で 詳細を表示 リンク します。
    4. 詳細 ページで、IDをコピーします。
  4. Azure CLIを開き、 <objId> をユーザーの ObjectID に、 <EP Resource Id> をエンタープライズ ポリシーIDに置き換えて、次のコマンドを実行します。
    • New-AzRoleAssignment -ObjectId <objId> -RoleDefinitionName Reader -Scope <EP Resource Id>

エンタープライズ ポリシーと Dataverse 環境を結び付ける

重要

この タスク を完了するには、 Power Platform 管理者 または Dynamics 365管理者 ロールが必要です。 この タスク を完了するには、エンタープライズ ポリシーの 閲覧者 ロールが必要です。

  1. Dataverse 環境 ID を取得します。
    1. Power Platform 環境にログインしてください。
    2. 選択 環境 を開き、選択 を開きます。
    3. 詳細 セクションで、 環境IDをコピーします。
    4. Dataverse 環境 に リンク するには、次のPowerShellスクリプトを実行します。 ./NewIdentity.ps1
    5. Dataverse 環境 ID を指定します。
    6. ResourceId を指定します。
      StatusCode = 202 は、リンク が正常に作成されたことを示します。
  2. Power Platform 環境にログインしてください。
  3. 選択 環境を開き、先ほど指定した環境を開きます。
  4. 最近の操作 領域で、選択 完全な履歴 をクリックして、新しいIDの接続を検証します。

Azure Data Lake Storage Gen2 へのネットワーク アクセスを構成する

重要

この タスク を完了するには、 Azure Data Lake Storage Gen2 所有者 ロールが必要です。

  1. Azure portal に移動します。

  2. Azure Synapse Link for Dataverse プロファイルに接続されているストレージ アカウントを開きます。

  3. 左側のナビゲーション ペインで、選択 Networking を選択します。 次に、 ファイアウォールと仮想ネットワーク タブで次の設定を行います。

    1. 選択した仮想ネットワークとIPアドレスから有効化されます
    2. リソース インスタンス の下で、選択 信頼されたサービス リストにあるAzureサービスがこのストレージ アカウントにアクセスできるようにします
  4. 保存 を選びます。

Azure Synapse Workspace へのネットワーク アクセスを構成する

重要

この タスク を完了するには、Azure Synapse管理者 ロールが必要です。

  1. Azure portal に移動します。
  2. Azure Synapse Link for Dataverse プロファイルに接続されている Azure Synapse workspace を開きます。
  3. 左側のナビゲーション ペインで、選択 Networking を選択します。
  4. 選択 Azureサービスとリソースがこのワークスペースにアクセスできるようにします
  5. すべてのIP範囲に対して IPファイアウォール ルール が作成されている場合は、それらを削除してパブリック ネットワーク アクセスを制限します。 Azure Synapse ワークスペースのネットワーク設定
  6. クライアントIPアドレスに基づいて、新しい IPファイアウォール ルール を追加します。
  7. 終わったら、保存を選択します。 詳細情報: Azure Synapse Analytics IPファイアウォール ルール

重要

Dataverse: Dataverse システム 管理者 セキュリティ ロール が必要です。 さらに、 Azure Synapse Link 経由でエクスポートするテーブルでは、 変更の追跡 プロパティが有効になっている必要があります。 詳細情報: 詳細オプション

Azure Data Lake Storage Gen2: Azure Data Lake Storage Gen2アカウントと 所有者 および ストレージBLOBデータ 投稿者 ロール アクセスが必要です。 ストレージ アカウントでは、初期セットアップと差分同期の両方で 階層型名前空間 を有効にする必要があります。 ストレージ アカウント キー アクセスの許可 は、初期セットアップにのみ必要です。

Synapseワークスペース: Synapseワークスペースと、Synapse Studio内での Synapse管理者 ロール アクセス権が必要です。 Synapse ワークスペースは、Azure Data Lake Storage Gen2 アカウントと同じ領域にある必要があります。 ストレージ アカウントは、Synapse Studio 内のリンクされたサービスとして追加する必要があります。 Synapseワークスペースを作成するには、 「Synapseワークスペースの作成」に進みます

リンクを作成すると、Azure Synapse Link for Dataverse は現在リンクされているエンタープライズ ポリシーの詳細を Dataverse 環境で取得し、ID クライアント シークレット URL をキャッシュして Azure に接続します。

  1. Power Apps にログインし、選択 を 接続 に追加します。
  2. 左側のナビゲーション ウィンドウで、選択 Azure Synapse Link、次に 選択 + 新しい リンク を選択します。 アイテムがサイド パネル ペインにない場合は、選択 …More を実行してから、必要なアイテムを 選択 します。
  3. 意図した設定に応じて、適切なフィールドに入力します。 選択 は、 サブスクリプションリソース グループ、および ストレージ アカウント です。 Synapseワークスペースに 接続 Dataverse するには、 選択 を Azure Synapse ワークスペースに オプションに追加します。 Delta Lakeデータ変換には、Sparkプール 選択 を使用します。
  4. 選択 選択 エンタープライズ ポリシーとマネージド サービスID、次に 選択 次へ
  5. エクスポートするテーブルを追加し、選択 保存します。

注意

マネージドIDの使用 コマンドを Power Appsで使用できるようにするには、上記のセットアップを完了して、エンタープライズ ポリシーを Dataverse 接続 に適用する必要があります。 詳細情報: 接続 エンタープライズ ポリシー Dataverse 環境

  1. Power Apps (make.powerapps.com) から既存の Synapse Link プロファイルに移動します。
  2. 選択 マネージドIDを使用し、確認します。 マネージドIDコマンドを使用する Power Apps

トラブルシューティング​​

リンクの作成中に 403 エラーが発生した場合:

  • マネージド ID は、初期同期時に一時的なアクセス許可を付与するために追加の時間がかかります。しばらく時間をおいて、操作をやり直してください。
  • リンクされたストレージに、同じ 環境 からの既存の Dataverse コンテナー ( データバース - 環境名 - 組織の一意の名前 ) がないことを確認します。
  • リンクされたエンタープライズ ポリシーを識別するには、Azure policyArmId サブスクリプションID ./GetIdentityEnterprisePolicyforEnvironment.ps1リソース グループ 名を指定してPowerShellスクリプト を実行します。
  • PowerShellスクリプト ./RevertIdentity.ps1 を Dataverse 環境IDと policyArmIdで実行することで、エンタープライズ ポリシーのリンクを解除できます。
  • PowerShellスクリプト .\RemoveIdentityEnterprisePolicy.ps1をpolicyArmId とともに実行することで、エンタープライズ ポリシーを削除できます。

既知の制限

同時に Dataverse 環境に接続できるエンタープライズポリシーは 1 つだけです。 マネージド アイデンティティを有効にして複数の Azure Synapse Link リンクを作成する必要がある場合は、リンクされているすべての Azure リソースが同じリソースグループの下にあることを確認してください。

参照

Azure Synapse Link for Dataverseとは何ですか?