Поделиться через


Policy Definitions - Create Or Update

Создает или обновляет определение политики в подписке.
Эта операция создает или обновляет определение политики в данной подписке с заданным именем.

PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}?api-version=2023-04-01

Параметры URI

Имя В Обязательно Тип Описание
policyDefinitionName
path True

string

pattern: ^[^<>*%&:\?.+/]*[^<>*%&:\?.+/ ]+$

Имя создаваемого определения политики.

subscriptionId
path True

string (uuid)

Идентификатор целевой подписки. Значение должно быть UUID.

api-version
query True

string

minLength: 1

Версия API, используемая для этой операции.

Текст запроса

Имя Тип Описание
properties.description

string

Описание определения политики.

properties.displayName

string

Отображаемое имя определения политики.

properties.metadata

object

Метаданные определения политики. Метаданные — это открытый завершенный объект, который обычно представляет собой коллекцию пар значений ключей.

properties.mode

string

Режим определения политики. Ниже приведены примеры All, Indexed, Microsoft.KeyVault.Data.

properties.parameters

<string,  ParameterDefinitionsValue>

Определения параметров для параметров, используемых в правиле политики. Ключи — это имена параметров.

properties.policyRule

object

Правило политики.

properties.policyType

policyType

Тип определения политики. Возможные значения: NotSpecified, BuiltIn, Custom и Static.

properties.version

string

Версия определения политики в формате #.#.#

properties.versions

string[]

Список доступных версий для этого определения политики.

Ответы

Имя Тип Описание
201 Created

PolicyDefinition

Создано — возвращает сведения о определении политики.

Other Status Codes

CloudError

Ответ на ошибку, описывающий причину сбоя операции.

Безопасность

azure_auth

Поток OAuth2 Azure Active Directory.

Тип: oauth2
Flow: implicit
URL-адрес авторизации: https://login.microsoftonline.com/common/oauth2/authorize

Области

Имя Описание
user_impersonation олицетворения учетной записи пользователя

Примеры

Create or update a policy definition
Create or update a policy definition with advanced parameters

Create or update a policy definition

Образец запроса

PUT https://management.azure.com/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming?api-version=2023-04-01

{
  "properties": {
    "mode": "All",
    "displayName": "Enforce resource naming convention",
    "description": "Force resource names to begin with given 'prefix' and/or end with given 'suffix'",
    "metadata": {
      "category": "Naming"
    },
    "policyRule": {
      "if": {
        "not": {
          "field": "name",
          "like": "[concat(parameters('prefix'), '*', parameters('suffix'))]"
        }
      },
      "then": {
        "effect": "deny"
      }
    },
    "parameters": {
      "prefix": {
        "type": "String",
        "metadata": {
          "displayName": "Prefix",
          "description": "Resource name prefix"
        }
      },
      "suffix": {
        "type": "String",
        "metadata": {
          "displayName": "Suffix",
          "description": "Resource name suffix"
        }
      }
    }
  }
}

Пример ответа

{
  "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
  "type": "Microsoft.Authorization/policyDefinitions",
  "name": "ResourceNaming",
  "properties": {
    "mode": "All",
    "displayName": "Naming Convention",
    "description": "Force resource names to begin with 'prefix' and end with 'suffix'",
    "metadata": {
      "category": "Naming"
    },
    "version": "1.2.1",
    "versions": [
      "1.2.1",
      "1.0.0"
    ],
    "policyRule": {
      "if": {
        "not": {
          "field": "name",
          "like": "[concat(parameters('prefix'), '*', parameters('suffix'))]"
        }
      },
      "then": {
        "effect": "deny"
      }
    },
    "parameters": {
      "prefix": {
        "type": "String",
        "metadata": {
          "displayName": "Prefix",
          "description": "Resource name prefix"
        }
      },
      "suffix": {
        "type": "String",
        "metadata": {
          "displayName": "Suffix",
          "description": "Resource name suffix"
        }
      }
    },
    "policyType": "Custom"
  }
}

Create or update a policy definition with advanced parameters

Образец запроса

PUT https://management.azure.com/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/EventHubDiagnosticLogs?api-version=2023-04-01

{
  "properties": {
    "mode": "Indexed",
    "displayName": "Event Hubs should have diagnostic logging enabled",
    "description": "Audit enabling of logs and retain them up to a year. This enables recreation of activity trails for investigation purposes when a security incident occurs or your network is compromised",
    "metadata": {
      "category": "Event Hub"
    },
    "policyRule": {
      "if": {
        "field": "type",
        "equals": "Microsoft.EventHub/namespaces"
      },
      "then": {
        "effect": "AuditIfNotExists",
        "details": {
          "type": "Microsoft.Insights/diagnosticSettings",
          "existenceCondition": {
            "allOf": [
              {
                "field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.enabled",
                "equals": "true"
              },
              {
                "field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.days",
                "equals": "[parameters('requiredRetentionDays')]"
              }
            ]
          }
        }
      }
    },
    "parameters": {
      "requiredRetentionDays": {
        "type": "Integer",
        "defaultValue": 365,
        "allowedValues": [
          0,
          30,
          90,
          180,
          365
        ],
        "metadata": {
          "displayName": "Required retention (days)",
          "description": "The required diagnostic logs retention in days"
        }
      }
    }
  }
}

Пример ответа

