HTTPS 経由の認証
HTTPS 経由でデータベースを操作するには、要求を行うプリンシパルが HTTP Authorization
要求ヘッダーを使用して認証する必要があります。
構文
Authorization:
Bearer
AccessToken
構文規則について詳しく知る。
パラメーター
件名 | タイプ | Required | 説明 |
---|---|---|---|
AccessToken | string |
✔️ | サービスの Microsoft Entra アクセス トークン。 |
アクセス トークンを取得する
Microsoft Entra アクセス トークンを取得するには、さまざまな方法があります。 詳細については、「 ユーザー認証 および アプリケーション認証」を参照。
Azure CLI を使用してユーザー プリンシパルのアクセス トークンを取得する
次の手順では、要求を行うユーザー プリンシパルのアクセス トークンを返します。 ユーザー プリンシパルが、アクセスする予定のリソースにアクセスできることを確認します。 詳細については、ロールベースのアクセス制御に関するページを参照してください。
Azure CLI にサインインします。
az login --output table
列
Default
がtrue
されている行を見つけます。 その行のサブスクリプションが、Microsoft Entra アクセス トークンを作成するサブスクリプションであることを確認します。 サブスクリプション情報を見つけるには、Azure portal サブスクリプション ID とテナント ID の取得に関するページを参照。 別のサブスクリプションに切り替える必要がある場合は、次のいずれかのコマンドを実行します。az account set --subscription <SUBSCRIPTION_ID>
az account set --name "<SUBSCRIPTION_NAME>"
次のコマンドを実行して、アクセス トークンを取得します。
az account get-access-token \ --resource "https://api.kusto.windows.net" \ --query "accessToken"
Azure CLI を使用してサービス プリンシパルのアクセス トークンを取得する
Microsoft Entra サービス プリンシパルは、リソースへのアクセスを必要とするアプリケーションまたはサービスを表します。通常は、API 呼び出しなどの非対話型シナリオで使用されます。 次の手順では、サービス プリンシパルを作成し、このプリンシパルのベアラー トークンを取得する手順について説明します。
Azure CLI にサインインします。
az login --output table
列
Default
がtrue
されている行を見つけます。 その行のサブスクリプションが、サービス プリンシパルを作成するサブスクリプションであることを確認します。 サブスクリプション情報を見つけるには、Azure portal サブスクリプション ID とテナント ID の取得に関するページを参照。 別のサブスクリプションに切り替える必要がある場合は、次のいずれかのコマンドを実行します。az account set --subscription <SUBSCRIPTION_ID>
az account set --name "<SUBSCRIPTION_NAME>"
サービス プリンシパルを作成する。 次のコマンドは、Microsoft Entra サービス プリンシパルを作成し、サービス プリンシパルの
appId
、displayName
、password
、およびtenantId
を返します。az ad sp create-for-rbac -n <SERVICE_PRINCIPAL_NAME>
アプリケーション プリンシパルにデータベースへのアクセス権を付与します。 たとえば、データベースのコンテキストでは、次のコマンドを使用してプリンシパルをユーザーとして追加します。
.add database <DATABASE> users ('aadapp=<appId>;<tenantId>')
さまざまなロールとその割り当て方法については、「 セキュリティ ロールの管理を参照してください。
アクセス トークンを要求する 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
関連するコンテンツ
- 認証の概要
- On-behalf-of (OBO) 認証またはシングル ページ アプリケーション (SPA) 認証を実行する方法については、「 Microsoft Authentication Library (MSAL) で認証する方法」を参照してください。