ユーザーとして PowerShell を使用して Azure Stack Hub に接続する
PowerShell を使用して Azure Stack Hub に接続して、Azure Stack Hub リソースを管理できます。 たとえば、PowerShell を使用してオファーのサブスクライブ、仮想マシン (VM) の作成、Azure Resource Manager テンプレートのデプロイを行うことができます。
セットアップを取得するには:
- 要件があることを確認します。
- Microsoft Entra ID または Active Directory フェデレーション サービス (AD FS) を使用して接続します。
- リソース プロバイダーを登録します。
- 接続をテストします。
PowerShell を使用して接続するための前提条件
これらの前提条件は、開発キットから、または VPN 経由で接続場合は Windows ベースの外部クライアントから構成します。
- Azure Stack Hub と互換性のある Azure PowerShell モジュール インストールします。
- Azure Stack Hub を操作するために必要なツールをダウンロードします。
次のスクリプト変数を、Azure Stack Hub 構成の値に置き換えてください。
- Microsoft Entra テナント名
Azure Stack Hub の管理に使用する Microsoft Entra テナントの名前。 たとえば、yourdirectory.onmicrosoft.com。 - Azure Resource Manager エンドポイント
Azure Stack Development Kit の場合、この値はhttps://management.local.azurestack.external
に設定されます。 Azure Stack Hub 統合システムのこの値を取得するには、サービス プロバイダーにお問い合わせください。
Microsoft Entra ID を使用して Azure Stack Hub に接続する
Add-AzEnvironment -Name "AzureStackUser" -ArmEndpoint "https://management.local.azurestack.external"
# Set your tenant name
$AuthEndpoint = (Get-AzEnvironment -Name "AzureStackUser").ActiveDirectoryAuthority.TrimEnd('/')
$AADTenantName = "<myDirectoryTenantName>.onmicrosoft.com"
$TenantId = (invoke-restmethod "$($AuthEndpoint)/$($AADTenantName)/.well-known/openid-configuration").issuer.TrimEnd('/').Split('/')[-1]
# After signing in to your environment, Azure Stack Hub cmdlets
# can be easily targeted at your Azure Stack Hub instance.
Connect-AzAccount -EnvironmentName "AzureStackUser" -TenantId $TenantId
AD FS を使用して Azure Stack Hub に接続する
# Register an Azure Resource Manager environment that targets your Azure Stack Hub instance
Add-AzEnvironment -Name "AzureStackUser" -ArmEndpoint "https://management.local.azurestack.external"
# Sign in to your environment
Connect-AzAccount -EnvironmentName "AzureStackUser"
リソース プロバイダーを登録する
リソース プロバイダーは、ポータルを介してデプロイされたリソースがない新しいユーザー サブスクリプションには自動的に登録されません。 次のスクリプトを実行して、リソース プロバイダーを明示的に登録できます。
foreach($s in (Get-AzSubscription)) {
Select-AzSubscription -SubscriptionId $s.SubscriptionId | Out-Null
Write-Progress $($s.SubscriptionId + " : " + $s.SubscriptionName)
Get-AzResourceProvider -ListAvailable | Register-AzResourceProvider
}
手記
AD FS では、ユーザー ID を使用した対話型認証のみがサポートされます。 資格情報オブジェクトが必要な場合は、サービス プリンシパル (SPN) を使用する必要があります。 ID 管理サービスとして Azure Stack Hub と AD FS を使用してサービス プリンシパルを設定する方法の詳細については、「AD FS アプリ IDの管理」を参照してください。
接続をテストする
すべての設定が完了したら、PowerShell を使用して Azure Stack Hub にリソースを作成して接続をテストします。 テストとして、アプリケーションのリソース グループを作成し、VM を追加します。 次のコマンドを実行して、"MyResourceGroup" という名前のリソース グループを作成します。
New-AzResourceGroup -Name "MyResourceGroup" -Location "Local"
次の手順
- Azure Stack Hub 用のテンプレートを開発する
- PowerShell を使用してテンプレートをデプロイする
- Azure Stack Hub PowerShell モジュール リファレンス
- クラウド オペレーター環境用に PowerShell を設定する場合は、「Azure Stack Hub オペレーターの PowerShell 環境を構成する」 記事を参照してください。