次の方法で共有


HTTPS 経由の認証

適用対象: ✅Microsoft FabricAzure データ エクスプローラー

HTTPS 経由でデータベースを操作するには、要求を行うプリンシパルが HTTP Authorization 要求ヘッダーを使用して認証する必要があります。

構文

Authorization:Bearer AccessToken

構文規則について詳しく知る。

パラメーター

件名 タイプ Required 説明
AccessToken string ✔️ サービスの Microsoft Entra アクセス トークン。

アクセス トークンを取得する

Microsoft Entra アクセス トークンを取得するには、さまざまな方法があります。 詳細については、「 ユーザー認証 および アプリケーション認証」を参照

Azure CLI を使用してユーザー プリンシパルのアクセス トークンを取得する

次の手順では、要求を行うユーザー プリンシパルのアクセス トークンを返します。 ユーザー プリンシパルが、アクセスする予定のリソースにアクセスできることを確認します。 詳細については、ロールベースのアクセス制御に関するページを参照してください。

  1. Azure CLI にサインインします。

    az login --output table
    
  2. Defaulttrueされている行を見つけます。 その行のサブスクリプションが、Microsoft Entra アクセス トークンを作成するサブスクリプションであることを確認します。 サブスクリプション情報を見つけるには、Azure portal サブスクリプション ID とテナント ID の取得に関するページを参照。 別のサブスクリプションに切り替える必要がある場合は、次のいずれかのコマンドを実行します。

    az account set --subscription <SUBSCRIPTION_ID>
    
    az account set --name "<SUBSCRIPTION_NAME>"
    
  3. 次のコマンドを実行して、アクセス トークンを取得します。

    az account get-access-token \
      --resource "https://api.kusto.windows.net" \
      --query "accessToken"
    

Azure CLI を使用してサービス プリンシパルのアクセス トークンを取得する

Microsoft Entra サービス プリンシパルは、リソースへのアクセスを必要とするアプリケーションまたはサービスを表します。通常は、API 呼び出しなどの非対話型シナリオで使用されます。 次の手順では、サービス プリンシパルを作成し、このプリンシパルのベアラー トークンを取得する手順について説明します。

  1. Azure CLI にサインインします。

    az login --output table
    
  2. Defaulttrueされている行を見つけます。 その行のサブスクリプションが、サービス プリンシパルを作成するサブスクリプションであることを確認します。 サブスクリプション情報を見つけるには、Azure portal サブスクリプション ID とテナント ID の取得に関するページを参照。 別のサブスクリプションに切り替える必要がある場合は、次のいずれかのコマンドを実行します。

    az account set --subscription <SUBSCRIPTION_ID>
    
    az account set --name "<SUBSCRIPTION_NAME>"
    
  3. サービス プリンシパルを作成する。 次のコマンドは、Microsoft Entra サービス プリンシパルを作成し、サービス プリンシパルの appIddisplayNamepassword、および tenantId を返します。

    az ad sp create-for-rbac -n <SERVICE_PRINCIPAL_NAME> 
    
  4. アプリケーション プリンシパルにデータベースへのアクセス権を付与します。 たとえば、データベースのコンテキストでは、次のコマンドを使用してプリンシパルをユーザーとして追加します。

    .add database <DATABASE> users ('aadapp=<appId>;<tenantId>')
    

    さまざまなロールとその割り当て方法については、「 セキュリティ ロールの管理を参照してください。

  5. アクセス トークンを要求する HTTP 要求を送信します。 <tenantId><appId>、および<password>を、前のコマンドから取得した値に置き換えます。 この要求は、アクセス トークンを含む JSON オブジェクトを返します。これは、要求の Authorization ヘッダーの値として使用できます。

    curl -X POST https://login.microsoftonline.com/<tenantId>/oauth2/token \
      -F grant_type=client_credentials \
      -F client_id=<appId> \
      -F client_secret=<password> \
      -F resource=https://api.kusto.windows.net