Bicep リソース定義
policyAssignments リソースの種類は、次をターゲットとする操作と共にデプロイできます。
各 API バージョンで変更されたプロパティの一覧については、変更ログの
リソースの形式
Microsoft.Authorization/policyAssignments リソースを作成するには、次の Bicep をテンプレートに追加します。
resource symbolicname 'Microsoft.Authorization/policyAssignments@2025-03-01' = {
scope: resourceSymbolicName or scope
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
___location: 'string'
name: 'string'
properties: {
assignmentType: 'string'
definitionVersion: 'string'
description: 'string'
displayName: 'string'
enforcementMode: 'string'
metadata: any(...)
nonComplianceMessages: [
{
message: 'string'
policyDefinitionReferenceId: 'string'
}
]
notScopes: [
'string'
]
overrides: [
{
kind: 'string'
selectors: [
{
in: [
'string'
]
kind: 'string'
notIn: [
'string'
]
}
]
value: 'string'
}
]
parameters: {
{customized property}: {
value: any(...)
}
}
policyDefinitionId: 'string'
resourceSelectors: [
{
name: 'string'
selectors: [
{
in: [
'string'
]
kind: 'string'
notIn: [
'string'
]
}
]
}
]
}
}
プロパティ値
Microsoft.Authorization/policyAssignments
| 名前 | 形容 | 価値 |
|---|---|---|
| ID | ポリシーの割り当てに関連付けられているマネージド ID。 | ID |
| 位置 | ポリシー割り当ての場所。 マネージド ID を使用する場合にのみ必要です。 | 文字列 |
| 名前 | リソース名 | 糸 制約: パターン = ^[^<>*%&:\?.+/]*[^<>*%&:\?.+/ ]+$ (必須) |
| プロパティ | ポリシー割り当てのプロパティ。 | PolicyAssignmentProperties の |
| スコープ | デプロイ スコープとは異なるスコープでリソースを作成するときに使用します。 | このプロパティをリソースのシンボリック名に設定して、拡張リソースを適用します。 |
同一性
| 名前 | 形容 | 価値 |
|---|---|---|
| 型 | ID の種類。 これは、システム割り当て ID またはユーザー割り当て ID をリソースに追加するときに必要な唯一のフィールドです。 | 「なし」 'システム割り当て' 'UserAssigned' |
| userAssignedIdentities (ユーザー割り当て済みアイデンティティ) | ポリシーに関連付けられているユーザー ID。 ユーザー ID ディクショナリ のキー参照は、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}' という形式の ARM リソース ID になります。 | IdentityUserAssignedIdentities の |
IdentityUserAssignedIdentities
| 名前 | 形容 | 価値 |
|---|
NonComplianceメッセージ
| 名前 | 形容 | 価値 |
|---|---|---|
| メッセージ | リソースがポリシーに準拠していない理由を説明するメッセージ。 これは、"拒否" エラー メッセージと、リソースの準拠していないコンプライアンスの結果に表示されます。 | string (必須) |
| policyDefinitionReferenceId (ポリシー定義参照ID) | メッセージの対象となるポリシー セット定義内のポリシー定義参照 ID。 これは、ポリシー割り当てによってポリシー セット定義が割り当てられている場合にのみ適用されます。 これが指定されていない場合、メッセージは、このポリシー割り当てによって割り当てられたすべてのポリシーに適用されます。 | 文字列 |
オーバーライド
| 名前 | 形容 | 価値 |
|---|---|---|
| 種類 | オーバーライドの種類。 | 'definitionVersion' 'policyEffect' |
| セレクター | セレクター式の一覧。 | セレクター[] |
| 価値 | ポリシー プロパティをオーバーライドする値。 | 文字列 |
パラメータ値
| 名前 | 形容 | 価値 |
|---|
パラメータ値値
| 名前 | 形容 | 価値 |
|---|---|---|
| 価値 | パラメーターの値。 | 任意 |
ポリシー割り当てプロパティ
| 名前 | 形容 | 価値 |
|---|---|---|
| アサインメントタイプ | ポリシー割り当ての種類。 指定できる値は、NotSpecified、System、SystemHidden、Custom です。 不変。 | 「カスタム」 '指定されていません' 「システム」 「システム非表示」 |
| definitionバージョン | 使用するポリシー定義のバージョン。 | 文字列 |
| 形容 | このメッセージは、ポリシー違反が発生した場合の応答の一部になります。 | 文字列 |
| ディスプレイ名 | ポリシー割り当ての表示名。 | 文字列 |
| enforcementモード | ポリシー割り当て適用モード。 使用できる値は、既定値、DoNotEnforce、および登録です | デフォルト 「強制しない」 「登録」 |
| メタデータ | ポリシー割り当てのメタデータ。 メタデータはオープン エンド オブジェクトであり、通常はキーと値のペアのコレクションです。 | 任意 |
| nonComplianceメッセージ | リソースがポリシーに準拠していない理由を説明するメッセージ。 | 非コンプライアンスメッセージ[] |
| notScopes (英語) | ポリシーの除外されたスコープ。 | 文字列[] |
| オーバーライド | ポリシー プロパティ値のオーバーライド。 | オーバーライド[] |
| パラメーター | 割り当てられたポリシー ルールのパラメーター値。 キーはパラメーター名です。 | パラメータ値 |
| ポリシー定義ID | 割り当てられているポリシー定義またはポリシー セット定義の ID。 | 文字列 |
| リソースセレクター | リソース のプロパティでポリシーをフィルター処理するリソース セレクターの一覧。 | リソースセレクタ[] |
リソースセレクター
| 名前 | 形容 | 価値 |
|---|---|---|
| 名前 | リソース セレクターの名前。 | 文字列 |
| セレクター | セレクター式の一覧。 | セレクター[] |
セレクタ
| 名前 | 形容 | 価値 |
|---|---|---|
| で | フィルター処理する値の一覧。 | 文字列[] |
| 種類 | セレクターの種類。 | 'policyDefinitionReferenceId' 'リソースロケーション' 'リソースタイプ' 'resourceWithoutLocation' |
| notIn | フィルター処理する値の一覧。 | 文字列[] |
UserAssignedIdentitiesValue (ユーザー割り当て済みアイデンティティ値)
| 名前 | 形容 | 価値 |
|---|
使用例
Azure クイック スタートのサンプル
次 Azure クイック スタート テンプレート、このリソースの種類をデプロイするための Bicep サンプルが含まれています。
| Bicep ファイル | 形容 |
|---|---|
| VM マネージド ディスクを監査する組み込みポリシーを割り当 | このテンプレートでは、組み込みのポリシーをリソース グループ スコープに割り当てて、仮想マシン (VM) マネージド ディスクを監査します。 |
| Azure Virtual Network Manager とサンプル VNET を作成する | このテンプレートは、Azure Virtual Network Manager とサンプル仮想ネットワークを名前付きリソース グループにデプロイします。 複数の接続トポロジとネットワーク グループ メンバーシップの種類をサポートします。 |
| ポリシー Def を展開し、複数の Mgmt グループに割り当てる | このテンプレートは、ポリシー定義を作成し、そのポリシーを複数の管理グループに割り当てる管理グループ レベルのテンプレートです。 |
| ポリシー定義を展開し、管理グループ に割り当てる | このテンプレートは、ポリシー定義を作成し、そのポリシーをターゲット管理グループに割り当てる管理グループ レベルのテンプレートです。 現時点では、このテンプレートは Azure Portal を使用してデプロイすることはできません。 |
ARM テンプレート リソース定義
policyAssignments リソースの種類は、次をターゲットとする操作と共にデプロイできます。
各 API バージョンで変更されたプロパティの一覧については、変更ログの
リソースの形式
Microsoft.Authorization/policyAssignments リソースを作成するには、次の JSON をテンプレートに追加します。
{
"type": "Microsoft.Authorization/policyAssignments",
"apiVersion": "2025-03-01",
"name": "string",
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
}
}
},
"___location": "string",
"properties": {
"assignmentType": "string",
"definitionVersion": "string",
"description": "string",
"displayName": "string",
"enforcementMode": "string",
"metadata": {},
"nonComplianceMessages": [
{
"message": "string",
"policyDefinitionReferenceId": "string"
}
],
"notScopes": [ "string" ],
"overrides": [
{
"kind": "string",
"selectors": [
{
"in": [ "string" ],
"kind": "string",
"notIn": [ "string" ]
}
],
"value": "string"
}
],
"parameters": {
"{customized property}": {
"value": {}
}
},
"policyDefinitionId": "string",
"resourceSelectors": [
{
"name": "string",
"selectors": [
{
"in": [ "string" ],
"kind": "string",
"notIn": [ "string" ]
}
]
}
]
}
}
プロパティ値
Microsoft.Authorization/policyAssignments
| 名前 | 形容 | 価値 |
|---|---|---|
| apiVersion (英語) | API のバージョン | '2025-03-01' |
| ID | ポリシーの割り当てに関連付けられているマネージド ID。 | ID |
| 位置 | ポリシー割り当ての場所。 マネージド ID を使用する場合にのみ必要です。 | 文字列 |
| 名前 | リソース名 | 糸 制約: パターン = ^[^<>*%&:\?.+/]*[^<>*%&:\?.+/ ]+$ (必須) |
| プロパティ | ポリシー割り当てのプロパティ。 | PolicyAssignmentProperties の |
| 型 | リソースの種類 | 'Microsoft.Authorization/policyAssignments' |
同一性
| 名前 | 形容 | 価値 |
|---|---|---|
| 型 | ID の種類。 これは、システム割り当て ID またはユーザー割り当て ID をリソースに追加するときに必要な唯一のフィールドです。 | 「なし」 'システム割り当て' 'UserAssigned' |
| userAssignedIdentities (ユーザー割り当て済みアイデンティティ) | ポリシーに関連付けられているユーザー ID。 ユーザー ID ディクショナリ のキー参照は、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}' という形式の ARM リソース ID になります。 | IdentityUserAssignedIdentities の |
IdentityUserAssignedIdentities
| 名前 | 形容 | 価値 |
|---|
NonComplianceメッセージ
| 名前 | 形容 | 価値 |
|---|---|---|
| メッセージ | リソースがポリシーに準拠していない理由を説明するメッセージ。 これは、"拒否" エラー メッセージと、リソースの準拠していないコンプライアンスの結果に表示されます。 | string (必須) |
| policyDefinitionReferenceId (ポリシー定義参照ID) | メッセージの対象となるポリシー セット定義内のポリシー定義参照 ID。 これは、ポリシー割り当てによってポリシー セット定義が割り当てられている場合にのみ適用されます。 これが指定されていない場合、メッセージは、このポリシー割り当てによって割り当てられたすべてのポリシーに適用されます。 | 文字列 |
オーバーライド
| 名前 | 形容 | 価値 |
|---|---|---|
| 種類 | オーバーライドの種類。 | 'definitionVersion' 'policyEffect' |
| セレクター | セレクター式の一覧。 | セレクター[] |
| 価値 | ポリシー プロパティをオーバーライドする値。 | 文字列 |
パラメータ値
| 名前 | 形容 | 価値 |
|---|
パラメータ値値
| 名前 | 形容 | 価値 |
|---|---|---|
| 価値 | パラメーターの値。 | 任意 |
ポリシー割り当てプロパティ
| 名前 | 形容 | 価値 |
|---|---|---|
| アサインメントタイプ | ポリシー割り当ての種類。 指定できる値は、NotSpecified、System、SystemHidden、Custom です。 不変。 | 「カスタム」 '指定されていません' 「システム」 「システム非表示」 |
| definitionバージョン | 使用するポリシー定義のバージョン。 | 文字列 |
| 形容 | このメッセージは、ポリシー違反が発生した場合の応答の一部になります。 | 文字列 |
| ディスプレイ名 | ポリシー割り当ての表示名。 | 文字列 |
| enforcementモード | ポリシー割り当て適用モード。 使用できる値は、既定値、DoNotEnforce、および登録です | デフォルト 「強制しない」 「登録」 |
| メタデータ | ポリシー割り当てのメタデータ。 メタデータはオープン エンド オブジェクトであり、通常はキーと値のペアのコレクションです。 | 任意 |
| nonComplianceメッセージ | リソースがポリシーに準拠していない理由を説明するメッセージ。 | 非コンプライアンスメッセージ[] |
| notScopes (英語) | ポリシーの除外されたスコープ。 | 文字列[] |
| オーバーライド | ポリシー プロパティ値のオーバーライド。 | オーバーライド[] |
| パラメーター | 割り当てられたポリシー ルールのパラメーター値。 キーはパラメーター名です。 | パラメータ値 |
| ポリシー定義ID | 割り当てられているポリシー定義またはポリシー セット定義の ID。 | 文字列 |
| リソースセレクター | リソース のプロパティでポリシーをフィルター処理するリソース セレクターの一覧。 | リソースセレクタ[] |
リソースセレクター
| 名前 | 形容 | 価値 |
|---|---|---|
| 名前 | リソース セレクターの名前。 | 文字列 |
| セレクター | セレクター式の一覧。 | セレクター[] |
セレクタ
| 名前 | 形容 | 価値 |
|---|---|---|
| で | フィルター処理する値の一覧。 | 文字列[] |
| 種類 | セレクターの種類。 | 'policyDefinitionReferenceId' 'リソースロケーション' 'リソースタイプ' 'resourceWithoutLocation' |
| notIn | フィルター処理する値の一覧。 | 文字列[] |
UserAssignedIdentitiesValue (ユーザー割り当て済みアイデンティティ値)
| 名前 | 形容 | 価値 |
|---|
使用例
Azure クイック スタート テンプレート
このリソースの種類 デプロイする Azure クイック スタート テンプレート 次に示します。
| テンプレート | 形容 |
|---|---|
|
組み込みポリシーを既存のリソース グループ に割り当てる Azure にデプロイする |
このテンプレートは、組み込みのポリシーを既存のリソース グループに割り当てます。 |
|
VM マネージド ディスクを監査する組み込みポリシーを割り当 Azure にデプロイする |
このテンプレートでは、組み込みのポリシーをリソース グループ スコープに割り当てて、仮想マシン (VM) マネージド ディスクを監査します。 |
|
Azure Virtual Network Manager とサンプル VNET を作成する Azure にデプロイする |
このテンプレートは、Azure Virtual Network Manager とサンプル仮想ネットワークを名前付きリソース グループにデプロイします。 複数の接続トポロジとネットワーク グループ メンバーシップの種類をサポートします。 |
|
ポリシー Def を展開し、複数の Mgmt グループに割り当てる Azure にデプロイする |
このテンプレートは、ポリシー定義を作成し、そのポリシーを複数の管理グループに割り当てる管理グループ レベルのテンプレートです。 |
|
ポリシー定義を展開し、管理グループ に割り当てる Azure にデプロイする |
このテンプレートは、ポリシー定義を作成し、そのポリシーをターゲット管理グループに割り当てる管理グループ レベルのテンプレートです。 現時点では、このテンプレートは Azure Portal を使用してデプロイすることはできません。 |
Terraform (AzAPI プロバイダー) リソース定義
policyAssignments リソースの種類は、次をターゲットとする操作と共にデプロイできます。
各 API バージョンで変更されたプロパティの一覧については、変更ログの
リソースの形式
Microsoft.Authorization/policyAssignments リソースを作成するには、次の Terraform をテンプレートに追加します。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Authorization/policyAssignments@2025-03-01"
name = "string"
parent_id = "string"
identity {
type = "string"
identity_ids = [
"string"
]
}
___location = "string"
body = {
properties = {
assignmentType = "string"
definitionVersion = "string"
description = "string"
displayName = "string"
enforcementMode = "string"
metadata = ?
nonComplianceMessages = [
{
message = "string"
policyDefinitionReferenceId = "string"
}
]
notScopes = [
"string"
]
overrides = [
{
kind = "string"
selectors = [
{
in = [
"string"
]
kind = "string"
notIn = [
"string"
]
}
]
value = "string"
}
]
parameters = {
{customized property} = {
value = ?
}
}
policyDefinitionId = "string"
resourceSelectors = [
{
name = "string"
selectors = [
{
in = [
"string"
]
kind = "string"
notIn = [
"string"
]
}
]
}
]
}
}
}
プロパティ値
Microsoft.Authorization/policyAssignments
| 名前 | 形容 | 価値 |
|---|---|---|
| ID | ポリシーの割り当てに関連付けられているマネージド ID。 | ID |
| 位置 | ポリシー割り当ての場所。 マネージド ID を使用する場合にのみ必要です。 | 文字列 |
| 名前 | リソース名 | 糸 制約: パターン = ^[^<>*%&:\?.+/]*[^<>*%&:\?.+/ ]+$ (必須) |
| parent_id | この拡張リソースを適用するリソースの ID。 | string (必須) |
| プロパティ | ポリシー割り当てのプロパティ。 | PolicyAssignmentProperties の |
| 型 | リソースの種類 | "Microsoft.Authorization/policyAssignments@2025-03-01" (英語) |
同一性
| 名前 | 形容 | 価値 |
|---|---|---|
| 型 | ID の種類。 これは、システム割り当て ID またはユーザー割り当て ID をリソースに追加するときに必要な唯一のフィールドです。 | 「なし」 'システム割り当て' 'UserAssigned' |
| userAssignedIdentities (ユーザー割り当て済みアイデンティティ) | ポリシーに関連付けられているユーザー ID。 ユーザー ID ディクショナリ のキー参照は、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}' という形式の ARM リソース ID になります。 | IdentityUserAssignedIdentities の |
IdentityUserAssignedIdentities
| 名前 | 形容 | 価値 |
|---|
NonComplianceメッセージ
| 名前 | 形容 | 価値 |
|---|---|---|
| メッセージ | リソースがポリシーに準拠していない理由を説明するメッセージ。 これは、"拒否" エラー メッセージと、リソースの準拠していないコンプライアンスの結果に表示されます。 | string (必須) |
| policyDefinitionReferenceId (ポリシー定義参照ID) | メッセージの対象となるポリシー セット定義内のポリシー定義参照 ID。 これは、ポリシー割り当てによってポリシー セット定義が割り当てられている場合にのみ適用されます。 これが指定されていない場合、メッセージは、このポリシー割り当てによって割り当てられたすべてのポリシーに適用されます。 | 文字列 |
オーバーライド
| 名前 | 形容 | 価値 |
|---|---|---|
| 種類 | オーバーライドの種類。 | 'definitionVersion' 'policyEffect' |
| セレクター | セレクター式の一覧。 | セレクター[] |
| 価値 | ポリシー プロパティをオーバーライドする値。 | 文字列 |
パラメータ値
| 名前 | 形容 | 価値 |
|---|
パラメータ値値
| 名前 | 形容 | 価値 |
|---|---|---|
| 価値 | パラメーターの値。 | 任意 |
ポリシー割り当てプロパティ
| 名前 | 形容 | 価値 |
|---|---|---|
| アサインメントタイプ | ポリシー割り当ての種類。 指定できる値は、NotSpecified、System、SystemHidden、Custom です。 不変。 | 「カスタム」 '指定されていません' 「システム」 「システム非表示」 |
| definitionバージョン | 使用するポリシー定義のバージョン。 | 文字列 |
| 形容 | このメッセージは、ポリシー違反が発生した場合の応答の一部になります。 | 文字列 |
| ディスプレイ名 | ポリシー割り当ての表示名。 | 文字列 |
| enforcementモード | ポリシー割り当て適用モード。 使用できる値は、既定値、DoNotEnforce、および登録です | デフォルト 「強制しない」 「登録」 |
| メタデータ | ポリシー割り当てのメタデータ。 メタデータはオープン エンド オブジェクトであり、通常はキーと値のペアのコレクションです。 | 任意 |
| nonComplianceメッセージ | リソースがポリシーに準拠していない理由を説明するメッセージ。 | 非コンプライアンスメッセージ[] |
| notScopes (英語) | ポリシーの除外されたスコープ。 | 文字列[] |
| オーバーライド | ポリシー プロパティ値のオーバーライド。 | オーバーライド[] |
| パラメーター | 割り当てられたポリシー ルールのパラメーター値。 キーはパラメーター名です。 | パラメータ値 |
| ポリシー定義ID | 割り当てられているポリシー定義またはポリシー セット定義の ID。 | 文字列 |
| リソースセレクター | リソース のプロパティでポリシーをフィルター処理するリソース セレクターの一覧。 | リソースセレクタ[] |
リソースセレクター
| 名前 | 形容 | 価値 |
|---|---|---|
| 名前 | リソース セレクターの名前。 | 文字列 |
| セレクター | セレクター式の一覧。 | セレクター[] |
セレクタ
| 名前 | 形容 | 価値 |
|---|---|---|
| で | フィルター処理する値の一覧。 | 文字列[] |
| 種類 | セレクターの種類。 | 'policyDefinitionReferenceId' 'リソースロケーション' 'リソースタイプ' 'resourceWithoutLocation' |
| notIn | フィルター処理する値の一覧。 | 文字列[] |
UserAssignedIdentitiesValue (ユーザー割り当て済みアイデンティティ値)
| 名前 | 形容 | 価値 |
|---|
使用例
Terraformサンプル
ポリシー割り当ての展開の基本的な例。
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
azurerm = {
source = "hashicorp/azurerm"
}
}
}
provider "azurerm" {
features {
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "___location" {
type = string
default = "eastus"
}
data "azurerm_client_config" "current" {
}
data "azapi_resource" "subscription" {
type = "Microsoft.Resources/subscriptions@2021-01-01"
resource_id = "/subscriptions/${data.azurerm_client_config.current.subscription_id}"
response_export_values = ["*"]
}
resource "azapi_resource" "policyDefinition" {
type = "Microsoft.Authorization/policyDefinitions@2021-06-01"
parent_id = "/subscriptions/${data.azurerm_client_config.current.subscription_id}"
name = var.resource_name
body = {
properties = {
description = ""
displayName = "my-policy-definition"
mode = "All"
parameters = {
allowedLocations = {
metadata = {
description = "The list of allowed locations for resources."
displayName = "Allowed locations"
strongType = "___location"
}
type = "Array"
}
}
policyRule = {
if = {
not = {
field = "___location"
in = "[parameters('allowedLocations')]"
}
}
then = {
effect = "audit"
}
}
policyType = "Custom"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "policyAssignment" {
type = "Microsoft.Authorization/policyAssignments@2022-06-01"
parent_id = data.azapi_resource.subscription.id
name = var.resource_name
body = {
properties = {
displayName = ""
enforcementMode = "Default"
parameters = {
listOfAllowedLocations = {
value = [
"West Europe",
"West US 2",
"East US 2",
]
}
}
policyDefinitionId = azapi_resource.policyDefinition.id
scope = data.azapi_resource.subscription.id
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}