diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/alerts.json b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/alerts.json new file mode 100644 index 000000000000..50ba0abd189b --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/alerts.json @@ -0,0 +1,620 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2015-06-01-preview" + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [ + { + "azure_auth": ["user_impersonation"] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/alerts": { + "get": { + "x-ms-examples": { + "Get security alerts on a subscription": { + "$ref": "./examples/Alerts/GetAlertsSubscription_example.json" + } + }, + "tags": ["Alerts"], + "description": "List all the alerts that are associated with the subscription", + "operationId": "Alerts_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ODataSelect" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ODataExpand" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/alerts": { + "get": { + "x-ms-examples": { + "Get security alerts on a resource group": { + "$ref": "./examples/Alerts/GetAlertsResourceGroup_example.json" + } + }, + "tags": ["Alerts"], + "description": "List all the alerts that are associated with the resource group", + "operationId": "Alerts_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ODataSelect" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ODataExpand" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts": { + "get": { + "x-ms-examples": { + "Get security alerts on a subscription from a security data location": { + "$ref": "./examples/Alerts/GetAlertsSubscriptionsLocation_example.json" + } + }, + "tags": ["Alerts"], + "description": "List all the alerts that are associated with the subscription that are stored in a specific location", + "operationId": "Alerts_ListSubscriptionLevelAlertsByRegion", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ODataSelect" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ODataExpand" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts": { + "get": { + "x-ms-examples": { + "Get security alerts on a resource group from a security data location": { + "$ref": "./examples/Alerts/GetAlertsResourceGroupLocation_example.json" + } + }, + "tags": ["Alerts"], + "description": "List all the alerts that are associated with the resource group that are stored in a specific location", + "operationId": "Alerts_ListResourceGroupLevelAlertsByRegion", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ODataSelect" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ODataExpand" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}": { + "get": { + "x-ms-examples": { + "Get security alert on a subscription from a security data location": { + "$ref": "./examples/Alerts/GetAlertSubscriptionLocation_example.json" + } + }, + "tags": ["Alerts"], + "description": "Get an alert that is associated with a subscription", + "operationId": "Alerts_GetSubscriptionLevelAlert", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Alert" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}": { + "get": { + "x-ms-examples": { + "Get security alert on a resource group from a security data location": { + "$ref": "./examples/Alerts/GetAlertResourceGroupLocation_example.json" + } + }, + "tags": ["Alerts"], + "description": "Get an alert that is associated a resource group or a resource in a resource group", + "operationId": "Alerts_GetResourceGroupLevelAlerts", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Alert" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/{alertUpdateActionType}": { + "post": { + "x-ms-examples": { + "Update security alert state on a subscription from a security data location": { + "$ref": "./examples/Alerts/UpdateAlertSubscriptionLocation_example.json" + } + }, + "tags": ["Alerts"], + "description": "Update the alert's state", + "operationId": "Alerts_UpdateSubscriptionLevelAlertState", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + }, + { + "$ref": "#/parameters/AlertUpdateActionType" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/{alertUpdateActionType}": { + "post": { + "x-ms-examples": { + "Update security alert state on a resource group from a security data location": { + "$ref": "./examples/Alerts/UpdateAlertResourceGroupLocation_example.json" + } + }, + "tags": ["Alerts"], + "description": "Update the alert's state", + "operationId": "Alerts_UpdateResourceGroupLevelAlertState", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + }, + { + "$ref": "#/parameters/AlertUpdateActionType" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "AlertList": { + "type": "object", + "description": "List of security alerts", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Alert" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "Alert": { + "type": "object", + "description": "Security alert", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AlertProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "AlertProperties": { + "type": "object", + "description": "describes security alert properties.", + "properties": { + "state": { + "readOnly": true, + "type": "string", + "description": "State of the alert (Active, Dismissed etc.)" + }, + "reportedTimeUtc": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time the incident was reported to Microsoft.Security in UTC" + }, + "vendorName": { + "readOnly": true, + "type": "string", + "description": "Name of the vendor that discovered the incident" + }, + "alertName": { + "readOnly": true, + "type": "string", + "description": "Name of the alert type" + }, + "alertDisplayName": { + "readOnly": true, + "type": "string", + "description": "Display name of the alert type" + }, + "detectedTimeUtc": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time the incident was detected by the vendor" + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Description of the incident and what it means" + }, + "remediationSteps": { + "readOnly": true, + "type": "string", + "description": "Recommended steps to reradiate the incident" + }, + "actionTaken": { + "readOnly": true, + "type": "string", + "description": "The action that was taken as a response to the alert (Active, Blocked etc.)" + }, + "reportedSeverity": { + "readOnly": true, + "type": "string", + "enum": ["Silent", "Information", "Low", "High"], + "x-ms-enum": { + "name": "reportedSeverity", + "modelAsString": true, + "values": [ + { + "value": "Silent" + }, + { + "value": "Information" + }, + { + "value": "Low" + }, + { + "value": "High" + } + ] + }, + "description": "Estimated severity of this alert" + }, + "compromisedEntity": { + "readOnly": true, + "type": "string", + "description": "The entity that the incident happened on" + }, + "associatedResource": { + "readOnly": true, + "type": "string", + "description": "Azure resource ID of the associated resource" + }, + "extendedProperties": { + "$ref": "#/definitions/AlertExtendedProperties" + }, + "systemSource": { + "readOnly": true, + "type": "string", + "description": "The type of the alerted resource (Azure, Non-Azure)" + }, + "canBeInvestigated": { + "readOnly": true, + "type": "boolean", + "description": "Whether this alert can be investigated with Azure Security Center" + }, + "isIncident": { + "readOnly": true, + "type": "boolean", + "description": "Whether this alert is for incident type or not (otherwise - single alert)" + }, + "entities": { + "type": "array", + "description": "objects that are related to this alerts", + "items": { + "$ref": "#/definitions/AlertEntity" + } + }, + "confidenceScore": { + "readOnly": true, + "type": "number", + "format": "float", + "minimum": 0, + "maximum": 1, + "description": "level of confidence we have on the alert" + }, + "confidenceReasons": { + "type": "array", + "description": "reasons the alert got the confidenceScore value", + "items": { + "$ref": "#/definitions/AlertConfidenceReason" + } + }, + "subscriptionId": { + "readOnly": true, + "type": "string", + "description": "Azure subscription ID of the resource that had the security alert or the subscription ID of the workspace that this resource reports to" + }, + "instanceId": { + "readOnly": true, + "type": "string", + "description": "Instance ID of the alert." + }, + "workspaceArmId": { + "readOnly": true, + "type": "string", + "description": "Azure resource ID of the workspace that the alert was reported to." + } + } + }, + "AlertConfidenceReason": { + "type": "object", + "description": "Factors that increase our confidence that the alert is a true positive", + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "Type of confidence factor" + }, + "reason": { + "readOnly": true, + "type": "string", + "description": "description of the confidence reason" + } + } + }, + "AlertEntity": { + "type": "object", + "additionalProperties": true, + "description": "Changing set of properties depending on the entity type.", + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "Type of entity" + } + } + }, + "AlertExtendedProperties": { + "type": "object", + "additionalProperties": true, + "description": "Changing set of properties depending on the alert type." + } + }, + "parameters": { + "AlertName": { + "name": "alertName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the alert object", + "x-ms-parameter-location": "method" + }, + "AlertUpdateActionType": { + "name": "alertUpdateActionType", + "in": "path", + "required": true, + "type": "string", + "enum": ["Dismiss", "Reactivate"], + "description": "Type of the action to do on the alert", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json new file mode 100644 index 000000000000..108573e2e5dc --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json @@ -0,0 +1,280 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2015-06-01-preview" + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [ + { + "azure_auth": ["user_impersonation"] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/allowedConnections": { + "get": { + "x-ms-examples": { + "Get allowed connections on a subscription": { + "$ref": "./examples/AllowedConnections/GetAllowedConnectionsSubscription_example.json" + } + }, + "tags": ["AllowedConnections"], + "description": "Gets the list of all possible traffic between resources for the subscription", + "operationId": "AllowedConnections_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AllowedConnectionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/allowedConnections": { + "get": { + "x-ms-examples": { + "Get allowed connections on a subscription from security data location": { + "$ref": "./examples/AllowedConnections/GetAllowedConnectionsSubscriptionLocation_example.json" + } + }, + "tags": ["AllowedConnections"], + "description": "Gets the list of all possible traffic between resources for the subscription and location.", + "operationId": "AllowedConnections_ListByHomeRegion", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AllowedConnectionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/allowedConnections/{connectionType}": { + "get": { + "x-ms-examples": { + "Get allowed connections": { + "$ref": "./examples/AllowedConnections/GetAllowedConnections_example.json" + } + }, + "tags": ["AllowedConnections"], + "description": "Gets the list of all possible traffic between resources for the subscription and location, based on connection type.", + "operationId": "AllowedConnections_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/ConnectionType" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AllowedConnectionsResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "AllowedConnectionsList": { + "type": "object", + "description": "List of all possible traffic between Azure resources", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/AllowedConnectionsResource" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "AllowedConnectionsResource": { + "type": "object", + "description": "The resource whose properties describes the allowed traffic between Azure resources", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "readOnly": true, + "$ref": "#/definitions/AllowedConnectionsResourceProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + }, + { + "$ref": "../../../common/v1/types.json#/definitions/Location" + } + ] + }, + "AllowedConnectionsResourceProperties": { + "type": "object", + "description": "Describes the allowed traffic between Azure resources", + "properties": { + "calculatedDateTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The UTC time on which the allowed connections resource was calculated" + }, + "connectableResources": { + "type": "array", + "readOnly": true, + "description": "List of connectable resources", + "items": { + "$ref": "#/definitions/ConnectableResource" + } + } + } + }, + "ConnectableResource": { + "type": "object", + "description": "Describes the allowed inbound and outbound traffic of an Azure resource", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The Azure resource id" + }, + "inboundConnectedResources": { + "type": "array", + "readOnly": true, + "description": "The list of Azure resources that the resource has inbound allowed connection from", + "items": { + "$ref": "#/definitions/ConnectedResource" + } + }, + "outboundConnectedResources": { + "type": "array", + "readOnly": true, + "description": "The list of Azure resources that the resource has outbound allowed connection to", + "items": { + "$ref": "#/definitions/ConnectedResource" + } + } + } + }, + "ConnectedResource": { + "type": "object", + "description": "Describes properties of a connected resource", + "properties": { + "connectedResourceId": { + "type": "string", + "readOnly": true, + "description": "The Azure resource id of the connected resource" + }, + "tcpPorts": { + "type": "string", + "readOnly": true, + "description": "The allowed tcp ports" + }, + "udpPorts": { + "type": "string", + "readOnly": true, + "description": "The allowed udp ports" + } + } + } + }, + "parameters": { + "ConnectionType": { + "name": "connectionType", + "type": "string", + "in": "path", + "description": "The type of allowed connections (Internal, External)", + "required": true, + "enum": ["Internal", "External"], + "x-ms-enum": { + "name": "connectionType", + "modelAsString": true, + "values": [ + { + "value": "Internal" + }, + { + "value": "External" + } + ] + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json new file mode 100644 index 000000000000..a3ecb74af580 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json @@ -0,0 +1,237 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2015-06-01-preview" + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [ + { + "azure_auth": ["user_impersonation"] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/discoveredSecuritySolutions": { + "get": { + "x-ms-examples": { + "Get discovered security solutions": { + "$ref": "./examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscription_example.json" + } + }, + "tags": ["DiscoveredSecuritySolutions"], + "description": "Gets a list of discovered Security Solutions for the subscription.", + "operationId": "DiscoveredSecuritySolutions_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiscoveredSecuritySolutionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions": { + "get": { + "x-ms-examples": { + "Get discovered security solutions from a security data location": { + "$ref": "./examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscriptionLocation_example.json" + } + }, + "tags": ["DiscoveredSecuritySolutions"], + "description": "Gets a list of discovered Security Solutions for the subscription and location.", + "operationId": "DiscoveredSecuritySolutions_ListByHomeRegion", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiscoveredSecuritySolutionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions/{discoveredSecuritySolutionName}": { + "get": { + "x-ms-examples": { + "Get discovered security solution from a security data location": { + "$ref": "./examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionResourceGroupLocation_example.json" + } + }, + "tags": ["DiscoveredSecuritySolutions"], + "description": "Gets a specific discovered Security Solution.", + "operationId": "DiscoveredSecuritySolutions_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/DiscoveredSecuritySolutionName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiscoveredSecuritySolution" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "DiscoveredSecuritySolutionList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DiscoveredSecuritySolution" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "DiscoveredSecuritySolution": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiscoveredSecuritySolutionProperties" + } + }, + "required": ["properties"], + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + }, + { + "$ref": "../../../common/v1/types.json#/definitions/Location" + } + ] + }, + "DiscoveredSecuritySolutionProperties": { + "type": "object", + "properties": { + "securityFamily": { + "type": "string", + "description": "The security family of the discovered solution", + "enum": ["Waf", "Ngfw", "SaasWaf", "Va"], + "x-ms-enum": { + "name": "securityFamily", + "modelAsString": true, + "values": [ + { + "value": "Waf" + }, + { + "value": "Ngfw" + }, + { + "value": "SaasWaf" + }, + { + "value": "Va" + } + ] + } + }, + "offer": { + "type": "string", + "description": "The security solutions' image offer" + }, + "publisher": { + "type": "string", + "description": "The security solutions' image publisher" + }, + "sku": { + "type": "string", + "description": "The security solutions' image sku" + } + }, + "required": ["securityFamily", "offer", "publisher", "sku"] + } + }, + "parameters": { + "DiscoveredSecuritySolutionName": { + "name": "discoveredSecuritySolutionName", + "type": "string", + "in": "path", + "required": true, + "description": "Name of a discovered security solution.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json new file mode 100644 index 000000000000..2388cbef7522 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json @@ -0,0 +1,363 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2015-06-01-preview" + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [ + { + "azure_auth": ["user_impersonation"] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/externalSecuritySolutions": { + "get": { + "x-ms-examples": { + "Get external security solutions on a subscription": { + "$ref": "./examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscription_example.json" + } + }, + "description": "Gets a list of external security solutions for the subscription.", + "tags": ["ExternalSecuritySolutions"], + "operationId": "ExternalSecuritySolutions_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExternalSecuritySolutionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions": { + "get": { + "x-ms-examples": { + "Get external security solutions on a subscription from security data location": { + "$ref": "./examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscriptionLocation_example.json" + } + }, + "description": "Gets a list of external Security Solutions for the subscription and location.", + "tags": ["ExternalSecuritySolutions"], + "operationId": "ExternalSecuritySolutions_ListByHomeRegion", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExternalSecuritySolutionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions/{externalSecuritySolutionsName}": { + "get": { + "x-ms-examples": { + "Get external security solution": { + "$ref": "./examples/ExternalSecuritySolutions/GetExternalSecuritySolution_example.json" + } + }, + "description": "Gets a specific external Security Solution.", + "tags": ["ExternalSecuritySolutions"], + "operationId": "ExternalSecuritySolutions_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/ExternalSecuritySolutionsName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExternalSecuritySolution" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ExternalSecuritySolutionList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExternalSecuritySolution" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "ExternalSecuritySolution": { + "type": "object", + "description": "Represents a security solution external to Azure Security Center which sends information to an OMS workspace and whose data is displayed by Azure Security Center.", + "discriminator": "kind", + "properties": {}, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + }, + { + "$ref": "#/definitions/ExternalSecuritySolutionKind" + }, + { + "$ref": "../../../common/v1/types.json#/definitions/Location" + } + ] + }, + "CefExternalSecuritySolution": { + "x-ms-discriminator-value": "CEF", + "type": "object", + "description": "Represents a security solution which sends CEF logs to an OMS workspace", + "allOf": [ + { + "$ref": "#/definitions/ExternalSecuritySolution" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CefSolutionProperties" + } + } + }, + "AtaExternalSecuritySolution": { + "x-ms-discriminator-value": "ATA", + "type": "object", + "description": "Represents an ATA security solution which sends logs to an OMS workspace", + "allOf": [ + { + "$ref": "#/definitions/ExternalSecuritySolution" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AtaSolutionProperties" + } + } + }, + "AadExternalSecuritySolution": { + "x-ms-discriminator-value": "AAD", + "type": "object", + "description": "Represents an AAD identity protection solution which sends logs to an OMS workspace.", + "allOf": [ + { + "$ref": "#/definitions/ExternalSecuritySolution" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AadSolutionProperties" + } + } + }, + "ExternalSecuritySolutionKind": { + "type": "object", + "description": "Describes an Azure resource with kind", + "properties": { + "kind": { + "type": "string", + "description": "The kind of the external solution", + "enum": ["CEF", "ATA", "AAD"], + "x-ms-enum": { + "name": "ExternalSecuritySolutionKind", + "modelAsString": true, + "values": [ + { + "value": "CEF" + }, + { + "value": "ATA" + }, + { + "value": "AAD" + } + ] + } + } + } + }, + "ExternalSecuritySolutionProperties": { + "type": "object", + "description": "The solution properties (correspond to the solution kind)", + "additionalProperties": true, + "properties": { + "deviceVendor": { + "type": "string" + }, + "deviceType": { + "type": "string" + }, + "workspace": { + "$ref": "#/definitions/ConnectedWorkspace" + } + } + }, + "ConnectedWorkspace": { + "type": "object", + "title": "Represents an OMS workspace to which the solution is connected", + "properties": { + "id": { + "type": "string", + "description": "Azure resource ID of the connected OMS workspace" + } + } + }, + "AadConnectivityState": { + "type": "object", + "description": "Describes an Azure resource with kind", + "properties": { + "connectivityState": { + "type": "string", + "title": "The connectivity state of the external AAD solution ", + "enum": ["Discovered", "NotLicensed", "Connected"], + "x-ms-enum": { + "name": "AadConnectivityState", + "modelAsString": true, + "values": [ + { + "value": "Discovered" + }, + { + "value": "NotLicensed" + }, + { + "value": "Connected" + } + ] + } + } + } + }, + "AadSolutionProperties": { + "type": "object", + "title": "The external security solution properties for AAD solutions", + "allOf": [ + { + "$ref": "#/definitions/ExternalSecuritySolutionProperties" + }, + { + "$ref": "#/definitions/AadConnectivityState" + } + ] + }, + "CefSolutionProperties": { + "type": "object", + "title": "The external security solution properties for CEF solutions", + "properties": { + "hostname": { + "type": "string" + }, + "agent": { + "type": "string" + }, + "lastEventReceived": { + "type": "string" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ExternalSecuritySolutionProperties" + } + ] + }, + "AtaSolutionProperties": { + "type": "object", + "title": "The external security solution properties for ATA solutions", + "properties": { + "lastEventReceived": { + "type": "string" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ExternalSecuritySolutionProperties" + } + ] + } + }, + "parameters": { + "ExternalSecuritySolutionsName": { + "name": "externalSecuritySolutionsName", + "in": "path", + "description": "Name of an external security solution.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json new file mode 100644 index 000000000000..20ea90a49c18 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json @@ -0,0 +1,754 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2015-06-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/jitNetworkAccessPolicies": { + "get": { + "x-ms-examples": { + "Get JIT network access policies on a subscription": { + "$ref": "./examples/JitNetworkAccessPolicies/GetJitNetworkAccessPoliciesSubscription_example.json" + } + }, + "tags": [ + "JitNetworkAccessPolicies" + ], + "description": "Policies for protecting resources using Just-in-Time access control.", + "operationId": "JitNetworkAccessPolicies_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JitNetworkAccessPoliciesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies": { + "get": { + "x-ms-examples": { + "Get JIT network access policies on a subscription from a security data location": { + "$ref": "./examples/JitNetworkAccessPolicies/GetJitNetworkAccessPoliciesSubscriptionLocation_example.json" + } + }, + "tags": [ + "JitNetworkAccessPolicies" + ], + "description": "Policies for protecting resources using Just-in-Time access control for the subscription, location", + "operationId": "JitNetworkAccessPolicies_ListByRegion", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JitNetworkAccessPoliciesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/jitNetworkAccessPolicies": { + "get": { + "x-ms-examples": { + "Get JIT network access policies on a resource group": { + "$ref": "./examples/JitNetworkAccessPolicies/GetJitNetworkAccessPoliciesResourceGroup_example.json" + } + }, + "tags": [ + "JitNetworkAccessPolicies" + ], + "description": "Policies for protecting resources using Just-in-Time access control for the subscription, location", + "operationId": "JitNetworkAccessPolicies_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JitNetworkAccessPoliciesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies": { + "get": { + "x-ms-examples": { + "Get JIT network access policies on a resource group from a security data location": { + "$ref": "./examples/JitNetworkAccessPolicies/GetJitNetworkAccessPoliciesResourceGroupLocation_example.json" + } + }, + "tags": [ + "JitNetworkAccessPolicies" + ], + "description": "Policies for protecting resources using Just-in-Time access control for the subscription, location", + "operationId": "JitNetworkAccessPolicies_ListByResourceGroupAndRegion", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JitNetworkAccessPoliciesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies/{jitNetworkAccessPolicyName}": { + "get": { + "x-ms-examples": { + "Get JIT network access policy": { + "$ref": "./examples/JitNetworkAccessPolicies/GetJitNetworkAccessPolicy_example.json" + } + }, + "tags": [ + "JitNetworkAccessPolicies" + ], + "description": "Policies for protecting resources using Just-in-Time access control for the subscription, location", + "operationId": "JitNetworkAccessPolicies_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/JitNetworkAccessPolicyName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JitNetworkAccessPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create JIT network access policy": { + "$ref": "./examples/JitNetworkAccessPolicies/CreateJitNetworkAccessPolicy_example.json" + } + }, + "tags": [ + "JitNetworkAccessPolicies" + ], + "description": "Create a policy for protecting resources using Just-in-Time access control", + "operationId": "JitNetworkAccessPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/JitNetworkAccessPolicyName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JitNetworkAccessPolicy" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JitNetworkAccessPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a JIT network access policy": { + "$ref": "./examples/JitNetworkAccessPolicies/DeleteJitNetworkAccessPolicy_example.json" + } + }, + "tags": [ + "JitNetworkAccessPolicies" + ], + "description": "Delete a Just-in-Time access control policy.", + "operationId": "JitNetworkAccessPolicies_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/JitNetworkAccessPolicyName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK - Resource was deleted" + }, + "204": { + "description": "No Content - Resource does not exist" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies/{jitNetworkAccessPolicyName}/{jitNetworkAccessPolicyInitiateType}": { + "post": { + "x-ms-examples": { + "Initiate an action on a JIT network access policy": { + "$ref": "./examples/JitNetworkAccessPolicies/InitiateJitNetworkAccessPolicy_example.json" + } + }, + "tags": [ + "JitNetworkAccessPolicies" + ], + "description": "Initiate a JIT access from a specific Just-in-Time policy configuration.", + "operationId": "JitNetworkAccessPolicies_Initiate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/JitNetworkAccessPolicyName" + }, + { + "$ref": "#/parameters/JitNetworkAccessPolicyInitiateType" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/JitNetworkAccessPolicyInitiateRequest" + } + ], + "responses": { + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/JitNetworkAccessRequest" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "JitNetworkAccessPoliciesList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/JitNetworkAccessPolicy" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "JitNetworkAccessPolicy": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/JitNetworkAccessPolicyProperties" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + }, + { + "$ref": "../../../common/v1/types.json#/definitions/Kind" + }, + { + "$ref": "../../../common/v1/types.json#/definitions/Location" + } + ] + }, + "JitNetworkAccessPolicyProperties": { + "type": "object", + "properties": { + "virtualMachines": { + "type": "array", + "description": "Configurations for Microsoft.Compute/virtualMachines resource type.", + "items": { + "$ref": "#/definitions/JitNetworkAccessPolicyVirtualMachine" + } + }, + "requests": { + "type": "array", + "items": { + "$ref": "#/definitions/JitNetworkAccessRequest" + } + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Gets the provisioning state of the Just-in-Time policy." + } + }, + "required": [ + "virtualMachines" + ] + }, + "JitNetworkAccessPolicyVirtualMachine": { + "type": "object", + "required": [ + "id", + "ports" + ], + "properties": { + "id": { + "type": "string", + "description": "Resource ID of the virtual machine that is linked to this policy" + }, + "ports": { + "type": "array", + "description": "Port configurations for the virtual machine", + "items": { + "$ref": "#/definitions/JitNetworkAccessPortRule" + } + } + } + }, + "JitNetworkAccessPortRule": { + "type": "object", + "properties": { + "number": { + "$ref": "#/definitions/PortNumber" + }, + "protocol": { + "type": "string", + "enum": [ + "TCP", + "UDP", + "*" + ], + "x-ms-enum": { + "name": "protocol", + "modelAsString": true, + "values": [ + { + "value": "TCP" + }, + { + "value": "UDP" + }, + { + "value": "*", + "name": "All" + } + ] + } + }, + "allowedSourceAddressPrefix": { + "type": "string", + "description": "Mutually exclusive with the \"allowedSourceAddressPrefixes\" parameter. Should be an IP address or CIDR, for example \"192.168.0.3\" or \"192.168.0.0/16\"." + }, + "allowedSourceAddressPrefixes": { + "type": "array", + "description": "Mutually exclusive with the \"allowedSourceAddressPrefix\" parameter.", + "items": { + "type": "string", + "description": "IP address or CIDR, for example \"192.168.0.3\" or \"192.168.0.0/16\"." + } + }, + "maxRequestAccessDuration": { + "type": "string", + "description": "Maximum duration requests can be made for. In ISO 8601 duration format. Minimum 5 minutes, maximum 1 day" + } + }, + "required": [ + "maxRequestAccessDuration", + "number", + "protocol" + ] + }, + "JitNetworkAccessRequest": { + "type": "object", + "properties": { + "virtualMachines": { + "type": "array", + "items": { + "$ref": "#/definitions/JitNetworkAccessRequestVirtualMachine" + } + }, + "startTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The start time of the request in UTC" + }, + "requestor": { + "type": "string", + "description": "The identity of the person who made the request" + } + }, + "required": [ + "requestor", + "startTimeUtc", + "virtualMachines" + ] + }, + "JitNetworkAccessRequestVirtualMachine": { + "type": "object", + "required": [ + "id", + "ports" + ], + "properties": { + "id": { + "type": "string", + "description": "Resource ID of the virtual machine that is linked to this policy" + }, + "ports": { + "type": "array", + "description": "The ports that were opened for the virtual machine", + "items": { + "$ref": "#/definitions/JitNetworkAccessRequestPort" + } + } + } + }, + "JitNetworkAccessRequestPort": { + "type": "object", + "properties": { + "number": { + "$ref": "#/definitions/PortNumber" + }, + "allowedSourceAddressPrefix": { + "type": "string", + "description": "Mutually exclusive with the \"allowedSourceAddressPrefixes\" parameter. Should be an IP address or CIDR, for example \"192.168.0.3\" or \"192.168.0.0/16\"." + }, + "allowedSourceAddressPrefixes": { + "type": "array", + "description": "Mutually exclusive with the \"allowedSourceAddressPrefix\" parameter.", + "items": { + "description": "IP address or CIDR, for example \"192.168.0.3\" or \"192.168.0.0/16\".", + "type": "string" + } + }, + "endTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The date & time at which the request ends in UTC" + }, + "status": { + "type": "string", + "description": "The status of the port", + "enum": [ + "Revoked", + "Initiated" + ], + "x-ms-enum": { + "name": "status", + "modelAsString": true, + "values": [ + { + "value": "Revoked" + }, + { + "value": "Initiated" + } + ] + } + }, + "statusReason": { + "type": "string", + "description": "A description of why the `status` has its value", + "enum": [ + "Expired", + "UserRequested", + "NewerRequestInitiated" + ], + "x-ms-enum": { + "name": "statusReason", + "modelAsString": true, + "values": [ + { + "value": "Expired" + }, + { + "value": "UserRequested" + }, + { + "value": "NewerRequestInitiated" + } + ] + } + } + }, + "required": [ + "endTimeUtc", + "number", + "status", + "statusReason" + ] + }, + "JitNetworkAccessPolicyInitiateRequest": { + "type": "object", + "properties": { + "virtualMachines": { + "type": "array", + "description": "A list of virtual machines & ports to open access for", + "items": { + "$ref": "#/definitions/JitNetworkAccessPolicyInitiateVirtualMachine" + } + } + }, + "required": [ + "virtualMachines" + ] + }, + "JitNetworkAccessPolicyInitiateVirtualMachine": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID of the virtual machine that is linked to this policy" + }, + "ports": { + "type": "array", + "description": "The ports to open for the resource with the `id`", + "items": { + "$ref": "#/definitions/JitNetworkAccessPolicyInitiatePort" + } + } + }, + "required": [ + "id", + "ports" + ] + }, + "JitNetworkAccessPolicyInitiatePort": { + "type": "object", + "properties": { + "number": { + "$ref": "#/definitions/PortNumber" + }, + "allowedSourceAddressPrefix": { + "type": "string", + "description": "Source of the allowed traffic. If omitted, the request will be for the source IP address of the initiate request." + }, + "endTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The time to close the request in UTC" + } + }, + "required": [ + "endTimeUtc", + "number" + ] + }, + "PortNumber": { + "type": "integer", + "minimum": 0, + "maximum": 65535 + } + }, + "parameters": { + "JitNetworkAccessPolicyName": { + "name": "jitNetworkAccessPolicyName", + "type": "string", + "in": "path", + "required": true, + "description": "Name of a Just-in-Time access configuration policy.", + "x-ms-parameter-location": "method" + }, + "JitNetworkAccessPolicyInitiateType": { + "name": "jitNetworkAccessPolicyInitiateType", + "type": "string", + "in": "path", + "required": true, + "description": "Type of the action to do on the Just-in-Time access policy.", + "enum": [ + "initiate" + ], + "x-ms-parameter-location": "method" + }, + "JitNetworkAccessPolicyInitiateRequest": { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JitNetworkAccessPolicyInitiateRequest" + }, + "x-ms-parameter-location": "method" + }, + "JitNetworkAccessPolicy": { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JitNetworkAccessPolicy" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/locations.json b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/locations.json new file mode 100644 index 000000000000..b35d3a5761c6 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/locations.json @@ -0,0 +1,130 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2015-06-01-preview" + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [ + { + "azure_auth": ["user_impersonation"] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations": { + "get": { + "x-ms-examples": { + "Get security data locations": { + "$ref": "./examples/Locations/GetLocations_example.json" + } + }, + "tags": ["Locations"], + "description": "The location of the responsible ASC of the specific subscription (home region). For each subscription there is only one responsible location. The location in the response should be used to read or write other resources in ASC according to their ID.", + "operationId": "Locations_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/AscLocationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}": { + "get": { + "x-ms-examples": { + "Get security data location": { + "$ref": "./examples/Locations/GetLocation_example.json" + } + }, + "tags": ["Locations"], + "description": "Details of a specific location", + "operationId": "Locations_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/AscLocation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "parameters": { + "ExtendedResourceProvider": { + "name": "extendedResourceProvider", + "in": "path", + "required": true, + "type": "string", + "description": "Resource provider name of the base resource", + "x-ms-parameter-location": "method" + }, + "ExtendedResourceType": { + "name": "extendedResourceType", + "in": "path", + "required": true, + "type": "string", + "description": "Type of the base resource", + "x-ms-parameter-location": "method" + }, + "ExtendedResourceName": { + "name": "extendedResourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the base resource", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/operations.json b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/operations.json new file mode 100644 index 000000000000..a26b4c039db5 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/operations.json @@ -0,0 +1,134 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2015-06-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.Security/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Exposes all available operations for discovery purposes.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationList": { + "type": "object", + "description": "List of possible operations for Microsoft.Security resource provider", + "properties": { + "value": { + "type": "array", + "description": "List of Security operations", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "Operation": { + "type": "object", + "description": "Possible operation in the REST API of Microsoft.Security", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the operation" + }, + "origin": { + "readOnly": true, + "type": "string", + "description": "Where the operation is originated" + }, + "display": { + "$ref": "#/definitions/OperationDisplay" + } + } + }, + "OperationDisplay": { + "type": "object", + "description": "Security operation display", + "properties": { + "provider": { + "readOnly": true, + "type": "string", + "description": "The resource provider for the operation." + }, + "resource": { + "readOnly": true, + "type": "string", + "description": "The display name of the resource the operation applies to." + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "The display name of the security operation." + }, + "description": { + "readOnly": true, + "type": "string", + "description": "The description of the operation." + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/security.json b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/security.json deleted file mode 100644 index c3c2eecfbd3a..000000000000 --- a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/security.json +++ /dev/null @@ -1,3206 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Security Center", - "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", - "version": "2015-06-01-preview" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "paths": { - "/providers/Microsoft.Security/operations": { - "get": { - "tags": [ - "Operations" - ], - "description": "Exposes all available operations for discovery purposes.", - "operationId": "Operations_List", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations": { - "get": { - "x-ms-examples": { - "Get security data locations": { - "$ref": "./examples/Locations/GetLocations_example.json" - } - }, - "tags": [ - "Locations" - ], - "description": "The location of the responsible ASC of the specific subscription (home region). For each subscription there is only one responsible location. The location in the response should be used to read or write other resources in ASC according to their ID.", - "operationId": "Locations_List", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AscLocationList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}": { - "get": { - "x-ms-examples": { - "Get security data location": { - "$ref": "./examples/Locations/GetLocation_example.json" - } - }, - "tags": [ - "Locations" - ], - "description": "Details of a specific location", - "operationId": "Locations_Get", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/AscLocation" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AscLocation" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/tasks": { - "get": { - "x-ms-examples": { - "Get security recommendations tasks": { - "$ref": "./examples/Tasks/GetTasksSubscription_example.json" - } - }, - "tags": [ - "Tasks" - ], - "description": "Recommended tasks that will help improve the security of the subscription proactively", - "operationId": "Tasks_List", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ODataFilter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SecurityTaskList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks": { - "get": { - "x-ms-examples": { - "Get security recommendations tasks from security data location": { - "$ref": "./examples/Tasks/GetTasksSubscriptionLocation_example.json" - } - }, - "tags": [ - "Tasks" - ], - "description": "Recommended tasks that will help improve the security of the subscription proactively", - "operationId": "Tasks_ListByHomeRegion", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/ODataFilter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SecurityTaskList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}": { - "get": { - "x-ms-examples": { - "Get security recommendation task from security data location": { - "$ref": "./examples/Tasks/GetTaskSubscriptionLocation_example.json" - } - }, - "tags": [ - "Tasks" - ], - "description": "Recommended tasks that will help improve the security of the subscription proactively", - "operationId": "Tasks_GetSubscriptionLevelTask", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/TaskName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SecurityTask" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}/{taskUpdateActionType}": { - "post": { - "x-ms-examples": { - "Change security recommendation task state": { - "$ref": "./examples/Tasks/UpdateTaskSubscriptionLocation_example.json" - } - }, - "tags": [ - "Tasks" - ], - "description": "Recommended tasks that will help improve the security of the subscription proactively", - "operationId": "Tasks_UpdateSubscriptionLevelTaskState", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/TaskName" - }, - { - "$ref": "#/parameters/TaskUpdateActionType" - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks": { - "get": { - "x-ms-examples": { - "Get security recommendation tasks in a resource group": { - "$ref": "./examples/Tasks/GetTasksResourceGroupLocation_example.json" - } - }, - "tags": [ - "Tasks" - ], - "description": "Recommended tasks that will help improve the security of the subscription proactively", - "operationId": "Tasks_ListByResourceGroup", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/ODataFilter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SecurityTaskList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}": { - "get": { - "x-ms-examples": { - "Get security recommendation task in a resource group": { - "$ref": "./examples/Tasks/GetTaskResourceGroupLocation_example.json" - } - }, - "tags": [ - "Tasks" - ], - "description": "Recommended tasks that will help improve the security of the subscription proactively", - "operationId": "Tasks_GetResourceGroupLevelTask", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/TaskName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SecurityTask" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}/{taskUpdateActionType}": { - "post": { - "x-ms-examples": { - "Change security recommendation task state": { - "$ref": "./examples/Tasks/UpdateTaskResourceGroupLocation_example.json" - } - }, - "tags": [ - "Tasks" - ], - "description": "Recommended tasks that will help improve the security of the subscription proactively", - "operationId": "Tasks_UpdateResourceGroupLevelTaskState", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/TaskName" - }, - { - "$ref": "#/parameters/TaskUpdateActionType" - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/alerts": { - "get": { - "x-ms-examples": { - "Get security alerts on a subscription": { - "$ref": "./examples/Alerts/GetAlertsSubscription_example.json" - } - }, - "tags": [ - "Alerts" - ], - "description": "List all the alerts that are associated with the subscription", - "operationId": "Alerts_List", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ODataFilter" - }, - { - "$ref": "#/parameters/ODataSelect" - }, - { - "$ref": "#/parameters/ODataExpand" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AlertList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/alerts": { - "get": { - "x-ms-examples": { - "Get security alerts on a resource group": { - "$ref": "./examples/Alerts/GetAlertsResourceGroup_example.json" - } - }, - "tags": [ - "Alerts" - ], - "description": "List all the alerts that are associated with the resource group", - "operationId": "Alerts_ListByResourceGroup", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/ODataFilter" - }, - { - "$ref": "#/parameters/ODataSelect" - }, - { - "$ref": "#/parameters/ODataExpand" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AlertList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts": { - "get": { - "x-ms-examples": { - "Get security alerts on a subscription from a security data location": { - "$ref": "./examples/Alerts/GetAlertsSubscriptionsLocation_example.json" - } - }, - "tags": [ - "Alerts" - ], - "description": "List all the alerts that are associated with the subscription that are stored in a specific location", - "operationId": "Alerts_ListSubscriptionLevelAlertsByRegion", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/ODataFilter" - }, - { - "$ref": "#/parameters/ODataSelect" - }, - { - "$ref": "#/parameters/ODataExpand" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AlertList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts": { - "get": { - "x-ms-examples": { - "Get security alerts on a resource group from a security data location": { - "$ref": "./examples/Alerts/GetAlertsResourceGroupLocation_example.json" - } - }, - "tags": [ - "Alerts" - ], - "description": "List all the alerts that are associated with the resource group that are stored in a specific location", - "operationId": "Alerts_ListResourceGroupLevelAlertsByRegion", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/ODataFilter" - }, - { - "$ref": "#/parameters/ODataSelect" - }, - { - "$ref": "#/parameters/ODataExpand" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AlertList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}": { - "get": { - "x-ms-examples": { - "Get security alert on a subscription from a security data location": { - "$ref": "./examples/Alerts/GetAlertSubscriptionLocation_example.json" - } - }, - "tags": [ - "Alerts" - ], - "description": "Get an alert that is associated with a subscription", - "operationId": "Alerts_GetSubscriptionLevelAlert", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/AlertName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Alert" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}": { - "get": { - "x-ms-examples": { - "Get security alert on a resource group from a security data location": { - "$ref": "./examples/Alerts/GetAlertResourceGroupLocation_example.json" - } - }, - "tags": [ - "Alerts" - ], - "description": "Get an alert that is associated a resource group or a resource in a resource group", - "operationId": "Alerts_GetResourceGroupLevelAlerts", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/AlertName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Alert" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/{alertUpdateActionType}": { - "post": { - "x-ms-examples": { - "Update security alert state on a subscription from a security data location": { - "$ref": "./examples/Alerts/UpdateAlertSubscriptionLocation_example.json" - } - }, - "tags": [ - "Alerts" - ], - "description": "Update the alert's state", - "operationId": "Alerts_UpdateSubscriptionLevelAlertState", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/AlertName" - }, - { - "$ref": "#/parameters/AlertUpdateActionType" - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/{alertUpdateActionType}": { - "post": { - "x-ms-examples": { - "Update security alert state on a resource group from a security data location": { - "$ref": "./examples/Alerts/UpdateAlertResourceGroupLocation_example.json" - } - }, - "tags": [ - "Alerts" - ], - "description": "Update the alert's state", - "operationId": "Alerts_UpdateResourceGroupLevelAlertState", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/AlertName" - }, - { - "$ref": "#/parameters/AlertUpdateActionType" - }, - { - "$ref": "#/parameters/ResourceGroupName" - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/discoveredSecuritySolutions": { - "get": { - "x-ms-examples": { - "Get discovered security solutions": { - "$ref": "./examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscription_example.json" - } - }, - "tags": [ - "DiscoveredSecuritySolutions" - ], - "description": "Gets a list of discovered Security Solutions for the subscription.", - "operationId": "DiscoveredSecuritySolutions_List", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/DiscoveredSecuritySolutionList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions": { - "get": { - "x-ms-examples": { - "Get discovered security solutions from a security data location": { - "$ref": "./examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscriptionLocation_example.json" - } - }, - "tags": [ - "DiscoveredSecuritySolutions" - ], - "description": "Gets a list of discovered Security Solutions for the subscription and location.", - "operationId": "DiscoveredSecuritySolutions_ListByHomeRegion", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/DiscoveredSecuritySolutionList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions/{discoveredSecuritySolutionName}": { - "get": { - "x-ms-examples": { - "Get discovered security solution from a security data location": { - "$ref": "./examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionResourceGroupLocation_example.json" - } - }, - "tags": [ - "DiscoveredSecuritySolutions" - ], - "description": "Gets a specific discovered Security Solution.", - "operationId": "DiscoveredSecuritySolutions_Get", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/DiscoveredSecuritySolutionName" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/DiscoveredSecuritySolution" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/jitNetworkAccessPolicies": { - "get": { - "x-ms-examples": { - "Get JIT network access policies on a subscription": { - "$ref": "./examples/JitNetworkAccessPolicies/GetJitNetworkAccessPoliciesSubscription_example.json" - } - }, - "tags": [ - "JitNetworkAccessPolicies" - ], - "description": "Policies for protecting resources using Just-in-Time access control.", - "operationId": "JitNetworkAccessPolicies_List", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/JitNetworkAccessPoliciesList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies": { - "get": { - "x-ms-examples": { - "Get JIT network access policies on a subscription from a security data location": { - "$ref": "./examples/JitNetworkAccessPolicies/GetJitNetworkAccessPoliciesSubscriptionLocation_example.json" - } - }, - "tags": [ - "JitNetworkAccessPolicies" - ], - "description": "Policies for protecting resources using Just-in-Time access control for the subscription, location", - "operationId": "JitNetworkAccessPolicies_ListByRegion", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/JitNetworkAccessPoliciesList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/jitNetworkAccessPolicies": { - "get": { - "x-ms-examples": { - "Get JIT network access policies on a resource group": { - "$ref": "./examples/JitNetworkAccessPolicies/GetJitNetworkAccessPoliciesResourceGroup_example.json" - } - }, - "tags": [ - "JitNetworkAccessPolicies" - ], - "description": "Policies for protecting resources using Just-in-Time access control for the subscription, location", - "operationId": "JitNetworkAccessPolicies_ListByResourceGroup", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/JitNetworkAccessPoliciesList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies": { - "get": { - "x-ms-examples": { - "Get JIT network access policies on a resource group from a security data location": { - "$ref": "./examples/JitNetworkAccessPolicies/GetJitNetworkAccessPoliciesResourceGroupLocation_example.json" - } - }, - "tags": [ - "JitNetworkAccessPolicies" - ], - "description": "Policies for protecting resources using Just-in-Time access control for the subscription, location", - "operationId": "JitNetworkAccessPolicies_ListByResourceGroupAndRegion", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/JitNetworkAccessPoliciesList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies/{jitNetworkAccessPolicyName}": { - "get": { - "x-ms-examples": { - "Get JIT network access policy": { - "$ref": "./examples/JitNetworkAccessPolicies/GetJitNetworkAccessPolicy_example.json" - } - }, - "tags": [ - "JitNetworkAccessPolicies" - ], - "description": "Policies for protecting resources using Just-in-Time access control for the subscription, location", - "operationId": "JitNetworkAccessPolicies_Get", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/JitNetworkAccessPolicyName" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/JitNetworkAccessPolicy" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "x-ms-examples": { - "Create JIT network access policy": { - "$ref": "./examples/JitNetworkAccessPolicies/CreateJitNetworkAccessPolicy_example.json" - } - }, - "tags": [ - "JitNetworkAccessPolicies" - ], - "description": "Create a policy for protecting resources using Just-in-Time access control", - "operationId": "JitNetworkAccessPolicies_CreateOrUpdate", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/JitNetworkAccessPolicyName" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/JitNetworkAccessPolicy" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/JitNetworkAccessPolicy" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "delete": { - "x-ms-examples": { - "Delete a JIT network access policy": { - "$ref": "./examples/JitNetworkAccessPolicies/DeleteJitNetworkAccessPolicy_example.json" - } - }, - "tags": [ - "JitNetworkAccessPolicies" - ], - "description": "Delete a Just-in-Time access control policy.", - "operationId": "JitNetworkAccessPolicies_Delete", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/JitNetworkAccessPolicyName" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "OK - Resource was deleted" - }, - "204": { - "description": "No Content - Resource does not exist" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies/{jitNetworkAccessPolicyName}/{jitNetworkAccessPolicyInitiateType}": { - "post": { - "x-ms-examples": { - "Initiate an action on a JIT network access policy": { - "$ref": "./examples/JitNetworkAccessPolicies/InitiateJitNetworkAccessPolicy_example.json" - } - }, - "tags": [ - "JitNetworkAccessPolicies" - ], - "description": "Initiate a JIT access from a specific Just-in-Time policy configuration.", - "operationId": "JitNetworkAccessPolicies_Initiate", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/JitNetworkAccessPolicyName" - }, - { - "$ref": "#/parameters/JitNetworkAccessPolicyInitiateType" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/JitNetworkAccessPolicyInitiateRequest" - } - ], - "responses": { - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/JitNetworkAccessRequest" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/externalSecuritySolutions": { - "get": { - "x-ms-examples": { - "Get external security solutions on a subscription": { - "$ref": "./examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscription_example.json" - } - }, - "description": "Gets a list of external security solutions for the subscription.", - "tags": [ - "ExternalSecuritySolutions" - ], - "operationId": "ExternalSecuritySolutions_List", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ExternalSecuritySolutionList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions": { - "get": { - "x-ms-examples": { - "Get external security solutions on a subscription from security data location": { - "$ref": "./examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscriptionLocation_example.json" - } - }, - "description": "Gets a list of external Security Solutions for the subscription and location.", - "tags": [ - "ExternalSecuritySolutions" - ], - "operationId": "ExternalSecuritySolutions_ListByHomeRegion", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ExternalSecuritySolutionList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions/{externalSecuritySolutionsName}": { - "get": { - "x-ms-examples": { - "Get external security solution": { - "$ref": "./examples/ExternalSecuritySolutions/GetExternalSecuritySolution_example.json" - } - }, - "description": "Gets a specific external Security Solution.", - "tags": [ - "ExternalSecuritySolutions" - ], - "operationId": "ExternalSecuritySolutions_Get", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/ExternalSecuritySolutionsName" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ExternalSecuritySolution" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/topologies": { - "get": { - "x-ms-examples": { - "Get topology on a subscription": { - "$ref": "./examples/Topology/GetTopologySubscription_example.json" - } - }, - "tags": ["Topology"], - "description": "Gets a list that allows to build a topology view of a subscription.", - "operationId": "Topology_List", - "parameters": [{ - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/TopologyList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/topologies": { - "get": { - "x-ms-examples": { - "Get topology on a subscription from security data location": { - "$ref": "./examples/Topology/GetTopologySubscriptionLocation_example.json" - } - }, - "tags": ["Topology"], - "description": "Gets a list that allows to build a topology view of a subscription and location.", - "operationId": "Topology_ListByHomeRegion", - "parameters": [{ - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/TopologyList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/topologies/{topologyResourceName}": { - "get": { - "x-ms-examples": { - "Get topology": { - "$ref": "./examples/Topology/GetTopology_example.json" - } - }, - "tags": ["Topology"], - "description": "Gets a specific topology component.", - "operationId": "Topology_Get", - "parameters": [{ - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/TopologyResourceName" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/TopologyResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/allowedConnections": { - "get": { - "x-ms-examples": { - "Get allowed connections on a subscription": { - "$ref": "./examples/AllowedConnections/GetAllowedConnectionsSubscription_example.json" - } - }, - "tags": [ - "AllowedConnections" - ], - "description": "Gets the list of all possible traffic between resources for the subscription", - "operationId": "AllowedConnections_List", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AllowedConnectionsList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/allowedConnections": { - "get": { - "x-ms-examples": { - "Get allowed connections on a subscription from security data location": { - "$ref": "./examples/AllowedConnections/GetAllowedConnectionsSubscriptionLocation_example.json" - } - }, - "tags": [ - "AllowedConnections" - ], - "description": "Gets the list of all possible traffic between resources for the subscription and location.", - "operationId": "AllowedConnections_ListByHomeRegion", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AllowedConnectionsList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/allowedConnections/{connectionType}": { - "get": { - "x-ms-examples": { - "Get allowed connections": { - "$ref": "./examples/AllowedConnections/GetAllowedConnections_example.json" - } - }, - "tags": [ - "AllowedConnections" - ], - "description": "Gets the list of all possible traffic between resources for the subscription and location, based on connection type.", - "operationId": "AllowedConnections_Get", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/AscLocation" - }, - { - "$ref": "#/parameters/ConnectionType" - }, - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AllowedConnectionsResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - } - }, - "definitions": { - "CloudError": { - "x-ms-external": true, - "type": "object", - "description": "Error response structure.", - "properties": { - "error": { - "x-ms-client-flatten": true, - "description": "Error data", - "$ref": "#/definitions/CloudErrorBody" - } - } - }, - "CloudErrorBody": { - "x-ms-external": true, - "type": "object", - "description": "Error details.", - "properties": { - "code": { - "readOnly": true, - "type": "string", - "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." - }, - "message": { - "readOnly": true, - "type": "string", - "description": "A message describing the error, intended to be suitable for display in a user interface." - } - } - }, - "Resource": { - "type": "object", - "description": "Describes an Azure resource.", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource Id" - }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name" - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type" - } - }, - "x-ms-azure-resource": true - }, - "Kind": { - "type": "object", - "description": "Describes an Azure resource with kind", - "properties": { - "kind": { - "type": "string", - "description": "Kind of the resource" - } - } - }, - "Location": { - "type": "object", - "description": "Describes an Azure resource with location", - "properties": { - "location": { - "readOnly": true, - "type": "string", - "description": "Location where the resource is stored" - } - } - }, - "OperationList": { - "type": "object", - "description": "List of possible operations for Microsoft.Security resource provider", - "properties": { - "value": { - "type": "array", - "description": "List of Security operations", - "items": { - "$ref": "#/definitions/Operation" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "Operation": { - "type": "object", - "description": "Possible operation in the REST API of Microsoft.Security", - "properties": { - "name": { - "readOnly": true, - "type": "string", - "description": "Name of the operation" - }, - "origin": { - "readOnly": true, - "type": "string", - "description": "Where the operation is originated" - }, - "display": { - "$ref": "#/definitions/OperationDisplay" - } - } - }, - "OperationDisplay": { - "type": "object", - "description": "Security operation display", - "properties": { - "provider": { - "readOnly": true, - "type": "string", - "description": "The resource provider for the operation." - }, - "resource": { - "readOnly": true, - "type": "string", - "description": "The display name of the resource the operation applies to." - }, - "operation": { - "readOnly": true, - "type": "string", - "description": "The display name of the security operation." - }, - "description": { - "readOnly": true, - "type": "string", - "description": "The description of the operation." - } - } - }, - "SecurityTaskList": { - "type": "object", - "description": "List of security task recommendations", - "properties": { - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/SecurityTask" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "SecurityTask": { - "type": "object", - "description": "Security task that we recommend to do in order to strengthen security", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SecurityTaskProperties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ] - }, - "SecurityTaskProperties": { - "type": "object", - "description": "Describes properties of a task.", - "properties": { - "state": { - "readOnly": true, - "type": "string", - "description": "State of the task (Active, Resolved etc.)" - }, - "creationTimeUtc": { - "readOnly": true, - "type": "string", - "format": "date-time", - "description": "The time this task was discovered in UTC" - }, - "securityTaskParameters": { - "$ref": "#/definitions/SecurityTaskParameters" - }, - "lastStateChangeTimeUtc": { - "readOnly": true, - "type": "string", - "format": "date-time", - "description": "The time this task's details were last changed in UTC" - }, - "subState": { - "readOnly": true, - "type": "string", - "description": "Additional data on the state of the task" - } - } - }, - "SecurityTaskParameters": { - "type": "object", - "description": "Changing set of properties, depending on the task type that is derived from the name field", - "additionalProperties": true, - "properties": { - "name": { - "readOnly": true, - "type": "string", - "description": "Name of the task type" - } - } - }, - "AscLocationList": { - "type": "object", - "description": "List of locations where ASC saves your data", - "properties": { - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/AscLocation" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "AscLocation": { - "type": "object", - "description": "The ASC location of the subscription is in the \"name\" field", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/AscLocationProperties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ] - }, - "AscLocationProperties": { - "type": "object", - "description": "An empty set of properties" - }, - "AlertList": { - "type": "object", - "description": "List of security alerts", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Alert" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "Alert": { - "type": "object", - "description": "Security alert", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/AlertProperties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ] - }, - "AlertProperties": { - "type": "object", - "description": "describes security alert properties.", - "properties": { - "state": { - "readOnly": true, - "type": "string", - "description": "State of the alert (Active, Dismissed etc.)" - }, - "reportedTimeUtc": { - "readOnly": true, - "type": "string", - "format": "date-time", - "description": "The time the incident was reported to Microsoft.Security in UTC" - }, - "vendorName": { - "readOnly": true, - "type": "string", - "description": "Name of the vendor that discovered the incident" - }, - "alertName": { - "readOnly": true, - "type": "string", - "description": "Name of the alert type" - }, - "alertDisplayName": { - "readOnly": true, - "type": "string", - "description": "Display name of the alert type" - }, - "detectedTimeUtc": { - "readOnly": true, - "type": "string", - "format": "date-time", - "description": "The time the incident was detected by the vendor" - }, - "description": { - "readOnly": true, - "type": "string", - "description": "Description of the incident and what it means" - }, - "remediationSteps": { - "readOnly": true, - "type": "string", - "description": "Recommended steps to reradiate the incident" - }, - "actionTaken": { - "readOnly": true, - "type": "string", - "description": "The action that was taken as a response to the alert (Active, Blocked etc.)" - }, - "reportedSeverity": { - "readOnly": true, - "type": "string", - "enum": [ - "Silent", - "Information", - "Low", - "High" - ], - "x-ms-enum": { - "name": "reportedSeverity", - "modelAsString": true, - "values": [ - { - "value": "Silent" - }, - { - "value": "Information" - }, - { - "value": "Low" - }, - { - "value": "High" - } - ] - }, - "description": "Estimated severity of this alert" - }, - "compromisedEntity": { - "readOnly": true, - "type": "string", - "description": "The entity that the incident happened on" - }, - "associatedResource": { - "readOnly": true, - "type": "string", - "description": "Azure resource ID of the associated resource" - }, - "extendedProperties": { - "$ref": "#/definitions/AlertExtendedProperties" - }, - "systemSource": { - "readOnly": true, - "type": "string", - "description": "The type of the alerted resource (Azure, Non-Azure)" - }, - "canBeInvestigated": { - "readOnly": true, - "type": "boolean", - "description": "Whether this alert can be investigated with Azure Security Center" - }, - "isIncident": { - "readOnly": true, - "type": "boolean", - "description": "Whether this alert is for incident type or not (otherwise - single alert)" - }, - "entities": { - "type": "array", - "description": "objects that are related to this alerts", - "items": { - "$ref": "#/definitions/AlertEntity" - } - }, - "confidenceScore": { - "readOnly": true, - "type": "number", - "format": "float", - "minimum": 0, - "maximum": 1, - "description": "level of confidence we have on the alert" - }, - "confidenceReasons": { - "type": "array", - "description": "reasons the alert got the confidenceScore value", - "items": { - "$ref": "#/definitions/AlertConfidenceReason" - } - }, - "subscriptionId": { - "readOnly": true, - "type": "string", - "description": "Azure subscription ID of the resource that had the security alert or the subscription ID of the workspace that this resource reports to" - }, - "instanceId": { - "readOnly": true, - "type": "string", - "description": "Instance ID of the alert." - }, - "workspaceArmId": { - "readOnly": true, - "type": "string", - "description": "Azure resource ID of the workspace that the alert was reported to." - } - } - }, - "AlertConfidenceReason": { - "type": "object", - "description": "Factors that increase our confidence that the alert is a true positive", - "properties": { - "type": { - "readOnly": true, - "type": "string", - "description": "Type of confidence factor" - }, - "reason": { - "readOnly": true, - "type": "string", - "description": "description of the confidence reason" - } - } - }, - "AlertEntity": { - "type": "object", - "additionalProperties": true, - "description": "Changing set of properties depending on the entity type.", - "properties": { - "type": { - "readOnly": true, - "type": "string", - "description": "Type of entity" - } - } - }, - "AlertExtendedProperties": { - "type": "object", - "additionalProperties": true, - "description": "Changing set of properties depending on the alert type." - }, - "DiscoveredSecuritySolutionList": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/DiscoveredSecuritySolution" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "DiscoveredSecuritySolution": { - "type": "object", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/DiscoveredSecuritySolutionProperties" - } - }, - "required": [ - "properties" - ], - "allOf": [ - { - "$ref": "#/definitions/Resource" - }, - { - "$ref": "#/definitions/Location" - } - ] - }, - "DiscoveredSecuritySolutionProperties": { - "type": "object", - "properties": { - "securityFamily": { - "type": "string", - "description": "The security family of the discovered solution", - "enum": [ - "Waf", - "Ngfw", - "SaasWaf", - "Va" - ], - "x-ms-enum": { - "name": "securityFamily", - "modelAsString": true, - "values": [ - { - "value": "Waf" - }, - { - "value": "Ngfw" - }, - { - "value": "SaasWaf" - }, - { - "value": "Va" - } - ] - } - }, - "offer": { - "type": "string", - "description": "The security solutions' image offer" - }, - "publisher": { - "type": "string", - "description": "The security solutions' image publisher" - }, - "sku": { - "type": "string", - "description": "The security solutions' image sku" - } - }, - "required": [ - "securityFamily", - "offer", - "publisher", - "sku" - ] - }, - "TopologyList": { - "type": "object", - "properties": { - "value": { - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/TopologyResource" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "TopologyResource": { - "type": "object", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "readOnly": true, - "$ref": "#/definitions/TopologyResourceProperties" - } - }, - "allOf": [{ - "$ref": "#/definitions/Resource" - }, - { - "$ref": "#/definitions/Location" - } - ] - }, - "TopologyResourceProperties": { - "type": "object", - "properties": { - "calculatedDateTime": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "The UTC time on which the topology was calculated" - }, - "topologyResources": { - "type": "array", - "readOnly": true, - "description": "Azure resources which are part of this topology resource", - "items": { - "$ref": "#/definitions/TopologySingleResource" - } - } - } - }, - "TopologySingleResource": { - "type": "object", - "properties": { - "resourceId": { - "type": "string", - "readOnly": true, - "description": "Azure resource id" - }, - "severity": { - "type": "string", - "readOnly": true, - "description": "The security severity of the resource" - }, - "recommendationsExist": { - "type": "boolean", - "readOnly": true, - "description": "Indicates if the resource has security recommendations" - }, - "networkZones": { - "type": "string", - "readOnly": true, - "description": "Indicates the resource connectivity level to the Internet (InternetFacing, Internal ,etc.)" - }, - "topologyScore": { - "type": "integer", - "readOnly": true, - "description": "Score of the resource based on its security severity" - }, - "location": { - "type": "string", - "readOnly": true, - "description": "The location of this resource" - }, - "parents": { - "type": "array", - "readOnly": true, - "description": "Azure resources connected to this resource which are in higher level in the topology view", - "items": { - "$ref": "#/definitions/TopologySingleResourceParent" - } - }, - "children": { - "type": "array", - "readOnly": true, - "description": "Azure resources connected to this resource which are in lower level in the topology view", - "items": { - "$ref": "#/definitions/TopologySingleResourceChild" - } - } - } - }, - "TopologySingleResourceParent": { - "type": "object", - "properties": { - "resourceId": { - "type": "string", - "readOnly": true, - "description": "Azure resource id which serves as parent resource in topology view" - } - } - }, - "TopologySingleResourceChild": { - "type": "object", - "properties": { - "resourceId": { - "type": "string", - "readOnly": true, - "description": "Azure resource id which serves as child resource in topology view" - } - } - }, - "JitNetworkAccessPoliciesList": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/JitNetworkAccessPolicy" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "JitNetworkAccessPolicy": { - "type": "object", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/JitNetworkAccessPolicyProperties" - } - }, - "required": [ - "properties" - ], - "allOf": [ - { - "$ref": "#/definitions/Resource" - }, - { - "$ref": "#/definitions/Kind" - }, - { - "$ref": "#/definitions/Location" - } - ] - }, - "JitNetworkAccessPolicyProperties": { - "type": "object", - "properties": { - "virtualMachines": { - "type": "array", - "description": "Configurations for Microsoft.Compute/virtualMachines resource type.", - "items": { - "$ref": "#/definitions/JitNetworkAccessPolicyVirtualMachine" - } - }, - "requests": { - "type": "array", - "items": { - "$ref": "#/definitions/JitNetworkAccessRequest" - } - }, - "provisioningState": { - "type": "string", - "readOnly": true, - "description": "Gets the provisioning state of the Just-in-Time policy." - } - }, - "required": [ - "virtualMachines" - ] - }, - "JitNetworkAccessPolicyVirtualMachine": { - "type": "object", - "required": [ - "id", - "ports" - ], - "properties": { - "id": { - "type": "string", - "description": "Resource ID of the virtual machine that is linked to this policy" - }, - "ports": { - "type": "array", - "description": "Port configurations for the virtual machine", - "items": { - "$ref": "#/definitions/JitNetworkAccessPortRule" - } - } - } - }, - "JitNetworkAccessPortRule": { - "type": "object", - "properties": { - "number": { - "$ref": "#/definitions/PortNumber" - }, - "protocol": { - "type": "string", - "enum": [ - "TCP", - "UDP", - "*" - ], - "x-ms-enum": { - "name": "protocol", - "modelAsString": true, - "values": [ - { - "value": "TCP" - }, - { - "value": "UDP" - }, - { - "value": "*", - "name": "All" - } - ] - } - }, - "allowedSourceAddressPrefix": { - "type": "string", - "description": "Mutually exclusive with the \"allowedSourceAddressPrefixes\" parameter. Should be an IP address or CIDR, for example \"192.168.0.3\" or \"192.168.0.0/16\"." - }, - "allowedSourceAddressPrefixes": { - "type": "array", - "description": "Mutually exclusive with the \"allowedSourceAddressPrefix\" parameter.", - "items": { - "type": "string", - "description": "IP address or CIDR, for example \"192.168.0.3\" or \"192.168.0.0/16\"." - } - }, - "maxRequestAccessDuration": { - "type": "string", - "description": "Maximum duration requests can be made for. In ISO 8601 duration format. Minimum 5 minutes, maximum 1 day" - } - }, - "required": [ - "maxRequestAccessDuration", - "number", - "protocol" - ] - }, - "JitNetworkAccessRequest": { - "type": "object", - "properties": { - "virtualMachines": { - "type": "array", - "items": { - "$ref": "#/definitions/JitNetworkAccessRequestVirtualMachine" - } - }, - "startTimeUtc": { - "type": "string", - "format": "date-time", - "description": "The start time of the request in UTC" - }, - "requestor": { - "type": "string", - "description": "The identity of the person who made the request" - } - }, - "required": [ - "requestor", - "startTimeUtc", - "virtualMachines" - ] - }, - "JitNetworkAccessRequestVirtualMachine": { - "type": "object", - "required": [ - "id", - "ports" - ], - "properties": { - "id": { - "type": "string", - "description": "Resource ID of the virtual machine that is linked to this policy" - }, - "ports": { - "type": "array", - "description": "The ports that were opened for the virtual machine", - "items": { - "$ref": "#/definitions/JitNetworkAccessRequestPort" - } - } - } - }, - "JitNetworkAccessRequestPort": { - "type": "object", - "properties": { - "number": { - "$ref": "#/definitions/PortNumber" - }, - "allowedSourceAddressPrefix": { - "type": "string", - "description": "Mutually exclusive with the \"allowedSourceAddressPrefixes\" parameter. Should be an IP address or CIDR, for example \"192.168.0.3\" or \"192.168.0.0/16\"." - }, - "allowedSourceAddressPrefixes": { - "type": "array", - "description": "Mutually exclusive with the \"allowedSourceAddressPrefix\" parameter.", - "items": { - "description": "IP address or CIDR, for example \"192.168.0.3\" or \"192.168.0.0/16\".", - "type": "string" - } - }, - "endTimeUtc": { - "type": "string", - "format": "date-time", - "description": "The date & time at which the request ends in UTC" - }, - "status": { - "type": "string", - "description": "The status of the port", - "enum": [ - "Revoked", - "Initiated" - ], - "x-ms-enum": { - "name": "status", - "modelAsString": true, - "values": [ - { - "value": "Revoked" - }, - { - "value": "Initiated" - } - ] - } - }, - "statusReason": { - "type": "string", - "description": "A description of why the `status` has its value", - "enum": [ - "Expired", - "UserRequested", - "NewerRequestInitiated" - ], - "x-ms-enum": { - "name": "statusReason", - "modelAsString": true, - "values": [ - { - "value": "Expired" - }, - { - "value": "UserRequested" - }, - { - "value": "NewerRequestInitiated" - } - ] - } - } - }, - "required": [ - "endTimeUtc", - "number", - "status", - "statusReason" - ] - }, - "JitNetworkAccessPolicyInitiateRequest": { - "type": "object", - "properties": { - "virtualMachines": { - "type": "array", - "description": "A list of virtual machines & ports to open access for", - "items": { - "$ref": "#/definitions/JitNetworkAccessPolicyInitiateVirtualMachine" - } - } - }, - "required": [ - "virtualMachines" - ] - }, - "JitNetworkAccessPolicyInitiateVirtualMachine": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Resource ID of the virtual machine that is linked to this policy" - }, - "ports": { - "type": "array", - "description": "The ports to open for the resource with the `id`", - "items": { - "$ref": "#/definitions/JitNetworkAccessPolicyInitiatePort" - } - } - }, - "required": [ - "id", - "ports" - ] - }, - "JitNetworkAccessPolicyInitiatePort": { - "type": "object", - "properties": { - "number": { - "$ref": "#/definitions/PortNumber" - }, - "allowedSourceAddressPrefix": { - "type": "string", - "description": "Source of the allowed traffic. If omitted, the request will be for the source IP address of the initiate request." - }, - "endTimeUtc": { - "type": "string", - "format": "date-time", - "description": "The time to close the request in UTC" - } - }, - "required": [ - "endTimeUtc", - "number" - ] - }, - "PortNumber": { - "type": "integer", - "minimum": 0, - "maximum": 65535 - }, - "ExternalSecuritySolutionList": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/ExternalSecuritySolution" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "ExternalSecuritySolution": { - "type": "object", - "description": "Represents a security solution external to Azure Security Center which sends information to an OMS workspace and whose data is displayed by Azure Security Center.", - "discriminator": "kind", - "properties": {}, - "allOf": [ - { - "$ref": "#/definitions/Resource" - }, - { - "$ref": "#/definitions/ExternalSecuritySolutionKind" - }, - { - "$ref": "#/definitions/Location" - } - ] - }, - "CefExternalSecuritySolution": { - "x-ms-discriminator-value": "CEF", - "type": "object", - "description": "Represents a security solution which sends CEF logs to an OMS workspace", - "allOf": [ - { - "$ref": "#/definitions/ExternalSecuritySolution" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/CefSolutionProperties" - } - } - }, - "AtaExternalSecuritySolution": { - "x-ms-discriminator-value": "ATA", - "type": "object", - "description": "Represents an ATA security solution which sends logs to an OMS workspace", - "allOf": [ - { - "$ref": "#/definitions/ExternalSecuritySolution" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/AtaSolutionProperties" - } - } - }, - "AadExternalSecuritySolution": { - "x-ms-discriminator-value": "AAD", - "type": "object", - "description": "Represents an AAD identity protection solution which sends logs to an OMS workspace.", - "allOf": [ - { - "$ref": "#/definitions/ExternalSecuritySolution" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/AadSolutionProperties" - } - } - }, - "ExternalSecuritySolutionKind": { - "type": "object", - "description": "Describes an Azure resource with kind", - "properties": { - "kind": { - "type": "string", - "description": "The kind of the external solution", - "enum": [ - "CEF", - "ATA", - "AAD" - ], - "x-ms-enum": { - "name": "ExternalSecuritySolutionKind", - "modelAsString": true, - "values": [ - { - "value": "CEF" - }, - { - "value": "ATA" - }, - { - "value": "AAD" - } - ] - } - } - } - }, - "ExternalSecuritySolutionProperties": { - "type": "object", - "description": "The solution properties (correspond to the solution kind)", - "additionalProperties": true, - "properties": { - "deviceVendor": { - "type": "string" - }, - "deviceType": { - "type": "string" - }, - "workspace": { - "$ref": "#/definitions/ConnectedWorkspace" - } - } - }, - "ConnectedWorkspace": { - "type": "object", - "title": "Represents an OMS workspace to which the solution is connected", - "properties": { - "id": { - "type": "string", - "description": "Azure resource ID of the connected OMS workspace" - } - } - }, - "AadConnectivityState": { - "type": "object", - "description": "Describes an Azure resource with kind", - "properties": { - "connectivityState": { - "type": "string", - "title": "The connectivity state of the external AAD solution ", - "enum": [ - "Discovered", - "NotLicensed", - "Connected" - ], - "x-ms-enum": { - "name": "AadConnectivityState", - "modelAsString": true, - "values": [ - { - "value": "Discovered" - }, - { - "value": "NotLicensed" - }, - { - "value": "Connected" - } - ] - } - } - } - }, - "AadSolutionProperties": { - "type": "object", - "title": "The external security solution properties for AAD solutions", - "allOf": [ - { - "$ref": "#/definitions/ExternalSecuritySolutionProperties" - }, - { - "$ref": "#/definitions/AadConnectivityState" - } - ] - }, - "CefSolutionProperties": { - "type": "object", - "title": "The external security solution properties for CEF solutions", - "properties": { - "hostname": { - "type": "string" - }, - "agent": { - "type": "string" - }, - "lastEventReceived": { - "type": "string" - } - }, - "allOf": [ - { - "$ref": "#/definitions/ExternalSecuritySolutionProperties" - } - ] - }, - "AtaSolutionProperties": { - "type": "object", - "title": "The external security solution properties for ATA solutions", - "properties": { - "lastEventReceived": { - "type": "string" - } - }, - "allOf": [ - { - "$ref": "#/definitions/ExternalSecuritySolutionProperties" - } - ] - }, - "AllowedConnectionsList": { - "type": "object", - "description": "List of all possible traffic between Azure resources", - "properties": { - "value": { - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/AllowedConnectionsResource" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "AllowedConnectionsResource": { - "type": "object", - "description": "The resource whose properties describes the allowed traffic between Azure resources", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "readOnly": true, - "$ref": "#/definitions/AllowedConnectionsResourceProperties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - }, - { - "$ref": "#/definitions/Location" - } - ] - }, - "AllowedConnectionsResourceProperties": { - "type": "object", - "description": "Describes the allowed traffic between Azure resources", - "properties": { - "calculatedDateTime": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "The UTC time on which the allowed connections resource was calculated" - }, - "connectableResources": { - "type": "array", - "readOnly": true, - "description": "List of connectable resources", - "items": { - "$ref": "#/definitions/ConnectableResource" - } - } - } - }, - "ConnectableResource": { - "type": "object", - "description": "Describes the allowed inbound and outbound traffic of an Azure resource", - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "The Azure resource id" - }, - "inboundConnectedResources": { - "type": "array", - "readOnly": true, - "description": "The list of Azure resources that the resource has inbound allowed connection from", - "items": { - "$ref": "#/definitions/ConnectedResource" - } - }, - "outboundConnectedResources": { - "type": "array", - "readOnly": true, - "description": "The list of Azure resources that the resource has outbound allowed connection to", - "items": { - "$ref": "#/definitions/ConnectedResource" - } - } - } - }, - "ConnectedResource": { - "type": "object", - "description": "Describes properties of a connected resource", - "properties": { - "connectedResourceId": { - "type": "string", - "readOnly": true, - "description": "The Azure resource id of the connected resource" - }, - "tcpPorts": { - "type": "string", - "readOnly": true, - "description": "The allowed tcp ports" - }, - "udpPorts": { - "type": "string", - "readOnly": true, - "description": "The allowed udp ports" - } - } - } - }, - "parameters": { - "SubscriptionId": { - "name": "subscriptionId", - "in": "path", - "required": true, - "pattern": "^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$", - "type": "string", - "description": "Azure subscription ID" - }, - "ResourceGroupName": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group within the user's subscription. The name is case insensitive.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90, - "x-ms-parameter-location": "method" - }, - "ApiVersion": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "2015-06-01-preview" - ], - "description": "API version for the operation" - }, - "AscLocation": { - "name": "ascLocation", - "in": "path", - "required": true, - "type": "string", - "description": "The location where ASC stores the data of the subscription. can be retrieved from Get locations", - "x-ms-parameter-location": "client" - }, - "ExtendedResourceProvider": { - "name": "extendedResourceProvider", - "in": "path", - "required": true, - "type": "string", - "description": "Resource provider name of the base resource", - "x-ms-parameter-location": "method" - }, - "ExtendedResourceType": { - "name": "extendedResourceType", - "in": "path", - "required": true, - "type": "string", - "description": "Type of the base resource", - "x-ms-parameter-location": "method" - }, - "ExtendedResourceName": { - "name": "extendedResourceName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the base resource", - "x-ms-parameter-location": "method" - }, - "ODataFilter": { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "OData filter. Optional.", - "x-ms-parameter-location": "method" - }, - "ODataSelect": { - "name": "$select", - "in": "query", - "required": false, - "type": "string", - "description": "OData select. Optional.", - "x-ms-parameter-location": "method" - }, - "ODataExpand": { - "name": "$expand", - "in": "query", - "required": false, - "type": "string", - "description": "OData expand. Optional.", - "x-ms-parameter-location": "method" - }, - "TaskName": { - "name": "taskName", - "in": "path", - "required": true, - "type": "string", - "description": "Name of the task object, will be a GUID", - "x-ms-parameter-location": "method" - }, - "TaskUpdateActionType": { - "name": "taskUpdateActionType", - "in": "path", - "required": true, - "type": "string", - "enum": [ - "Activate", - "Dismiss", - "Start", - "Resolve", - "Close" - ], - "description": "Type of the action to do on the task", - "x-ms-parameter-location": "method" - }, - "AlertName": { - "name": "alertName", - "in": "path", - "required": true, - "type": "string", - "description": "Name of the alert object", - "x-ms-parameter-location": "method" - }, - "AlertUpdateActionType": { - "name": "alertUpdateActionType", - "in": "path", - "required": true, - "type": "string", - "enum": [ - "Dismiss", - "Reactivate" - ], - "description": "Type of the action to do on the alert", - "x-ms-parameter-location": "method" - }, - "DiscoveredSecuritySolutionName": { - "name": "discoveredSecuritySolutionName", - "type": "string", - "in": "path", - "required": true, - "description": "Name of a discovered security solution.", - "x-ms-parameter-location": "method" - }, - "JitNetworkAccessPolicyName": { - "name": "jitNetworkAccessPolicyName", - "type": "string", - "in": "path", - "required": true, - "description": "Name of a Just-in-Time access configuration policy.", - "x-ms-parameter-location": "method" - }, - "JitNetworkAccessPolicyInitiateType": { - "name": "jitNetworkAccessPolicyInitiateType", - "type": "string", - "in": "path", - "required": true, - "description": "Type of the action to do on the Just-in-Time access policy.", - "enum": [ - "initiate" - ], - "x-ms-parameter-location": "method" - }, - "JitNetworkAccessPolicyInitiateRequest": { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/JitNetworkAccessPolicyInitiateRequest" - }, - "x-ms-parameter-location": "method" - }, - "JitNetworkAccessPolicy": { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/JitNetworkAccessPolicy" - }, - "x-ms-parameter-location": "method" - }, - "ExternalSecuritySolutionsName": { - "name": "externalSecuritySolutionsName", - "in": "path", - "description": "Name of an external security solution.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "TopologyResourceName": { - "name": "topologyResourceName", - "in": "path", - "description": "Name of a topology resources collection.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "ConnectionType": { - "name": "connectionType", - "type": "string", - "in": "path", - "description": "The type of allowed connections (Internal, External)", - "required": true, - "enum": [ - "Internal", - "External" - ], - "x-ms-enum": { - "name": "connectionType", - "modelAsString": true, - "values": [ - { - "value": "Internal" - }, - { - "value": "External" - } - ] - }, - "x-ms-parameter-location": "method" - } - } -} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/tasks.json b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/tasks.json new file mode 100644 index 000000000000..8d527bd9453e --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/tasks.json @@ -0,0 +1,422 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2015-06-01-preview" + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [ + { + "azure_auth": ["user_impersonation"] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/tasks": { + "get": { + "x-ms-examples": { + "Get security recommendations tasks": { + "$ref": "./examples/Tasks/GetTasksSubscription_example.json" + } + }, + "tags": ["Tasks"], + "description": "Recommended tasks that will help improve the security of the subscription proactively", + "operationId": "Tasks_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ODataFilter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityTaskList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks": { + "get": { + "x-ms-examples": { + "Get security recommendations tasks from security data location": { + "$ref": "./examples/Tasks/GetTasksSubscriptionLocation_example.json" + } + }, + "tags": ["Tasks"], + "description": "Recommended tasks that will help improve the security of the subscription proactively", + "operationId": "Tasks_ListByHomeRegion", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ODataFilter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityTaskList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}": { + "get": { + "x-ms-examples": { + "Get security recommendation task from security data location": { + "$ref": "./examples/Tasks/GetTaskSubscriptionLocation_example.json" + } + }, + "tags": ["Tasks"], + "description": "Recommended tasks that will help improve the security of the subscription proactively", + "operationId": "Tasks_GetSubscriptionLevelTask", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/TaskName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityTask" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}/{taskUpdateActionType}": { + "post": { + "x-ms-examples": { + "Change security recommendation task state": { + "$ref": "./examples/Tasks/UpdateTaskSubscriptionLocation_example.json" + } + }, + "tags": ["Tasks"], + "description": "Recommended tasks that will help improve the security of the subscription proactively", + "operationId": "Tasks_UpdateSubscriptionLevelTaskState", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/TaskName" + }, + { + "$ref": "#/parameters/TaskUpdateActionType" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks": { + "get": { + "x-ms-examples": { + "Get security recommendation tasks in a resource group": { + "$ref": "./examples/Tasks/GetTasksResourceGroupLocation_example.json" + } + }, + "tags": ["Tasks"], + "description": "Recommended tasks that will help improve the security of the subscription proactively", + "operationId": "Tasks_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ODataFilter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityTaskList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}": { + "get": { + "x-ms-examples": { + "Get security recommendation task in a resource group": { + "$ref": "./examples/Tasks/GetTaskResourceGroupLocation_example.json" + } + }, + "tags": ["Tasks"], + "description": "Recommended tasks that will help improve the security of the subscription proactively", + "operationId": "Tasks_GetResourceGroupLevelTask", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/TaskName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityTask" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}/{taskUpdateActionType}": { + "post": { + "x-ms-examples": { + "Change security recommendation task state": { + "$ref": "./examples/Tasks/UpdateTaskResourceGroupLocation_example.json" + } + }, + "tags": ["Tasks"], + "description": "Recommended tasks that will help improve the security of the subscription proactively", + "operationId": "Tasks_UpdateResourceGroupLevelTaskState", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/TaskName" + }, + { + "$ref": "#/parameters/TaskUpdateActionType" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "SecurityTaskList": { + "type": "object", + "description": "List of security task recommendations", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SecurityTask" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "SecurityTask": { + "type": "object", + "description": "Security task that we recommend to do in order to strengthen security", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecurityTaskProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "SecurityTaskProperties": { + "type": "object", + "description": "Describes properties of a task.", + "properties": { + "state": { + "readOnly": true, + "type": "string", + "description": "State of the task (Active, Resolved etc.)" + }, + "creationTimeUtc": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time this task was discovered in UTC" + }, + "securityTaskParameters": { + "$ref": "#/definitions/SecurityTaskParameters" + }, + "lastStateChangeTimeUtc": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time this task's details were last changed in UTC" + }, + "subState": { + "readOnly": true, + "type": "string", + "description": "Additional data on the state of the task" + } + } + }, + "SecurityTaskParameters": { + "type": "object", + "description": "Changing set of properties, depending on the task type that is derived from the name field", + "additionalProperties": true, + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the task type" + } + } + } + }, + "parameters": { + "TaskName": { + "name": "taskName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the task object, will be a GUID", + "x-ms-parameter-location": "method" + }, + "TaskUpdateActionType": { + "name": "taskUpdateActionType", + "in": "path", + "required": true, + "type": "string", + "enum": ["Activate", "Dismiss", "Start", "Resolve", "Close"], + "description": "Type of the action to do on the task", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/topologies.json b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/topologies.json new file mode 100644 index 000000000000..d74acafc57c9 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/topologies.json @@ -0,0 +1,287 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2015-06-01-preview" + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [ + { + "azure_auth": ["user_impersonation"] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/topologies": { + "get": { + "x-ms-examples": { + "Get topology on a subscription": { + "$ref": "./examples/Topology/GetTopologySubscription_example.json" + } + }, + "tags": ["Topology"], + "description": "Gets a list that allows to build a topology view of a subscription.", + "operationId": "Topology_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopologyList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/topologies": { + "get": { + "x-ms-examples": { + "Get topology on a subscription from security data location": { + "$ref": "./examples/Topology/GetTopologySubscriptionLocation_example.json" + } + }, + "tags": ["Topology"], + "description": "Gets a list that allows to build a topology view of a subscription and location.", + "operationId": "Topology_ListByHomeRegion", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopologyList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/topologies/{topologyResourceName}": { + "get": { + "x-ms-examples": { + "Get topology": { + "$ref": "./examples/Topology/GetTopology_example.json" + } + }, + "tags": ["Topology"], + "description": "Gets a specific topology component.", + "operationId": "Topology_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/TopologyResourceName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopologyResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "TopologyList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/TopologyResource" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "TopologyResource": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "readOnly": true, + "$ref": "#/definitions/TopologyResourceProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + }, + { + "$ref": "../../../common/v1/types.json#/definitions/Location" + } + ] + }, + "TopologyResourceProperties": { + "type": "object", + "properties": { + "calculatedDateTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The UTC time on which the topology was calculated" + }, + "topologyResources": { + "type": "array", + "readOnly": true, + "description": "Azure resources which are part of this topology resource", + "items": { + "$ref": "#/definitions/TopologySingleResource" + } + } + } + }, + "TopologySingleResource": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "readOnly": true, + "description": "Azure resource id" + }, + "severity": { + "type": "string", + "readOnly": true, + "description": "The security severity of the resource" + }, + "recommendationsExist": { + "type": "boolean", + "readOnly": true, + "description": "Indicates if the resource has security recommendations" + }, + "networkZones": { + "type": "string", + "readOnly": true, + "description": "Indicates the resource connectivity level to the Internet (InternetFacing, Internal ,etc.)" + }, + "topologyScore": { + "type": "integer", + "readOnly": true, + "description": "Score of the resource based on its security severity" + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The location of this resource" + }, + "parents": { + "type": "array", + "readOnly": true, + "description": "Azure resources connected to this resource which are in higher level in the topology view", + "items": { + "$ref": "#/definitions/TopologySingleResourceParent" + } + }, + "children": { + "type": "array", + "readOnly": true, + "description": "Azure resources connected to this resource which are in lower level in the topology view", + "items": { + "$ref": "#/definitions/TopologySingleResourceChild" + } + } + } + }, + "TopologySingleResourceParent": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "readOnly": true, + "description": "Azure resource id which serves as parent resource in topology view" + } + } + }, + "TopologySingleResourceChild": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "readOnly": true, + "description": "Azure resource id which serves as child resource in topology view" + } + } + } + }, + "parameters": { + "TopologyResourceName": { + "name": "topologyResourceName", + "in": "path", + "description": "Name of a topology resources collection.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json new file mode 100644 index 000000000000..f528aaa9ae35 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json @@ -0,0 +1,152 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2017-08-01-preview" + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [{ + "azure_auth": [ + "user_impersonation" + ] + }], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/{resourceId}/providers/Microsoft.Security/advancedThreatProtectionSettings/{settingName}": { + "get": { + "x-ms-examples": { + "Gets the Advanced Threat Protection settings for the specified resource.": { + "$ref": "./examples/AdvancedThreatProtection/GetAdvancedThreatProtectionSettings_example.json" + } + }, + "tags": [ "AdvancedThreatProtection" ], + "description": "Gets the Advanced Threat Protection settings for the specified resource.", + "operationId": "AdvancedThreatProtection_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceId" + }, + { + "$ref": "#/parameters/AdvancedThreatProtectionSettingName" + } + ], + "responses": { + "200": { + "description": "Successful request to get Advanced Threat Protection settings.", + "schema": { + "$ref": "#/definitions/AdvancedThreatProtectionSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates the Advanced Threat Protection settings on a specified resource.": { + "$ref": "./examples/AdvancedThreatProtection/PutAdvancedThreatProtectionSettings_example.json" + } + }, + "tags": [ "AdvancedThreatProtection" ], + "description": "Creates or updates the Advanced Threat Protection settings on a specified resource.", + "operationId": "AdvancedThreatProtection_Create", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceId" + }, + { + "$ref": "#/parameters/AdvancedThreatProtectionSettingName" + }, + { + "$ref": "#/parameters/AdvancedThreatProtectionSetting" + } + ], + "responses": { + "200": { + "description": "Successful request to put Advanced Threat Protection settings.", + "schema": { + "$ref": "#/definitions/AdvancedThreatProtectionSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "AdvancedThreatProtectionProperties": { + "properties": { + "isEnabled": { + "type": "boolean", + "description": "Indicates whether Advanced Threat Protection is enabled." + } + }, + "description": "The Advanced Threat Protection settings." + }, + "AdvancedThreatProtectionSetting": { + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AdvancedThreatProtectionProperties" + } + }, + "description": "The Advanced Threat Protection resource." + } + }, + "parameters": { + "AdvancedThreatProtectionSettingName": { + "name": "settingName", + "in": "path", + "required": true, + "type": "string", + "enum": ["current"], + "description": "Advanced Threat Protection setting name.", + "x-ms-parameter-location": "method" + }, + "AdvancedThreatProtectionSetting": { + "name": "advancedThreatProtectionSetting", + "in": "body", + "required": true, + "description": "Advanced Threat Protection Settings", + "schema": { + "$ref": "#/definitions/AdvancedThreatProtectionSetting" + }, + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json new file mode 100644 index 000000000000..1a30fcad3f90 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json @@ -0,0 +1,213 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2017-08-01-preview" + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [{ + "azure_auth": [ + "user_impersonation" + ] + }], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings": { + "get": { + "x-ms-examples": { + "Get auto provisioning settings for subscription": { + "$ref": "./examples/AutoProvisioningSettings/GetAutoProvisioningSettingsSubscription_example.json" + } + }, + "tags": ["AutoProvisioningSettings"], + "description": "Exposes the auto provisioning settings of the subscriptions", + "operationId": "AutoProvisioningSettings_List", + "parameters": [{ + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AutoProvisioningSettingList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings/{settingName}": { + "get": { + "x-ms-examples": { + "Get an auto provisioning setting for subscription": { + "$ref": "./examples/AutoProvisioningSettings/GetAutoProvisioningSettingSubscription_example.json" + } + }, + "tags": ["AutoProvisioningSettings"], + "description": "Details of a specific setting", + "operationId": "AutoProvisioningSettings_Get", + "parameters": [{ + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/AutoProvisioningSettingName" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AutoProvisioningSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create auto provisioning settings for subscription": { + "$ref": "./examples/AutoProvisioningSettings/CreateAutoProvisioningSettingsSubscription_example.json" + } + }, + "tags": ["AutoProvisioningSettings"], + "description": "Details of a specific setting", + "operationId": "AutoProvisioningSettings_Create", + "parameters": [{ + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/AutoProvisioningSettingName" + }, { + "$ref": "#/parameters/AutoProvisioningSetting" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AutoProvisioningSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "AutoProvisioningSettingList": { + "type": "object", + "description": "List of all the auto provisioning settings response", + "properties": { + "value": { + "description": "List of all the auto provisioning settings", + "type": "array", + "items": { + "$ref": "#/definitions/AutoProvisioningSetting" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "AutoProvisioningSetting": { + "type": "object", + "description": "Auto provisioning setting", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Auto provisioning setting data", + "$ref": "#/definitions/AutoProvisioningSettingProperties" + } + }, + "allOf": [{ + "$ref": "../../../common/v1/types.json#/definitions/Resource" + }] + }, + "AutoProvisioningSettingProperties": { + "type": "object", + "description": "describes properties of an auto provisioning setting", + "properties": { + "autoProvision": { + "type": "string", + "description": "Describes what kind of security agent provisioning action to take", + "enum": ["On", "Off"], + "x-ms-enum": { + "name": "autoProvision", + "modelAsString": true, + "values": [{ + "value": "On", + "description": "Install missing security agent on VMs automatically" + }, + { + "value": "Off", + "description": "Do not install security agent on the VMs automatically" + } + ] + } + } + }, + "required": [ + "autoProvision" + ] + } + }, + "parameters": { + "AutoProvisioningSettingName": { + "name": "settingName", + "in": "path", + "required": true, + "type": "string", + "description": "Auto provisioning setting key", + "x-ms-parameter-location": "method" + }, + "AutoProvisioningSetting": { + "name": "setting", + "in": "body", + "required": true, + "description": "Auto provisioning setting key", + "schema": { + "$ref": "#/definitions/AutoProvisioningSetting" + }, + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/compliances.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/compliances.json new file mode 100644 index 000000000000..70e068762b19 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/compliances.json @@ -0,0 +1,190 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2017-08-01-preview" + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [{ + "azure_auth": [ + "user_impersonation" + ] + }], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/{scope}/providers/Microsoft.Security/compliances": { + "get": { + "x-ms-examples": { + "Get security compliance data over time": { + "$ref": "./examples/Compliances/GetCompliances_example.json" + } + }, + "tags": ["Compliances"], + "description": "The Compliance scores of the specific management group.", + "operationId": "Compliances_List", + "parameters": [{ + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/Scope" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ComplianceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.Security/compliances/{complianceName}": { + "get": { + "x-ms-examples": { + "Get security compliance data for a day": { + "$ref": "./examples/Compliances/GetCompliance_example.json" + } + }, + "tags": ["Compliances"], + "description": "Details of a specific Compliance.", + "operationId": "Compliances_Get", + "parameters": [{ + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/Scope" + }, + { + "$ref": "#/parameters/ComplianceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Compliance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ComplianceList": { + "type": "object", + "readOnly": true, + "description": "List of Compliance objects response", + "properties": { + "value": { + "type": "array", + "description": "List of Compliance objects", + "items": { + "$ref": "#/definitions/Compliance" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "Compliance": { + "type": "object", + "readOnly": true, + "description": "Compliance of a scope", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Compliance data", + "$ref": "#/definitions/ComplianceProperties" + } + }, + "allOf": [{ + "$ref": "../../../common/v1/types.json#/definitions/Resource" + }] + }, + "ComplianceProperties": { + "type": "object", + "description": "The Compliance score (percentage) of a Subscription is a sum of all Resources' Compliances under the given Subscription. A Resource Compliance is defined as the compliant ('healthy') Policy Definitions out of all Policy Definitions applicable to a given resource.", + "properties": { + "assessmentTimestampUtcDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The timestamp when the Compliance calculation was conducted." + }, + "resourceCount": { + "readOnly": true, + "type": "integer", + "description": "The resource count of the given subscription for which the Compliance calculation was conducted (needed for Management Group Compliance calculation)." + }, + "assessmentResult": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ComplianceSegment" + }, + "description": "An array of segment, which is the actually the compliance assessment." + } + } + }, + "ComplianceSegment": { + "type": "object", + "description": "A segment of a compliance assessment.", + "properties": { + "segmentType": { + "readOnly": true, + "type": "string", + "description": "The segment type, e.g. compliant, non-compliance, insufficient coverage, N/A, etc." + }, + "percentage": { + "type": "number", + "format": "double", + "readOnly": true, + "description": "The size (%) of the segment." + } + } + } + }, + "parameters": { + "ComplianceName": { + "name": "complianceName", + "in": "path", + "required": true, + "type": "string", + "description": "name of the Compliance", + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json new file mode 100644 index 000000000000..876bb04dea43 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json @@ -0,0 +1,289 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2017-08-01-preview" + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [{ + "azure_auth": [ + "user_impersonation" + ] + }], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/{scope}/providers/Microsoft.Security/informationProtectionPolicies/{informationProtectionPolicyName}": { + "get": { + "x-ms-examples": { + "Get the customized information protection policy for a management group": { + "$ref": "./examples/InformationProtectionPolicies/GetCustomInformationProtectionPolicy_example.json" + }, + "Get the effective information protection policy for a management group": { + "$ref": "./examples/InformationProtectionPolicies/GetEffectiveInformationProtectionPolicy_example.json" + } + }, + "tags": ["InformationProtectionPolicies"], + "description": "Details of the information protection policy.", + "operationId": "InformationProtectionPolicies_Get", + "parameters": [{ + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, { + "$ref": "../../../common/v1/types.json#/parameters/Scope" + }, { + "$ref": "#/parameters/InformationProtectionPolicyName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/InformationProtectionPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create or update an information protection policy for a management group": { + "$ref": "./examples/InformationProtectionPolicies/CreateOrUpdateInformationProtectionPolicy_example.json" + } + }, + "tags": ["InformationProtectionPolicies"], + "description": "Details of the information protection policy.", + "operationId": "InformationProtectionPolicies_CreateOrUpdate", + "parameters": [{ + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, { + "$ref": "../../../common/v1/types.json#/parameters/Scope" + }, { + "$ref": "#/parameters/InformationProtectionPolicyName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/InformationProtectionPolicy" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/InformationProtectionPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/{scope}/providers/Microsoft.Security/informationProtectionPolicies": { + "get": { + "x-ms-examples": { + "Get information protection policies": { + "$ref": "./examples/InformationProtectionPolicies/ListInformationProtectionPolicies_example.json" + } + }, + "tags": ["InformationProtectionPolicies"], + "description": "Information protection policies of a specific management group.", + "operationId": "InformationProtectionPolicies_List", + "parameters": [{ + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, { + "$ref": "../../../common/v1/types.json#/parameters/Scope" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/InformationProtectionPolicyList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "InformationProtectionPolicyList": { + "type": "object", + "readOnly": true, + "description": "Information protection policies response.", + "properties": { + "value": { + "type": "array", + "description": "List of information protection policies.", + "items": { + "$ref": "#/definitions/InformationProtectionPolicy" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "InformationProtectionPolicy": { + "type": "object", + "description": "Information protection policy.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Information protection policy data", + "$ref": "#/definitions/InformationProtectionPolicyProperties" + } + }, + "allOf": [{ + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "InformationProtectionPolicyProperties": { + "type": "object", + "description": "describes properties of an information protection policy.", + "properties": { + "lastModifiedUtc": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Describes the last UTC time the policy was modified." + }, + "labels": { + "type": "object", + "description": "Dictionary of sensitivity labels.", + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/SensitivityLabel" + } + }, + "informationTypes": { + "type": "object", + "description": "The sensitivity information types.", + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/InformationType" + } + } + } + }, + "SensitivityLabel": { + "type": "object", + "description": "The sensitivity label.", + "properties": { + "displayName": { + "type": "string", + "description": "The name of the sensitivity label." + }, + "order": { + "type": "number", + "description": "The order of the sensitivity label." + }, + "enabled": { + "type": "boolean", + "description": "Indicates whether the label is enabled or not." + } + } + }, + "InformationType": { + "type": "object", + "description": "The information type.", + "properties": { + "displayName": { + "type": "string", + "description": "The name of the information type." + }, + "order": { + "type": "number", + "description": "The order of the information type." + }, + "recommendedLabelId": { + "type": "string", + "format": "uuid", + "description": "The recommended label id to be associated with this information type." + }, + "enabled": { + "type": "boolean", + "description": "Indicates whether the information type is enabled or not." + }, + "custom": { + "type": "boolean", + "description": "Indicates whether the information type is custom or not." + }, + "keywords": { + "type": "array", + "description": "The information type keywords.", + "items": { + "$ref": "#/definitions/InformationProtectionKeyword" + } + } + } + }, + "InformationProtectionKeyword": { + "type": "object", + "description": "The information type keyword.", + "properties": { + "pattern": { + "type": "string", + "description": "The keyword pattern." + }, + "custom": { + "type": "boolean", + "description": "Indicates whether the keyword is custom or not." + }, + "canBeNumeric": { + "type": "boolean", + "description": "Indicates whether the keyword can be applied on numeric types or not." + }, + "excluded": { + "type": "boolean", + "description": "Indicates whether the keyword is excluded or not." + } + } + } + }, + "parameters": { + "InformationProtectionPolicyName": { + "name": "informationProtectionPolicyName", + "in": "path", + "required": true, + "type": "string", + "enum": ["effective", "custom"], + "description": "Name of the information protection policy.", + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/pricings.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/pricings.json new file mode 100644 index 000000000000..40872d4b614e --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/pricings.json @@ -0,0 +1,345 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2017-08-01-preview" + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [ + { + "azure_auth": ["user_impersonation"] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings": { + "get": { + "x-ms-examples": { + "Get pricings on subscription": { + "$ref": "./examples/Pricings/GetPricingsSubscription_example.json" + } + }, + "tags": ["Pricings"], + "description": "Security pricing configurations in the subscription", + "operationId": "Pricings_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PricingList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings": { + "get": { + "x-ms-examples": { + "Get pricings on subscription": { + "$ref": "./examples/Pricings/GetPricingsResourceGroup_example.json" + } + }, + "tags": ["Pricings"], + "description": "Security pricing configurations in the resource group", + "operationId": "Pricings_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PricingList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}": { + "get": { + "x-ms-examples": { + "Get pricings on subscription": { + "$ref": "./examples/Pricings/GetPricingSubscription_example.json" + } + }, + "tags": ["Pricings"], + "description": "Security pricing configuration in the subscriptionSecurity pricing configuration in the subscription", + "operationId": "Pricings_GetSubscriptionPricing", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/PricingName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Pricing" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Update pricings on subscription": { + "$ref": "./examples/Pricings/CreatePricingsSubscription_example.json" + } + }, + "tags": ["Pricings"], + "description": "Security pricing configuration in the subscription", + "operationId": "Pricings_UpdateSubscriptionPricing", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/PricingName" + }, + { + "$ref": "#/parameters/Pricing" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Pricing" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}": { + "get": { + "x-ms-examples": { + "Get pricings on subscription": { + "$ref": "./examples/Pricings/GetPricingResourceGroup_example.json" + } + }, + "tags": ["Pricings"], + "description": "Security pricing configuration in the resource group", + "operationId": "Pricings_GetResourceGroupPricing", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/PricingName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Pricing" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Update pricings on resource group": { + "$ref": "./examples/Pricings/CreatePricingsResourceGroup_example.json" + } + }, + "tags": ["Pricings"], + "description": "Security pricing configuration in the resource group", + "operationId": "Pricings_CreateOrUpdateResourceGroupPricing", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/PricingName" + }, + { + "$ref": "#/parameters/Pricing" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Pricing" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "PricingList": { + "description": "List of pricing configurations response", + "required": ["value"], + "properties": { + "value": { + "type": "array", + "description": "List of pricing configurations", + "items": { + "$ref": "#/definitions/Pricing" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "Pricing": { + "type": "object", + "description": "Pricing tier will be applied for the scope based on the resource ID", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Pricing data", + "$ref": "#/definitions/PricingProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "PricingProperties": { + "type": "object", + "description": "Pricing data", + "properties": { + "pricingTier": { + "type": "string", + "description": "Pricing tier type", + "enum": ["Free", "Standard"], + "x-ms-enum": { + "name": "pricingTier", + "modelAsString": true, + "values": [ + { + "value": "Free", + "description": "Get free Azure security center experience with basic security features" + }, + { + "value": "Standard", + "description": "Get the standard Azure security center experience with advanced security features" + } + ] + } + } + }, + "required": ["pricingTier"] + } + }, + "parameters": { + "PricingName": { + "name": "pricingName", + "in": "path", + "required": true, + "type": "string", + "description": "name of the pricing configuration", + "x-ms-parameter-location": "method" + }, + "Pricing": { + "name": "pricing", + "in": "body", + "required": true, + "description": "Pricing object", + "schema": { + "$ref": "#/definitions/Pricing" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json deleted file mode 100644 index 13c46c33ed3e..000000000000 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json +++ /dev/null @@ -1,1876 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Security Center", - "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", - "version": "2017-08-01-preview" - }, - "host": "management.azure.com", - "schemes": ["https"], - "consumes": ["application/json"], - "produces": ["application/json"], - "security": [{ - "azure_auth": [ - "user_impersonation" - ] - }], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "paths": { - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings": { - "get": { - "x-ms-examples": { - "Get pricings on subscription": { - "$ref": "./examples/Pricings/GetPricingsSubscription_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configurations in the subscription", - "operationId": "Pricings_List", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/PricingList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings": { - "get": { - "x-ms-examples": { - "Get pricings on subscription": { - "$ref": "./examples/Pricings/GetPricingsResourceGroup_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configurations in the resource group", - "operationId": "Pricings_ListByResourceGroup", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/ResourceGroupName" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/PricingList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}": { - "get": { - "x-ms-examples": { - "Get pricings on subscription": { - "$ref": "./examples/Pricings/GetPricingSubscription_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configuration in the subscriptionSecurity pricing configuration in the subscription", - "operationId": "Pricings_GetSubscriptionPricing", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/PricingName" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Pricing" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "x-ms-examples": { - "Update pricings on subscription": { - "$ref": "./examples/Pricings/CreatePricingsSubscription_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configuration in the subscription", - "operationId": "Pricings_UpdateSubscriptionPricing", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/PricingName" - }, { - "$ref": "#/parameters/Pricing" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Pricing" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}": { - "get": { - "x-ms-examples": { - "Get pricings on subscription": { - "$ref": "./examples/Pricings/GetPricingResourceGroup_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configuration in the resource group", - "operationId": "Pricings_GetResourceGroupPricing", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/ResourceGroupName" - }, { - "$ref": "#/parameters/PricingName" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Pricing" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "x-ms-examples": { - "Update pricings on resource group": { - "$ref": "./examples/Pricings/CreatePricingsResourceGroup_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configuration in the resource group", - "operationId": "Pricings_CreateOrUpdateResourceGroupPricing", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/ResourceGroupName" - }, { - "$ref": "#/parameters/PricingName" - }, { - "$ref": "#/parameters/Pricing" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Pricing" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts": { - "get": { - "x-ms-examples": { - "Update security contact data minimal": { - "$ref": "./examples/SecurityContacts/GetSecurityContactsSubscription_min_example.json" - }, - "Update security contact data full": { - "$ref": "./examples/SecurityContacts/GetSecurityContactsSubscription_full_example.json" - } - }, - "tags": ["Security Contacts"], - "description": "Security contact configurations for the subscription", - "operationId": "SecurityContacts_List", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SecurityContactList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts/{securityContactName}": { - "get": { - "x-ms-examples": { - "Get security contact data minimal": { - "$ref": "./examples/SecurityContacts/GetSecurityContact_min_example.json" - }, - "Get security contact data full": { - "$ref": "./examples/SecurityContacts/GetSecurityContact_full_example.json" - } - }, - "tags": ["Security Contacts"], - "description": "Security contact configurations for the subscription", - "operationId": "SecurityContacts_Get", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/SecurityContactName" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SecurityContact" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "x-ms-examples": { - "Create security contact data minimal": { - "$ref": "./examples/SecurityContacts/CreateSecurityContact_min_example.json" - }, - "Create security contact data full": { - "$ref": "./examples/SecurityContacts/CreateSecurityContact_full_example.json" - } - }, - "tags": ["Security Contacts"], - "description": "Security contact configurations for the subscription", - "operationId": "SecurityContacts_Create", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/SecurityContactName" - }, { - "$ref": "#/parameters/SecurityContact" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SecurityContact" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "delete": { - "x-ms-examples": { - "Delete security contact data": { - "$ref": "./examples/SecurityContacts/DeleteSecurityContact_example.json" - } - }, - "tags": ["Security Contacts"], - "description": "Security contact configurations for the subscription", - "operationId": "SecurityContacts_Delete", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/SecurityContactName" - }], - "responses": { - "204": { - "description": "No Content" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "patch": { - "x-ms-examples": { - "Update security contact data minimal": { - "$ref": "./examples/SecurityContacts/UpdateSecurityContact_min_example.json" - }, - "Update security contact data full": { - "$ref": "./examples/SecurityContacts/UpdateSecurityContact_full_example.json" - } - }, - "tags": ["Security Contacts"], - "description": "Security contact configurations for the subscription", - "operationId": "SecurityContacts_Update", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/SecurityContactName" - }, { - "$ref": "#/parameters/SecurityContact" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SecurityContact" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings": { - "get": { - "x-ms-examples": { - "Get workspace settings on subscription": { - "$ref": "./examples/WorkspaceSettings/GetWorkspaceSettings_example.json" - } - }, - "tags": ["Workspace Settings"], - "description": "Settings about where we should store your security data and logs. If the result is empty, it means that no custom-workspace configuration was set", - "operationId": "WorkspaceSettings_List", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/WorkspaceSettingList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}": { - "get": { - "x-ms-examples": { - "Get a workspace setting on subscription": { - "$ref": "./examples/WorkspaceSettings/GetWorkspaceSetting_example.json" - } - }, - "tags": ["Workspace Settings"], - "description": "Settings about where we should store your security data and logs. If the result is empty, it means that no custom-workspace configuration was set", - "operationId": "WorkspaceSettings_Get", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/WorkspaceSettingName" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/WorkspaceSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "x-ms-examples": { - "Create a workspace setting data for subscription": { - "$ref": "./examples/WorkspaceSettings/CreateWorkspaceSetting_example.json" - } - }, - "tags": ["Workspace Settings"], - "description": "creating settings about where we should store your security data and logs", - "operationId": "WorkspaceSettings_Create", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/WorkspaceSettingName" - }, { - "$ref": "#/parameters/WorkspaceSetting" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/WorkspaceSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "patch": { - "x-ms-examples": { - "Update a workspace setting data for subscription": { - "$ref": "./examples/WorkspaceSettings/UpdateWorkspaceSetting_example.json" - } - }, - "tags": ["Workspace Settings"], - "description": "Settings about where we should store your security data and logs", - "operationId": "WorkspaceSettings_Update", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/WorkspaceSettingName" - }, { - "$ref": "#/parameters/WorkspaceSetting" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/WorkspaceSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "delete": { - "x-ms-examples": { - "Delete a workspace setting data for resource group": { - "$ref": "./examples/WorkspaceSettings/DeleteWorkspaceSetting_example.json" - } - }, - "tags": ["Workspace Settings"], - "description": "Deletes the custom workspace settings for this subscription. new VMs will report to the default workspace", - "operationId": "WorkspaceSettings_Delete", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/WorkspaceSettingName" - }], - "responses": { - "204": { - "description": "No Content" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings": { - "get": { - "x-ms-examples": { - "Get auto provisioning settings for subscription": { - "$ref": "./examples/AutoProvisioningSettings/GetAutoProvisioningSettingsSubscription_example.json" - } - }, - "tags": ["AutoProvisioningSettings"], - "description": "Exposes the auto provisioning settings of the subscriptions", - "operationId": "AutoProvisioningSettings_List", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AutoProvisioningSettingList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings/{settingName}": { - "get": { - "x-ms-examples": { - "Get an auto provisioning setting for subscription": { - "$ref": "./examples/AutoProvisioningSettings/GetAutoProvisioningSettingSubscription_example.json" - } - }, - "tags": ["AutoProvisioningSettings"], - "description": "Details of a specific setting", - "operationId": "AutoProvisioningSettings_Get", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/AutoProvisioningSettingName" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AutoProvisioningSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "x-ms-examples": { - "Create auto provisioning settings for subscription": { - "$ref": "./examples/AutoProvisioningSettings/CreateAutoProvisioningSettingsSubscription_example.json" - } - }, - "tags": ["AutoProvisioningSettings"], - "description": "Details of a specific setting", - "operationId": "AutoProvisioningSettings_Create", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/AutoProvisioningSettingName" - }, { - "$ref": "#/parameters/AutoProvisioningSetting" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AutoProvisioningSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/{scope}/providers/Microsoft.Security/compliances": { - "get": { - "x-ms-examples": { - "Get security compliance data over time": { - "$ref": "./examples/Compliances/GetCompliances_example.json" - } - }, - "tags": ["Compliances"], - "description": "The Compliance scores of the specific management group.", - "operationId": "Compliances_List", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/Scope" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ComplianceList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/{scope}/providers/Microsoft.Security/compliances/{complianceName}": { - "get": { - "x-ms-examples": { - "Get security compliance data for a day": { - "$ref": "./examples/Compliances/GetCompliance_example.json" - } - }, - "tags": ["Compliances"], - "description": "Details of a specific Compliance.", - "operationId": "Compliances_Get", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/Scope" - }, - { - "$ref": "#/parameters/ComplianceName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Compliance" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/{resourceId}/providers/Microsoft.Security/advancedThreatProtectionSettings/{settingName}": { - "get": { - "x-ms-examples": { - "Gets the Advanced Threat Protection settings for the specified resource.": { - "$ref": "./examples/AdvancedThreatProtection/GetAdvancedThreatProtectionSettings_example.json" - } - }, - "tags": [ "AdvancedThreatProtection" ], - "description": "Gets the Advanced Threat Protection settings for the specified resource.", - "operationId": "AdvancedThreatProtection_Get", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/ResourceId" - }, - { - "$ref": "#/parameters/AdvancedThreatProtectionSettingName" - } - ], - "responses": { - "200": { - "description": "Successful request to get Advanced Threat Protection settings.", - "schema": { - "$ref": "#/definitions/AdvancedThreatProtectionSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "x-ms-examples": { - "Creates or updates the Advanced Threat Protection settings on a specified resource.": { - "$ref": "./examples/AdvancedThreatProtection/PutAdvancedThreatProtectionSettings_example.json" - } - }, - "tags": [ "AdvancedThreatProtection" ], - "description": "Creates or updates the Advanced Threat Protection settings on a specified resource.", - "operationId": "AdvancedThreatProtection_Create", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/ResourceId" - }, - { - "$ref": "#/parameters/AdvancedThreatProtectionSettingName" - }, - { - "$ref": "#/parameters/AdvancedThreatProtectionSetting" - } - ], - "responses": { - "200": { - "description": "Successful request to put Advanced Threat Protection settings.", - "schema": { - "$ref": "#/definitions/AdvancedThreatProtectionSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/settings": { - "get": { - "x-ms-examples": { - "Get settings of subscription": { - "$ref": "./examples/Settings/GetSettings_example.json" - } - }, - "tags": [ - "Settings" - ], - "description": "Settings about different configurations in security center", - "operationId": "Settings_List", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SettingsList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/settings/{settingName}": { - "get": { - "x-ms-examples": { - "Get a setting on subscription": { - "$ref": "./examples/Settings/GetSetting_example.json" - } - }, - "tags": [ - "Settings" - ], - "description": "Settings of different configurations in security center", - "operationId": "Settings_Get", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/SettingName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Setting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "x-ms-examples": { - "Update a setting for subscription": { - "$ref": "./examples/Settings/UpdateSetting_example.json" - } - }, - "tags": [ - "Settings" - ], - "description": "updating settings about different configurations in security center", - "operationId": "Settings_Update", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/SettingName" - }, - { - "$ref": "#/parameters/Setting" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Setting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/{scope}/providers/Microsoft.Security/informationProtectionPolicies/{informationProtectionPolicyName}": { - "get": { - "x-ms-examples": { - "Get the customized information protection policy for a management group": { - "$ref": "./examples/InformationProtectionPolicies/GetCustomInformationProtectionPolicy_example.json" - }, - "Get the effective information protection policy for a management group": { - "$ref": "./examples/InformationProtectionPolicies/GetEffectiveInformationProtectionPolicy_example.json" - } - }, - "tags": ["InformationProtectionPolicies"], - "description": "Details of the information protection policy.", - "operationId": "InformationProtectionPolicies_Get", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/Scope" - }, { - "$ref": "#/parameters/InformationProtectionPolicyName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/InformationProtectionPolicy" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "x-ms-examples": { - "Create or update an information protection policy for a management group": { - "$ref": "./examples/InformationProtectionPolicies/CreateOrUpdateInformationProtectionPolicy_example.json" - } - }, - "tags": ["InformationProtectionPolicies"], - "description": "Details of the information protection policy.", - "operationId": "InformationProtectionPolicies_CreateOrUpdate", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/Scope" - }, { - "$ref": "#/parameters/InformationProtectionPolicyName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/InformationProtectionPolicy" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/InformationProtectionPolicy" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/{scope}/providers/Microsoft.Security/informationProtectionPolicies": { - "get": { - "x-ms-examples": { - "Get information protection policies": { - "$ref": "./examples/InformationProtectionPolicies/ListInformationProtectionPolicies_example.json" - } - }, - "tags": ["InformationProtectionPolicies"], - "description": "Information protection policies of a specific management group.", - "operationId": "InformationProtectionPolicies_List", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/Scope" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/InformationProtectionPolicyList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - } - }, - "definitions": { - "CloudError": { - "x-ms-external": true, - "type": "object", - "description": "Error response structure.", - "properties": { - "error": { - "x-ms-client-flatten": true, - "description": "Error data", - "$ref": "#/definitions/CloudErrorBody" - } - } - }, - "CloudErrorBody": { - "x-ms-external": true, - "type": "object", - "description": "Error details.", - "properties": { - "code": { - "readOnly": true, - "type": "string", - "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." - }, - "message": { - "readOnly": true, - "type": "string", - "description": "A message describing the error, intended to be suitable for display in a user interface." - } - } - }, - "Resource": { - "type": "object", - "description": "Describes an Azure resource.", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource Id" - }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name" - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type" - } - }, - "x-ms-azure-resource": true - }, - "Kind": { - "type": "object", - "description": "Describes an Azure resource with kind", - "properties": { - "kind": { - "type": "string", - "description": "Kind of the resource" - } - } - }, - "SecurityContactList": { - "type": "object", - "description": "List of security contacts response", - "properties": { - "value": { - "readOnly": true, - "description": "List of security contacts", - "type": "array", - "items": { - "$ref": "#/definitions/SecurityContact" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "SecurityContact": { - "type": "object", - "description": "Contact details for security issues", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Security contact data", - "$ref": "#/definitions/SecurityContactProperties" - } - }, - "allOf": [{ - "$ref": "#/definitions/Resource" - }] - }, - "SecurityContactProperties": { - "type": "object", - "description": "describes security contact properties", - "properties": { - "email": { - "type": "string", - "format": "email", - "description": "The email of this security contact" - }, - "phone": { - "type": "string", - "description": "The phone number of this security contact" - }, - "alertNotifications": { - "type": "string", - "enum": ["On", "Off"], - "x-ms-enum": { - "name": "alertNotifications", - "modelAsString": true, - "values": [{ - "value": "On", - "description": "Get notifications on new alerts" - }, - { - "value": "Off", - "description": "Don't get notifications on new alerts" - } - ] - }, - "description": "Whether to send security alerts notifications to the security contact" - }, - "alertsToAdmins": { - "type": "string", - "enum": ["On", "Off"], - "x-ms-enum": { - "name": "alertsToAdmins", - "modelAsString": true, - "values": [{ - "value": "On", - "description": "Send notification on new alerts to the subscription's admins" - }, - { - "value": "Off", - "description": "Don't send notification on new alerts to the subscription's admins" - } - ] - }, - "description": "Whether to send security alerts notifications to subscription admins" - } - }, - "required": [ - "email", - "alertNotifications", - "alertsToAdmins" - ] - }, - "PricingList": { - "description": "List of pricing configurations response", - "required": [ - "value" - ], - "properties": { - "value": { - "type": "array", - "description": "List of pricing configurations", - "items": { - "$ref": "#/definitions/Pricing" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "Pricing": { - "type": "object", - "description": "Pricing tier will be applied for the scope based on the resource ID", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Pricing data", - "$ref": "#/definitions/PricingProperties" - } - }, - "allOf": [{ - "$ref": "#/definitions/Resource" - }] - }, - "PricingProperties": { - "type": "object", - "description": "Pricing data", - "properties": { - "pricingTier": { - "type": "string", - "description": "Pricing tier type", - "enum": ["Free", "Standard"], - "x-ms-enum": { - "name": "pricingTier", - "modelAsString": true, - "values": [{ - "value": "Free", - "description": "Get free Azure security center experience with basic security features" - }, - { - "value": "Standard", - "description": "Get the standard Azure security center experience with advanced security features" - } - ] - } - } - }, - "required": [ - "pricingTier" - ] - }, - "WorkspaceSettingList": { - "description": "List of workspace settings response", - "required": [ - "value" - ], - "properties": { - "value": { - "type": "array", - "description": "List of workspace settings", - "items": { - "$ref": "#/definitions/WorkspaceSetting" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "WorkspaceSetting": { - "type": "object", - "description": "Configures where to store the OMS agent data for workspaces under a scope", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Workspace setting data", - "$ref": "#/definitions/WorkspaceSettingProperties" - } - }, - "allOf": [{ - "$ref": "#/definitions/Resource" - }] - }, - "WorkspaceSettingProperties": { - "type": "object", - "description": "Workspace setting data", - "properties": { - "workspaceId": { - "type": "string", - "description": "The full Azure ID of the workspace to save the data in" - }, - "scope": { - "type": "string", - "description": "All the VMs in this scope will send their security data to the mentioned workspace unless overridden by a setting with more specific scope" - } - }, - "required": [ - "workspaceId", - "scope" - ] - }, - "AutoProvisioningSettingList": { - "type": "object", - "description": "List of all the auto provisioning settings response", - "properties": { - "value": { - "description": "List of all the auto provisioning settings", - "type": "array", - "items": { - "$ref": "#/definitions/AutoProvisioningSetting" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "AutoProvisioningSetting": { - "type": "object", - "description": "Auto provisioning setting", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Auto provisioning setting data", - "$ref": "#/definitions/AutoProvisioningSettingProperties" - } - }, - "allOf": [{ - "$ref": "#/definitions/Resource" - }] - }, - "AutoProvisioningSettingProperties": { - "type": "object", - "description": "describes properties of an auto provisioning setting", - "properties": { - "autoProvision": { - "type": "string", - "description": "Describes what kind of security agent provisioning action to take", - "enum": ["On", "Off"], - "x-ms-enum": { - "name": "autoProvision", - "modelAsString": true, - "values": [{ - "value": "On", - "description": "Install missing security agent on VMs automatically" - }, - { - "value": "Off", - "description": "Do not install security agent on the VMs automatically" - } - ] - } - } - }, - "required": [ - "autoProvision" - ] - }, - "ComplianceList": { - "type": "object", - "readOnly": true, - "description": "List of Compliance objects response", - "properties": { - "value": { - "type": "array", - "description": "List of Compliance objects", - "items": { - "$ref": "#/definitions/Compliance" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "Compliance": { - "type": "object", - "readOnly": true, - "description": "Compliance of a scope", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Compliance data", - "$ref": "#/definitions/ComplianceProperties" - } - }, - "allOf": [{ - "$ref": "#/definitions/Resource" - }] - }, - "ComplianceProperties": { - "type": "object", - "description": "The Compliance score (percentage) of a Subscription is a sum of all Resources' Compliances under the given Subscription. A Resource Compliance is defined as the compliant ('healthy') Policy Definitions out of all Policy Definitions applicable to a given resource.", - "properties": { - "assessmentTimestampUtcDate": { - "readOnly": true, - "type": "string", - "format": "date-time", - "description": "The timestamp when the Compliance calculation was conducted." - }, - "resourceCount": { - "readOnly": true, - "type": "integer", - "description": "The resource count of the given subscription for which the Compliance calculation was conducted (needed for Management Group Compliance calculation)." - }, - "assessmentResult": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/ComplianceSegment" - }, - "description": "An array of segment, which is the actually the compliance assessment." - } - } - }, - "ComplianceSegment": { - "type": "object", - "description": "A segment of a compliance assessment.", - "properties": { - "segmentType": { - "readOnly": true, - "type": "string", - "description": "The segment type, e.g. compliant, non-compliance, insufficient coverage, N/A, etc." - }, - "percentage": { - "type": "number", - "format": "double", - "readOnly": true, - "description": "The size (%) of the segment." - } - } - }, - "AdvancedThreatProtectionProperties": { - "properties": { - "isEnabled": { - "type": "boolean", - "description": "Indicates whether Advanced Threat Protection is enabled." - } - }, - "description": "The Advanced Threat Protection settings." - }, - "AdvancedThreatProtectionSetting": { - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/AdvancedThreatProtectionProperties" - } - }, - "description": "The Advanced Threat Protection resource." - }, - "SettingsList": { - "type": "object", - "description": "Subscription settings list.", - "properties": { - "value": { - "type": "array", - "description": "The settings list.", - "items": { - "$ref": "#/definitions/Setting" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "Setting": { - "type": "object", - "description": "Represents a security setting in Azure Security Center.", - "discriminator": "kind", - "properties": {}, - "allOf": [ - { - "$ref": "#/definitions/SettingResource" - } - ] - }, - "DataExportSetting": { - "type": "object", - "description": "Represents a data export setting", - "x-ms-discriminator-value": "DataExportSetting", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Data export setting data", - "$ref": "#/definitions/DataExportSettingProperties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Setting" - } - ] - }, - "SettingResource": { - "type": "object", - "description": "The kind of the security setting", - "properties": { - "kind": { - "type": "string", - "description": "the kind of the settings string (DataExportSetting)", - "enum": [ - "DataExportSetting", - "AlertSuppressionSetting" - ], - "x-ms-enum": { - "name": "SettingKind", - "modelAsString": true, - "values": [ - { - "value": "DataExportSetting" - }, - { - "value": "AlertSuppressionSetting" - } - ] - } - - } - }, - "required": [ - "kind" - ], - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ] - }, - "DataExportSettingProperties": { - "type": "object", - "description": "The data export setting properties", - "properties": { - "enabled": { - "type": "boolean", - "description": "Is the data export setting is enabled" - } - }, - "required": [ - "enabled" - ] - }, - "InformationProtectionPolicyList": { - "type": "object", - "readOnly": true, - "description": "Information protection policies response.", - "properties": { - "value": { - "type": "array", - "description": "List of information protection policies.", - "items": { - "$ref": "#/definitions/InformationProtectionPolicy" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "InformationProtectionPolicy": { - "type": "object", - "description": "Information protection policy.", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Information protection policy data", - "$ref": "#/definitions/InformationProtectionPolicyProperties" - } - }, - "allOf": [{ - "$ref": "#/definitions/Resource" - } - ] - }, - "InformationProtectionPolicyProperties": { - "type": "object", - "description": "describes properties of an information protection policy.", - "properties": { - "lastModifiedUtc": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Describes the last UTC time the policy was modified." - }, - "labels": { - "type": "object", - "description": "Dictionary of sensitivity labels.", - "additionalProperties": { - "type": "object", - "$ref": "#/definitions/SensitivityLabel" - } - }, - "informationTypes": { - "type": "object", - "description": "The sensitivity information types.", - "additionalProperties": { - "type": "object", - "$ref": "#/definitions/InformationType" - } - } - } - }, - "SensitivityLabel": { - "type": "object", - "description": "The sensitivity label.", - "properties": { - "displayName": { - "type": "string", - "description": "The name of the sensitivity label." - }, - "order": { - "type": "number", - "description": "The order of the sensitivity label." - }, - "enabled": { - "type": "boolean", - "description": "Indicates whether the label is enabled or not." - } - } - }, - "InformationType": { - "type": "object", - "description": "The information type.", - "properties": { - "displayName": { - "type": "string", - "description": "The name of the information type." - }, - "order": { - "type": "number", - "description": "The order of the information type." - }, - "recommendedLabelId": { - "type": "string", - "format": "uuid", - "description": "The recommended label id to be associated with this information type." - }, - "enabled": { - "type": "boolean", - "description": "Indicates whether the information type is enabled or not." - }, - "custom": { - "type": "boolean", - "description": "Indicates whether the information type is custom or not." - }, - "keywords": { - "type": "array", - "description": "The information type keywords.", - "items": { - "$ref": "#/definitions/InformationProtectionKeyword" - } - } - } - }, - "InformationProtectionKeyword": { - "type": "object", - "description": "The information type keyword.", - "properties": { - "pattern": { - "type": "string", - "description": "The keyword pattern." - }, - "custom": { - "type": "boolean", - "description": "Indicates whether the keyword is custom or not." - }, - "canBeNumeric": { - "type": "boolean", - "description": "Indicates whether the keyword can be applied on numeric types or not." - }, - "excluded": { - "type": "boolean", - "description": "Indicates whether the keyword is excluded or not." - } - } - } - }, - "parameters": { - "SubscriptionId": { - "name": "subscriptionId", - "in": "path", - "required": true, - "pattern": "^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$", - "type": "string", - "description": "Azure subscription ID" - }, - "ResourceGroupName": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group within the user's subscription. The name is case insensitive.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90, - "x-ms-parameter-location": "method" - }, - "ApiVersion": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "enum": ["2017-08-01-preview"], - "description": "API version for the operation" - }, - "Scope": { - "name": "scope", - "in": "path", - "required": true, - "type": "string", - "description": "Scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group (/providers/Microsoft.Management/managementGroups/mgName).", - "x-ms-parameter-location": "method" - }, - "PricingName": { - "name": "pricingName", - "in": "path", - "required": true, - "type": "string", - "description": "name of the pricing configuration", - "x-ms-parameter-location": "method" - }, - "Pricing": { - "name": "pricing", - "in": "body", - "required": true, - "description": "Pricing object", - "schema": { - "$ref": "#/definitions/Pricing" - }, - "x-ms-parameter-location": "method" - }, - "SecurityContactName": { - "name": "securityContactName", - "in": "path", - "required": true, - "type": "string", - "description": "Name of the security contact object", - "x-ms-parameter-location": "method" - }, - "SecurityContact": { - "name": "securityContact", - "in": "body", - "required": true, - "description": "Security contact object", - "schema": { - "$ref": "#/definitions/SecurityContact" - }, - "x-ms-parameter-location": "method" - }, - "WorkspaceSettingName": { - "name": "workspaceSettingName", - "in": "path", - "required": true, - "type": "string", - "description": "Name of the security setting", - "x-ms-parameter-location": "method" - }, - "WorkspaceSetting": { - "name": "workspaceSetting", - "in": "body", - "required": true, - "description": "Security data setting object", - "schema": { - "$ref": "#/definitions/WorkspaceSetting" - }, - "x-ms-parameter-location": "method" - }, - "SettingName": { - "name": "settingName", - "in": "path", - "required": true, - "type": "string", - "description": "Name of setting: (MCAS/WDATP)", - "enum": [ - "MCAS", - "WDATP" - ], - "x-ms-parameter-location": "method" - }, - "Setting": { - "name": "setting", - "in": "body", - "required": true, - "description": "Setting object", - "schema": { - "$ref": "#/definitions/Setting" - }, - "x-ms-parameter-location": "method" - }, - "AutoProvisioningSettingName": { - "name": "settingName", - "in": "path", - "required": true, - "type": "string", - "description": "Auto provisioning setting key", - "x-ms-parameter-location": "method" - }, - "AutoProvisioningSetting": { - "name": "setting", - "in": "body", - "required": true, - "description": "Auto provisioning setting key", - "schema": { - "$ref": "#/definitions/AutoProvisioningSetting" - }, - "x-ms-parameter-location": "method" - }, - "ComplianceName": { - "name": "complianceName", - "in": "path", - "required": true, - "type": "string", - "description": "name of the Compliance", - "x-ms-parameter-location": "method" - }, - "InformationProtectionPolicyName": { - "name": "informationProtectionPolicyName", - "in": "path", - "required": true, - "type": "string", - "enum": ["effective", "custom"], - "description": "Name of the information protection policy.", - "x-ms-parameter-location": "method" - }, - "ResourceId": { - "name": "resourceId", - "in": "path", - "required": true, - "type": "string", - "description": "The identifier of the resource.", - "x-ms-parameter-location": "method" - }, - "AdvancedThreatProtectionSettingName": { - "name": "settingName", - "in": "path", - "required": true, - "type": "string", - "enum": ["current"], - "description": "Advanced Threat Protection setting name.", - "x-ms-parameter-location": "method" - }, - "AdvancedThreatProtectionSetting": { - "name": "advancedThreatProtectionSetting", - "in": "body", - "required": true, - "description": "Advanced Threat Protection Settings", - "schema": { - "$ref": "#/definitions/AdvancedThreatProtectionSetting" - }, - "x-ms-parameter-location": "method" - } - } -} \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/securityContacts.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/securityContacts.json new file mode 100644 index 000000000000..e78d7df3f508 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/securityContacts.json @@ -0,0 +1,314 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2017-08-01-preview" + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [{ + "azure_auth": [ + "user_impersonation" + ] + }], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts": { + "get": { + "x-ms-examples": { + "Update security contact data minimal": { + "$ref": "./examples/SecurityContacts/GetSecurityContactsSubscription_min_example.json" + }, + "Update security contact data full": { + "$ref": "./examples/SecurityContacts/GetSecurityContactsSubscription_full_example.json" + } + }, + "tags": ["Security Contacts"], + "description": "Security contact configurations for the subscription", + "operationId": "SecurityContacts_List", + "parameters": [{ + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityContactList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts/{securityContactName}": { + "get": { + "x-ms-examples": { + "Get security contact data minimal": { + "$ref": "./examples/SecurityContacts/GetSecurityContact_min_example.json" + }, + "Get security contact data full": { + "$ref": "./examples/SecurityContacts/GetSecurityContact_full_example.json" + } + }, + "tags": ["Security Contacts"], + "description": "Security contact configurations for the subscription", + "operationId": "SecurityContacts_Get", + "parameters": [{ + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/SecurityContactName" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityContact" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create security contact data minimal": { + "$ref": "./examples/SecurityContacts/CreateSecurityContact_min_example.json" + }, + "Create security contact data full": { + "$ref": "./examples/SecurityContacts/CreateSecurityContact_full_example.json" + } + }, + "tags": ["Security Contacts"], + "description": "Security contact configurations for the subscription", + "operationId": "SecurityContacts_Create", + "parameters": [{ + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/SecurityContactName" + }, { + "$ref": "#/parameters/SecurityContact" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityContact" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete security contact data": { + "$ref": "./examples/SecurityContacts/DeleteSecurityContact_example.json" + } + }, + "tags": ["Security Contacts"], + "description": "Security contact configurations for the subscription", + "operationId": "SecurityContacts_Delete", + "parameters": [{ + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/SecurityContactName" + }], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "x-ms-examples": { + "Update security contact data minimal": { + "$ref": "./examples/SecurityContacts/UpdateSecurityContact_min_example.json" + }, + "Update security contact data full": { + "$ref": "./examples/SecurityContacts/UpdateSecurityContact_full_example.json" + } + }, + "tags": ["Security Contacts"], + "description": "Security contact configurations for the subscription", + "operationId": "SecurityContacts_Update", + "parameters": [{ + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/SecurityContactName" + }, { + "$ref": "#/parameters/SecurityContact" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityContact" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "SecurityContactList": { + "type": "object", + "description": "List of security contacts response", + "properties": { + "value": { + "readOnly": true, + "description": "List of security contacts", + "type": "array", + "items": { + "$ref": "#/definitions/SecurityContact" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "SecurityContact": { + "type": "object", + "description": "Contact details for security issues", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Security contact data", + "$ref": "#/definitions/SecurityContactProperties" + } + }, + "allOf": [{ + "$ref": "../../../common/v1/types.json#/definitions/Resource" + }] + }, + "SecurityContactProperties": { + "type": "object", + "description": "describes security contact properties", + "properties": { + "email": { + "type": "string", + "format": "email", + "description": "The email of this security contact" + }, + "phone": { + "type": "string", + "description": "The phone number of this security contact" + }, + "alertNotifications": { + "type": "string", + "enum": ["On", "Off"], + "x-ms-enum": { + "name": "alertNotifications", + "modelAsString": true, + "values": [{ + "value": "On", + "description": "Get notifications on new alerts" + }, + { + "value": "Off", + "description": "Don't get notifications on new alerts" + } + ] + }, + "description": "Whether to send security alerts notifications to the security contact" + }, + "alertsToAdmins": { + "type": "string", + "enum": ["On", "Off"], + "x-ms-enum": { + "name": "alertsToAdmins", + "modelAsString": true, + "values": [{ + "value": "On", + "description": "Send notification on new alerts to the subscription's admins" + }, + { + "value": "Off", + "description": "Don't send notification on new alerts to the subscription's admins" + } + ] + }, + "description": "Whether to send security alerts notifications to subscription admins" + } + }, + "required": [ + "email", + "alertNotifications", + "alertsToAdmins" + ] + } + }, + "parameters": { + "SecurityContactName": { + "name": "securityContactName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the security contact object", + "x-ms-parameter-location": "method" + }, + "SecurityContact": { + "name": "securityContact", + "in": "body", + "required": true, + "description": "Security contact object", + "schema": { + "$ref": "#/definitions/SecurityContact" + }, + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/settings.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/settings.json new file mode 100644 index 000000000000..190ba7d322ab --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/settings.json @@ -0,0 +1,251 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2017-08-01-preview" + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [ + { + "azure_auth": ["user_impersonation"] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/settings": { + "get": { + "x-ms-examples": { + "Get settings of subscription": { + "$ref": "./examples/Settings/GetSettings_example.json" + } + }, + "tags": ["Settings"], + "description": "Settings about different configurations in security center", + "operationId": "Settings_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SettingsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/settings/{settingName}": { + "get": { + "x-ms-examples": { + "Get a setting on subscription": { + "$ref": "./examples/Settings/GetSetting_example.json" + } + }, + "tags": ["Settings"], + "description": "Settings of different configurations in security center", + "operationId": "Settings_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/SettingName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Setting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Update a setting for subscription": { + "$ref": "./examples/Settings/UpdateSetting_example.json" + } + }, + "tags": ["Settings"], + "description": "updating settings about different configurations in security center", + "operationId": "Settings_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/SettingName" + }, + { + "$ref": "#/parameters/Setting" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Setting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "SettingsList": { + "type": "object", + "description": "Subscription settings list.", + "properties": { + "value": { + "type": "array", + "description": "The settings list.", + "items": { + "$ref": "#/definitions/Setting" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "Setting": { + "type": "object", + "description": "Represents a security setting in Azure Security Center.", + "discriminator": "kind", + "properties": {}, + "allOf": [ + { + "$ref": "#/definitions/SettingResource" + } + ] + }, + "DataExportSetting": { + "type": "object", + "description": "Represents a data export setting", + "x-ms-discriminator-value": "DataExportSetting", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Data export setting data", + "$ref": "#/definitions/DataExportSettingProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Setting" + } + ] + }, + "SettingResource": { + "type": "object", + "description": "The kind of the security setting", + "properties": { + "kind": { + "type": "string", + "description": "the kind of the settings string (DataExportSetting)", + "enum": ["DataExportSetting", "AlertSuppressionSetting"], + "x-ms-enum": { + "name": "SettingKind", + "modelAsString": true, + "values": [ + { + "value": "DataExportSetting" + }, + { + "value": "AlertSuppressionSetting" + } + ] + } + } + }, + "required": ["kind"], + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "DataExportSettingProperties": { + "type": "object", + "description": "The data export setting properties", + "properties": { + "enabled": { + "type": "boolean", + "description": "Is the data export setting is enabled" + } + }, + "required": ["enabled"] + } + }, + "parameters": { + "SettingName": { + "name": "settingName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of setting: (MCAS/WDATP)", + "enum": ["MCAS", "WDATP"], + "x-ms-parameter-location": "method" + }, + "Setting": { + "name": "setting", + "in": "body", + "required": true, + "description": "Setting object", + "schema": { + "$ref": "#/definitions/Setting" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json new file mode 100644 index 000000000000..daa31f798b0b --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json @@ -0,0 +1,265 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2017-08-01-preview" + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [{ + "azure_auth": [ + "user_impersonation" + ] + }], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings": { + "get": { + "x-ms-examples": { + "Get workspace settings on subscription": { + "$ref": "./examples/WorkspaceSettings/GetWorkspaceSettings_example.json" + } + }, + "tags": ["Workspace Settings"], + "description": "Settings about where we should store your security data and logs. If the result is empty, it means that no custom-workspace configuration was set", + "operationId": "WorkspaceSettings_List", + "parameters": [{ + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkspaceSettingList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}": { + "get": { + "x-ms-examples": { + "Get a workspace setting on subscription": { + "$ref": "./examples/WorkspaceSettings/GetWorkspaceSetting_example.json" + } + }, + "tags": ["Workspace Settings"], + "description": "Settings about where we should store your security data and logs. If the result is empty, it means that no custom-workspace configuration was set", + "operationId": "WorkspaceSettings_Get", + "parameters": [{ + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/WorkspaceSettingName" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkspaceSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create a workspace setting data for subscription": { + "$ref": "./examples/WorkspaceSettings/CreateWorkspaceSetting_example.json" + } + }, + "tags": ["Workspace Settings"], + "description": "creating settings about where we should store your security data and logs", + "operationId": "WorkspaceSettings_Create", + "parameters": [{ + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/WorkspaceSettingName" + }, { + "$ref": "#/parameters/WorkspaceSetting" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkspaceSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "x-ms-examples": { + "Update a workspace setting data for subscription": { + "$ref": "./examples/WorkspaceSettings/UpdateWorkspaceSetting_example.json" + } + }, + "tags": ["Workspace Settings"], + "description": "Settings about where we should store your security data and logs", + "operationId": "WorkspaceSettings_Update", + "parameters": [{ + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/WorkspaceSettingName" + }, { + "$ref": "#/parameters/WorkspaceSetting" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkspaceSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a workspace setting data for resource group": { + "$ref": "./examples/WorkspaceSettings/DeleteWorkspaceSetting_example.json" + } + }, + "tags": ["Workspace Settings"], + "description": "Deletes the custom workspace settings for this subscription. new VMs will report to the default workspace", + "operationId": "WorkspaceSettings_Delete", + "parameters": [{ + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/WorkspaceSettingName" + }], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "WorkspaceSettingList": { + "description": "List of workspace settings response", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "array", + "description": "List of workspace settings", + "items": { + "$ref": "#/definitions/WorkspaceSetting" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "WorkspaceSetting": { + "type": "object", + "description": "Configures where to store the OMS agent data for workspaces under a scope", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Workspace setting data", + "$ref": "#/definitions/WorkspaceSettingProperties" + } + }, + "allOf": [{ + "$ref": "../../../common/v1/types.json#/definitions/Resource" + }] + }, + "WorkspaceSettingProperties": { + "type": "object", + "description": "Workspace setting data", + "properties": { + "workspaceId": { + "type": "string", + "description": "The full Azure ID of the workspace to save the data in" + }, + "scope": { + "type": "string", + "description": "All the VMs in this scope will send their security data to the mentioned workspace unless overridden by a setting with more specific scope" + } + }, + "required": [ + "workspaceId", + "scope" + ] + } + }, + "parameters": { + "WorkspaceSettingName": { + "name": "workspaceSettingName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the security setting", + "x-ms-parameter-location": "method" + }, + "WorkspaceSetting": { + "name": "workspaceSetting", + "in": "body", + "required": true, + "description": "Security data setting object", + "schema": { + "$ref": "#/definitions/WorkspaceSetting" + }, + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2018-06-01/pricings.json b/specification/security/resource-manager/Microsoft.Security/stable/2018-06-01/pricings.json new file mode 100644 index 000000000000..b5d70052f1e5 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2018-06-01/pricings.json @@ -0,0 +1,222 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2018-06-01" + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [ + { + "azure_auth": ["user_impersonation"] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings": { + "get": { + "x-ms-examples": { + "Get pricings on subscription": { + "$ref": "./examples/Pricings/ListPricings_example.json" + } + }, + "tags": ["Pricings"], + "description": "Security pricing configurations in the subscription", + "operationId": "Pricings_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PricingList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}": { + "get": { + "x-ms-examples": { + "Get pricings on subscription": { + "$ref": "./examples/Pricings/GetPricingByName_example.json" + } + }, + "tags": ["Pricings"], + "description": "Security pricing configuration in the subscription", + "operationId": "Pricings_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/PricingName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Pricing" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Update pricing on subscription": { + "$ref": "./examples/Pricings/PutPricingByName_example.json" + } + }, + "tags": ["Pricings"], + "description": "Security pricing configuration in the subscription", + "operationId": "Pricings_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/PricingName" + }, + { + "$ref": "#/parameters/Pricing" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Pricing" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "PricingList": { + "description": "List of pricing configurations response", + "required": ["value"], + "properties": { + "value": { + "type": "array", + "description": "List of pricing configurations", + "items": { + "$ref": "#/definitions/Pricing" + } + } + } + }, + "Pricing": { + "type": "object", + "description": "Pricing tier will be applied for the scope based on the resource ID", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Pricing data", + "$ref": "#/definitions/PricingProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "PricingProperties": { + "type": "object", + "description": "Pricing properties for the relevant scope", + "properties": { + "pricingTier": { + "type": "string", + "description": "The pricing tier value", + "enum": ["Free", "Standard"], + "x-ms-enum": { + "name": "pricingTier", + "modelAsString": true, + "values": [ + { + "value": "Free", + "description": "Get free Azure security center experience with basic security features" + }, + { + "value": "Standard", + "description": "Get the standard Azure security center experience with advanced security features" + } + ] + } + }, + "FreeTrialRemainingTime": { + "type": "string", + "format": "duration", + "readOnly": true, + "description": "The duration left for the subscriptions free trial period - in ISO 8601 format (e.g. P3Y6M4DT12H30M5S)." + } + }, + "required": ["pricingTier"] + } + }, + "parameters": { + "PricingName": { + "name": "pricingName", + "in": "path", + "required": true, + "type": "string", + "description": "name of the pricing configuration", + "x-ms-parameter-location": "method" + }, + "Pricing": { + "name": "pricing", + "in": "body", + "required": true, + "description": "Pricing object", + "schema": { + "$ref": "#/definitions/Pricing" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2018-06-01/security.json b/specification/security/resource-manager/Microsoft.Security/stable/2018-06-01/security.json deleted file mode 100644 index 3073f7d2c049..000000000000 --- a/specification/security/resource-manager/Microsoft.Security/stable/2018-06-01/security.json +++ /dev/null @@ -1,278 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Security Center", - "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", - "version": "2018-06-01" - }, - "host": "management.azure.com", - "schemes": ["https"], - "consumes": ["application/json"], - "produces": ["application/json"], - "security": [{ - "azure_auth": [ - "user_impersonation" - ] - }], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "paths": { - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings": { - "get": { - "x-ms-examples": { - "Get pricings on subscription": { - "$ref": "./examples/Pricings/ListPricings_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configurations in the subscription", - "operationId": "Pricings_List", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/PricingList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}": { - "get": { - "x-ms-examples": { - "Get pricings on subscription": { - "$ref": "./examples/Pricings/GetPricingByName_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configuration in the subscription", - "operationId": "Pricings_Get", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/PricingName" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Pricing" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "x-ms-examples": { - "Update pricing on subscription": { - "$ref": "./examples/Pricings/PutPricingByName_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configuration in the subscription", - "operationId": "Pricings_Update", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/PricingName" - }, { - "$ref": "#/parameters/Pricing" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Pricing" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - } - }, - "definitions": { - "CloudError": { - "x-ms-external": true, - "type": "object", - "description": "Error response structure.", - "properties": { - "error": { - "x-ms-client-flatten": true, - "description": "Error data", - "$ref": "#/definitions/CloudErrorBody" - } - } - }, - "CloudErrorBody": { - "x-ms-external": true, - "type": "object", - "description": "Error details.", - "properties": { - "code": { - "readOnly": true, - "type": "string", - "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." - }, - "message": { - "readOnly": true, - "type": "string", - "description": "A message describing the error, intended to be suitable for display in a user interface." - } - } - }, - "Resource": { - "type": "object", - "description": "Describes an Azure resource.", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource Id" - }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name" - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type" - } - }, - "x-ms-azure-resource": true - }, - "PricingList": { - "description": "List of pricing configurations response", - "required": [ - "value" - ], - "properties": { - "value": { - "type": "array", - "description": "List of pricing configurations", - "items": { - "$ref": "#/definitions/Pricing" - } - } - } - }, - "Pricing": { - "type": "object", - "description": "Pricing tier will be applied for the scope based on the resource ID", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Pricing data", - "$ref": "#/definitions/PricingProperties" - } - }, - "allOf": [{ - "$ref": "#/definitions/Resource" - }] - }, - "PricingProperties": { - "type": "object", - "description": "Pricing properties for the relevant scope", - "properties": { - "pricingTier": { - "type": "string", - "description": "The pricing tier value", - "enum": ["Free", "Standard"], - "x-ms-enum": { - "name": "pricingTier", - "modelAsString": true, - "values": [{ - "value": "Free", - "description": "Get free Azure security center experience with basic security features" - }, - { - "value": "Standard", - "description": "Get the standard Azure security center experience with advanced security features" - } - ] - } - }, - "FreeTrialRemainingTime": { - "type": "string", - "format": "duration", - "readOnly": true, - "description": "The duration left for the subscriptions free trial period - in ISO 8601 format (e.g. P3Y6M4DT12H30M5S)." - } - }, - "required": [ - "pricingTier" - ] - } - }, - "parameters": { - "SubscriptionId": { - "name": "subscriptionId", - "in": "path", - "required": true, - "pattern": "^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$", - "type": "string", - "description": "Azure subscription ID" - }, - "ApiVersion": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "enum": ["2018-06-01"], - "description": "API version for the operation" - }, - "PricingName": { - "name": "pricingName", - "in": "path", - "required": true, - "type": "string", - "description": "name of the pricing configuration", - "x-ms-parameter-location": "method" - }, - "Pricing": { - "name": "pricing", - "in": "body", - "required": true, - "description": "Pricing object", - "schema": { - "$ref": "#/definitions/Pricing" - }, - "x-ms-parameter-location": "method" - } - } -} \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/security.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/alerts.json similarity index 76% rename from specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/security.json rename to specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/alerts.json index 55698940738a..9daacf4f13eb 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/security.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/alerts.json @@ -48,10 +48,10 @@ "operationId": "Alerts_List", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" }, { "$ref": "#/parameters/ODataFilter" @@ -73,7 +73,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../common/v1/types.json#/definitions/CloudError" } } }, @@ -96,13 +96,13 @@ "operationId": "Alerts_ListByResourceGroup", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/ODataFilter" @@ -124,7 +124,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../common/v1/types.json#/definitions/CloudError" } } }, @@ -147,13 +147,13 @@ "operationId": "Alerts_ListSubscriptionLevelAlertsByRegion", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" }, { - "$ref": "#/parameters/AscLocation" + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" }, { "$ref": "#/parameters/ODataFilter" @@ -175,7 +175,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../common/v1/types.json#/definitions/CloudError" } } }, @@ -198,16 +198,16 @@ "operationId": "Alerts_ListResourceGroupLevelAlertsByRegion", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" }, { - "$ref": "#/parameters/AscLocation" + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/ODataFilter" @@ -229,7 +229,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../common/v1/types.json#/definitions/CloudError" } } }, @@ -252,13 +252,13 @@ "operationId": "Alerts_GetSubscriptionLevelAlert", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" }, { - "$ref": "#/parameters/AscLocation" + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" }, { "$ref": "#/parameters/AlertName" @@ -274,7 +274,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../common/v1/types.json#/definitions/CloudError" } } } @@ -294,19 +294,19 @@ "operationId": "Alerts_GetResourceGroupLevelAlerts", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" }, { - "$ref": "#/parameters/AscLocation" + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" }, { "$ref": "#/parameters/AlertName" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" } ], "responses": { @@ -319,7 +319,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../common/v1/types.json#/definitions/CloudError" } } } @@ -339,13 +339,13 @@ "operationId": "Alerts_UpdateSubscriptionLevelAlertState", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" }, { - "$ref": "#/parameters/AscLocation" + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" }, { "$ref": "#/parameters/AlertName" @@ -361,7 +361,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../common/v1/types.json#/definitions/CloudError" } } } @@ -381,13 +381,13 @@ "operationId": "Alerts_UpdateResourceGroupLevelAlertState", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" }, { - "$ref": "#/parameters/AscLocation" + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" }, { "$ref": "#/parameters/AlertName" @@ -396,7 +396,7 @@ "$ref": "#/parameters/AlertUpdateActionType" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" } ], "responses": { @@ -406,7 +406,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../common/v1/types.json#/definitions/CloudError" } } } @@ -414,115 +414,6 @@ } }, "definitions": { - "CloudError": { - "x-ms-external": true, - "type": "object", - "description": "Error response structure.", - "properties": { - "error": { - "x-ms-client-flatten": true, - "description": "Error data", - "$ref": "#/definitions/CloudErrorBody" - } - } - }, - "CloudErrorBody": { - "x-ms-external": true, - "type": "object", - "description": "Error details.", - "properties": { - "code": { - "readOnly": true, - "type": "string", - "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." - }, - "message": { - "readOnly": true, - "type": "string", - "description": "A message describing the error, intended to be suitable for display in a user interface." - } - } - }, - "Resource": { - "type": "object", - "description": "Describes an Azure resource.", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource Id" - }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name" - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type" - } - }, - "x-ms-azure-resource": true - }, - "Kind": { - "type": "object", - "description": "Describes an Azure resource with kind", - "properties": { - "kind": { - "type": "string", - "description": "Kind of the resource" - } - } - }, - "Location": { - "type": "object", - "description": "Describes an Azure resource with location", - "properties": { - "location": { - "readOnly": true, - "type": "string", - "description": "Location where the resource is stored" - } - } - }, - "AscLocationList": { - "type": "object", - "description": "List of locations where ASC saves your data", - "properties": { - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/AscLocation" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "AscLocation": { - "type": "object", - "description": "The ASC location of the subscription is in the \"name\" field", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/AscLocationProperties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ] - }, - "AscLocationProperties": { - "type": "object", - "description": "An empty set of properties" - }, "AlertList": { "type": "object", "description": "List of security alerts", @@ -551,7 +442,7 @@ }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../common/v1/types.json#/definitions/Resource" } ] }, @@ -737,43 +628,6 @@ } }, "parameters": { - "SubscriptionId": { - "name": "subscriptionId", - "in": "path", - "required": true, - "pattern": "^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$", - "type": "string", - "description": "Azure subscription ID" - }, - "ResourceGroupName": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group within the user's subscription. The name is case insensitive.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90, - "x-ms-parameter-location": "method" - }, - "ApiVersion": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "2019-01-01" - ], - "description": "API version for the operation" - }, - "AscLocation": { - "name": "ascLocation", - "in": "path", - "required": true, - "type": "string", - "description": "The location where ASC stores the data of the subscription. can be retrieved from Get locations", - "x-ms-parameter-location": "client" - }, "ODataFilter": { "name": "$filter", "in": "query", diff --git a/specification/security/resource-manager/common/v1/types.json b/specification/security/resource-manager/common/v1/types.json new file mode 100644 index 000000000000..e8b7ace59b60 --- /dev/null +++ b/specification/security/resource-manager/common/v1/types.json @@ -0,0 +1,196 @@ +{ + "swagger": "2.0", + "info": { + "version": "1.0", + "title": "Common types" + }, + "paths": {}, + "definitions": { + "CloudError": { + "x-ms-external": true, + "type": "object", + "description": "Error response structure.", + "properties": { + "error": { + "x-ms-client-flatten": true, + "description": "Error data", + "$ref": "#/definitions/CloudErrorBody" + } + } + }, + "CloudErrorBody": { + "x-ms-external": true, + "type": "object", + "description": "Error details.", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + } + } + }, + "Resource": { + "type": "object", + "description": "Describes an Azure resource.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + } + }, + "x-ms-azure-resource": true + }, + "Kind": { + "type": "object", + "description": "Describes an Azure resource with kind", + "properties": { + "kind": { + "type": "string", + "description": "Kind of the resource" + } + } + }, + "Location": { + "type": "object", + "description": "Describes an Azure resource with location", + "properties": { + "location": { + "readOnly": true, + "type": "string", + "description": "Location where the resource is stored" + } + } + }, + "AscLocationList": { + "type": "object", + "description": "List of locations where ASC saves your data", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/AscLocation" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "AscLocation": { + "type": "object", + "description": "The ASC location of the subscription is in the \"name\" field", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AscLocationProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "AscLocationProperties": { + "type": "object", + "description": "An empty set of properties" + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "pattern": "^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$", + "type": "string", + "description": "Azure subscription ID" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the user's subscription. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + + "description": "API version for the operation" + }, + "AscLocation": { + "name": "ascLocation", + "in": "path", + "required": true, + "type": "string", + "description": "The location where ASC stores the data of the subscription. can be retrieved from Get locations", + "x-ms-parameter-location": "client" + }, + "ResourceId": { + "name": "resourceId", + "in": "path", + "required": true, + "type": "string", + "description": "The identifier of the resource.", + "x-ms-parameter-location": "method" + }, + "Scope": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "Scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group (/providers/Microsoft.Management/managementGroups/mgName).", + "x-ms-parameter-location": "method" + }, + "ODataFilter": { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter. Optional.", + "x-ms-parameter-location": "method" + }, + "ODataSelect": { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "OData select. Optional.", + "x-ms-parameter-location": "method" + }, + "ODataExpand": { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "OData expand. Optional.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/readme.md b/specification/security/resource-manager/readme.md index 711c121ebab7..9b85bf655a06 100644 --- a/specification/security/resource-manager/readme.md +++ b/specification/security/resource-manager/readme.md @@ -25,7 +25,7 @@ To see additional help and options, run: ```yaml directive: - suppress: ValidFormats - from: security.json + from: securityContacts.json where: $.definitions.SecurityContactProperties.properties.email.format reason: email format is allowed ``` @@ -35,18 +35,43 @@ directive: These are the global settings for the Security API. ```yaml +title: SecurityCenter +description: API spec for Microsoft.Security (Azure Security Center) resource provider openapi-type: arm tag: package-composite-v1 ``` +## Composite packages + +The following packages may be composed from multiple api-versions. + ### Tag: package-composite-v1 These settings apply only when `--tag=package-composite-v1` is specified on the command line. ```yaml $(tag) == 'package-composite-v1' input-file: -- Microsoft.Security/preview/2017-08-01-preview/security.json -- Microsoft.Security/preview/2015-06-01-preview/security.json +- Microsoft.Security/preview/2017-08-01-preview/pricings.json +- Microsoft.Security/preview/2017-08-01-preview/securityContacts.json +- Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json +- Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json +- Microsoft.Security/preview/2017-08-01-preview/compliances.json +- Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json +- Microsoft.Security/preview/2017-08-01-preview/settings.json +- Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json +- Microsoft.Security/preview/2015-06-01-preview/operations.json +- Microsoft.Security/preview/2015-06-01-preview/locations.json +- Microsoft.Security/preview/2015-06-01-preview/tasks.json +- Microsoft.Security/preview/2015-06-01-preview/alerts.json +- Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json +- Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json +- Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json +- Microsoft.Security/preview/2015-06-01-preview/topologies.json +- Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json + +# Needed when there is more than one input file +override-info: + title: SecurityCenter ``` ---