次の方法で共有


Azure Data Explorer のマネージド プライベート エンドポイントを作成する

高度に保護されている Azure リソースに接続するには、マネージド プライベート エンドポイントが必要です。 これらは、Azure Data Explorerが他の保護されたサービスに接続できるようにする一方向のプライベート接続です。 この記事では、マネージド プライベート エンドポイントを作成し、データ ソースに接続する方法について説明します。

前提条件

Azure portal を使用してマネージド プライベート エンドポイントを作成する

ストレージにアクセスするときに使用するために、ポータルを使用してクラスターのマネージド プライベート エンドポイントを作成できます。

  1. Azure portal で、クラスターに移動してから [ネットワーク] を選択します。

  2. [マネージド プライベート エンドポイント][追加] の順に選択します。

    マネージド プライベート エンドポイントの作成の最初のステップを示す、[ネットワーク] ページのスクリーンショット。

  3. [新しいマネージド プライベート エンドポイント] ウィンドウで、リソースの詳細に次の情報を入力し、[次へ] を選択します。

    マネージド プライベート エンドポイントの作成の次のステップを示す、[ネットワーク] ページのスクリーンショット。

    設定 推奨値 フィールドの説明
    名前 mpeToStorage マネージド プライベート エンドポイントの名前
    サブスクリプション 該当するサブスクリプション クラスターに使用する Azure サブスクリプションを選択します
    リソースの種類 Microsoft.Storage/storageAccounts データ ソースに必要な関連リソースの種類を選択します。
    リソース名 共有 新しい Azure プライベート エンドポイントの宛先として使用するクラスターを選択します
    ターゲット サブリソース blob (blob) データ ソースに関連するターゲットを選択します。
  4. [作成] を選択して、マネージド プライベート エンドポイント リソースを作成します。

REST API を使用してマネージド プライベート エンドポイントを作成する

マネージド プライベート エンドポイントを作成するには、Kusto リソース プロバイダーへの 1 つの API 呼び出しが必要です。 マネージド プライベート エンドポイントは、次のリソースの種類に確立できます。

  • Microsoft.Storage/storageAccounts (サブリソースは "blob" または "dfs" である可能性があります)
  • Microsoft.EventHub/namespaces (サブリソースは "namespace")
  • Microsoft.Devices/IoTHubs (サブリソースは "iotHub")
  • Microsoft.KeyVault/vaults (サブリソースは "vault")
  • Microsoft.Sql/servers (サブリソースは "sqlServer")
  • Microsoft.Kusto/clusters (サブリソースは "cluster")
  • Microsoft.DigitalTwins/digitalTwinsInstance (サブリソースは "digitaltwinsinstance")

次の例では、PowerShell の ARMclient を使って、REST API を使用してマネージド プライベート エンドポイントを作成します。

注意

ストレージ アカウントに "dfs" リソースに接続するには、"BLOB" サブリソースへの追加のマネージド プライベート エンドポイントが必要です。

REST API を使用するための前提条件

  1. choco をインストールします

  2. ARMClient をインストールします

    choco install armclient
    
  3. ARMClient でログインする

    armclient login
    

Azure Event Hubs へのマネージド プライベート エンドポイントを作成する

次の REST API 呼び出しを使用して、Event Hubs サービスに対してマネージド プライベート エンドポイントを有効にします。

  1. 次のコマンドを実行して、Event Hubs サービスへのマネージド プライベート エンドポイントを作成します。

    # Replace the <...> placeholders with the correct values
    armclient PUT /subscriptions/<subscriptionIdADX>/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.Kusto/clusters/<clusterName>/managedPrivateEndpoints/<newMpeName>?api-version=2022-02-01 @"
    {
        'properties': {
            'privateLinkResourceId':'/subscriptions/<subscriptionIdEventHub>/resourceGroups/<resourceGroupNameEventHub>/providers/Microsoft.EventHub/namespaces/<EventHubNamespace>',
            'groupId':'namespace',
            'requestMessage':'Please Approve.'
        }
    }
    "@
    
  2. 応答を確認します。

    {
      "id": "/subscriptions/<subscriptionIdADX>/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.Kusto/Clusters/<clusterName>/ManagedPrivateEndpoints/<newMpeName>",
      "name": "<clusterName>/<newMpeName>",
      "type": "Microsoft.Kusto/Clusters/ManagedPrivateEndpoints",
      "location": "DummyLocation",
      "properties": {
        "privateLinkResourceId": "/subscriptions/<subscriptionIdEventHub>/resourceGroups/<resourceGroupNameEventHub>/providers/Microsoft.EventHub/namespaces/<EventHubNamespace>",
        "groupId": "namespace",
        "requestMessage": "Please Approve.",
        "provisioningState": "Creating"
      }
    }
    

