Aktualizuje podaną konfigurację cen usługi Microsoft Defender for Cloud w zakresie. Prawidłowe zakresy to: identyfikator subskrypcji lub określony identyfikator zasobu (obsługiwane zasoby to: "VirtualMachines, VMSS i ARC Machines" i tylko dla planu="VirtualMachines" i subPlan='P1').
PUT https://management.azure.com/{scopeId}/providers/Microsoft.Security/pricings/{pricingName}?api-version=2024-01-01
Parametry identyfikatora URI
| Nazwa |
W |
Wymagane |
Typ |
Opis |
|
pricingName
|
path |
True
|
string
|
nazwa konfiguracji cen
|
|
scopeId
|
path |
True
|
string
|
Identyfikator zakresu cennika. Prawidłowe zakresy to: subskrypcja (format: "subscriptions/{subscriptionId}") lub określony zasób (format: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}) — obsługiwane zasoby to (VirtualMachines)
|
|
api-version
|
query |
True
|
string
|
Wersja interfejsu API dla operacji
|
Treść żądania
| Nazwa |
Wymagane |
Typ |
Opis |
|
properties.pricingTier
|
True
|
pricingTier
|
Wskazuje, czy plan usługi Defender jest włączony w wybranym zakresie. Usługa Microsoft Defender for Cloud jest dostępna w dwóch warstwach cenowych: bezpłatna i Standardowa. Warstwa Standardowa oferuje zaawansowane funkcje zabezpieczeń, a warstwa Bezpłatna oferuje podstawowe funkcje zabezpieczeń.
|
|
properties.enforce
|
|
enforce
|
Jeśli ustawiono wartość "Fałsz", umożliwia elementom potomnym tego zakresu zastąpienie konfiguracji cen ustawionej w tym zakresie (zezwala na ustawienie dziedziczone="Fałsz"). Jeśli ustawiono wartość "True", uniemożliwia to przesłonięcia i wymusza tę konfigurację cenową na wszystkich elementach podrzędnych tego zakresu. To pole jest dostępne tylko dla cen na poziomie subskrypcji.
|
|
properties.extensions
|
|
Extension[]
|
Fakultatywny. Lista rozszerzeń oferowanych w ramach planu.
|
|
properties.subPlan
|
|
string
|
Plan podrzędny wybrany dla konfiguracji cen w warstwie Standardowa, jeśli jest dostępny więcej niż jeden plan podrzędny. Każdy podplan umożliwia zestaw funkcji zabezpieczeń. Jeśli nie zostanie określony, zostanie zastosowany pełny plan. W przypadku planu maszyn wirtualnych dostępne plany podrzędne to "P1" & "P2", gdzie dla poziomu zasobów jest obsługiwany tylko plan podrzędny "P1".
|
Odpowiedzi
| Nazwa |
Typ |
Opis |
|
200 OK
|
Pricing
|
Pomyślnie zaktualizowano
|
|
201 Created
|
Pricing
|
Pomyślnie utworzono.
|
|
Other Status Codes
|
CloudError
|
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
Zakresy
| Nazwa |
Opis |
|
user_impersonation
|
personifikacja konta użytkownika
|
Przykłady
Update pricing on resource (example for Containers plan)
Przykładowe żądanie
PUT https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/demo-containers-rg/providers/Microsoft.ContainerService/managedClusters/demo-aks-cluster/providers/Microsoft.Security/pricings/Containers?api-version=2024-01-01
{
"properties": {
"pricingTier": "Standard",
"extensions": [
{
"name": "ContainerRegistriesVulnerabilityAssessments",
"isEnabled": "True"
},
{
"name": "ContainerSensor",
"isEnabled": "True"
},
{
"name": "AgentlessDiscoveryForKubernetes",
"isEnabled": "True"
},
{
"name": "AgentlessVmScanning",
"isEnabled": "True",
"additionalExtensionProperties": {
"ExclusionTags": "[]"
}
},
{
"name": "ContainerIntegrityContribution",
"isEnabled": "True"
}
]
}
}
Przykładowa odpowiedź
{
"id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/demo-containers-rg/providers/Microsoft.ContainerService/managedClusters/demo-aks-cluster/providers/Microsoft.Security/pricings/Containers",
"name": "Containers",
"type": "Microsoft.Security/pricings",
"properties": {
"pricingTier": "Standard",
"freeTrialRemainingTime": "P29DT23H55M",
"enablementTime": "2025-01-14T16:35:12.4567890Z",
"inherited": "False",
"inheritedFrom": null,
"extensions": [
{
"name": "ContainerRegistriesVulnerabilityAssessments",
"isEnabled": "True"
},
{
"name": "ContainerSensor",
"isEnabled": "True"
},
{
"name": "AgentlessDiscoveryForKubernetes",
"isEnabled": "True"
},
{
"name": "AgentlessVmScanning",
"isEnabled": "True",
"additionalExtensionProperties": {
"ExclusionTags": "[]"
}
},
{
"name": "ContainerIntegrityContribution",
"isEnabled": "True"
}
]
}
}
{
"id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/demo-containers-rg/providers/Microsoft.ContainerService/managedClusters/demo-aks-cluster/providers/Microsoft.Security/pricings/Containers",
"name": "Containers",
"type": "Microsoft.Security/pricings",
"properties": {
"pricingTier": "Standard",
"freeTrialRemainingTime": "P30DT0H0M",
"enablementTime": "2025-01-14T16:35:12.4567890Z",
"inherited": "False",
"inheritedFrom": null,
"extensions": [
{
"name": "ContainerRegistriesVulnerabilityAssessments",
"isEnabled": "True"
},
{
"name": "ContainerSensor",
"isEnabled": "True"
},
{
"name": "AgentlessDiscoveryForKubernetes",
"isEnabled": "True"
},
{
"name": "AgentlessVmScanning",
"isEnabled": "True",
"additionalExtensionProperties": {
"ExclusionTags": "[]"
}
},
{
"name": "ContainerIntegrityContribution",
"isEnabled": "True"
}
]
}
}
Update pricing on resource (example for VirtualMachines plan)
Przykładowe żądanie
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"
}
}
import com.azure.resourcemanager.security.fluent.models.PricingInner;
import com.azure.resourcemanager.security.models.PricingTier;
/**
* Samples for Pricings Update.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/
* PutResourcePricingByNameVirtualMachines_example.json
*/
/**
* Sample code: Update pricing on resource (example for VirtualMachines plan).
*
* @param manager Entry point to SecurityManager.
*/
public static void updatePricingOnResourceExampleForVirtualMachinesPlan(
com.azure.resourcemanager.security.SecurityManager manager) {
manager.pricings().updateWithResponse(
"subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/DEMO/providers/Microsoft.Compute/virtualMachines/VM-1",
"virtualMachines", new PricingInner().withPricingTier(PricingTier.STANDARD).withSubPlan("P1"),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.security import SecurityCenter
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-security
# USAGE
python put_resource_pricing_by_name_virtual_machines_example.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = SecurityCenter(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pricings.update(
scope_id="subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/DEMO/providers/Microsoft.Compute/virtualMachines/VM-1",
pricing_name="virtualMachines",
pricing={"properties": {"pricingTier": "Standard", "subPlan": "P1"}},
)
print(response)
# x-ms-original-file: specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/PutResourcePricingByNameVirtualMachines_example.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armsecurity_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/PutResourcePricingByNameVirtualMachines_example.json
func ExamplePricingsClient_Update_updatePricingOnResourceExampleForVirtualMachinesPlan() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPricingsClient().Update(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/DEMO/providers/Microsoft.Compute/virtualMachines/VM-1", "virtualMachines", armsecurity.Pricing{
Properties: &armsecurity.PricingProperties{
PricingTier: to.Ptr(armsecurity.PricingTierStandard),
SubPlan: to.Ptr("P1"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Pricing = armsecurity.Pricing{
// Name: to.Ptr("virtualMachines"),
// Type: to.Ptr("Microsoft.Security/pricings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/DEMO/providers/Microsoft.Compute/virtualMachines/VM-1/providers/Microsoft.Security/pricings/virtualMachines"),
// Properties: &armsecurity.PricingProperties{
// EnablementTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-03-01T12:42:42.192Z"); return t}()),
// FreeTrialRemainingTime: to.Ptr("PT0S"),
// Inherited: to.Ptr(armsecurity.InheritedFalse),
// PricingTier: to.Ptr(armsecurity.PricingTierStandard),
// SubPlan: to.Ptr("P1"),
// Extensions: []*armsecurity.Extension{
// {
// Name: to.Ptr("MdeDesignatedSubscription"),
// IsEnabled: to.Ptr(armsecurity.IsEnabledFalse),
// },
// {
// Name: to.Ptr("AgentlessVmScanning"),
// AdditionalExtensionProperties: map[string]any{
// "ExclusionTags": "[{\"Key\":\"TestKey1\",\"Value\":\"TestValue1\"},{\"Key\":\"TestKey2\",\"Value\":\"TestValue2\"}]",
// },
// IsEnabled: to.Ptr(armsecurity.IsEnabledTrue),
// }},
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { SecurityCenter } = require("@azure/arm-security");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Updates a provided Microsoft Defender for Cloud pricing configuration in the scope. Valid scopes are: subscription id or a specific resource id (Supported resources are: 'VirtualMachines, VMSS and ARC Machines' and only for plan='VirtualMachines' and subPlan='P1').
*
* @summary Updates a provided Microsoft Defender for Cloud pricing configuration in the scope. Valid scopes are: subscription id or a specific resource id (Supported resources are: 'VirtualMachines, VMSS and ARC Machines' and only for plan='VirtualMachines' and subPlan='P1').
* x-ms-original-file: specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/PutResourcePricingByNameVirtualMachines_example.json
*/
async function updatePricingOnResourceExampleForVirtualMachinesPlan() {
const scopeId =
"subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/DEMO/providers/Microsoft.Compute/virtualMachines/VM-1";
const pricingName = "virtualMachines";
const pricing = { pricingTier: "Standard", subPlan: "P1" };
const credential = new DefaultAzureCredential();
const client = new SecurityCenter(credential);
const result = await client.pricings.update(scopeId, pricingName, pricing);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Przykładowa odpowiedź
{
"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)
Przykładowe żądanie
PUT https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/CloudPosture?api-version=2024-01-01
{
"properties": {
"pricingTier": "Standard"
}
}
import com.azure.resourcemanager.security.fluent.models.PricingInner;
import com.azure.resourcemanager.security.models.PricingTier;
/**
* Samples for Pricings Update.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/
* PutPricingByName_example.json
*/
/**
* Sample code: Update pricing on subscription (example for CloudPosture plan).
*
* @param manager Entry point to SecurityManager.
*/
public static void updatePricingOnSubscriptionExampleForCloudPosturePlan(
com.azure.resourcemanager.security.SecurityManager manager) {
manager.pricings().updateWithResponse("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", "CloudPosture",
new PricingInner().withPricingTier(PricingTier.STANDARD), com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.security import SecurityCenter
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-security
# USAGE
python put_pricing_by_name_example.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = SecurityCenter(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pricings.update(
scope_id="subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23",
pricing_name="CloudPosture",
pricing={"properties": {"pricingTier": "Standard"}},
)
print(response)
# x-ms-original-file: specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/PutPricingByName_example.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armsecurity_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/PutPricingByName_example.json
func ExamplePricingsClient_Update_updatePricingOnSubscriptionExampleForCloudPosturePlan() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPricingsClient().Update(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", "CloudPosture", armsecurity.Pricing{
Properties: &armsecurity.PricingProperties{
PricingTier: to.Ptr(armsecurity.PricingTierStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Pricing = armsecurity.Pricing{
// Name: to.Ptr("CloudPosture"),
// Type: to.Ptr("Microsoft.Security/pricings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/CloudPosture"),
// Properties: &armsecurity.PricingProperties{
// EnablementTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-03-01T12:42:42.192Z"); return t}()),
// Enforce: to.Ptr(armsecurity.EnforceFalse),
// FreeTrialRemainingTime: to.Ptr("PT0S"),
// PricingTier: to.Ptr(armsecurity.PricingTierStandard),
// ResourcesCoverageStatus: to.Ptr(armsecurity.ResourcesCoverageStatusFullyCovered),
// Extensions: []*armsecurity.Extension{
// {
// Name: to.Ptr("AgentlessVmScanning"),
// IsEnabled: to.Ptr(armsecurity.IsEnabledTrue),
// OperationStatus: &armsecurity.OperationStatusAutoGenerated{
// Code: to.Ptr(armsecurity.CodeSucceeded),
// Message: to.Ptr("Successfully enabled extension"),
// },
// },
// {
// Name: to.Ptr("AgentlessDiscoveryForKubernetes"),
// IsEnabled: to.Ptr(armsecurity.IsEnabledTrue),
// OperationStatus: &armsecurity.OperationStatusAutoGenerated{
// Code: to.Ptr(armsecurity.CodeSucceeded),
// Message: to.Ptr("Successfully enabled extension"),
// },
// },
// {
// Name: to.Ptr("SensitiveDataDiscovery"),
// IsEnabled: to.Ptr(armsecurity.IsEnabledTrue),
// OperationStatus: &armsecurity.OperationStatusAutoGenerated{
// Code: to.Ptr(armsecurity.CodeSucceeded),
// Message: to.Ptr("Successfully enabled extension"),
// },
// },
// {
// Name: to.Ptr("ContainerRegistriesVulnerabilityAssessments"),
// IsEnabled: to.Ptr(armsecurity.IsEnabledTrue),
// OperationStatus: &armsecurity.OperationStatusAutoGenerated{
// Code: to.Ptr(armsecurity.CodeSucceeded),
// Message: to.Ptr("Successfully enabled extension"),
// },
// },
// {
// Name: to.Ptr("EntraPermissionsManagement"),
// IsEnabled: to.Ptr(armsecurity.IsEnabledTrue),
// OperationStatus: &armsecurity.OperationStatusAutoGenerated{
// Code: to.Ptr(armsecurity.CodeSucceeded),
// Message: to.Ptr("Successfully enabled extension"),
// },
// }},
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { SecurityCenter } = require("@azure/arm-security");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Updates a provided Microsoft Defender for Cloud pricing configuration in the scope. Valid scopes are: subscription id or a specific resource id (Supported resources are: 'VirtualMachines, VMSS and ARC Machines' and only for plan='VirtualMachines' and subPlan='P1').
*
* @summary Updates a provided Microsoft Defender for Cloud pricing configuration in the scope. Valid scopes are: subscription id or a specific resource id (Supported resources are: 'VirtualMachines, VMSS and ARC Machines' and only for plan='VirtualMachines' and subPlan='P1').
* x-ms-original-file: specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/PutPricingByName_example.json
*/
async function updatePricingOnSubscriptionExampleForCloudPosturePlan() {
const scopeId = "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23";
const pricingName = "CloudPosture";
const pricing = { pricingTier: "Standard" };
const credential = new DefaultAzureCredential();
const client = new SecurityCenter(credential);
const result = await client.pricings.update(scopeId, pricingName, pricing);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Przykładowa odpowiedź
{
"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
Przykładowe żądanie
PUT https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/CloudPosture?api-version=2024-01-01
{
"properties": {
"pricingTier": "Standard"
}
}
import com.azure.resourcemanager.security.fluent.models.PricingInner;
import com.azure.resourcemanager.security.models.PricingTier;
/**
* Samples for Pricings Update.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/
* PutPricingByNamePartialSuccess_example.json
*/
/**
* Sample code: Update pricing on subscription (example for CloudPosture plan) - partial success.
*
* @param manager Entry point to SecurityManager.
*/
public static void updatePricingOnSubscriptionExampleForCloudPosturePlanPartialSuccess(
com.azure.resourcemanager.security.SecurityManager manager) {
manager.pricings().updateWithResponse("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", "CloudPosture",
new PricingInner().withPricingTier(PricingTier.STANDARD), com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.security import SecurityCenter
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-security
# USAGE
python put_pricing_by_name_partial_success_example.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = SecurityCenter(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pricings.update(
scope_id="subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23",
pricing_name="CloudPosture",
pricing={"properties": {"pricingTier": "Standard"}},
)
print(response)
# x-ms-original-file: specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/PutPricingByNamePartialSuccess_example.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armsecurity_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/PutPricingByNamePartialSuccess_example.json
func ExamplePricingsClient_Update_updatePricingOnSubscriptionExampleForCloudPosturePlanPartialSuccess() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPricingsClient().Update(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", "CloudPosture", armsecurity.Pricing{
Properties: &armsecurity.PricingProperties{
PricingTier: to.Ptr(armsecurity.PricingTierStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Pricing = armsecurity.Pricing{
// Name: to.Ptr("CloudPosture"),
// Type: to.Ptr("Microsoft.Security/pricings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/CloudPosture"),
// Properties: &armsecurity.PricingProperties{
// EnablementTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-03-01T12:42:42.192Z"); return t}()),
// Enforce: to.Ptr(armsecurity.EnforceFalse),
// FreeTrialRemainingTime: to.Ptr("PT0S"),
// PricingTier: to.Ptr(armsecurity.PricingTierStandard),
// ResourcesCoverageStatus: to.Ptr(armsecurity.ResourcesCoverageStatusFullyCovered),
// Extensions: []*armsecurity.Extension{
// {
// Name: to.Ptr("AgentlessVmScanning"),
// IsEnabled: to.Ptr(armsecurity.IsEnabledTrue),
// OperationStatus: &armsecurity.OperationStatusAutoGenerated{
// Code: to.Ptr(armsecurity.CodeFailed),
// Message: to.Ptr("Failed find dedicated first party application client ID for extension"),
// },
// },
// {
// Name: to.Ptr("AgentlessDiscoveryForKubernetes"),
// IsEnabled: to.Ptr(armsecurity.IsEnabledTrue),
// OperationStatus: &armsecurity.OperationStatusAutoGenerated{
// Code: to.Ptr(armsecurity.CodeFailed),
// Message: to.Ptr("Failed assigning roles {d5a2ae44-610b-4500-93be-660a0c5f5ca6} to {identityName} for plan"),
// },
// },
// {
// Name: to.Ptr("SensitiveDataDiscovery"),
// IsEnabled: to.Ptr(armsecurity.IsEnabledTrue),
// OperationStatus: &armsecurity.OperationStatusAutoGenerated{
// Code: to.Ptr(armsecurity.CodeFailed),
// Message: to.Ptr("Failed assigning roles {f58310d9-a9f6-439a-9e8d-f62e7b41a168} to {identityName} for plan"),
// },
// },
// {
// Name: to.Ptr("ContainerRegistriesVulnerabilityAssessments"),
// IsEnabled: to.Ptr(armsecurity.IsEnabledTrue),
// OperationStatus: &armsecurity.OperationStatusAutoGenerated{
// Code: to.Ptr(armsecurity.CodeSucceeded),
// Message: to.Ptr("Successfully enabled extension"),
// },
// },
// {
// Name: to.Ptr("EntraPermissionsManagement"),
// IsEnabled: to.Ptr(armsecurity.IsEnabledTrue),
// OperationStatus: &armsecurity.OperationStatusAutoGenerated{
// Code: to.Ptr(armsecurity.CodeSucceeded),
// Message: to.Ptr("Successfully enabled extension"),
// },
// }},
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { SecurityCenter } = require("@azure/arm-security");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Updates a provided Microsoft Defender for Cloud pricing configuration in the scope. Valid scopes are: subscription id or a specific resource id (Supported resources are: 'VirtualMachines, VMSS and ARC Machines' and only for plan='VirtualMachines' and subPlan='P1').
*
* @summary Updates a provided Microsoft Defender for Cloud pricing configuration in the scope. Valid scopes are: subscription id or a specific resource id (Supported resources are: 'VirtualMachines, VMSS and ARC Machines' and only for plan='VirtualMachines' and subPlan='P1').
* x-ms-original-file: specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/PutPricingByNamePartialSuccess_example.json
*/
async function updatePricingOnSubscriptionExampleForCloudPosturePlanPartialSuccess() {
const scopeId = "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23";
const pricingName = "CloudPosture";
const pricing = { pricingTier: "Standard" };
const credential = new DefaultAzureCredential();
const client = new SecurityCenter(credential);
const result = await client.pricings.update(scopeId, pricingName, pricing);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Przykładowa odpowiedź
{
"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)
Przykładowe żądanie
PUT https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/VirtualMachines?api-version=2024-01-01
{
"properties": {
"pricingTier": "Standard",
"subPlan": "P2",
"enforce": "True"
}
}
import com.azure.resourcemanager.security.fluent.models.PricingInner;
import com.azure.resourcemanager.security.models.Enforce;
import com.azure.resourcemanager.security.models.PricingTier;
/**
* Samples for Pricings Update.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/
* PutPricingVMsByName_example.json
*/
/**
* Sample code: Update pricing on subscription (example for VirtualMachines plan).
*
* @param manager Entry point to SecurityManager.
*/
public static void updatePricingOnSubscriptionExampleForVirtualMachinesPlan(
com.azure.resourcemanager.security.SecurityManager manager) {
manager.pricings().updateWithResponse("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", "VirtualMachines",
new PricingInner().withPricingTier(PricingTier.STANDARD).withSubPlan("P2").withEnforce(Enforce.TRUE),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.security import SecurityCenter
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-security
# USAGE
python put_pricing_vms_by_name_example.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = SecurityCenter(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pricings.update(
scope_id="subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23",
pricing_name="VirtualMachines",
pricing={"properties": {"enforce": "True", "pricingTier": "Standard", "subPlan": "P2"}},
)
print(response)
# x-ms-original-file: specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/PutPricingVMsByName_example.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armsecurity_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/9ac34f238dd6b9071f486b57e9f9f1a0c43ec6f6/specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/PutPricingVMsByName_example.json
func ExamplePricingsClient_Update_updatePricingOnSubscriptionExampleForVirtualMachinesPlan() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsecurity.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPricingsClient().Update(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", "VirtualMachines", armsecurity.Pricing{
Properties: &armsecurity.PricingProperties{
Enforce: to.Ptr(armsecurity.EnforceTrue),
PricingTier: to.Ptr(armsecurity.PricingTierStandard),
SubPlan: to.Ptr("P2"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.Pricing = armsecurity.Pricing{
// Name: to.Ptr("VirtualMachines"),
// Type: to.Ptr("Microsoft.Security/pricings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/VirtualMachines"),
// Properties: &armsecurity.PricingProperties{
// EnablementTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-03-01T12:42:42.192Z"); return t}()),
// Enforce: to.Ptr(armsecurity.EnforceTrue),
// FreeTrialRemainingTime: to.Ptr("PT0S"),
// PricingTier: to.Ptr(armsecurity.PricingTierStandard),
// ResourcesCoverageStatus: to.Ptr(armsecurity.ResourcesCoverageStatusFullyCovered),
// SubPlan: to.Ptr("P2"),
// Extensions: []*armsecurity.Extension{
// {
// Name: to.Ptr("MdeDesignatedSubscription"),
// IsEnabled: to.Ptr(armsecurity.IsEnabledFalse),
// },
// {
// Name: to.Ptr("AgentlessVmScanning"),
// AdditionalExtensionProperties: map[string]any{
// "ExclusionTags": "[{\"Key\":\"TestKey1\",\"Value\":\"TestValue1\"},{\"Key\":\"TestKey2\",\"Value\":\"TestValue2\"}]",
// },
// IsEnabled: to.Ptr(armsecurity.IsEnabledTrue),
// OperationStatus: &armsecurity.OperationStatusAutoGenerated{
// Code: to.Ptr(armsecurity.CodeSucceeded),
// Message: to.Ptr("Successfully enabled extension"),
// },
// }},
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { SecurityCenter } = require("@azure/arm-security");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Updates a provided Microsoft Defender for Cloud pricing configuration in the scope. Valid scopes are: subscription id or a specific resource id (Supported resources are: 'VirtualMachines, VMSS and ARC Machines' and only for plan='VirtualMachines' and subPlan='P1').
*
* @summary Updates a provided Microsoft Defender for Cloud pricing configuration in the scope. Valid scopes are: subscription id or a specific resource id (Supported resources are: 'VirtualMachines, VMSS and ARC Machines' and only for plan='VirtualMachines' and subPlan='P1').
* x-ms-original-file: specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/PutPricingVMsByName_example.json
*/
async function updatePricingOnSubscriptionExampleForVirtualMachinesPlan() {
const scopeId = "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23";
const pricingName = "VirtualMachines";
const pricing = {
enforce: "True",
pricingTier: "Standard",
subPlan: "P2",
};
const credential = new DefaultAzureCredential();
const client = new SecurityCenter(credential);
const result = await client.pricings.update(scopeId, pricingName, pricing);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Przykładowa odpowiedź
{
"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"
}
}
]
}
}
Definicje
| Nazwa |
Opis |
|
CloudError
|
Typowa odpowiedź na błędy dla wszystkich interfejsów API usługi Azure Resource Manager w celu zwrócenia szczegółów błędu dla operacji, które zakończyły się niepowodzeniem. (Jest to również zgodne z formatem odpowiedzi na błąd OData).
|
|
CloudErrorBody
|
Szczegóły błędu.
|
|
code
|
Kod stanu operacji.
|
|
enforce
|
Jeśli ustawiono wartość "Fałsz", umożliwia elementom potomnym tego zakresu zastąpienie konfiguracji cen ustawionej w tym zakresie (zezwala na ustawienie dziedziczone="Fałsz"). Jeśli ustawiono wartość "True", uniemożliwia to przesłonięcia i wymusza tę konfigurację cenową na wszystkich elementach podrzędnych tego zakresu. To pole jest dostępne tylko dla cen na poziomie subskrypcji.
|
|
ErrorAdditionalInfo
|
Dodatkowe informacje o błędzie zarządzania zasobami.
|
|
Extension
|
Właściwości rozszerzenia planu
|
|
inherited
|
Wyrażenie "dziedziczone" = "True" wskazuje, że bieżący zakres dziedziczy konfigurację cen po elemencie nadrzędnym. Identyfikator zakresu nadrzędnego, który zapewnia dziedziczonej konfiguracji, jest wyświetlany w polu "dziedziczoneZ". Z drugiej strony "dziedziczone" = "Fałsz" oznacza, że bieżący zakres ma jawnie ustawioną własną konfigurację cenową i nie dziedziczy po elemencie nadrzędnym. To pole jest tylko do odczytu i dostępne tylko dla cen na poziomie zasobów.
|
|
isEnabled
|
Wskazuje, czy rozszerzenie jest włączone.
|
|
OperationStatus
|
Stan opisujący powodzenie/niepowodzenie operacji włączania/wyłączania rozszerzenia.
|
|
Pricing
|
Usługa Microsoft Defender for Cloud jest dostępna w dwóch warstwach cenowych: bezpłatna i Standardowa. Warstwa Standardowa oferuje zaawansowane funkcje zabezpieczeń, a warstwa Bezpłatna oferuje podstawowe funkcje zabezpieczeń.
|
|
pricingTier
|
Wskazuje, czy plan usługi Defender jest włączony w wybranym zakresie. Usługa Microsoft Defender for Cloud jest dostępna w dwóch warstwach cenowych: bezpłatna i Standardowa. Warstwa Standardowa oferuje zaawansowane funkcje zabezpieczeń, a warstwa Bezpłatna oferuje podstawowe funkcje zabezpieczeń.
|
|
resourcesCoverageStatus
|
To pole jest dostępne tylko dla poziomu subskrypcji i odzwierciedla stan pokrycia zasobów w ramach subskrypcji. Uwaga: pole "pricingTier" odzwierciedla stan planu subskrypcji. Jednak ponieważ stan planu można również zdefiniować na poziomie zasobu, może istnieć niezgodność między stanem planu subskrypcji a stanem zasobu. To pole pomaga wskazać stan pokrycia zasobów.
|
CloudError
Objekt
Typowa odpowiedź na błędy dla wszystkich interfejsów API usługi Azure Resource Manager w celu zwrócenia szczegółów błędu dla operacji, które zakończyły się niepowodzeniem. (Jest to również zgodne z formatem odpowiedzi na błąd OData).
| Nazwa |
Typ |
Opis |
|
error.additionalInfo
|
ErrorAdditionalInfo[]
|
Dodatkowe informacje o błędzie.
|
|
error.code
|
string
|
Kod błędu.
|
|
error.details
|
CloudErrorBody[]
|
Szczegóły błędu.
|
|
error.message
|
string
|
Komunikat o błędzie.
|
|
error.target
|
string
|
Element docelowy błędu.
|
CloudErrorBody
Objekt
Szczegóły błędu.
| Nazwa |
Typ |
Opis |
|
additionalInfo
|
ErrorAdditionalInfo[]
|
Dodatkowe informacje o błędzie.
|
|
code
|
string
|
Kod błędu.
|
|
details
|
CloudErrorBody[]
|
Szczegóły błędu.
|
|
message
|
string
|
Komunikat o błędzie.
|
|
target
|
string
|
Element docelowy błędu.
|
code
Wyliczanie
Kod stanu operacji.
| Wartość |
Opis |
|
Succeeded
|
Rozszerzenie zostało pomyślnie utworzone/zaktualizowane.
|
|
Failed
|
Rozszerzenie nie zostało pomyślnie utworzone/zaktualizowane. Aby uzyskać więcej szczegółów, zobacz komunikat o stanie operacji.
|
enforce
Wyliczanie
Jeśli ustawiono wartość "Fałsz", umożliwia elementom potomnym tego zakresu zastąpienie konfiguracji cen ustawionej w tym zakresie (zezwala na ustawienie dziedziczone="Fałsz"). Jeśli ustawiono wartość "True", uniemożliwia to przesłonięcia i wymusza tę konfigurację cenową na wszystkich elementach podrzędnych tego zakresu. To pole jest dostępne tylko dla cen na poziomie subskrypcji.
| Wartość |
Opis |
|
False
|
Umożliwia elementom podrzędnym tego zakresu zastąpienie konfiguracji cen ustawionej w tym zakresie (zezwala na ustawienie dziedziczone="Fałsz")
|
|
True
|
Zapobiega przesłonięciom i wymusza konfigurację cen bieżącego zakresu do wszystkich elementów podrzędnych
|
ErrorAdditionalInfo
Objekt
Dodatkowe informacje o błędzie zarządzania zasobami.
| Nazwa |
Typ |
Opis |
|
info
|
object
|
Dodatkowe informacje.
|
|
type
|
string
|
Dodatkowy typ informacji.
|
Extension
Objekt
Właściwości rozszerzenia planu
| Nazwa |
Typ |
Opis |
|
additionalExtensionProperties
|
|
Wartości właściwości skojarzone z rozszerzeniem.
|
|
isEnabled
|
isEnabled
|
Wskazuje, czy rozszerzenie jest włączone.
|
|
name
|
string
|
Nazwa rozszerzenia. Obsługiwane wartości to:
AgentlessDiscoveryForKubernetes — zapewnia zerowe ślady, odnajdywanie oparte na interfejsie API klastrów Kubernetes, ich konfiguracji i wdrożeń. Zebrane dane służą do tworzenia kontekstowego grafu zabezpieczeń dla klastrów Kubernetes, zapewniania możliwości wyszukiwania zagrożeń oraz wizualizowania zagrożeń i zagrożeń dla środowisk i obciążeń Kubernetes. Dostępny dla planu CloudPosture i planu kontenerów.
OnUploadMalwareScanning — ogranicza ilość gb do skanowania miesięcznie dla każdego konta magazynu w ramach subskrypcji. Po osiągnięciu tego limitu dla danego konta magazynu obiekty blob nie będą skanowane w bieżącym miesiącu kalendarzowym. Dostępny dla planu StorageAccounts (plan podrzędny DefenderForStorageV2).
SensitiveDataDiscovery — odnajdywanie poufnych danych identyfikuje kontener usługi Blob Storage z poufnymi danymi, takimi jak poświadczenia, karty kredytowe i inne, aby ułatwić określanie priorytetów i badanie zdarzeń zabezpieczeń. Dostępny dla planu StorageAccounts (plan podrzędny DefenderForStorageV2) i CloudPosture.
ContainerRegistriesVulnerabilityAssessments — zapewnia zarządzanie lukami w zabezpieczeniach obrazów przechowywanych w rejestrach kontenerów. Dostępny dla planu CloudPosture i planu kontenerów.
mdeDesignatedSubscription — bezpośrednie dołączanie to bezproblemowa integracja między usługą Defender for Endpoint i usługą Defender for Cloud, która nie wymaga dodatkowego wdrożenia oprogramowania na serwerach. Dołączone zasoby zostaną przedstawione w ramach wyznaczonej subskrypcji platformy Azure, którą konfigurujesz Dostępny dla planu VirtualMachines (plany podrzędne P1 i P2).
AgentlessVmScanning — skanuje maszyny pod kątem zainstalowanego oprogramowania, luk w zabezpieczeniach, złośliwego oprogramowania i skanowania wpisów tajnych bez polegania na agentach lub wpływaniu na wydajność maszyny. Dowiedz się więcej tutaj https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-agentless-data-collection. Dostępny dla planu CloudPosture, planu VirtualMachines (plan P2) i planu kontenerów.
EntraPermissionsManagement — zarządzanie uprawnieniami zapewnia możliwości zarządzania upoważnieniami do infrastruktury chmury (CIEM), które pomagają organizacjom zarządzać dostępem użytkowników i uprawnieniami w infrastrukturze chmury i kontrolować je — ważny wektor ataku dla środowisk chmury. Zarządzanie uprawnieniami analizuje wszystkie uprawnienia i aktywne użycie oraz sugeruje zalecenia dotyczące zmniejszenia uprawnień w celu wymuszenia zasady najniższych uprawnień. Dowiedz się więcej tutaj https://learn.microsoft.com/en-us/azure/defender-for-cloud/permissions-management. Dostępny dla planu CloudPosture.
FileIntegrityMonitoring — monitorowanie integralności plików (FIM), analizuje pliki systemu operacyjnego. Rejestry systemu Windows, pliki systemowe systemu Linux, w czasie rzeczywistym, dla zmian, które mogą wskazywać na atak. Dostępny dla planu VirtualMachines (plan podrzędny P2).
ContainerSensor — czujnik jest oparty na protokole IG i udostępnia bogaty pakiet wykrywania zagrożeń dla klastrów, węzłów i obciążeń Kubernetes obsługiwanych przez wiodącą analizę zagrożeń firmy Microsoft, zapewnia mapowanie na platformę MITRE ATT&CK. Dostępny dla planu Kontenery.
AIPromptEvidence — uwidacznia monity przekazywane między użytkownikiem a modelem AI jako dowód alertu. Ułatwia to klasyfikowanie i klasyfikowanie alertów przy użyciu odpowiedniego kontekstu użytkownika. Fragmenty monitu będą zawierać tylko segmenty monitu użytkownika lub odpowiedzi modelu, które zostały uznane za podejrzane i istotne dla klasyfikacji zabezpieczeń. Dowody monitu będą dostępne za pośrednictwem portalu usługi Defender w ramach każdego alertu. Dostępny dla planu sztucznej inteligencji.
|
|
operationStatus
|
OperationStatus
|
Fakultatywny. Stan opisujący powodzenie/niepowodzenie operacji włączania/wyłączania rozszerzenia.
|
inherited
Wyliczanie
Wyrażenie "dziedziczone" = "True" wskazuje, że bieżący zakres dziedziczy konfigurację cen po elemencie nadrzędnym. Identyfikator zakresu nadrzędnego, który zapewnia dziedziczonej konfiguracji, jest wyświetlany w polu "dziedziczoneZ". Z drugiej strony "dziedziczone" = "Fałsz" oznacza, że bieżący zakres ma jawnie ustawioną własną konfigurację cenową i nie dziedziczy po elemencie nadrzędnym. To pole jest tylko do odczytu i dostępne tylko dla cen na poziomie zasobów.
| Wartość |
Opis |
|
True
|
Wskazuje, że bieżący zakres dziedziczy konfigurację cennika po elemencie nadrzędnym
|
|
False
|
Wskazuje, że bieżący zakres ustawia własną konfigurację cenową i nie dziedziczy jej z elementu nadrzędnego
|
isEnabled
Wyliczanie
Wskazuje, czy rozszerzenie jest włączone.
| Wartość |
Opis |
|
True
|
Wskazuje, że rozszerzenie jest włączone
|
|
False
|
Wskazuje, że rozszerzenie jest wyłączone
|
OperationStatus
Objekt
Stan opisujący powodzenie/niepowodzenie operacji włączania/wyłączania rozszerzenia.
| Nazwa |
Typ |
Opis |
|
code
|
code
|
Kod stanu operacji.
|
|
message
|
string
|
Dodatkowe informacje dotyczące powodzenia/niepowodzenia operacji.
|
Pricing
Objekt
Usługa Microsoft Defender for Cloud jest dostępna w dwóch warstwach cenowych: bezpłatna i Standardowa. Warstwa Standardowa oferuje zaawansowane funkcje zabezpieczeń, a warstwa Bezpłatna oferuje podstawowe funkcje zabezpieczeń.
| Nazwa |
Typ |
Opis |
|
id
|
string
|
Identyfikator zasobu
|
|
name
|
string
|
Nazwa zasobu
|
|
properties.deprecated
|
boolean
|
Fakultatywny. Wartość True, jeśli plan jest przestarzały. Jeśli zostaną zastąpione plany, pojawią się w replacedBy właściwości
|
|
properties.enablementTime
|
string
(date-time)
|
Fakultatywny. Jeśli pricingTier jest Standard ta właściwość przechowuje datę ostatniego ustawienia pricingTierStandard, gdy jest dostępna (np. 2023-03-01T12:42:42.192106Z).
|
|
properties.enforce
|
enforce
|
Jeśli ustawiono wartość "Fałsz", umożliwia elementom potomnym tego zakresu zastąpienie konfiguracji cen ustawionej w tym zakresie (zezwala na ustawienie dziedziczone="Fałsz"). Jeśli ustawiono wartość "True", uniemożliwia to przesłonięcia i wymusza tę konfigurację cenową na wszystkich elementach podrzędnych tego zakresu. To pole jest dostępne tylko dla cen na poziomie subskrypcji.
|
|
properties.extensions
|
Extension[]
|
Fakultatywny. Lista rozszerzeń oferowanych w ramach planu.
|
|
properties.freeTrialRemainingTime
|
string
(duration)
|
Czas trwania okresu bezpłatnej wersji próbnej subskrypcji — w formacie ISO 8601 (np. P3Y6M4DT12H30M5S).
|
|
properties.inherited
|
inherited
|
Wyrażenie "dziedziczone" = "True" wskazuje, że bieżący zakres dziedziczy konfigurację cen po elemencie nadrzędnym. Identyfikator zakresu nadrzędnego, który zapewnia dziedziczonej konfiguracji, jest wyświetlany w polu "dziedziczoneZ". Z drugiej strony "dziedziczone" = "Fałsz" oznacza, że bieżący zakres ma jawnie ustawioną własną konfigurację cenową i nie dziedziczy po elemencie nadrzędnym. To pole jest tylko do odczytu i dostępne tylko dla cen na poziomie zasobów.
|
|
properties.inheritedFrom
|
string
|
Identyfikator zakresu odziedziczonego po. Wartość "Null", jeśli nie jest dziedziczona. To pole jest dostępne tylko dla cen na poziomie zasobów.
|
|
properties.pricingTier
|
pricingTier
|
Wskazuje, czy plan usługi Defender jest włączony w wybranym zakresie. Usługa Microsoft Defender for Cloud jest dostępna w dwóch warstwach cenowych: bezpłatna i Standardowa. Warstwa Standardowa oferuje zaawansowane funkcje zabezpieczeń, a warstwa Bezpłatna oferuje podstawowe funkcje zabezpieczeń.
|
|
properties.replacedBy
|
string[]
|
Fakultatywny. Lista planów, które zastępują ten plan. Ta właściwość istnieje tylko wtedy, gdy ten plan jest przestarzały.
|
|
properties.resourcesCoverageStatus
|
resourcesCoverageStatus
|
To pole jest dostępne tylko dla poziomu subskrypcji i odzwierciedla stan pokrycia zasobów w ramach subskrypcji. Uwaga: pole "pricingTier" odzwierciedla stan planu subskrypcji. Jednak ponieważ stan planu można również zdefiniować na poziomie zasobu, może istnieć niezgodność między stanem planu subskrypcji a stanem zasobu. To pole pomaga wskazać stan pokrycia zasobów.
|
|
properties.subPlan
|
string
|
Plan podrzędny wybrany dla konfiguracji cen w warstwie Standardowa, jeśli jest dostępny więcej niż jeden plan podrzędny. Każdy podplan umożliwia zestaw funkcji zabezpieczeń. Jeśli nie zostanie określony, zostanie zastosowany pełny plan. W przypadku planu maszyn wirtualnych dostępne plany podrzędne to "P1" & "P2", gdzie dla poziomu zasobów jest obsługiwany tylko plan podrzędny "P1".
|
|
type
|
string
|
Typ zasobu
|
pricingTier
Wyliczanie
Wskazuje, czy plan usługi Defender jest włączony w wybranym zakresie. Usługa Microsoft Defender for Cloud jest dostępna w dwóch warstwach cenowych: bezpłatna i Standardowa. Warstwa Standardowa oferuje zaawansowane funkcje zabezpieczeń, a warstwa Bezpłatna oferuje podstawowe funkcje zabezpieczeń.
| Wartość |
Opis |
|
Free
|
Uzyskaj bezpłatne środowisko usługi Microsoft Defender for Cloud z podstawowymi funkcjami zabezpieczeń
|
|
Standard
|
Uzyskaj standardowe środowisko usługi Microsoft Defender for Cloud z zaawansowanymi funkcjami zabezpieczeń
|
resourcesCoverageStatus
Wyliczanie
To pole jest dostępne tylko dla poziomu subskrypcji i odzwierciedla stan pokrycia zasobów w ramach subskrypcji. Uwaga: pole "pricingTier" odzwierciedla stan planu subskrypcji. Jednak ponieważ stan planu można również zdefiniować na poziomie zasobu, może istnieć niezgodność między stanem planu subskrypcji a stanem zasobu. To pole pomaga wskazać stan pokrycia zasobów.
| Wartość |
Opis |
|
FullyCovered
|
Ta wartość wskazuje, że wszystkie zasoby skojarzone z subskrypcją mają włączony plan usługi Defender.
|
|
PartiallyCovered
|
Ta wartość wskazuje, że niektóre zasoby w ramach subskrypcji mają włączony plan usługi Defender, a inne mają wyłączone. Istnieje mieszany stan pokrycia między zasobami.
|
|
NotCovered
|
Ta wartość wskazuje, że plan usługi Defender jest wyłączony dla wszystkich zasobów w ramach subskrypcji. Żaden z zasobów nie jest chroniony przez plan usługi Defender.
|