Azure Stack Hub ポリシー モジュールを使用して Azure ポリシーを管理する
Azure Stack Hub ポリシー モジュールを使用すると、Azure Stack Hub と同じバージョン管理およびサービス可用性を利用して Azure サブスクリプションを構成できます。 このモジュールを使用すると、サブスクリプションで使用できるリソースの種類とサービスを制限する Azure ポリシーが、New-AzPolicyDefinition PowerShell コマンドレットを使用して作成されます。 次に、適切な範囲内のポリシー割り当てが、New-AzPolicyAssignment コマンドレットを使用して作成されます。 ポリシーの構成が完了すると、Azure サブスクリプションを使用して Azure Stack Hub を対象とするアプリを開発できます。
注意
Azure Stack Hub ポリシー モジュールは、Azure Stack Hub へのデプロイのテストとしてパブリック Azure で使用することを目的としています。
モジュールのインストール
「PowerShell for Azure Stack Hub をインストールする」の手順 1 の説明に従って、必要なバージョンの Az PowerShell モジュールをインストールします。
AzureStack.Policy.psm1 モジュールをインポートします。
Import-Module .\Policy\AzureStack.Policy.psm1
Azure サブスクリプションにポリシーを適用する
以下のコマンドを使用して、Azure サブスクリプションに既定の Azure Stack Hub ポリシーを適用できます。 これらのコマンドを実行する前に、Azure subscription name
を自分の Azure サブスクリプションの名前に置き換えてください。
Connect-AzAccount
$s = Select-AzSubscription -SubscriptionName "Azure subscription name"
$policy = New-AzPolicyDefinition -Name AzureStackPolicyDefinition -Policy (Get-AzsPolicy)
$subscriptionID = $s.Subscription.SubscriptionId
New-AzPolicyAssignment -Name AzureStack -PolicyDefinition $policy -Scope /subscriptions/$subscriptionID
リソース グループにポリシーを適用する
さらに詳細なポリシーを適用する必要がある場合があります。 たとえば、同じサブスクリプションで他のリソースが実行されている場合があります。 ポリシーの適用範囲を特定のリソース グループに設定できます。そうすることで、Azure リソースを使用して Azure Stack Hub 用のアプリをテストできます。 次のコマンドを実行する前に、Azure subscription name
を自分の Azure サブスクリプションの名前に置き換えてください。
Connect-AzAccount
$rgName = 'myRG01'
$s = Select-AzSubscription -SubscriptionName "Azure subscription name"
$policy = New-AzPolicyDefinition -Name AzureStackPolicyDefinition -Policy (Get-AzsPolicy)
$subscriptionID = $s.Subscription.SubscriptionId
New-AzPolicyAssignment -Name AzureStack -PolicyDefinition $policy -Scope /subscriptions/$subscriptionID/resourceGroups/$rgName
実行中のポリシー
Azure ポリシーをデプロイした後、このポリシーで禁止されているリソースをデプロイしようとすると、エラーが表示されます。