Azure エンクレーブは、機密性の高いデータを組織に提供するクラウド ネットワーク サービスであり、商用クラウドやエアギャップされたAzure クラウド全体にワークロードをすばやくデプロイして管理する機能を大規模に提供します。 このクイック スタートでは、次の操作を行います。
- Azure CLIを使用して、サービス カタログからサービス カタログ テンプレートをデプロイします。
Note
このサンプルデプロイはデモ目的のものであり、ネットワーク、システム、またはアプリケーションの管理に関するすべてのベスト プラクティスを表すわけではありません。
始める前の準備
このクイック スタートでは、ネットワークとエンクレーブの概念Azure基本的な理解を前提としています。 詳細については、「Azure エンクレーブの概念とベスト プラクティス」を参照してください。
アクティブなサブスクリプションを含む Azure アカウントが必要です。 お持ちでない場合は、無料のアカウントを作成してください。
Azure CLIをインストールするか、Azure Cloud Shellを使用する必要があります。 詳細については、Azure Command-Line インターフェイス (CLI) のドキュメントを参照してください。
ワークロードリソース グループ内にリソースを作成するには、コミュニティ、エンクレーブ、ワークロード、および少なくとも 1 つのワークロード リソース グループとアクセス許可が必要です。
エンクレーブの
Advancedメンテナンス モードを有効にして、Private Link リソースをエンクレーブマネージド リソース グループに追加できるようにします。
サービス カタログからテンプレートをデプロイする
サービス カタログ テンプレートは、Azure Public で一般公開されています。https://veservicecatalogprod.z22.web.core.windows.net/inventory.xml
上記のインベントリにある名前を使用して、特定のテンプレートをダウンロードします (例: https://veservicecatalogprod.z22.web.core.windows.net/adminVM/deploy-adminVM-1.0.1.json)
サービス カタログで使用可能なテンプレートを一覧表示します。
# Download the XML file $xmlUrl = "https://veservicecatalogprod.z22.web.core.windows.net/inventory.xml" $xmlContent = Invoke-WebRequest -Uri $xmlUrl -UseBasicParsing # Load the XML content [xml]$xml = $xmlContent.Content # Extract URLs from the XML file $urls = $xml.SelectNodes("//EnumerationResults/Blobs/Blob/Url") # # List the URLs $urls | ForEach-Object { $_.InnerText }環境別のストレージ アカウント名
- Azure:veservicecatalogprod.z22.web.core.windows.net
- Azure Government: veservicecatalogfairfax.z2.web.core.usgovcloudapi.net
- Azure シークレット: veservicecatalogussec.z1.web.core。
<SecretDomain> - Azureトップシークレット: veservicecatalogusnat.z2.web.core.
<TopSecretDomain>
各テンプレートをダウンロードする 前の手順のスクリプトを続行する
# download all templates $urls | ForEach-Object { $url = $_.InnerText $fileName = Split-Path -Leaf $url Invoke-WebRequest -Uri $url -OutFile $fileName }テンプレートを開き、値を指定する必要があるパラメーターを決定します。 この例では、"storageAccount/deploy-storage-account-1.0.0.json" を使用します
必須のパラメーターと、既定値を持つパラメーターに注意してください。
パラメーター値を指定する新しい params.json ファイルを作成します。
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "storageAccountName": { "value": "" }, "virtualNetworkName": { "value": "" }, "networkResourceGroupName": { "value": "" }, "privateLinkSubnetName": { "value": "" }, "privateDnsZoneResourceGroupName": { "value": "" }, "keyVaultName": { "value": "" }, "keyName": { "value": "" }, "keyVaultResourceGroupName": { "value": "" }, "userAssignedIdentityObject": { "value": { "name":"", "id":"", "location":"", "subscriptionName":"" } } } }エンクレーブ リソースをフェッチして、次のパラメーター値を指定します。
- storageAccountName
- バーチャルネットワーク名
- ネットワーク リソース グループ名
- privateDnsZoneResourceGroupName
- keyVaultName
- keyVaultResourceGroupName
- userAssignedIdentityObject の ID
az rest --method get --uri "<enclave-resource-id>?api-version=2026-03-01-preview"さらに多くのAPI操作やスキーマについては、Azure Enclave APIリファレンスおよびAzure Enclave APIのソースと仕様をご覧ください。 引き続き privateLinkSubnetName、keyName、userAssignedIdentityObject の値をフェッチする必要があります
仮想ネットワーク内のサブネットを一覧表示する (privateLinkSubnetName)
az network vnet subnet list --resource-group <resource-group-name> --vnet-name <vnet-name> --query "[].name"CMK キー名の取得 (keyName)
az keyvault key list --vault-name <keyvault-name> --query "[].name"userAssignedIdentityObject の場所を取得します (userAssignedIdentityObject.location)
az resource show --ids <user-assigned-identity-resource-id> --query locationサブスクリプション名を取得する
az account show --subscription <subscription-id> --query nameテンプレートをデプロイする
az deployment group create --resource-group <resource-group-name> --template-file ./<template-downloaded-name> --parameters ./<parameter-file-name>このスクリプトは、サービス カタログからテンプレートをデプロイするためのスクリプトです。
az storage blob list --account-name <storage-account-name> --container-name servicecatalog --query '[].{Name:name}' az storage blob download --account-name <storag-eaccount-name> --container-name servicecatalog --name <template-to-download-name> --file ./<template-downloaded-name> az rest --method get --uri "<enclave-resource-id>?api-version=2026-03-01-preview" az network vnet subnet list --resource-group <resource-group-name> --vnet-name <vnet-name> --query "[].name" az keyvault key list --vault-name <keyvault-name> --query "[].name" az resource show --ids <user-assigned-identity-resource-id> --query location az account show --subscription <subscription-id> --query name az deployment group create --resource-group <resource-group-name> --template-file ./<template-downloaded-name> --parameters ./<parameter-file-name>
デプロイメントを削除する
これらのリソースを保持する予定がない場合は、不要なリソースをクリーンアップして、Azure料金を回避します。 リソース グループに他のデプロイが存在しない場合は、リソース グループ全体を削除できます。