ユーザーとして PowerShell を使用して Azure Stack Hub に接続する
PowerShell を使用して Azure Stack Hub に接続し、Azure Stack Hub リソースを管理することができます。 たとえば、PowerShell を使用し、オファーをサブスクライブしたり、仮想マシン (VM) を作成したり、Azure Resource Manager テンプレートをデプロイしたりできます。
セットアップするには:
- 要件を満たしていることをご確認ください。
- Microsoft Entra ID またはActive Directory フェデレーション サービス (AD FS) (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 開発キットの場合、この値は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
}
Note
AD FS でサポートされるのは、ユーザー ID を使用した対話型認証のみです。 資格情報オブジェクトが必要な場合は、サービス プリンシパル (SPN) を使用する必要があります。 Azure Stack Hub と AD FS を ID 管理サービスとしてサービス プリンシパルを設定する方法の詳細については、AD FS のアプリ ID の管理に関する記事を参照してください。
接続のテスト
すべての設定が完了したら、PowerShell を使って接続をテストし、Azure Stack Hub でリソースを作成します。 テストとして、アプリケーションのリソース グループを作成し、VM を追加します。 次のコマンドを実行し、"MyResourceGroup" という名前のリソース グループを作成します。
New-AzResourceGroup -Name "MyResourceGroup" -Location "Local"
次のステップ
- Azure Stack Hub のテンプレートの開発
- PowerShell を使用したテンプレートのデプロイ
- Azure Stack Hub PowerShell Module リファレンス
- クラウド オペレーター環境用に PowerShell を設定する場合、Azure Stack Hub オペレーターの PowerShell 環境の構成に関する記事をご覧ください。