Policy Definitions - Create Or Update
Tworzy lub aktualizuje definicję zasad w subskrypcji.
Ta operacja tworzy lub aktualizuje definicję zasad w danej subskrypcji o podanej nazwie.
PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}?api-version=2023-04-01
Parametry identyfikatora URI
| Nazwa | W | Wymagane | Typ | Opis |
|---|---|---|---|---|
|
policy
|
path | True |
string pattern: ^[^<>*%&:\?.+/]*[^<>*%&:\?.+/ ]+$ |
Nazwa definicji zasad do utworzenia. |
|
subscription
|
path | True |
string (uuid) |
Identyfikator subskrypcji docelowej. Wartość musi być identyfikatorem UUID. |
|
api-version
|
query | True |
string minLength: 1 |
Wersja interfejsu API do użycia dla tej operacji. |
Treść żądania
| Nazwa | Typ | Opis |
|---|---|---|
| properties.description |
string |
Opis definicji zasad. |
| properties.displayName |
string |
Nazwa wyświetlana definicji zasad. |
| properties.metadata |
object |
Metadane definicji zasad. Metadane są otwartym obiektem końcowym i zazwyczaj jest kolekcją par klucz-wartość. |
| properties.mode |
string |
Tryb definicji zasad. Niektóre przykłady to All, Indexed, Microsoft.KeyVault.Data. |
| properties.parameters |
<string,
Parameter |
Definicje parametrów dla parametrów używanych w regule zasad. Klucze są nazwami parametrów. |
| properties.policyRule |
object |
Reguła zasad. |
| properties.policyType |
Typ definicji zasad. Możliwe wartości to NotSpecified, BuiltIn, Custom i Static. |
|
| properties.version |
string |
Wersja definicji zasad w formacie #.#.# |
| properties.versions |
string[] |
Lista dostępnych wersji dla tej definicji zasad. |
Odpowiedzi
| Nazwa | Typ | Opis |
|---|---|---|
| 201 Created |
Created — zwraca informacje o definicji zasad. |
|
| Other Status Codes |
Odpowiedź na błąd opisująca, dlaczego operacja nie powiodła się. |
Zabezpieczenia
azure_auth
Przepływ protokołu OAuth2 usługi Azure Active Directory.
Typ:
oauth2
Flow:
implicit
Adres URL autoryzacji:
https://login.microsoftonline.com/common/oauth2/authorize
Zakresów
| Nazwa | Opis |
|---|---|
| user_impersonation | personifikacja konta użytkownika |
Przykłady
| Create or update a policy definition |
| Create or update a policy definition with advanced parameters |
Create or update a policy definition
Przykładowe zapytanie
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"
}
}
}
}
}
Przykładowa odpowiedź
{
"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
Przykładowe zapytanie
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"
}
}
}
}
}
Przykładowa odpowiedź
{
"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"
}
}
}
}
}
Definicje
| Nazwa | Opis |
|---|---|
|
Cloud |
Odpowiedź na błąd z operacji zasad. |
|
created |
Typ tożsamości, która utworzyła zasób. |
|
Error |
Dodatkowe informacje o błędzie zarządzania zasobami. |
|
Error |
Odpowiedź na błąd |
| Metadata |
Ogólne metadane parametru. |
|
Parameter |
Definicja parametru, który można podać do zasad. |
|
parameter |
Typ danych parametru. |
|
Policy |
Definicja zasad. |
|
policy |
Typ definicji zasad. Możliwe wartości to NotSpecified, BuiltIn, Custom i Static. |
|
system |
Metadane dotyczące tworzenia i ostatniej modyfikacji zasobu. |
CloudError
Odpowiedź na błąd z operacji zasad.
| Nazwa | Typ | Opis |
|---|---|---|
| error |
Odpowiedź na błąd |
createdByType
Typ tożsamości, która utworzyła zasób.
| Wartość | Opis |
|---|---|
| User | |
| Application | |
| ManagedIdentity | |
| Key |
ErrorAdditionalInfo
Dodatkowe informacje o błędzie zarządzania zasobami.
| Nazwa | Typ | Opis |
|---|---|---|
| info |
object |
Dodatkowe informacje. |
| type |
string |
Dodatkowy typ informacji. |
ErrorResponse
Odpowiedź na błąd
| Nazwa | Typ | Opis |
|---|---|---|
| additionalInfo |
Dodatkowe informacje o błędzie. |
|
| code |
string |
Kod błędu. |
| details |
Szczegóły błędu. |
|
| message |
string |
Komunikat o błędzie. |
| target |
string |
Element docelowy błędu. |
Metadata
Ogólne metadane parametru.
| Nazwa | Typ | Opis |
|---|---|---|
| assignPermissions |
boolean |
Ustaw wartość true, aby witryna Azure Portal utworzyła przypisania ról dla identyfikatora zasobu lub wartości zakresu zasobu tego parametru podczas przypisywania zasad. Ta właściwość jest przydatna w przypadku, gdy chcesz przypisać uprawnienia poza zakresem przypisania. |
| description |
string |
Opis parametru. |
| displayName |
string |
Nazwa wyświetlana parametru. |
| strongType |
string |
Używane podczas przypisywania definicji zasad za pośrednictwem portalu. Udostępnia kontekstową listę wartości do wyboru przez użytkownika. |
ParameterDefinitionsValue
Definicja parametru, który można podać do zasad.
| Nazwa | Typ | Opis |
|---|---|---|
| allowedValues |
object[] |
Dozwolone wartości parametru. |
| defaultValue |
object |
Wartość domyślna parametru, jeśli nie podano żadnej wartości. |
| metadata |
Ogólne metadane parametru. |
|
| schema |
object |
Zapewnia walidację danych wejściowych parametrów podczas przypisywania przy użyciu schematu JSON zdefiniowanego samodzielnie. Ta właściwość jest obsługiwana tylko dla parametrów typu obiektu i jest zgodna z implementacją Json.NET Schema 2019-09. Aby dowiedzieć się więcej na temat używania schematów, zobacz https://json-schema.org/ i testowanie schematów roboczych w witrynie https://www.jsonschemavalidator.net/. |
| type |
Typ danych parametru. |
parameterType
Typ danych parametru.
| Wartość | Opis |
|---|---|
| String | |
| Array | |
| Object | |
| Boolean | |
| Integer | |
| Float | |
| DateTime |
PolicyDefinition
Definicja zasad.
| Nazwa | Typ | Wartość domyślna | Opis |
|---|---|---|---|
| id |
string |
Identyfikator definicji zasad. |
|
| name |
string |
Nazwa definicji zasad. |
|
| properties.description |
string |
Opis definicji zasad. |
|
| properties.displayName |
string |
Nazwa wyświetlana definicji zasad. |
|
| properties.metadata |
object |
Metadane definicji zasad. Metadane są otwartym obiektem końcowym i zazwyczaj jest kolekcją par klucz-wartość. |
|
| properties.mode |
string |
Indexed |
Tryb definicji zasad. Niektóre przykłady to All, Indexed, Microsoft.KeyVault.Data. |
| properties.parameters |
<string,
Parameter |
Definicje parametrów dla parametrów używanych w regule zasad. Klucze są nazwami parametrów. |
|
| properties.policyRule |
object |
Reguła zasad. |
|
| properties.policyType |
Typ definicji zasad. Możliwe wartości to NotSpecified, BuiltIn, Custom i Static. |
||
| properties.version |
string |
Wersja definicji zasad w formacie #.#.# |
|
| properties.versions |
string[] |
Lista dostępnych wersji dla tej definicji zasad. |
|
| systemData |
Metadane systemowe odnoszące się do tego zasobu. |
||
| type |
string |
Typ zasobu (Microsoft.Authorization/policyDefinitions). |
policyType
Typ definicji zasad. Możliwe wartości to NotSpecified, BuiltIn, Custom i Static.
| Wartość | Opis |
|---|---|
| NotSpecified | |
| BuiltIn | |
| Custom | |
| Static |
systemData
Metadane dotyczące tworzenia i ostatniej modyfikacji zasobu.
| Nazwa | Typ | Opis |
|---|---|---|
| createdAt |
string (date-time) |
Sygnatura czasowa tworzenia zasobu (UTC). |
| createdBy |
string |
Tożsamość, która utworzyła zasób. |
| createdByType |
Typ tożsamości, która utworzyła zasób. |
|
| lastModifiedAt |
string (date-time) |
Znacznik czasu ostatniej modyfikacji zasobu (UTC) |
| lastModifiedBy |
string |
Tożsamość, która ostatnio zmodyfikowała zasób. |
| lastModifiedByType |
Typ tożsamości, która ostatnio zmodyfikowała zasób. |