Azure Storage アカウントへのマネージド プライベート エンドポイントを作成する

次の REST API 呼び出しを使用して、Azure Storage BLOB に対してマネージド プライベート エンドポイントを有効にします。

  1. 次のコマンドを実行して、Event Hubs サービスへのマネージド プライベート エンドポイントを作成します。

    #replace the <...> placeholders with the correct values
    armclient PUT /subscriptions/<subscriptionIdADX>/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.Kusto/clusters/<clusterName>/managedPrivateEndpoints/<newMpeName>?api-version=2022-02-01 @"
    {
        'properties': {
            'privateLinkResourceId':'/subscriptions/<subscriptionIdStorage>/resourceGroups/<resourceGroupNameStorage>/providers/Microsoft.Storage/storageAccounts/<storageAccountName>',
            'groupId':'blob',
            'requestMessage':'Please Approve.'
        }
    }
    "@
    
  2. 応答を確認します。

    {
      "id": "/subscriptions/<subscriptionIdADX>/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.Kusto/Clusters/<clusterName>/ManagedPrivateEndpoints/<newMpeName>",
      "name": "<clusterName>/<newMpeName>",
      "type": "Microsoft.Kusto/Clusters/ManagedPrivateEndpoints",
      "location": "DummyLocation",
      "properties": {
        "privateLinkResourceId": "/subscriptions/<subscriptionIdStorage>/resourceGroups/<resourceGroupNameStorage>/providers/Microsoft.Storage/storageAccounts/<storageAccountName>",
        "groupId": "blob",
        "requestMessage": "Please Approve.",
        "provisioningState": "Creating"
      }
    }
    

進行状況の確認方法

マネージド プライベート エンドポイントの移行の進行状況を確認するには、次のコマンドを使用します。

  1. 次のコマンドを実行します。

    #replace the <...> placeholders with the correct values
    armclient GET /subscriptions/<subscriptionIdADX>/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.Kusto/clusters/<clusterName>/managedPrivateEndpoints/<newMpeName>?api-version=2022-02-01
    
  2. 応答を確認します。

    {
      "id": "/subscriptions/<subscriptionIdADX>/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.Kusto/Clusters/<clusterName>/ManagedPrivateEndpoints/<newMpeName>",
      "name": "<clusterName>/<newMpeName>",
      "type": "Microsoft.Kusto/Clusters/ManagedPrivateEndpoints",
      "location": "DummyLocation",
      "properties": {
        "privateLinkResourceId": "/subscriptions/02de0e00-8c52-405c-9088-1342de78293d/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.<service>/<...>/<name>",
        "groupId": "<groupId>",
        "requestMessage": "Please Approve.",
        "provisioningState": "Succeeded"
      },
      "systemData": {
        "createdBy": "<UserName>",
        "createdByType": "User",
        "createdAt": "2022-02-05T08:29:54.2912851Z",
        "lastModifiedBy": "chrisqpublic@contoso.com",
        "lastModifiedByType": "User",
        "lastModifiedAt": "2022-02-05T08:29:54.2912851Z"
      }
    }
    

マネージド プライベート エンドポイントを承認する

マネージド プライベート エンドポイントの作成にどのような方法を使用した場合でも、ターゲット リソースでの作成を承認する必要があります。 次の例は、Event Hubs サービスへのマネージド プライベート エンドポイントの承認を示しています。

  1. Azure portal で、Event Hubs サービスに移動してから [ネットワーク] を選択します。

  2. [プライベート エンドポイント接続] を選択し、作成したマネージド プライベート エンドポイントを選択して、[承認] を選択します。

    Event Hubs サービスへのマネージド プライベート エンドポイントの承認を示す、[ネットワーク] ページのスクリーンショット

  3. [接続状態] 列で、マネージド プライベート エンドポイントが承認されていることを確認します。

    Event Hubs サービスへの承認されたマネージド プライベート エンドポイントを示す、[ネットワーク] ページのスクリーンショット

これで、クラスターは、マネージド プライベート エンドポイント接続を使用してリソースに接続できるようになりました。