Share via


REST API を使用した Azure リソースの管理

Azure Resource Manager で REST API を使用して Azure リソースを管理する方法について説明します。 Azure REST 呼び出しを構造化する方法の包括的なリファレンスについては、REST の概要に関するページを参照してください。 使用可能な操作の詳細については、Resource Management REST API のリファレンスに関するページを参照してください。

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

Azure に対して REST API 呼び出しを行うには、最初にアクセス トークンを取得する必要があります。 "Authorization" ヘッダーを使用し、値を "Bearer {access-token}" に設定して、Azure REST API 呼び出しのヘッダーにこのアクセス トークンを含めます。

アプリケーションの一部として新しいトークンをプログラムで取得する必要がある場合は、クライアント アプリケーションを Microsoft Entra ID に登録することでアクセス トークンを取得できます。

作業を開始し、個々のトークンを使用して Azure REST API をテストする場合は、Azure PowerShell または Azure CLI を使用して現在のアクセス トークンをすばやく取得できます。

token=$(az account get-access-token --query accessToken --output tsv)

操作スコープ

さまざまなスコープで多くの Azure Resource Manager 操作を呼び出すことができます。

Type Scope
管理グループ providers/Microsoft.Management/managementGroups/{managementGroupId}
サブスクリプション subscriptions/{subscriptionId}
Resource group subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}
リソース subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderName}/{resourceType}/{resourceName}

List resources

次の REST 操作は、指定されたリソース グループ内のリソースを返します。

GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources?api-version=2021-04-01 HTTP/1.1
Authorization: Bearer <bearer-token>
Host: management.azure.com

Azure Resource Manager API を使用してリソース グループ内のすべてのリソースを一覧表示するために使用できる cURL コマンドの例を次に示します。

curl  -H "Authorization: Bearer $token" -H 'Content-Type: application/json' -X GET 'https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources?api-version=2021-04-01'

認証手順では、この例は次のようになります。

token=$(az account get-access-token --query accessToken --output tsv)
curl  -H "Authorization: Bearer $token" -H 'Content-Type: application/json' -X GET 'https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources?api-version=2021-04-01'

リソースを既存のリソース グループにデプロイする

Azure CLI を使用して直接 Azure リソースをデプロイするか、または Resource Manager テンプレートをデプロイして Azure リソースを作成することができます。

リソースのデプロイ

次の REST 操作では、ストレージ アカウントを作成します。 この例の詳細については、REST API を使用した Azure Storage アカウントの作成に関するページを参照してください。 ストレージ リソース プロバイダーの完全なリファレンス ドキュメントとサンプルについては、「ストレージ リソース プロバイダー REST API リファレンス」を参照してください。

PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}?api-version=2018-02-01 HTTP/1.1
Authorization: Bearer <bearer-token>
Content-Type: application/json
Host: management.azure.com

{
  "sku": {
    "name": "Standard_GRS"
  },
  "kind": "StorageV2",
  "location": "eastus2",
}

テンプレートのデプロイ

次の操作では、ストレージ アカウントを作成するためのクイックスタート テンプレートをデプロイします。 詳細については、「クイック スタート: Visual Studio Code を使って Azure Resource Manager テンプレートを作成する」をご覧ください。 この呼び出しの API リファレンスについては、デプロイ - 作成または更新に関するページを参照してください。

PUT /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/my-deployment?api-version=2021-04-01 HTTP/1.1
Authorization: Bearer <bearer-token>
Content-Type: application/json
Host: management.azure.com

{
  "properties": {
    "templateLink": {
      "uri": "https://example.com/azuretemplates/azuredeploy.json"
    },
    "parametersLink": {
        "uri": "https://example.com/azuretemplates/azuredeploy.parameters.json"
    },
    "mode": "Incremental"
  }
}

REST API の場合、uri の値は、ローカル ファイル、またはローカル ネットワークでのみ使用できるファイルにはしないでください。 Azure Resource Manager は、テンプレートにアクセスできる必要があります。 HTTP または HTTPS としてダウンロードできる URI 値を指定してください。 詳細については、「Deploy resources with Resource Manager templates and Azure PowerShell」 (Resource Manager テンプレートと Azure PowerShell を使用したリソースのデプロイ) を参照してください。

リソース グループとリソースをデプロイする

テンプレートを使用して、リソース グループを作成し、そのグループにリソースをデプロイできます。 詳しくは、「リソース グループを作成してリソースをデプロイする」をご覧ください。

複数のサブスクリプションまたはリソース グループにリソースをデプロイする

テンプレートに含まれているリソースはすべて 1 つのリソース グループにデプロイするのが一般的です。 一方、さまざまなリソースを 1 つにまとめたうえで、複数のリソース グループまたはサブスクリプションにデプロイしたい状況もあります。 詳しくは、「複数のサブスクリプションまたはリソース グループに Azure リソースをデプロイする」をご覧ください。

リソースを削除する

次の操作は、ストレージ アカウントを削除する方法を示しています。

DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}?api-version=2022-09-01 HTTP/1.1
Authorization: Bearer <bearer-token>
Host: management.azure.com

Azure Resource Manager によってリソースの削除の順序が決定される方法の詳細については、「Azure Resource Manager によるリソース グループの削除」を参照してください。

リソースへのアクセスの管理

Azure ロールベースのアクセス制御 (Azure RBAC) は、Azure のリソースへのアクセスを管理する方法です。 詳細については、「REST を使用して Azure ロールの割り当てを追加または削除する」を参照してください。

次のステップ