Gets a list of discovered Security Solutions for the subscription and location.
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions?api-version=2020-01-01
URI Parameters
Name |
In |
Required |
Type |
Description |
ascLocation
|
path |
True
|
string
|
The location where ASC stores the data of the subscription. can be retrieved from Get locations
|
subscriptionId
|
path |
True
|
string
|
Azure subscription ID
Regex pattern: ^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$
|
api-version
|
query |
True
|
string
|
API version for the operation
|
Responses
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 discovered security solutions from a security data location
Sample request
GET https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/locations/centralus/discoveredSecuritySolutions?api-version=2020-01-01
/**
* Samples for DiscoveredSecuritySolutions ListByHomeRegion.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions
* /GetDiscoveredSecuritySolutionsSubscriptionLocation_example.json
*/
/**
* Sample code: Get discovered security solutions from a security data location.
*
* @param manager Entry point to SecurityManager.
*/
public static void getDiscoveredSecuritySolutionsFromASecurityDataLocation(
com.azure.resourcemanager.security.SecurityManager manager) {
manager.discoveredSecuritySolutions().listByHomeRegion("centralus", 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/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscriptionLocation_example.json
func ExampleDiscoveredSecuritySolutionsClient_NewListByHomeRegionPager() {
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.NewDiscoveredSecuritySolutionsClient().NewListByHomeRegionPager("centralus", 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.DiscoveredSecuritySolutionList = armsecurity.DiscoveredSecuritySolutionList{
// Value: []*armsecurity.DiscoveredSecuritySolution{
// {
// Location: to.Ptr("eastus"),
// Name: to.Ptr("CP"),
// Type: to.Ptr("Microsoft.Security/locations/discoveredSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/centralus/discoveredSecuritySolutions/CP"),
// Properties: &armsecurity.DiscoveredSecuritySolutionProperties{
// Offer: to.Ptr("cisco-asav"),
// Publisher: to.Ptr("cisco"),
// SecurityFamily: to.Ptr(armsecurity.SecurityFamilyNgfw),
// SKU: to.Ptr("asav-azure-byol"),
// },
// },
// {
// Location: to.Ptr("eastus2"),
// Name: to.Ptr("paloalto7"),
// Type: to.Ptr("Microsoft.Security/locations/discoveredSecuritySolutions"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/centralus/discoveredSecuritySolutions/paloalto7"),
// Properties: &armsecurity.DiscoveredSecuritySolutionProperties{
// Offer: to.Ptr("vmseries1"),
// Publisher: to.Ptr("paloaltonetworks"),
// SecurityFamily: to.Ptr(armsecurity.SecurityFamilyNgfw),
// SKU: to.Ptr("byol"),
// },
// }},
// }
}
}
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 Gets a list of discovered Security Solutions for the subscription and location.
*
* @summary Gets a list of discovered Security Solutions for the subscription and location.
* x-ms-original-file: specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscriptionLocation_example.json
*/
async function getDiscoveredSecuritySolutionsFromASecurityDataLocation() {
const subscriptionId =
process.env["SECURITY_SUBSCRIPTION_ID"] || "20ff7fc3-e762-44dd-bd96-b71116dcdc23";
const ascLocation = "centralus";
const credential = new DefaultAzureCredential();
const client = new SecurityCenter(credential, subscriptionId);
const resArray = new Array();
for await (let item of client.discoveredSecuritySolutions.listByHomeRegion(ascLocation)) {
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.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.SecurityCenter;
using Azure.ResourceManager.SecurityCenter.Models;
// Generated from example definition: specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscriptionLocation_example.json
// this example is just showing the usage of "DiscoveredSecuritySolutions_ListByHomeRegion" 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://zcusa.951200.xyz/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 SecurityCenterLocationResource created on azure
// for more information of creating SecurityCenterLocationResource, please refer to the document of SecurityCenterLocationResource
string subscriptionId = "20ff7fc3-e762-44dd-bd96-b71116dcdc23";
AzureLocation ascLocation = new AzureLocation("centralus");
ResourceIdentifier securityCenterLocationResourceId = SecurityCenterLocationResource.CreateResourceIdentifier(subscriptionId, ascLocation);
SecurityCenterLocationResource securityCenterLocation = client.GetSecurityCenterLocationResource(securityCenterLocationResourceId);
// invoke the operation and iterate over the result
await foreach (DiscoveredSecuritySolution item in securityCenterLocation.GetDiscoveredSecuritySolutionsByHomeRegionAsync())
{
Console.WriteLine($"Succeeded: {item}");
}
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": [
{
"properties": {
"securityFamily": "Ngfw",
"offer": "cisco-asav",
"publisher": "cisco",
"sku": "asav-azure-byol"
},
"id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/centralus/discoveredSecuritySolutions/CP",
"name": "CP",
"type": "Microsoft.Security/locations/discoveredSecuritySolutions",
"location": "eastus"
},
{
"properties": {
"securityFamily": "Ngfw",
"offer": "vmseries1",
"publisher": "paloaltonetworks",
"sku": "byol"
},
"id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/centralus/discoveredSecuritySolutions/paloalto7",
"name": "paloalto7",
"type": "Microsoft.Security/locations/discoveredSecuritySolutions",
"location": "eastus2"
}
]
}
Definitions
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.
|
DiscoveredSecuritySolution
Name |
Type |
Description |
id
|
string
|
Resource Id
|
location
|
string
|
Location where the resource is stored
|
name
|
string
|
Resource name
|
properties.offer
|
string
|
The security solutions' image offer
|
properties.publisher
|
string
|
The security solutions' image publisher
|
properties.securityFamily
|
securityFamily
|
The security family of the discovered solution
|
properties.sku
|
string
|
The security solutions' image sku
|
type
|
string
|
Resource type
|
DiscoveredSecuritySolutionList
ErrorAdditionalInfo
The resource management error additional info.
Name |
Type |
Description |
info
|
object
|
The additional info.
|
type
|
string
|
The additional info type.
|
securityFamily
The security family of the discovered solution
Name |
Type |
Description |
Ngfw
|
string
|
|
SaasWaf
|
string
|
|
Va
|
string
|
|
Waf
|
string
|
|