The Compliance scores of the specific management group.
GET https://management.azure.com/{scope}/providers/Microsoft.Security/compliances?api-version=2017-08-01-preview
URI Parameters
Name |
In |
Required |
Type |
Description |
scope
|
path |
True
|
string
|
Scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group (/providers/Microsoft.Management/managementGroups/mgName).
|
api-version
|
query |
True
|
string
|
API version for the operation
|
Responses
Name |
Type |
Description |
200 OK
|
ComplianceList
|
OK
|
Other Status Codes
|
CloudError
|
Error response describing why the operation failed.
|
Security
azure_auth
Azure Active Directory OAuth2 Flow
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Name |
Description |
user_impersonation
|
impersonate your user account
|
Examples
Get security compliance data over time
Sample request
GET https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/compliances?api-version=2017-08-01-preview
/**
* Samples for Compliances List.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/Compliances/
* GetCompliances_example.json
*/
/**
* Sample code: Get security compliance data over time.
*
* @param manager Entry point to SecurityManager.
*/
public static void getSecurityComplianceDataOverTime(com.azure.resourcemanager.security.SecurityManager manager) {
manager.compliances().list("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23",
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
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/preview/2017-08-01-preview/examples/Compliances/GetCompliances_example.json
func ExampleCompliancesClient_NewListPager() {
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)
}
pager := clientFactory.NewCompliancesClient().NewListPager("subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", nil)
for pager.More() {
page, err := pager.NextPage(ctx)
if err != nil {
log.Fatalf("failed to advance page: %v", err)
}
for _, v := range page.Value {
// You could use page here. We use blank identifier for just demo purposes.
_ = v
}
// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// page.ComplianceList = armsecurity.ComplianceList{
// Value: []*armsecurity.Compliance{
// {
// Name: to.Ptr("2018-01-01Z"),
// Type: to.Ptr("Microsoft.Security/compliances"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/compliances/2018-01-01Z"),
// Properties: &armsecurity.ComplianceProperties{
// AssessmentResult: []*armsecurity.ComplianceSegment{
// {
// Percentage: to.Ptr[float64](77.77777777777779),
// SegmentType: to.Ptr("Compliant"),
// }},
// AssessmentTimestampUTCDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-01T00:00:00.000Z"); return t}()),
// ResourceCount: to.Ptr[int32](18),
// },
// },
// {
// Name: to.Ptr("2018-01-02Z"),
// Type: to.Ptr("Microsoft.Security/compliances"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/compliances/2018-01-02Z"),
// Properties: &armsecurity.ComplianceProperties{
// AssessmentResult: []*armsecurity.ComplianceSegment{
// {
// Percentage: to.Ptr[float64](94.44444444444444),
// SegmentType: to.Ptr("Compliant"),
// }},
// AssessmentTimestampUTCDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-02T00:00:00.000Z"); return t}()),
// ResourceCount: to.Ptr[int32](18),
// },
// },
// {
// Name: to.Ptr("2018-01-03Z"),
// Type: to.Ptr("Microsoft.Security/compliances"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/compliances/2018-01-03Z"),
// Properties: &armsecurity.ComplianceProperties{
// AssessmentResult: []*armsecurity.ComplianceSegment{
// {
// Percentage: to.Ptr[float64](100),
// SegmentType: to.Ptr("Compliant"),
// }},
// AssessmentTimestampUTCDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-01-03T00:00:00.000Z"); return t}()),
// ResourceCount: to.Ptr[int32](18),
// },
// }},
// }
}
}
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 The Compliance scores of the specific management group.
*
* @summary The Compliance scores of the specific management group.
* x-ms-original-file: specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/Compliances/GetCompliances_example.json
*/
async function getSecurityComplianceDataOverTime() {
const scope = "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23";
const credential = new DefaultAzureCredential();
const client = new SecurityCenter(credential);
const resArray = new Array();
for await (let item of client.compliances.list(scope)) {
resArray.push(item);
}
console.log(resArray);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.SecurityCenter;
// Generated from example definition: specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/Compliances/GetCompliances_example.json
// this example is just showing the usage of "Compliances_List" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ArmResource created on azure
// for more information of creating ArmResource, please refer to the document of ArmResource
// get the collection of this SecurityComplianceResource
string scope = "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23";
ResourceIdentifier scopeId = new ResourceIdentifier(string.Format("/{0}", scope));
SecurityComplianceCollection collection = client.GetSecurityCompliances(scopeId);
// invoke the operation and iterate over the result
await foreach (SecurityComplianceResource item in collection.GetAllAsync())
{
// the variable item is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
SecurityComplianceData resourceData = item.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
}
Console.WriteLine($"Succeeded");
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
{
"value": [
{
"id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/compliances/2018-01-01Z",
"name": "2018-01-01Z",
"type": "Microsoft.Security/compliances",
"properties": {
"assessmentResult": [
{
"segmentType": "Compliant",
"percentage": 77.77777777777779
}
],
"resourceCount": 18,
"assessmentTimestampUtcDate": "2018-01-01T00:00:00Z"
}
},
{
"id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/compliances/2018-01-02Z",
"name": "2018-01-02Z",
"type": "Microsoft.Security/compliances",
"properties": {
"assessmentResult": [
{
"segmentType": "Compliant",
"percentage": 94.44444444444444
}
],
"resourceCount": 18,
"assessmentTimestampUtcDate": "2018-01-02T00:00:00Z"
}
},
{
"id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/compliances/2018-01-03Z",
"name": "2018-01-03Z",
"type": "Microsoft.Security/compliances",
"properties": {
"assessmentResult": [
{
"segmentType": "Compliant",
"percentage": 100
}
],
"resourceCount": 18,
"assessmentTimestampUtcDate": "2018-01-03T00:00:00Z"
}
}
]
}
Definitions
Name |
Description |
CloudError
|
Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).
|
CloudErrorBody
|
The error detail.
|
Compliance
|
Compliance of a scope
|
ComplianceList
|
List of Compliance objects response
|
ComplianceSegment
|
A segment of a compliance assessment.
|
ErrorAdditionalInfo
|
The resource management error additional info.
|
CloudError
Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).
Name |
Type |
Description |
error.additionalInfo
|
ErrorAdditionalInfo[]
|
The error additional info.
|
error.code
|
string
|
The error code.
|
error.details
|
CloudErrorBody[]
|
The error details.
|
error.message
|
string
|
The error message.
|
error.target
|
string
|
The error target.
|
CloudErrorBody
The error detail.
Name |
Type |
Description |
additionalInfo
|
ErrorAdditionalInfo[]
|
The error additional info.
|
code
|
string
|
The error code.
|
details
|
CloudErrorBody[]
|
The error details.
|
message
|
string
|
The error message.
|
target
|
string
|
The error target.
|
Compliance
Compliance of a scope
Name |
Type |
Description |
id
|
string
|
Resource Id
|
name
|
string
|
Resource name
|
properties.assessmentResult
|
ComplianceSegment[]
|
An array of segment, which is the actually the compliance assessment.
|
properties.assessmentTimestampUtcDate
|
string
|
The timestamp when the Compliance calculation was conducted.
|
properties.resourceCount
|
integer
|
The resource count of the given subscription for which the Compliance calculation was conducted (needed for Management Group Compliance calculation).
|
type
|
string
|
Resource type
|
ComplianceList
List of Compliance objects response
Name |
Type |
Description |
nextLink
|
string
|
The URI to fetch the next page.
|
value
|
Compliance[]
|
List of Compliance objects
|
ComplianceSegment
A segment of a compliance assessment.
Name |
Type |
Description |
percentage
|
number
|
The size (%) of the segment.
|
segmentType
|
string
|
The segment type, e.g. compliant, non-compliance, insufficient coverage, N/A, etc.
|
ErrorAdditionalInfo
The resource management error additional info.
Name |
Type |
Description |
info
|
object
|
The additional info.
|
type
|
string
|
The additional info type.
|