Entra ID でのサービスプリンシパルアプリの作成
Entra ID(Azure AD)でのサービスプリンシパルアプリの作成
Note:Microsoft はAzure AD をEntra ID にリブランドしました。ユーザーがEntra ID 管理サイトを操作する必要があるトピックでは、Microsoft が使用している名称と同じものを使用します。ただし、名前または値が"Azure AD" を参照しているCData 接続プロパティは、依然として存在します。
Microsoft Power BI XMLA はサービスプリンシパルベースの認証をサポートしており、これはロールベースです。 つまり、サービスプリンシパルの権限は、割り当てられたロールによって決まります。 ロールは、サービスプリンシパルがアクセスできるリソースと実行可能な操作を指定します。
Microsoft Power BI XMLA に対してサービスプリンシパルを使用して認証を行いたい場合は、Microsoft Entra ID でカスタムアプリケーションを作成する必要があります。
サービスプリンシパル認証を有効にするには:
- テナント内でアプリケーションの登録とロールの割り当てを行う権限があることを確認します。
- Entra 管理センターで新しいアプリケーションを登録し、認証情報とアクセス許可を構成してください。
アプリケーションの登録
- https://portal.azure.com に移動します。
- 左側のナビゲーションペインでMicrosoft Entra ID ->アプリの登録を選択します。
- 新規登録をクリックします。

- アプリケーションの名前を入力します。
- 希望するテナント設定を選択します。このカスタムアプリケーションはサービスプリンシパル用であるため、任意のMicrosoft Entra ID テナント - マルチテナントを選択します。

- 登録をクリックします。アプリケーション管理画面が開きます。
- OAuthClientId としてアプリケーション(クライアント)ID の値、AzureTenant としてディレクトリ(テナント)ID の値を控えておきます。

- 証明書とシークレットセクションに移動して、アプリケーションの認証タイプを定義します。証明書(推奨)とクライアントシークレットの2種類の認証方法が利用可能です。
- 証明書による認証: 証明書とシークレットで証明書のアップロードを選択し、ローカルマシンから証明書をアップロードします。 自己署名証明書の作成についての詳細は、自己署名証明書の作成 を参照してください。
- 新しいクライアントシークレットの作成: 証明書とシークレットで新しいクライアントシークレットを選択し、有効期限を指定します。クライアントシークレットが保存されると、Microsoft Power BI XMLA はキーの値を表示します。この値は一度しか表示されないので、後で使用するために記録しておきます。この値をOAuthClientSecret に使用します。
- 認証に移動し、アクセストークンオプションを選択します。
- For AzureAD (user-based authentication), no additional API permissions are required when using the embedded OAuth application because the necessary Delegated permissions are preconfigured and requested automatically. If you register a custom OAuth application, add the Delegated permissions Dataset.Read.All and Workspace.Read.All in Microsoft Entra ID. For Service Principal authentication, no API permissions are required because access is controlled through Power BI Admin settings and workspace role assignments.
- 変更を保存します。
クライアント資格情報の同意
OAuth は、認証のためのクライアント資格情報の使用をサポートします。 クライアント資格情報の認証フローでは、認証するアプリケーション自身の資格情報が作成されます。 認証フローは通常の認証フローと同じように動作しますが、関連するユーザーに対して資格情報の提供を求めるプロンプトは表示されません。 アプリケーションで受理されるすべてのタスクは、デフォルトユーザーコンテキストなしで実行されます。Note: 埋め込まれたOAuth 資格情報はユーザーごとに認証されるため、 クライアント認証フローで使用することはできません。クライアント資格情報を使用するには、必ずカスタムOAuth アプリケーションを作成する必要があります。
- https://portal.azure.com にログインします。
- 前述のように、カスタムOAuth アプリケーションを作成します。
- アプリの登録に移動します。
- 作成したアプリケーションを探し、API のアクセス許可を開きます。
- Microsoft Graph アクセス許可を選択します。アクセス許可には2つの異なるアクセス許可セットがあります。委任されたアクセス許可とアプリケーションの許可です。
- サービスプリンシパルで使用する場合は、アプリケーションの許可を指定します。
- インテグレーションに必要なアクセス許可を選択します。
証明書を使用したクライアントOAuth フロー
クライアント認証フローに関連するすべてのアクセス許可には、管理者の同意が必要です。 これは、CData JDBC Driver for Microsoft Power BI XMLA が埋め込まれたアプリケーションをクライアント認証フローでは使用できないことを意味します。 前述のとおり、クライアント資格情報を使用するには、独自のOAuth アプリケーションの作成が必要になります。OAuth アプリケーションが作成されたら:
- https://portal.azure.com に戻ります。
- アプリの登録に移動します。
- 作成したアプリケーションを見つけます。
- API のアクセス許可の下で、Microsoft Graph アクセス許可を選択します。
アクセス許可には2つの異なるアクセス許可セットがあります。 委任されたアクセス許可とアプリケーションの許可です。 クライアントの資格情報認証時に使用されるアクセス許可は、アプリケーションの許可の下にあります。 - 自身のインテグレーションに適用させるアクセス許可を選択します。