Pricings - Update
Mises à jour un Microsoft Defender fourni pour la configuration de la tarification cloud dans l’étendue. Les étendues valides sont : l’ID d’abonnement ou un ID de ressource spécifique (les ressources prises en charge sont : « Machines Virtuelles, VMSS et ARC » et uniquement pour plan='VirtualMachines' et subPlan='P1').
PUT https://management.azure.com/{scopeId}/providers/Microsoft.Security/pricings/{pricingName}?api-version=2024-01-01
Paramètres URI
Nom | Dans | Obligatoire | Type | Description |
---|---|---|---|---|
pricing
|
path | True |
string |
nom de la configuration de tarification |
scope
|
path | True |
string |
ID d’étendue de la tarification. Les étendues valides sont : abonnement (format : « subscriptions/{subscriptionId} ») ou une ressource spécifique (format : « subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}) - Les ressources prises en charge sont (VirtualMachines) |
api-version
|
query | True |
string |
Version de l’API pour l’opération |
Corps de la demande
Nom | Obligatoire | Type | Description |
---|---|---|---|
properties.pricingTier | True |
Indique si le plan Defender est activé sur l’étendue sélectionnée. Microsoft Defender pour le cloud est fourni en deux niveaux tarifaires : gratuit et standard. Le niveau standard offre des fonctionnalités de sécurité avancées, tandis que le niveau gratuit offre des fonctionnalités de sécurité de base. |
|
properties.enforce |
Si la valeur est « False », elle permet aux descendants de cette étendue de remplacer la configuration de tarification définie sur cette étendue (autorise la définition de inherited="False »). Si elle est définie sur « True », elle empêche les remplacements et force cette configuration de tarification sur tous les descendants de cette étendue. Ce champ n’est disponible que pour la tarification au niveau de l’abonnement. |
||
properties.extensions |
facultatif. Liste des extensions proposées dans le cadre d’un plan. |
||
properties.subPlan |
string |
Sous-plan sélectionné pour une configuration de tarification Standard, lorsque plusieurs sous-plans sont disponibles. Chaque sous-plan active un ensemble de fonctionnalités de sécurité. Lorsqu’il n’est pas spécifié, le plan complet est appliqué. Pour le plan VirtualMachines, les sous-plans disponibles sont « P1 » & « P2 », où pour le niveau de ressource, seul le sous-plan « P1 » est pris en charge. |
Réponses
Nom | Type | Description |
---|---|---|
200 OK |
Mise à jour réussie |
|
201 Created |
Création réussie. |
|
Other Status Codes |
Réponse d’erreur décrivant la raison de l’échec de l’opération. |
Sécurité
azure_auth
Flux OAuth2 Azure Active Directory
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Nom | Description |
---|---|
user_impersonation | Emprunter l’identité de votre compte d’utilisateur |
Exemples
Update pricing on resource (example for VirtualMachines plan)
Sample Request
PUT https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/DEMO/providers/Microsoft.Compute/virtualMachines/VM-1/providers/Microsoft.Security/pricings/virtualMachines?api-version=2024-01-01
{
"properties": {
"pricingTier": "Standard",
"subPlan": "P1"
}
}
Sample Response
{
"id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/DEMO/providers/Microsoft.Compute/virtualMachines/VM-1/providers/Microsoft.Security/pricings/virtualMachines",
"name": "virtualMachines",
"type": "Microsoft.Security/pricings",
"properties": {
"pricingTier": "Standard",
"subPlan": "P1",
"freeTrialRemainingTime": "PT0S",
"enablementTime": "2023-03-01T12:42:42.1921106Z",
"inherited": "False",
"inheritedFrom": null,
"extensions": [
{
"name": "MdeDesignatedSubscription",
"isEnabled": "False"
},
{
"name": "AgentlessVmScanning",
"isEnabled": "True",
"additionalExtensionProperties": {
"ExclusionTags": "[{\"Key\":\"TestKey1\",\"Value\":\"TestValue1\"},{\"Key\":\"TestKey2\",\"Value\":\"TestValue2\"}]"
}
}
]
}
}
{
"id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/DEMO/providers/Microsoft.Compute/virtualMachines/VM-1/providers/Microsoft.Security/pricings/virtualMachines",
"name": "virtualMachines",
"type": "Microsoft.Security/pricings",
"properties": {
"pricingTier": "Standard",
"subPlan": "P1",
"freeTrialRemainingTime": "PT0S",
"enablementTime": "2023-03-01T12:42:42.1921106Z",
"inherited": "False",
"inheritedFrom": null,
"extensions": [
{
"name": "MdeDesignatedSubscription",
"isEnabled": "False"
},
{
"name": "AgentlessVmScanning",
"isEnabled": "True",
"additionalExtensionProperties": {
"ExclusionTags": "[{'Key':'TestKey1','Value':'TestValue1'},{'Key':'TestKey2','Value':'TestValue2'}]"
}
}
]
}
}
Update pricing on subscription (example for CloudPosture plan)
Sample Request
Sample Response
{
"id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/CloudPosture",
"name": "CloudPosture",
"type": "Microsoft.Security/pricings",
"properties": {
"pricingTier": "Standard",
"freeTrialRemainingTime": "PT0S",
"enablementTime": "2023-03-01T12:42:42.1921106Z",
"enforce": "False",
"resourcesCoverageStatus": "FullyCovered",
"extensions": [
{
"name": "AgentlessVmScanning",
"isEnabled": "True",
"operationStatus": {
"code": "Succeeded",
"message": "Successfully enabled extension"
}
},
{
"name": "AgentlessDiscoveryForKubernetes",
"isEnabled": "True",
"operationStatus": {
"code": "Succeeded",
"message": "Successfully enabled extension"
}
},
{
"name": "SensitiveDataDiscovery",
"isEnabled": "True",
"operationStatus": {
"code": "Succeeded",
"message": "Successfully enabled extension"
}
},
{
"name": "ContainerRegistriesVulnerabilityAssessments",
"isEnabled": "True",
"operationStatus": {
"code": "Succeeded",
"message": "Successfully enabled extension"
}
},
{
"name": "EntraPermissionsManagement",
"isEnabled": "True",
"operationStatus": {
"code": "Succeeded",
"message": "Successfully enabled extension"
}
}
]
}
}
{
"id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/CloudPosture",
"name": "CloudPosture",
"type": "Microsoft.Security/pricings",
"properties": {
"pricingTier": "Standard",
"freeTrialRemainingTime": "PT0S",
"enablementTime": "2023-03-01T12:42:42.1921106Z",
"enforce": "False",
"resourcesCoverageStatus": "FullyCovered",
"extensions": [
{
"name": "AgentlessVmScanning",
"isEnabled": "True",
"operationStatus": {
"code": "Succeeded",
"message": "Successfully enabled extension"
}
},
{
"name": "AgentlessDiscoveryForKubernetes",
"isEnabled": "True",
"operationStatus": {
"code": "Succeeded",
"message": "Successfully enabled extension"
}
},
{
"name": "SensitiveDataDiscovery",
"isEnabled": "True",
"operationStatus": {
"code": "Succeeded",
"message": "Successfully enabled extension"
}
},
{
"name": "ContainerRegistriesVulnerabilityAssessments",
"isEnabled": "True",
"operationStatus": {
"code": "Succeeded",
"message": "Successfully enabled extension"
}
},
{
"name": "EntraPermissionsManagement",
"isEnabled": "True",
"operationStatus": {
"code": "Succeeded",
"message": "Successfully enabled extension"
}
}
]
}
}
Update pricing on subscription (example for CloudPosture plan) - partial success
Sample Request
Sample Response
{
"id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/CloudPosture",
"name": "CloudPosture",
"type": "Microsoft.Security/pricings",
"properties": {
"pricingTier": "Standard",
"freeTrialRemainingTime": "PT0S",
"enablementTime": "2023-03-01T12:42:42.1921106Z",
"enforce": "False",
"resourcesCoverageStatus": "FullyCovered",
"extensions": [
{
"name": "AgentlessVmScanning",
"isEnabled": "True",
"operationStatus": {
"code": "Failed",
"message": "Failed find dedicated first party application client ID for extension"
}
},
{
"name": "AgentlessDiscoveryForKubernetes",
"isEnabled": "True",
"operationStatus": {
"code": "Failed",
"message": "Failed assigning roles {d5a2ae44-610b-4500-93be-660a0c5f5ca6} to {identityName} for plan"
}
},
{
"name": "SensitiveDataDiscovery",
"isEnabled": "True",
"operationStatus": {
"code": "Failed",
"message": "Failed assigning roles {f58310d9-a9f6-439a-9e8d-f62e7b41a168} to {identityName} for plan"
}
},
{
"name": "ContainerRegistriesVulnerabilityAssessments",
"isEnabled": "True",
"operationStatus": {
"code": "Succeeded",
"message": "Successfully enabled extension"
}
},
{
"name": "EntraPermissionsManagement",
"isEnabled": "True",
"operationStatus": {
"code": "Succeeded",
"message": "Successfully enabled extension"
}
}
]
}
}
{
"id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/CloudPosture",
"name": "CloudPosture",
"type": "Microsoft.Security/pricings",
"properties": {
"pricingTier": "Standard",
"freeTrialRemainingTime": "PT0S",
"enablementTime": "2023-03-01T12:42:42.1921106Z",
"enforce": "False",
"resourcesCoverageStatus": "FullyCovered",
"extensions": [
{
"name": "AgentlessVmScanning",
"isEnabled": "True",
"operationStatus": {
"code": "Failed",
"message": "Failed find dedicated first party application client ID for extension"
}
},
{
"name": "AgentlessDiscoveryForKubernetes",
"isEnabled": "True",
"operationStatus": {
"code": "Failed",
"message": "Failed assigning roles {d5a2ae44-610b-4500-93be-660a0c5f5ca6} to {identityName} for plan"
}
},
{
"name": "SensitiveDataDiscovery",
"isEnabled": "True",
"operationStatus": {
"code": "Failed",
"message": "Failed assigning roles {f58310d9-a9f6-439a-9e8d-f62e7b41a168} to {identityName} for plan"
}
},
{
"name": "ContainerRegistriesVulnerabilityAssessments",
"isEnabled": "True",
"operationStatus": {
"code": "Succeeded",
"message": "Successfully enabled extension"
}
},
{
"name": "EntraPermissionsManagement",
"isEnabled": "True",
"operationStatus": {
"code": "Succeeded",
"message": "Successfully enabled extension"
}
}
]
}
}
Update pricing on subscription (example for VirtualMachines plan)
Sample Request
Sample Response
{
"id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/VirtualMachines",
"name": "VirtualMachines",
"type": "Microsoft.Security/pricings",
"properties": {
"pricingTier": "Standard",
"subPlan": "P2",
"freeTrialRemainingTime": "PT0S",
"enablementTime": "2023-03-01T12:42:42.1921106Z",
"enforce": "True",
"resourcesCoverageStatus": "FullyCovered",
"extensions": [
{
"name": "MdeDesignatedSubscription",
"isEnabled": "False"
},
{
"name": "AgentlessVmScanning",
"isEnabled": "True",
"additionalExtensionProperties": {
"ExclusionTags": "[{\"Key\":\"TestKey1\",\"Value\":\"TestValue1\"},{\"Key\":\"TestKey2\",\"Value\":\"TestValue2\"}]"
},
"operationStatus": {
"code": "Succeeded",
"message": "Successfully enabled extension"
}
}
]
}
}
{
"id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/VirtualMachines",
"name": "VirtualMachines",
"type": "Microsoft.Security/pricings",
"properties": {
"pricingTier": "Standard",
"subPlan": "P2",
"freeTrialRemainingTime": "PT0S",
"enablementTime": "2023-03-01T12:42:42.1921106Z",
"enforce": "True",
"resourcesCoverageStatus": "FullyCovered",
"extensions": [
{
"name": "MdeDesignatedSubscription",
"isEnabled": "False"
},
{
"name": "AgentlessVmScanning",
"isEnabled": "True",
"additionalExtensionProperties": {
"ExclusionTags": "[{\"Key\":\"TestKey1\",\"Value\":\"TestValue1\"},{\"Key\":\"TestKey2\",\"Value\":\"TestValue2\"}]"
},
"operationStatus": {
"code": "Succeeded",
"message": "Successfully enabled extension"
}
}
]
}
}
Définitions
Nom | Description |
---|---|
Cloud |
Réponse d’erreur courante pour toutes les API Azure Resource Manager pour retourner les détails de l’erreur concernant les opérations ayant échoué. (Cela suit également le format de réponse d’erreur OData.). |
Cloud |
Détail de l’erreur. |
code |
Opération status code. |
enforce |
Si la valeur est « False », elle permet aux descendants de cette étendue de remplacer la configuration de tarification définie sur cette étendue (autorise la définition de inherited="False »). Si elle est définie sur « True », elle empêche les remplacements et force cette configuration de tarification sur tous les descendants de cette étendue. Ce champ n’est disponible que pour la tarification au niveau de l’abonnement. |
Error |
Informations supplémentaires sur l’erreur de gestion des ressources. |
Extension |
Propriétés d’extension d’un plan |
inherited |
« inherited » = « True » indique que l’étendue actuelle hérite de sa configuration de tarification de son parent. L’ID de l’étendue parente qui fournit la configuration héritée s’affiche dans le champ « inheritedFrom ». En revanche, « inherited » = « False » indique que l’étendue actuelle a sa propre configuration de tarification définie explicitement et n’hérite pas de son parent. Ce champ est en lecture seule et disponible uniquement pour la tarification au niveau des ressources. |
is |
Indique si l’extension est activée. |
Operation |
Un status décrivant la réussite/l’échec de l’opération d’activation/désactivation de l’extension. |
Pricing |
Microsoft Defender pour le cloud est fourni en deux niveaux tarifaires : gratuit et standard. Le niveau standard offre des fonctionnalités de sécurité avancées, tandis que le niveau gratuit offre des fonctionnalités de sécurité de base. |
pricing |
Indique si le plan Defender est activé sur l’étendue sélectionnée. Microsoft Defender pour le cloud est fourni en deux niveaux tarifaires : gratuit et standard. Le niveau standard offre des fonctionnalités de sécurité avancées, tandis que le niveau gratuit offre des fonctionnalités de sécurité de base. |
resources |
Ce champ est disponible uniquement au niveau de l’abonnement et reflète la couverture status des ressources de l’abonnement. Remarque : le champ « pricingTier » reflète le plan status de l’abonnement. Toutefois, étant donné que le plan status peut également être défini au niveau de la ressource, il peut y avoir un mauvais alignement entre les status de plan de l’abonnement et les status de ressources. Ce champ permet d’indiquer la couverture status des ressources. |
CloudError
Réponse d’erreur courante pour toutes les API Azure Resource Manager pour retourner les détails de l’erreur concernant les opérations ayant échoué. (Cela suit également le format de réponse d’erreur OData.).
Nom | Type | Description |
---|---|---|
error.additionalInfo |
Informations supplémentaires sur l’erreur. |
|
error.code |
string |
Code d'erreur. |
error.details |
Détails de l’erreur. |
|
error.message |
string |
Message d’erreur. |
error.target |
string |
Cible d’erreur. |
CloudErrorBody
Détail de l’erreur.
Nom | Type | Description |
---|---|---|
additionalInfo |
Informations supplémentaires sur l’erreur. |
|
code |
string |
Code d'erreur. |
details |
Détails de l’erreur. |
|
message |
string |
Message d’erreur. |
target |
string |
Cible d’erreur. |
code
Opération status code.
Nom | Type | Description |
---|---|---|
Failed |
string |
L’extension n’a pas été créée/mise à jour avec succès. Pour plus d’informations, consultez le message d’status d’opération. |
Succeeded |
string |
L’extension a été créée/mise à jour avec succès. |
enforce
Si la valeur est « False », elle permet aux descendants de cette étendue de remplacer la configuration de tarification définie sur cette étendue (autorise la définition de inherited="False »). Si elle est définie sur « True », elle empêche les remplacements et force cette configuration de tarification sur tous les descendants de cette étendue. Ce champ n’est disponible que pour la tarification au niveau de l’abonnement.
Nom | Type | Description |
---|---|---|
False |
string |
Permet aux descendants de cette étendue de remplacer la configuration de tarification définie sur cette étendue (autorise la définition de inherited="False ») |
True |
string |
Empêche les remplacements et force la configuration tarifaire de l’étendue actuelle à tous les descendants |
ErrorAdditionalInfo
Informations supplémentaires sur l’erreur de gestion des ressources.
Nom | Type | Description |
---|---|---|
info |
object |
Informations supplémentaires |
type |
string |
Type d’informations supplémentaires. |
Extension
Propriétés d’extension d’un plan
Nom | Type | Description |
---|---|---|
additionalExtensionProperties |
Valeurs de propriété associées à l’extension. |
|
isEnabled |
Indique si l’extension est activée. |
|
name |
string |
Nom de l'extension. Les valeurs prises en charge sont les suivantes : |
operationStatus |
facultatif. Un status décrivant la réussite/l’échec de l’opération d’activation/désactivation de l’extension. |
inherited
« inherited » = « True » indique que l’étendue actuelle hérite de sa configuration de tarification de son parent. L’ID de l’étendue parente qui fournit la configuration héritée s’affiche dans le champ « inheritedFrom ». En revanche, « inherited » = « False » indique que l’étendue actuelle a sa propre configuration de tarification définie explicitement et n’hérite pas de son parent. Ce champ est en lecture seule et disponible uniquement pour la tarification au niveau des ressources.
Nom | Type | Description |
---|---|---|
False |
string |
Indique que l’étendue actuelle définit sa propre configuration de tarification et n’hérite pas de son parent |
True |
string |
Indique que l’étendue actuelle hérite de sa configuration de tarification de son parent |
isEnabled
Indique si l’extension est activée.
Nom | Type | Description |
---|---|---|
False |
string |
Indique que l’extension est désactivée |
True |
string |
Indique que l’extension est activée |
OperationStatus
Un status décrivant la réussite/l’échec de l’opération d’activation/désactivation de l’extension.
Nom | Type | Description |
---|---|---|
code |
Opération status code. |
|
message |
string |
Informations supplémentaires concernant la réussite/l’échec de l’opération. |
Pricing
Microsoft Defender pour le cloud est fourni en deux niveaux tarifaires : gratuit et standard. Le niveau standard offre des fonctionnalités de sécurité avancées, tandis que le niveau gratuit offre des fonctionnalités de sécurité de base.
Nom | Type | Description |
---|---|---|
id |
string |
ID de ressource |
name |
string |
Nom de la ressource |
properties.deprecated |
boolean |
facultatif. True si le plan est déconseillé. S’il existe des plans de remplacement, ils apparaîtront dans la |
properties.enablementTime |
string |
facultatif. Si |
properties.enforce |
Si la valeur est « False », elle permet aux descendants de cette étendue de remplacer la configuration de tarification définie sur cette étendue (autorise la définition de inherited="False »). Si elle est définie sur « True », elle empêche les remplacements et force cette configuration de tarification sur tous les descendants de cette étendue. Ce champ n’est disponible que pour la tarification au niveau de l’abonnement. |
|
properties.extensions |
facultatif. Liste des extensions proposées dans le cadre d’un plan. |
|
properties.freeTrialRemainingTime |
string |
Durée restante pour la période d’essai gratuite des abonnements - au format ISO 8601 (par exemple, P3Y6M4DT12H30M5S). |
properties.inherited |
« inherited » = « True » indique que l’étendue actuelle hérite de sa configuration de tarification de son parent. L’ID de l’étendue parente qui fournit la configuration héritée s’affiche dans le champ « inheritedFrom ». En revanche, « inherited » = « False » indique que l’étendue actuelle a sa propre configuration de tarification définie explicitement et n’hérite pas de son parent. Ce champ est en lecture seule et disponible uniquement pour la tarification au niveau des ressources. |
|
properties.inheritedFrom |
string |
ID de l’étendue héritée. « Null » s’il n’est pas hérité. Ce champ est disponible uniquement pour la tarification au niveau des ressources. |
properties.pricingTier |
Indique si le plan Defender est activé sur l’étendue sélectionnée. Microsoft Defender pour le cloud est fourni en deux niveaux tarifaires : gratuit et standard. Le niveau standard offre des fonctionnalités de sécurité avancées, tandis que le niveau gratuit offre des fonctionnalités de sécurité de base. |
|
properties.replacedBy |
string[] |
facultatif. Liste des plans qui remplacent ce plan. Cette propriété existe uniquement si ce plan est déprécié. |
properties.resourcesCoverageStatus |
Ce champ est disponible uniquement au niveau de l’abonnement et reflète la couverture status des ressources de l’abonnement. Remarque : le champ « pricingTier » reflète le plan status de l’abonnement. Toutefois, étant donné que le plan status peut également être défini au niveau de la ressource, il peut y avoir un mauvais alignement entre les status de plan de l’abonnement et les status de ressources. Ce champ permet d’indiquer la couverture status des ressources. |
|
properties.subPlan |
string |
Sous-plan sélectionné pour une configuration de tarification Standard, lorsque plusieurs sous-plans sont disponibles. Chaque sous-plan active un ensemble de fonctionnalités de sécurité. Lorsqu’il n’est pas spécifié, le plan complet est appliqué. Pour le plan VirtualMachines, les sous-plans disponibles sont « P1 » & « P2 », où pour le niveau de ressource, seul le sous-plan « P1 » est pris en charge. |
type |
string |
Type de ressource |
pricingTier
Indique si le plan Defender est activé sur l’étendue sélectionnée. Microsoft Defender pour le cloud est fourni en deux niveaux tarifaires : gratuit et standard. Le niveau standard offre des fonctionnalités de sécurité avancées, tandis que le niveau gratuit offre des fonctionnalités de sécurité de base.
Nom | Type | Description |
---|---|---|
Free |
string |
Obtenir des Microsoft Defender gratuits pour l’expérience cloud avec les fonctionnalités de sécurité de base |
Standard |
string |
Obtenez les Microsoft Defender standard pour l’expérience cloud avec des fonctionnalités de sécurité avancées |
resourcesCoverageStatus
Ce champ est disponible uniquement au niveau de l’abonnement et reflète la couverture status des ressources de l’abonnement. Remarque : le champ « pricingTier » reflète le plan status de l’abonnement. Toutefois, étant donné que le plan status peut également être défini au niveau de la ressource, il peut y avoir un mauvais alignement entre les status de plan de l’abonnement et les status de ressources. Ce champ permet d’indiquer la couverture status des ressources.
Nom | Type | Description |
---|---|---|
FullyCovered |
string |
Cette valeur indique que le plan Defender est activé pour toutes les ressources associées à l’abonnement. |
NotCovered |
string |
Cette valeur indique que le plan Defender est désactivé pour toutes les ressources de l’abonnement. Aucune des ressources n’est protégée par le plan Defender. |
PartiallyCovered |
string |
Cette valeur indique que le plan Defender est activé pour certaines ressources de l’abonnement, tandis que d’autres l’ont désactivé. Il existe une couverture mixte status entre les ressources. |