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 で使用することを目的としています。

モジュールのインストール

  1. PowerShell for Azure Stack Hub をインストールする」の手順 1 の説明に従って、必要なバージョンの Az PowerShell モジュールをインストールします。

  2. GitHub から Azure Stack Hub ツールをダウンロードします

  3. Azure Stack Hub で使用するために PowerShell を構成します

  4. 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 ポリシーをデプロイした後、このポリシーで禁止されているリソースをデプロイしようとすると、エラーが表示されます。

ポリシーの制約によるリソースのデプロイの失敗の結果

次のステップ