Pobierz konfiguracje cen planów usługi Defender dla wybranego zakresu (prawidłowe zakresy to identyfikator zasobu lub identyfikator subskrypcji). Na poziomie zasobów obsługiwane typy zasobów to "VirtualMachines, VMSS i ARC Machines".
GET 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 cen. 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
|
Odpowiedzi
Nazwa |
Typ |
Opis |
200 OK
|
Pricing
|
OK
|
Other Status Codes
|
CloudError
|
Odpowiedź na błąd opisująca, dlaczego operacja nie powiodła się.
|
Zabezpieczenia
azure_auth
Przepływ OAuth2 usługi Azure Active Directory
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Nazwa |
Opis |
user_impersonation
|
personifikacja konta użytkownika
|
Przykłady
Get pricings on resource - VirtualMachines plan
Sample Request
GET 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
package armsecurity_test
import (
"context"
"log"
"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/GetResourcePricingByNameVirtualMachines_example.json
func ExamplePricingsClient_Get_getPricingsOnResourceVirtualMachinesPlan() {
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().Get(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/DEMO/providers/Microsoft.Compute/virtualMachines/VM-1", "VirtualMachines", 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.InheritedTrue),
// InheritedFrom: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23"),
// PricingTier: to.Ptr(armsecurity.PricingTierStandard),
// SubPlan: to.Ptr("P2"),
// Extensions: []*armsecurity.Extension{
// {
// Name: to.Ptr("AgentlessVmScanning"),
// AdditionalExtensionProperties: map[string]any{
// "ExclusionTags": "[{\"Key\":\"TestKey1\",\"Value\":\"TestValue1\"},{\"Key\":\"TestKey2\",\"Value\":\"TestValue2\"}]",
// },
// IsEnabled: to.Ptr(armsecurity.IsEnabledTrue),
// },
// {
// Name: to.Ptr("MdeDesignatedSubscription"),
// 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 Get the Defender plans pricing configurations of the selected scope (valid scopes are resource id or a subscription id). At the resource level, supported resource types are 'VirtualMachines, VMSS and ARC Machines'.
*
* @summary Get the Defender plans pricing configurations of the selected scope (valid scopes are resource id or a subscription id). At the resource level, supported resource types are 'VirtualMachines, VMSS and ARC Machines'.
* x-ms-original-file: specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/GetResourcePricingByNameVirtualMachines_example.json
*/
async function getPricingsOnResourceVirtualMachinesPlan() {
const scopeId =
"subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/DEMO/providers/Microsoft.Compute/virtualMachines/VM-1";
const pricingName = "VirtualMachines";
const credential = new DefaultAzureCredential();
const client = new SecurityCenter(credential);
const result = await client.pricings.get(scopeId, pricingName);
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
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": "P2",
"freeTrialRemainingTime": "PT0S",
"enablementTime": "2023-03-01T12:42:42.1921106Z",
"inherited": "True",
"inheritedFrom": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"extensions": [
{
"name": "AgentlessVmScanning",
"isEnabled": "True",
"additionalExtensionProperties": {
"ExclusionTags": "[{\"Key\":\"TestKey1\",\"Value\":\"TestValue1\"},{\"Key\":\"TestKey2\",\"Value\":\"TestValue2\"}]"
}
},
{
"name": "MdeDesignatedSubscription",
"isEnabled": "True"
}
]
}
}
Get pricings on subscription - CloudPosture plan
Sample Request
GET https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/CloudPosture?api-version=2024-01-01
package armsecurity_test
import (
"context"
"log"
"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/GetPricingByNameCloudPosture_example.json
func ExamplePricingsClient_Get_getPricingsOnSubscriptionCloudPosturePlan() {
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().Get(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", "CloudPosture", 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"),
// AdditionalExtensionProperties: map[string]any{
// "ExclusionTags": "[]",
// },
// IsEnabled: to.Ptr(armsecurity.IsEnabledTrue),
// },
// {
// Name: to.Ptr("AgentlessDiscoveryForKubernetes"),
// IsEnabled: to.Ptr(armsecurity.IsEnabledTrue),
// },
// {
// Name: to.Ptr("SensitiveDataDiscovery"),
// IsEnabled: to.Ptr(armsecurity.IsEnabledTrue),
// },
// {
// Name: to.Ptr("ContainerRegistriesVulnerabilityAssessments"),
// IsEnabled: to.Ptr(armsecurity.IsEnabledTrue),
// },
// {
// Name: to.Ptr("EntraPermissionsManagement"),
// 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 Get the Defender plans pricing configurations of the selected scope (valid scopes are resource id or a subscription id). At the resource level, supported resource types are 'VirtualMachines, VMSS and ARC Machines'.
*
* @summary Get the Defender plans pricing configurations of the selected scope (valid scopes are resource id or a subscription id). At the resource level, supported resource types are 'VirtualMachines, VMSS and ARC Machines'.
* x-ms-original-file: specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/GetPricingByNameCloudPosture_example.json
*/
async function getPricingsOnSubscriptionCloudPosturePlan() {
const scopeId = "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23";
const pricingName = "CloudPosture";
const credential = new DefaultAzureCredential();
const client = new SecurityCenter(credential);
const result = await client.pricings.get(scopeId, pricingName);
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
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",
"additionalExtensionProperties": {
"ExclusionTags": "[]"
}
},
{
"name": "AgentlessDiscoveryForKubernetes",
"isEnabled": "True"
},
{
"name": "SensitiveDataDiscovery",
"isEnabled": "True"
},
{
"name": "ContainerRegistriesVulnerabilityAssessments",
"isEnabled": "True"
},
{
"name": "EntraPermissionsManagement",
"isEnabled": "True"
}
]
}
}
Get pricings on subscription - Containers plan
Sample Request
GET https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/Containers?api-version=2024-01-01
package armsecurity_test
import (
"context"
"log"
"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/GetPricingByNameContainers_example.json
func ExamplePricingsClient_Get_getPricingsOnSubscriptionContainersPlan() {
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().Get(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", "Containers", 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("Containers"),
// Type: to.Ptr("Microsoft.Security/pricings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/Containers"),
// 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("ContainerRegistriesVulnerabilityAssessments"),
// 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 Get the Defender plans pricing configurations of the selected scope (valid scopes are resource id or a subscription id). At the resource level, supported resource types are 'VirtualMachines, VMSS and ARC Machines'.
*
* @summary Get the Defender plans pricing configurations of the selected scope (valid scopes are resource id or a subscription id). At the resource level, supported resource types are 'VirtualMachines, VMSS and ARC Machines'.
* x-ms-original-file: specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/GetPricingByNameContainers_example.json
*/
async function getPricingsOnSubscriptionContainersPlan() {
const scopeId = "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23";
const pricingName = "Containers";
const credential = new DefaultAzureCredential();
const client = new SecurityCenter(credential);
const result = await client.pricings.get(scopeId, pricingName);
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
Sample Response
{
"id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/Containers",
"name": "Containers",
"type": "Microsoft.Security/pricings",
"properties": {
"pricingTier": "Standard",
"freeTrialRemainingTime": "PT0S",
"enablementTime": "2023-03-01T12:42:42.1921106Z",
"enforce": "False",
"resourcesCoverageStatus": "FullyCovered",
"extensions": [
{
"name": "ContainerRegistriesVulnerabilityAssessments",
"isEnabled": "True"
}
]
}
}
Get pricings on subscription - Dns plan
Sample Request
GET https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/Dns?api-version=2024-01-01
package armsecurity_test
import (
"context"
"log"
"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/GetPricingByNameDns_example.json
func ExamplePricingsClient_Get_getPricingsOnSubscriptionDnsPlan() {
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().Get(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", "Dns", 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("Dns"),
// Type: to.Ptr("Microsoft.Security/pricings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/Dns"),
// Properties: &armsecurity.PricingProperties{
// Deprecated: to.Ptr(true),
// 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),
// ReplacedBy: []*string{
// to.Ptr("VirtualMachines")},
// ResourcesCoverageStatus: to.Ptr(armsecurity.ResourcesCoverageStatusFullyCovered),
// },
// }
}
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 Get the Defender plans pricing configurations of the selected scope (valid scopes are resource id or a subscription id). At the resource level, supported resource types are 'VirtualMachines, VMSS and ARC Machines'.
*
* @summary Get the Defender plans pricing configurations of the selected scope (valid scopes are resource id or a subscription id). At the resource level, supported resource types are 'VirtualMachines, VMSS and ARC Machines'.
* x-ms-original-file: specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/GetPricingByNameDns_example.json
*/
async function getPricingsOnSubscriptionDnsPlan() {
const scopeId = "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23";
const pricingName = "Dns";
const credential = new DefaultAzureCredential();
const client = new SecurityCenter(credential);
const result = await client.pricings.get(scopeId, pricingName);
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
Sample Response
{
"id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/Dns",
"name": "Dns",
"type": "Microsoft.Security/pricings",
"properties": {
"pricingTier": "Standard",
"freeTrialRemainingTime": "PT0S",
"enablementTime": "2023-03-01T12:42:42.1921106Z",
"deprecated": true,
"replacedBy": [
"VirtualMachines"
],
"enforce": "False",
"resourcesCoverageStatus": "FullyCovered"
}
}
Get pricings on subscription - StorageAccounts plan
Sample Request
GET https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/StorageAccounts?api-version=2024-01-01
package armsecurity_test
import (
"context"
"log"
"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/GetPricingByNameStorageAccounts_example.json
func ExamplePricingsClient_Get_getPricingsOnSubscriptionStorageAccountsPlan() {
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().Get(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", "StorageAccounts", 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("StorageAccounts"),
// Type: to.Ptr("Microsoft.Security/pricings"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/StorageAccounts"),
// 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),
// SubPlan: to.Ptr("PerStorageAccount"),
// Extensions: []*armsecurity.Extension{
// {
// Name: to.Ptr("OnUploadMalwareScanning"),
// AdditionalExtensionProperties: map[string]any{
// "capGBPerMonthPerStorageAccount": float64(10),
// },
// IsEnabled: to.Ptr(armsecurity.IsEnabledTrue),
// },
// {
// Name: to.Ptr("SensitiveDataDiscovery"),
// 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 Get the Defender plans pricing configurations of the selected scope (valid scopes are resource id or a subscription id). At the resource level, supported resource types are 'VirtualMachines, VMSS and ARC Machines'.
*
* @summary Get the Defender plans pricing configurations of the selected scope (valid scopes are resource id or a subscription id). At the resource level, supported resource types are 'VirtualMachines, VMSS and ARC Machines'.
* x-ms-original-file: specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/GetPricingByNameStorageAccounts_example.json
*/
async function getPricingsOnSubscriptionStorageAccountsPlan() {
const scopeId = "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23";
const pricingName = "StorageAccounts";
const credential = new DefaultAzureCredential();
const client = new SecurityCenter(credential);
const result = await client.pricings.get(scopeId, pricingName);
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
Sample Response
{
"id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/StorageAccounts",
"name": "StorageAccounts",
"type": "Microsoft.Security/pricings",
"properties": {
"pricingTier": "Standard",
"subPlan": "PerStorageAccount",
"freeTrialRemainingTime": "PT0S",
"enablementTime": "2023-03-01T12:42:42.1921106Z",
"enforce": "False",
"resourcesCoverageStatus": "FullyCovered",
"extensions": [
{
"name": "OnUploadMalwareScanning",
"isEnabled": "True",
"additionalExtensionProperties": {
"capGBPerMonthPerStorageAccount": 10
}
},
{
"name": "SensitiveDataDiscovery",
"isEnabled": "True"
}
]
}
}
Get pricings on subscription - VirtualMachines plan
Sample Request
GET https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/VirtualMachines?api-version=2024-01-01
package armsecurity_test
import (
"context"
"log"
"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/GetPricingByNameVirtualMachines_example.json
func ExamplePricingsClient_Get_getPricingsOnSubscriptionVirtualMachinesPlan() {
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().Get(ctx, "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", "VirtualMachines", 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.EnforceFalse),
// FreeTrialRemainingTime: to.Ptr("PT0S"),
// PricingTier: to.Ptr(armsecurity.PricingTierStandard),
// ResourcesCoverageStatus: to.Ptr(armsecurity.ResourcesCoverageStatusPartiallyCovered),
// SubPlan: to.Ptr("P2"),
// Extensions: []*armsecurity.Extension{
// {
// Name: to.Ptr("AgentlessVmScanning"),
// AdditionalExtensionProperties: map[string]any{
// "ExclusionTags": "[{\"Key\":\"TestKey1\",\"Value\":\"TestValue1\"},{\"Key\":\"TestKey2\",\"Value\":\"TestValue2\"}]",
// },
// IsEnabled: to.Ptr(armsecurity.IsEnabledTrue),
// },
// {
// Name: to.Ptr("MdeDesignatedSubscription"),
// 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 Get the Defender plans pricing configurations of the selected scope (valid scopes are resource id or a subscription id). At the resource level, supported resource types are 'VirtualMachines, VMSS and ARC Machines'.
*
* @summary Get the Defender plans pricing configurations of the selected scope (valid scopes are resource id or a subscription id). At the resource level, supported resource types are 'VirtualMachines, VMSS and ARC Machines'.
* x-ms-original-file: specification/security/resource-manager/Microsoft.Security/stable/2024-01-01/examples/Pricings/GetPricingByNameVirtualMachines_example.json
*/
async function getPricingsOnSubscriptionVirtualMachinesPlan() {
const scopeId = "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23";
const pricingName = "VirtualMachines";
const credential = new DefaultAzureCredential();
const client = new SecurityCenter(credential);
const result = await client.pricings.get(scopeId, pricingName);
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
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": "False",
"resourcesCoverageStatus": "PartiallyCovered",
"extensions": [
{
"name": "AgentlessVmScanning",
"isEnabled": "True",
"additionalExtensionProperties": {
"ExclusionTags": "[{\"Key\":\"TestKey1\",\"Value\":\"TestValue1\"},{\"Key\":\"TestKey2\",\"Value\":\"TestValue2\"}]"
}
},
{
"name": "MdeDesignatedSubscription",
"isEnabled": "True"
}
]
}
}
Definicje
Nazwa |
Opis |
CloudError
|
Typowa odpowiedź na błędy dla wszystkich interfejsów API usługi Azure Resource Manager zwraca szczegóły 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 jest ustawiona wartość "Fałsz", umożliwia elementom podrzędnym 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" oznacza, że bieżący zakres dziedziczy konfigurację cen po jej elemencie nadrzędnym. Identyfikator zakresu nadrzędnego, który zapewnia dziedziczonej konfiguracji, jest wyświetlany w polu "inheritedFrom". Z drugiej strony wyrażenie "dziedziczone" = "Fałsz" oznacza, że bieżący zakres ma jawnie ustawioną własną konfigurację cen i nie dziedziczy po swoim elemencie nadrzędnym. To pole jest tylko do odczytu i jest 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
|
Microsoft Defender dla chmury 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. Microsoft Defender dla chmury 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 wystąpić niezgodność między stanem planu subskrypcji a stanem zasobu. To pole pomaga wskazać stan pokrycia zasobów.
|
CloudError
Typowa odpowiedź na błędy dla wszystkich interfejsów API usługi Azure Resource Manager zwraca szczegóły 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
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
Kod stanu operacji.
Nazwa |
Typ |
Opis |
Failed
|
string
|
Rozszerzenie nie zostało pomyślnie utworzone/zaktualizowane. Aby uzyskać więcej informacji, zobacz komunikat o stanie operacji.
|
Succeeded
|
string
|
Rozszerzenie zostało pomyślnie utworzone/zaktualizowane.
|
enforce
Jeśli jest ustawiona wartość "Fałsz", umożliwia elementom podrzędnym 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.
Nazwa |
Typ |
Opis |
False
|
string
|
Umożliwia elementom podrzędnym tego zakresu zastąpienie konfiguracji cen ustawionej w tym zakresie (umożliwia ustawienie dziedziczone="Fałsz")
|
True
|
string
|
Zapobiega przesłonięciom i wymusza konfigurację cen bieżącego zakresu dla wszystkich elementów podrzędnych
|
ErrorAdditionalInfo
Dodatkowe informacje o błędzie zarządzania zasobami.
Nazwa |
Typ |
Opis |
info
|
object
|
Dodatkowe informacje.
|
type
|
string
|
Dodatkowy typ informacji.
|
Extension
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 — oparte na interfejsie API odnajdywanie informacji o architekturze klastra Kubernetes, obiektach obciążenia i konfiguracji. Wymagane w przypadku spisu platformy Kubernetes, wykrywania tożsamości i ekspozycji w sieci, analizy ścieżki ataku i wyszukiwania zagrożeń w ramach eksploratora zabezpieczeń w chmurze.
Dostępny dla planu CloudPosture.
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.
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ępne dla planów StorageAccounts i CloudPosture.
ContainerRegistriesVulnerabilityAssessments — zapewnia zarządzanie lukami w zabezpieczeniach dla obrazów przechowywanych w rejestrach kontenerów.
Dostępne dla planów CloudPosture i Containers.
|
operationStatus
|
OperationStatus
|
Opcjonalny. Stan opisujący powodzenie/niepowodzenie operacji włączania/wyłączania rozszerzenia.
|
inherited
Wyrażenie "dziedziczone" = "True" oznacza, że bieżący zakres dziedziczy konfigurację cen po jej elemencie nadrzędnym. Identyfikator zakresu nadrzędnego, który zapewnia dziedziczonej konfiguracji, jest wyświetlany w polu "inheritedFrom". Z drugiej strony wyrażenie "dziedziczone" = "Fałsz" oznacza, że bieżący zakres ma jawnie ustawioną własną konfigurację cen i nie dziedziczy po swoim elemencie nadrzędnym. To pole jest tylko do odczytu i jest dostępne tylko dla cen na poziomie zasobów.
Nazwa |
Typ |
Opis |
False
|
string
|
Wskazuje, że bieżący zakres ustawia własną konfigurację cennika i nie dziedziczy jej z elementu nadrzędnego
|
True
|
string
|
Wskazuje, że bieżący zakres dziedziczy konfigurację cennika po jego nadrzędnej
|
isEnabled
Wskazuje, czy rozszerzenie jest włączone.
Nazwa |
Typ |
Opis |
False
|
string
|
Wskazuje, że rozszerzenie jest wyłączone
|
True
|
string
|
Wskazuje, że rozszerzenie jest włączone
|
OperationStatus
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
Microsoft Defender dla chmury 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
|
Opcjonalny. Wartość True, jeśli plan jest przestarzały. Jeśli zostaną zastąpione plany, zostaną one wyświetlone we replacedBy właściwości
|
properties.enablementTime
|
string
|
Opcjonalny. Jeśli pricingTier właściwość ma Standard wartość , właściwość przechowuje datę ostatniego pricingTier ustawienia Standard , gdy jest dostępna (np. 2023-03-01T12:42:42.192106Z).
|
properties.enforce
|
enforce
|
Jeśli jest ustawiona wartość "Fałsz", umożliwia elementom podrzędnym 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[]
|
Opcjonalny. Lista rozszerzeń oferowanych w ramach planu.
|
properties.freeTrialRemainingTime
|
string
|
Pozostały czas trwania okresu bezpłatnej wersji próbnej subskrypcji — w formacie ISO 8601 (np. P3Y6M4DT12H30M5S).
|
properties.inherited
|
inherited
|
Wyrażenie "dziedziczone" = "True" oznacza, że bieżący zakres dziedziczy konfigurację cen po jej elemencie nadrzędnym. Identyfikator zakresu nadrzędnego, który zapewnia dziedziczonej konfiguracji, jest wyświetlany w polu "inheritedFrom". Z drugiej strony wyrażenie "dziedziczone" = "Fałsz" oznacza, że bieżący zakres ma jawnie ustawioną własną konfigurację cen i nie dziedziczy po swoim elemencie nadrzędnym. To pole jest tylko do odczytu i jest dostępne tylko dla cen na poziomie zasobów.
|
properties.inheritedFrom
|
string
|
Identyfikator zakresu odziedziczonego po. "Null", jeśli nie jest dziedziczony. 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. Microsoft Defender dla chmury 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[]
|
Opcjonalny. 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 wystąpić 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 VirtualMachines 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
Wskazuje, czy plan usługi Defender jest włączony w wybranym zakresie. Microsoft Defender dla chmury 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 |
Free
|
string
|
Uzyskaj bezpłatne Microsoft Defender dla środowiska chmury z podstawowymi funkcjami zabezpieczeń
|
Standard
|
string
|
Uzyskaj standardowe Microsoft Defender dla środowiska chmury z zaawansowanymi funkcjami 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 wystąpić niezgodność między stanem planu subskrypcji a stanem zasobu. To pole pomaga wskazać stan pokrycia zasobów.
Nazwa |
Typ |
Opis |
FullyCovered
|
string
|
Ta wartość wskazuje, że wszystkie zasoby skojarzone z subskrypcją mają włączony plan usługi Defender.
|
NotCovered
|
string
|
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.
|
PartiallyCovered
|
string
|
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.
|