{
  "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
  "type": "Microsoft.Authorization/policyDefinitions",
  "name": "ResourceNaming",
  "properties": {
    "mode": "Indexed",
    "displayName": "Event Hubs should have diagnostic logging enabled",
    "description": "Audit enabling of logs and retain them up to a year. This enables recreation of activity trails for investigation purposes when a security incident occurs or your network is compromised",
    "metadata": {
      "category": "Event Hub"
    },
    "version": "1.2.1",
    "versions": [
      "1.2.1",
      "1.0.0"
    ],
    "policyRule": {
      "if": {
        "field": "type",
        "equals": "Microsoft.EventHub/namespaces"
      },
      "then": {
        "effect": "AuditIfNotExists",
        "details": {
          "type": "Microsoft.Insights/diagnosticSettings",
          "existenceCondition": {
            "allOf": [
              {
                "field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.enabled",
                "equals": "true"
              },
              {
                "field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.days",
                "equals": "[parameters('requiredRetentionDays')]"
              }
            ]
          }
        }
      }
    },
    "parameters": {
      "requiredRetentionDays": {
        "type": "Integer",
        "defaultValue": 365,
        "allowedValues": [
          0,
          30,
          90,
          180,
          365
        ],
        "metadata": {
          "displayName": "Required retention (days)",
          "description": "The required diagnostic logs retention in days"
        }
      }
    }
  }
}

Определения

Имя Описание
CloudError

Ответ на ошибку из операции политики.

createdByType

Тип удостоверения, создавшего ресурс.

ErrorAdditionalInfo

Дополнительные сведения об ошибке управления ресурсами.

ErrorResponse

Ответ на ошибку

Metadata

Общие метаданные параметра.

ParameterDefinitionsValue

Определение параметра, который может быть предоставлен политике.

parameterType

Тип данных параметра.

PolicyDefinition

Определение политики.

policyType

Тип определения политики. Возможные значения: NotSpecified, BuiltIn, Custom и Static.

systemData

Метаданные, относящиеся к созданию и последнему изменении ресурса.

CloudError

Ответ на ошибку из операции политики.

Имя Тип Описание
error

ErrorResponse

Ответ на ошибку
Распространенный ответ об ошибке для всех API Azure Resource Manager для возврата сведений об ошибке для неудачных операций. (Это также следует формату ответа на ошибку OData.)

createdByType

Тип удостоверения, создавшего ресурс.

Значение Описание
User
Application
ManagedIdentity
Key

ErrorAdditionalInfo

Дополнительные сведения об ошибке управления ресурсами.

Имя Тип Описание
info

object

Дополнительные сведения.

type

string

Дополнительный тип сведений.

ErrorResponse

Ответ на ошибку

Имя Тип Описание
additionalInfo

ErrorAdditionalInfo[]

Дополнительные сведения об ошибке.

code

string

Код ошибки.

details

ErrorResponse[]

Сведения об ошибке.

message

string

Сообщение об ошибке.

target

string

Целевой объект ошибки.

Metadata

Общие метаданные параметра.

Имя Тип Описание
assignPermissions

boolean

Задайте значение true, чтобы портал Azure создавал назначения ролей для идентификатора ресурса или значения области ресурса этого параметра во время назначения политики. Это свойство полезно, если вы хотите назначить разрешения за пределами области назначения.

description

string

Описание параметра.

displayName

string

Отображаемое имя параметра.

strongType

string

Используется при назначении определения политики через портал. Предоставляет контекстный список значений, которые пользователь выбирает.

ParameterDefinitionsValue

Определение параметра, который может быть предоставлен политике.

Имя Тип Описание
allowedValues

object[]

Допустимые значения параметра.

defaultValue

object

Значение по умолчанию для параметра, если значение не указано.

metadata

Metadata

Общие метаданные параметра.

schema

object

Обеспечивает проверку входных данных параметров во время назначения с помощью самоопределимой схемы JSON. Это свойство поддерживается только для параметров типа объекта и следует реализации Json.NET schema 2019-09. Дополнительные сведения об использовании схем см. в https://json-schema.org/ и тестировании черновиков схем на https://www.jsonschemavalidator.net/.

type

parameterType

Тип данных параметра.

parameterType

Тип данных параметра.

Значение Описание
String
Array
Object
Boolean
Integer
Float
DateTime

PolicyDefinition

Определение политики.

Имя Тип Default value Описание
id

string

Идентификатор определения политики.

name

string

Имя определения политики.

properties.description

string

Описание определения политики.

properties.displayName

string

Отображаемое имя определения политики.

properties.metadata

object

Метаданные определения политики. Метаданные — это открытый завершенный объект, который обычно представляет собой коллекцию пар значений ключей.

properties.mode

string

Indexed

Режим определения политики. Ниже приведены примеры All, Indexed, Microsoft.KeyVault.Data.

properties.parameters

<string,  ParameterDefinitionsValue>

Определения параметров для параметров, используемых в правиле политики. Ключи — это имена параметров.

properties.policyRule

object

Правило политики.

properties.policyType

policyType

Тип определения политики. Возможные значения: NotSpecified, BuiltIn, Custom и Static.

properties.version

string

Версия определения политики в формате #.#.#

properties.versions

string[]

Список доступных версий для этого определения политики.

systemData

systemData

Системные метаданные, относящиеся к этому ресурсу.

type

string

Тип ресурса (Microsoft.Authorization/policyDefinitions).

policyType

Тип определения политики. Возможные значения: NotSpecified, BuiltIn, Custom и Static.

Значение Описание
NotSpecified
BuiltIn
Custom
Static

systemData

Метаданные, относящиеся к созданию и последнему изменении ресурса.

Имя Тип Описание
createdAt

string (date-time)

Метка времени создания ресурса (UTC).

createdBy

string

Удостоверение, создающее ресурс.

createdByType

createdByType

Тип удостоверения, создавшего ресурс.

lastModifiedAt

string (date-time)

Метка времени последнего изменения ресурса (UTC)

lastModifiedBy

string

Идентификатор, который последний раз изменил ресурс.

lastModifiedByType

createdByType

Тип удостоверения, который последний раз изменил ресурс.