구독의 보안을 사전에 개선하는 데 도움이 되는 권장 작업
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}?api-version=2015-06-01-preview
URI 매개 변수
Name |
In(다음 안에) |
필수 |
형식 |
Description |
ascLocation
|
path |
True
|
string
|
ASC가 구독의 데이터를 저장하는 위치입니다. 위치 가져오기에서 검색할 수 있습니다.
|
subscriptionId
|
path |
True
|
string
|
Azure 구독 ID
regex 패턴: ^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$
|
taskName
|
path |
True
|
string
|
작업 개체의 이름이며 GUID가 됩니다.
|
api-version
|
query |
True
|
string
|
작업에 대한 API 버전
|
응답
보안
azure_auth
Azure Active Directory OAuth2 Flow
형식:
oauth2
Flow:
implicit
권한 부여 URL:
https://login.microsoftonline.com/common/oauth2/authorize
범위
Name |
Description |
user_impersonation
|
사용자 계정 가장
|
예제
Get security recommendation task from security data location
샘플 요청
GET https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/locations/westeurope/tasks/62609ee7-d0a5-8616-9fe4-1df5cca7758d?api-version=2015-06-01-preview
/**
* Samples for Tasks GetSubscriptionLevelTask.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/examples/Tasks/
* GetTaskSubscriptionLocation_example.json
*/
/**
* Sample code: Get security recommendation task from security data location.
*
* @param manager Entry point to SecurityManager.
*/
public static void getSecurityRecommendationTaskFromSecurityDataLocation(
com.azure.resourcemanager.security.SecurityManager manager) {
manager.tasks().getSubscriptionLevelTaskWithResponse("westeurope", "62609ee7-d0a5-8616-9fe4-1df5cca7758d",
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/2015-06-01-preview/examples/Tasks/GetTaskSubscriptionLocation_example.json
func ExampleTasksClient_GetSubscriptionLevelTask() {
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.NewTasksClient().GetSubscriptionLevelTask(ctx, "westeurope", "62609ee7-d0a5-8616-9fe4-1df5cca7758d", 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.Task = armsecurity.Task{
// Name: to.Ptr("62609ee7-d0a5-8616-9fe4-1df5cca7758d"),
// Type: to.Ptr("Microsoft.Security/locations/tasks"),
// ID: to.Ptr("/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/locations/westeurope/tasks/62609ee7-d0a5-8616-9fe4-1df5cca7758d"),
// Properties: &armsecurity.TaskProperties{
// CreationTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-03-05T10:42:03.993Z"); return t}()),
// LastStateChangeTimeUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-03-05T10:42:03.993Z"); return t}()),
// SecurityTaskParameters: &armsecurity.TaskParameters{
// AdditionalProperties: map[string]any{
// "location": "uksouth",
// "resourceGroup": "myRg",
// "resourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/default",
// "resourceName": "default",
// "resourceParent": "vnet1",
// "resourceType": "Subnet",
// "uniqueKey": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/default",
// },
// Name: to.Ptr("NetworkSecurityGroupMissingOnSubnet"),
// },
// State: to.Ptr("Active"),
// SubState: to.Ptr("NA"),
// },
// }
}
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 Recommended tasks that will help improve the security of the subscription proactively
*
* @summary Recommended tasks that will help improve the security of the subscription proactively
* x-ms-original-file: specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/examples/Tasks/GetTaskSubscriptionLocation_example.json
*/
async function getSecurityRecommendationTaskFromSecurityDataLocation() {
const subscriptionId =
process.env["SECURITY_SUBSCRIPTION_ID"] || "20ff7fc3-e762-44dd-bd96-b71116dcdc23";
const ascLocation = "westeurope";
const taskName = "62609ee7-d0a5-8616-9fe4-1df5cca7758d";
const credential = new DefaultAzureCredential();
const client = new SecurityCenter(credential, subscriptionId);
const result = await client.tasks.getSubscriptionLevelTask(ascLocation, taskName);
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
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.SecurityCenter;
// Generated from example definition: specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/examples/Tasks/GetTaskSubscriptionLocation_example.json
// this example is just showing the usage of "Tasks_GetSubscriptionLevelTask" 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 SubscriptionSecurityTaskResource created on azure
// for more information of creating SubscriptionSecurityTaskResource, please refer to the document of SubscriptionSecurityTaskResource
string subscriptionId = "20ff7fc3-e762-44dd-bd96-b71116dcdc23";
AzureLocation ascLocation = new AzureLocation("westeurope");
string taskName = "62609ee7-d0a5-8616-9fe4-1df5cca7758d";
ResourceIdentifier subscriptionSecurityTaskResourceId = SubscriptionSecurityTaskResource.CreateResourceIdentifier(subscriptionId, ascLocation, taskName);
SubscriptionSecurityTaskResource subscriptionSecurityTask = client.GetSubscriptionSecurityTaskResource(subscriptionSecurityTaskResourceId);
// invoke the operation
SubscriptionSecurityTaskResource result = await subscriptionSecurityTask.GetAsync();
// the variable result 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
SecurityTaskData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
샘플 응답
{
"id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/locations/westeurope/tasks/62609ee7-d0a5-8616-9fe4-1df5cca7758d",
"name": "62609ee7-d0a5-8616-9fe4-1df5cca7758d",
"type": "Microsoft.Security/locations/tasks",
"properties": {
"state": "Active",
"subState": "NA",
"creationTimeUtc": "2018-03-05T10:42:03.9935508Z",
"lastStateChangeTimeUtc": "2018-03-05T10:42:03.9935508Z",
"securityTaskParameters": {
"resourceName": "default",
"resourceType": "Subnet",
"resourceParent": "vnet1",
"location": "uksouth",
"resourceGroup": "myRg",
"name": "NetworkSecurityGroupMissingOnSubnet",
"uniqueKey": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/default",
"resourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/default"
}
}
}
정의
CloudError
실패한 작업에 대한 오류 세부 정보를 반환하는 모든 Azure Resource Manager API에 대한 일반적인 오류 응답입니다. 또한 OData 오류 응답 형식을 따릅니다.
Name |
형식 |
Description |
error.additionalInfo
|
ErrorAdditionalInfo[]
|
오류 추가 정보입니다.
|
error.code
|
string
|
오류 코드입니다.
|
error.details
|
CloudErrorBody[]
|
오류 세부 정보입니다.
|
error.message
|
string
|
오류 메시지입니다.
|
error.target
|
string
|
오류 대상입니다.
|
CloudErrorBody
오류 세부 정보입니다.
Name |
형식 |
Description |
additionalInfo
|
ErrorAdditionalInfo[]
|
오류 추가 정보입니다.
|
code
|
string
|
오류 코드입니다.
|
details
|
CloudErrorBody[]
|
오류 세부 정보입니다.
|
message
|
string
|
오류 메시지입니다.
|
target
|
string
|
오류 대상입니다.
|
ErrorAdditionalInfo
리소스 관리 오류 추가 정보입니다.
Name |
형식 |
Description |
info
|
object
|
추가 정보입니다.
|
type
|
string
|
추가 정보 유형입니다.
|
SecurityTask
보안을 강화하기 위해 수행하는 것이 좋습니다.
Name |
형식 |
Description |
id
|
string
|
리소스 ID
|
name
|
string
|
리소스 이름
|
properties.creationTimeUtc
|
string
|
이 작업이 UTC에서 검색된 시간
|
properties.lastStateChangeTimeUtc
|
string
|
이 작업의 세부 정보가 UTC에서 마지막으로 변경된 시간
|
properties.securityTaskParameters
|
SecurityTaskParameters
|
이름 필드에서 파생된 작업 유형에 따라 속성 집합 변경
|
properties.state
|
string
|
작업의 상태(활성, 해결됨 등)
|
properties.subState
|
string
|
작업 상태에 대한 추가 데이터
|
type
|
string
|
리소스 종류
|
SecurityTaskParameters
이름 필드에서 파생된 작업 유형에 따라 속성 집합 변경
Name |
형식 |
Description |
name
|
string
|
작업 유형 이름
|