Azure Policy 定義構造の別名

リソースの種類に固有のプロパティにアクセスするには、プロパティのエイリアスを使用します。 エイリアスを使用すると、リソースのプロパティで許可される値または条件を制限できます。 各エイリアスは、特定のリソースの種類について異なる API バージョンのパスにマップされます。 ポリシーの評価時に、ポリシー エンジンはその API バージョンのプロパティ パスを取得します。

エイリアスの一覧は常に拡大しています。 Azure Policy でサポートされている別名を見つけるには、次のいずれかの方法を使用します。

  • Visual Studio Code 用の Azure Policy 拡張機能 (推奨)

    Visual Studio Code 用の Azure Policy 拡張機能を使用してリソース プロパティのエイリアスの表示と検出を行う方法について説明します。

    プロパティにカーソルが合わされて別名が表示されている、Visual Studio Code 用の Azure Policy 拡張機能のスクリーンショット。

  • Azure PowerShell

    # Login first with Connect-AzAccount if not using Cloud Shell
    
    # Use Get-AzPolicyAlias to list available providers
    Get-AzPolicyAlias -ListAvailable
    
    # Use Get-AzPolicyAlias to list aliases for a Namespace (such as Azure Compute -- Microsoft.Compute)
    (Get-AzPolicyAlias -NamespaceMatch 'compute').Aliases
    

    注意

    modify 効果で使用できるエイリアスを検索するには、Azure PowerShell 4.6.0 以上で次のコマンドを使用します。

    Get-AzPolicyAlias | Select-Object -ExpandProperty 'Aliases' | Where-Object { $_.DefaultMetadata.Attributes -eq 'Modifiable' }
    
  • Azure CLI

    # Login first with az login if not using Cloud Shell
    
    # List namespaces
    az provider list --query [*].namespace
    
    # Get Azure Policy aliases for a specific Namespace (such as Azure Compute -- Microsoft.Compute)
    az provider show --namespace Microsoft.Compute --expand "resourceTypes/aliases" --query "resourceTypes[].aliases[].name"
    
  • REST API

    GET https://management.azure.com/providers/?api-version=2019-10-01&$expand=resourceTypes/aliases
    

配列別名について

利用できるいくつかの別名には、通常の名前で表示されるバージョンと、それに [*] が添付された別のバージョンがあり、これが配列別名です。 次に例を示します。

  • Microsoft.Storage/storageAccounts/networkAcls.ipRules

  • Microsoft.Storage/storageAccounts/networkAcls.ipRules[*]

  • 通常の別名では、フィールドは 1 つの値として表されます。 このフィールドは完全一致の比較シナリオ用で、値のセット全体を正確に定義する必要があります。

  • 配列別名 [*] は、配列リソース プロパティの要素から選択された値のコレクションを表します。 次に例を示します。

エイリアス 選択された値
Microsoft.Storage/storageAccounts/networkAcls.ipRules[*] ipRules 配列の要素。
Microsoft.Storage/storageAccounts/networkAcls.ipRules[*].action ipRules 配列の各要素の action プロパティの値。

フィールド条件で使用すると、配列のエイリアスによって、個々の配列要素をターゲット値と比較できるようになります。 count 式と共に使用すると、次のことが可能になります。

  • 配列のサイズを確認する。
  • 配列要素のすべてまたはいずれかが複雑な条件を満たしているかどうか、またはいずれも満たしていないかを確認します。
  • 厳密に n 個の配列要素が複雑な条件を満たしているかどうかを確認します。

詳細および例については、「配列リソース プロパティを参照する」を参照してください。

次のステップ