次の方法で共有


Azure Data Explorerのクラスター プリンシパルを追加する

Azure Data Explorer は、ログと利用統計情報データのための高速で拡張性に優れたデータ探索サービスです。 この記事では、C#、Python、または Azure Resource Manager (ARM) テンプレートを使用して、Azure Data Explorerのクラスター プリンシパルを追加する方法について説明します。

以前の SDK バージョンに基づくコード サンプルについては、 アーカイブされた記事を参照してください。

前提条件

前提条件は、プリンシパルの追加に使用される方法によって異なります。 任意の方法に関連するタブを選択します。

次の一覧は、C# でクラスター プリンシパルを追加するための前提条件の概要を示しています。

クラスター プリンシパルの追加

次のコードを実行して、クラスター プリンシパルを追加します。

var tenantId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //Directory (tenant) ID
var clientId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //Application ID
var clientSecret = "PlaceholderClientSecret"; //Client Secret
var subscriptionId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx";
var credentials = new ClientSecretCredential(tenantId, clientId, clientSecret);
var resourceManagementClient = new ArmClient(credentials, subscriptionId);
var resourceGroupName = "testrg";
//The cluster that is created as part of the Prerequisites
var clusterName = "mykustocluster";
var subscription = await resourceManagementClient.GetDefaultSubscriptionAsync();
var resourceGroup = (await subscription.GetResourceGroupAsync(resourceGroupName)).Value;
var cluster = (await resourceGroup.GetKustoClusterAsync(clusterName)).Value;
var clusterPrincipalAssignments = cluster.GetKustoClusterPrincipalAssignments(); 
var clusterPrincipalAssignmentName = "mykustoclusterprincipalassignment";
var principalId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //User email, application ID, or security group name
var role = KustoClusterPrincipalRole.AllDatabasesAdmin; //AllDatabasesAdmin or AllDatabasesViewer
var tenantIdForPrincipal = new Guid("xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx");
var principalType = KustoPrincipalAssignmentType.App; //User, App, or Group
var clusterPrincipalAssignmentData = new KustoClusterPrincipalAssignmentData
{
    ClusterPrincipalId = principalId, Role = role, PrincipalType = principalType, TenantId = tenantIdForPrincipal
};
await clusterPrincipalAssignments.CreateOrUpdateAsync(
    WaitUntil.Completed, clusterPrincipalAssignmentName, clusterPrincipalAssignmentData
);
設定 推奨値 フィールドの説明
tenantId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx テナント ID。 ディレクトリ ID とも呼ばれます。
subscriptionId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx リソースの作成に使用するサブスクリプション ID。
clientId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ご利用のテナント内のリソースにアクセスできるアプリケーションのクライアント ID。
clientSecret PlaceholderClientSecret ご利用のテナント内のリソースにアクセスできるアプリケーションのクライアント シークレット。
resourceGroupName testrg ご利用のクラスターを含むリソース グループの名前。
clusterName mykustocluster ご利用のクラスターの名前。
clusterPrincipalAssignmentName mykustoclusterprincipalassignment クラスター プリンシパル リソースの名前。
principalId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx プリンシパル ID。ユーザーの電子メール、アプリケーション ID、またはセキュリティ グループ名を指定できます。
role AllDatabasesAdmin クラスター プリンシパルのロール。'AllDatabasesAdmin'、'AllDatabasesMonitor' または 'AllDatabasesViewer' を指定できます。
tenantIdForPrincipal xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx プリンシパルのテナント ID。
principalType アプリ プリンシパルの種類。'User'、'App'、または 'Group' を指定できます。