diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_example.json new file mode 100644 index 000000000000..d80f8690a49c --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_example.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/a9909064-42b4-4d34-8143-275477afe18b", + "name": "a9909064-42b4-4d34-8143-275477afe18b", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Protect applications against DDoS attacks", + "description": "This control contains recommendations regarding DDoS attack prevention", + "maxScore": 2, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e3de1cc0-f4dd-3b34-e496-8b5381ba2d70" + } + ] + } + }, + { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/a000c66f-6da2-4f9d-826d-2364347d2588", + "name": "a000c66f-6da2-4f9d-826d-2364347d2588", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Apply adaptive application control", + "description": "This control contains recommendations regarding enable of adaptive application control", + "maxScore": 3, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/35f45c95-27cf-4e52-891f-8390d1de5828" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d1db3318-01ff-16de-29eb-28b344515626" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e7ee30c4-bac9-2966-54bd-2023a4282872" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8e2b96ff-3de2-289b-b5c1-3b9921a3441e" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_subscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_subscription_example.json new file mode 100644 index 000000000000..bd7565f01793 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_subscription_example.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/a9909064-42b4-4d34-8143-275477afe18b", + "name": "a9909064-42b4-4d34-8143-275477afe18b", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Protect applications against DDoS attacks", + "description": "This control contains recommendations regarding DDoS attack prevention", + "maxScore": 2, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e3de1cc0-f4dd-3b34-e496-8b5381ba2d70" + } + ] + } + }, + { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "name": "34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Enable MFA", + "description": "This control contains recommendations regarding MFA", + "maxScore": 10, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/151e82c5-5341-a74b-1eb0-bc38d2c84bb5" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/57e98606-6b1e-6193-0e3d-fe621387c16b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/94290b00-4d0c-d7b4-7cea-064a9554e681" + } + ] + } + }, + { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/a000c66f-6da2-4f9d-826d-2364347d2588", + "name": "a000c66f-6da2-4f9d-826d-2364347d2588", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Apply adaptive application control", + "description": "This control contains recommendations regarding enable of adaptive application control", + "maxScore": 3, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/35f45c95-27cf-4e52-891f-8390d1de5828" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d1db3318-01ff-16de-29eb-28b344515626" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e7ee30c4-bac9-2966-54bd-2023a4282872" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8e2b96ff-3de2-289b-b5c1-3b9921a3441e" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/GetSecureScoresSingle_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/GetSecureScoresSingle_example.json new file mode 100644 index 000000000000..f543777c76e2 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/GetSecureScoresSingle_example.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "secureScoreName": "ascScore" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore", + "name": "ascScore", + "type": "Microsoft.Security/secureScores", + "properties": { + "displayName": "Asc Score", + "score": { + "max": 13, + "current": 3 + } + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControlsForNameWithExpand_builtin_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControlsForNameWithExpand_builtin_example.json new file mode 100644 index 000000000000..aec26c1a6e20 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControlsForNameWithExpand_builtin_example.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "secureScoreName": "ascScore", + "$expand": "definition" + }, + "responses": { + "200": { + "parameters": { + "secureScoreName": "ascScore" + }, + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/a9909064-42b4-4d34-8143-275477afe18b", + "name": "a9909064-42b4-4d34-8143-275477afe18b", + "type": "Microsoft.Security/secureScoreControls", + "properties": { + "displayName": "Protect applications against DDoS attacks", + "healthyResourceCount": 0, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 10, + "score": { + "max": 0, + "current": 0 + }, + "definition": { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/a9909064-42b4-4d34-8143-275477afe18b", + "name": "a9909064-42b4-4d34-8143-275477afe18b", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Protect applications against DDoS attacks", + "description": "This control contains recommendations regarding DDoS attack prevention", + "maxScore": 2, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e3de1cc0-f4dd-3b34-e496-8b5381ba2d70" + } + ] + } + } + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "name": "34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "type": "Microsoft.Security/SecureScoreControls", + "properties": { + "displayName": "Enable MFA", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 10, + "current": 0 + }, + "definition": { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "name": "34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Enable MFA", + "description": "This control contains recommendations regarding MFA", + "maxScore": 10, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/151e82c5-5341-a74b-1eb0-bc38d2c84bb5" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/57e98606-6b1e-6193-0e3d-fe621387c16b" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/94290b00-4d0c-d7b4-7cea-064a9554e681" + } + ] + } + } + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/a000c66f-6da2-4f9d-826d-2364347d2588", + "name": "a000c66f-6da2-4f9d-826d-2364347d2588", + "type": "Microsoft.Security/SecureScoreControls", + "properties": { + "displayName": "Apply adaptive application control", + "healthyResourceCount": 20, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 10, + "score": { + "max": 3, + "current": 3 + }, + "definition": { + "id": "/providers/Microsoft.Security/SecureScoreControlDefinitions/a000c66f-6da2-4f9d-826d-2364347d2588", + "name": "a000c66f-6da2-4f9d-826d-2364347d2588", + "type": "Microsoft.Security/SecureScoreControlDefinitions", + "properties": { + "source": { + "sourceType": "BuiltIn" + }, + "displayName": "Apply adaptive application control", + "description": "This control contains recommendations regarding enable of adaptive application control", + "maxScore": 3, + "assessmentDefinitions": [ + { + "id": "/providers/Microsoft.Security/assessmentMetadata/35f45c95-27cf-4e52-891f-8390d1de5828" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/d1db3318-01ff-16de-29eb-28b344515626" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/e7ee30c4-bac9-2966-54bd-2023a4282872" + }, + { + "id": "/providers/Microsoft.Security/assessmentMetadata/8e2b96ff-3de2-289b-b5c1-3b9921a3441e" + } + ] + } + } + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControlsForName_builtin_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControlsForName_builtin_example.json new file mode 100644 index 000000000000..aae8856966ea --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControlsForName_builtin_example.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "secureScoreName": "ascScore" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/a9909064-42b4-4d34-8143-275477afe18b", + "name": "a9909064-42b4-4d34-8143-275477afe18b", + "type": "Microsoft.Security/SecureScoreControls", + "properties": { + "displayName": "Protect applications against DDoS attacks", + "healthyResourceCount": 0, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 10, + "score": { + "max": 0, + "current": 0 + } + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "name": "34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "type": "Microsoft.Security/SecureScoreControls", + "properties": { + "displayName": "Enable MFA", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 10, + "current": 0 + } + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/a000c66f-6da2-4f9d-826d-2364347d2588", + "name": "a000c66f-6da2-4f9d-826d-2364347d2588", + "type": "Microsoft.Security/SecureScoreControls", + "properties": { + "displayName": "Apply adaptive application control", + "healthyResourceCount": 20, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 10, + "score": { + "max": 3, + "current": 3 + } + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControls_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControls_example.json new file mode 100644 index 000000000000..c3c4542a72f3 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScoreControls_example.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/a9909064-42b4-4d34-8143-275477afe18b", + "name": "a9909064-42b4-4d34-8143-275477afe18b", + "type": "Microsoft.Security/SecureScoreControls", + "properties": { + "displayName": "Protect applications against DDoS attacks", + "healthyResourceCount": 0, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 10, + "score": { + "max": 0, + "current": 0 + } + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "name": "34a42fb3-e6db-409c-b56b-7b1db6b8aee0", + "type": "Microsoft.Security/SecureScoreControls", + "properties": { + "displayName": "Enable MFA", + "healthyResourceCount": 0, + "unhealthyResourceCount": 1, + "notApplicableResourceCount": 0, + "score": { + "max": 10, + "current": 0 + } + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/SecureScoreControls/a000c66f-6da2-4f9d-826d-2364347d2588", + "name": "a000c66f-6da2-4f9d-826d-2364347d2588", + "type": "Microsoft.Security/SecureScoreControls", + "properties": { + "displayName": "Apply adaptive application control", + "healthyResourceCount": 20, + "unhealthyResourceCount": 0, + "notApplicableResourceCount": 10, + "score": { + "max": 3, + "current": 3 + } + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScores_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScores_example.json new file mode 100644 index 000000000000..ebe793feb7dc --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScores_example.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/secureScores/ascScore", + "name": "ascScore", + "type": "Microsoft.Security/secureScores", + "properties": { + "displayName": "Asc Score", + "score": { + "max": 13, + "current": 3.5 + } + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/secureScore.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/secureScore.json new file mode 100644 index 000000000000..f41e3a6af43c --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/secureScore.json @@ -0,0 +1,585 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2020-01-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/secureScores": { + "get": { + "x-ms-examples": { + "List secure scores": { + "$ref": "./examples/secureScores/ListSecureScores_example.json" + } + }, + "tags": [ + "Secure Scores" + ], + "description": "Get secure scores on all your initiatives inside a scope", + "operationId": "SecureScores_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecureScoresList" + } + }, + "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/secureScores/{secureScoreName}": { + "get": { + "x-ms-examples": { + "Get single secure score": { + "$ref": "./examples/secureScores/GetSecureScoresSingle_example.json" + } + }, + "tags": [ + "Secure Scores" + ], + "description": "Get secure score for a specific initiatives inside a scope", + "operationId": "SecureScores_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/secureScoreName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecureScoreItem" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/secureScores/{secureScoreName}/secureScoreControls": { + "get": { + "x-ms-examples": { + "List secure score's controls level for the specified name": { + "$ref": "./examples/secureScores/ListSecureScoreControlsForName_builtin_example.json" + }, + "Get secure score's controls level for the specified name with expand parameter (builtin)": { + "$ref": "./examples/secureScores/ListSecureScoreControlsForNameWithExpand_builtin_example.json" + } + }, + "tags": [ + "Secure Scores" + ], + "description": "Get all secure score controls on specific initiatives inside a scope", + "operationId": "SecureScoreControls_ListBySecureScore", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/secureScoreName" + }, + { + "$ref": "#/parameters/ExpandControlsDefinition" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecureScoreControlList" + } + }, + "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/secureScoreControls": { + "get": { + "x-ms-examples": { + "List all secure scores controls": { + "$ref": "./examples/secureScores/ListSecureScoreControls_example.json" + } + }, + "tags": [ + "Secure Scores" + ], + "description": "Get all secure score controls on specific initiatives inside a scope", + "operationId": "SecureScoreControls_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ExpandControlsDefinition" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecureScoreControlList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Security/secureScoreControlDefinitions": { + "get": { + "x-ms-examples": { + "List secure score controls definition": { + "$ref": "./examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_example.json" + } + }, + "tags": [ + "Secure Score Controls Definition" + ], + "description": "Get definition information on all secure score controls", + "operationId": "secureScoreControlDefinitions_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/secureScoreControlDefinitionList" + } + }, + "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/secureScoreControlDefinitions": { + "get": { + "x-ms-examples": { + "List secure score controls definition by subscription": { + "$ref": "./examples/secureScoreControlDefinitions/ListSecureScoreControlDefinitions_subscription_example.json" + } + }, + "tags": [ + "Secure Score Controls Definition" + ], + "description": "Get definition information on all secure score controls in subscription level", + "operationId": "SecureScoreControlDefinitions_ListBySubscription", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/secureScoreControlDefinitionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "SecureScoresList": { + "type": "object", + "description": "Page of a secure scores list", + "properties": { + "value": { + "description": "Collection of secure scores in this page", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SecureScoreItem" + } + }, + "nextLink": { + "description": "The URI to fetch the next page.", + "readOnly": true, + "type": "string" + } + } + }, + "SecureScoreItem": { + "description": "Secure score item data model", + "readOnly": true, + "type": "object", + "properties": { + "properties": { + "description": "Secure score item", + "readOnly": true, + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecureScoreItemProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "SecureScoreItemProperties": { + "description": "Describes properties of a calculated secure score.", + "readOnly": true, + "type": "object", + "properties": { + "displayName": { + "description": "User friendly display name of the secure score item", + "readOnly": true, + "type": "string" + }, + "score": { + "description": "score object", + "readOnly": true, + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScoreDetails" + } + } + }, + "ScoreDetails": { + "description": "Calculation result data", + "readOnly": true, + "type": "object", + "properties": { + "max": { + "description": "Maximum score applicable", + "readOnly": true, + "type": "integer", + "format": "int32", + "minimum": 0, + "exclusiveMinimum": false + }, + "current": { + "description": "Actual score", + "readOnly": true, + "type": "number", + "format": "double", + "minimum": 0.00, + "exclusiveMinimum": false + } + } + }, + "SecureScoreControlScore": { + "description": "Calculation result data", + "type": "object", + "properties": { + "max": { + "description": "Maximum control score (0..10)", + "readOnly": true, + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 10, + "exclusiveMinimum": false + }, + "current": { + "description": "Actual score for the control = (achieved points / total points) * max score. if total points is zeroed, the return number is 0.00", + "readOnly": true, + "type": "number", + "format": "double", + "minimum": 0.00, + "maximum": 10.00, + "exclusiveMinimum": false + } + } + }, + "SecureScoreControlList": { + "description": "Page of a secure score controls list", + "type": "object", + "properties": { + "value": { + "description": "Collection of secure score controls in this page", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SecureScoreControlDetails" + } + }, + "nextLink": { + "description": "The URI to fetch the next page.", + "readOnly": true, + "type": "string" + } + } + }, + "SecureScoreControlDetails": { + "description": "Secure score control (calculated) object", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecureScoreControlScoreDetails" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "SecureScoreControlScoreDetails": { + "description": "Calculation result data in control level", + "type": "object", + "properties": { + "displayName": { + "description": "User friendly display name of the control", + "readOnly": true, + "type": "string" + }, + "score": { + "description": "Actual score object for the control", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScoreDetails" + }, + "healthyResourceCount": { + "description": "Number of healthy resources in the control", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "unhealthyResourceCount": { + "description": "Number of unhealthy resources in the control", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "notApplicableResourceCount": { + "description": "Number of not applicable resources in the control", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "definition": { + "$ref": "#/definitions/SecureScoreControlDefinitionItem" + } + } + }, + "secureScoreControlDefinitionList": { + "description": "Page of a secure score controls definition list", + "type": "object", + "properties": { + "value": { + "description": "Collection of secure score controls definition in this page", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SecureScoreControlDefinitionItem" + } + }, + "nextLink": { + "description": "The URI to fetch the next page.", + "readOnly": true, + "type": "string" + } + } + }, + "SecureScoreControlDefinitionItem": { + "description": "Secure Score Control's Definition information", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecureScoreControlDefinitionItemProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "SecureScoreControlDefinitionItemProperties": { + "description": "Secure Score Control Definition Properties", + "type": "object", + "properties": { + "displayName": { + "description": "User friendly display name of the control", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "User friendly description of the control", + "readOnly": true, + "type": "string", + "maxLength": 256 + }, + "maxScore": { + "description": "Maximum control score (0..10)", + "readOnly": true, + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 10, + "exclusiveMinimum": false + }, + "source": { + "description": "Source object from which the control was created", + "readOnly": true, + "$ref": "#/definitions/SecureScoreControlDefinitionSource" + }, + "assessmentDefinitions": { + "description": "array of assessments metadata IDs that are included in this control", + "readOnly": true, + "$ref": "../../../common/v1/types.json#/definitions/AzureResourceLinks" + } + } + }, + "SecureScoreControlDefinitionSource": { + "description": "representing the source of the control", + "readOnly": true, + "type": "object", + "properties": { + "sourceType": { + "description": "BuiltIn if the control is built-in from Azure Security Center managed assessments, Custom (Future) if the assessment based on custom Azure Policy definition, CustomerManaged (future) for customers who build their own controls", + "type": "string", + "enum": [ + "BuiltIn" + ], + "x-ms-enum": { + "name": "controlType", + "modelAsString": true, + "values": [ + { + "value": "BuiltIn", + "description": "Azure Security Center managed assessments" + }, + { + "value": "Custom", + "description": "Non Azure Security Center managed assessments" + } + ] + } + } + } + } + }, + "parameters": { + "ExpandControlsDefinition": { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "OData expand. Optional.", + "x-ms-parameter-location": "method", + "enum": [ + "definition" + ], + "x-ms-enum": { + "name": "ExpandControlsEnum", + "modelAsString": true, + "values": [ + { + "value": "definition", + "description": "Add definition object for each control" + } + ] + } + }, + "secureScoreName": { + "name": "secureScoreName", + "in": "path", + "required": true, + "type": "string", + "description": "The secure score initiative name", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/common/v1/types.json b/specification/security/resource-manager/common/v1/types.json index 5996220fe2bc..1dd01005fbcc 100644 --- a/specification/security/resource-manager/common/v1/types.json +++ b/specification/security/resource-manager/common/v1/types.json @@ -241,6 +241,25 @@ "sourceComputerId", "machineName" ] + }, + "AzureResourceLinks": { + "description": "array of azure resource IDs", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/AzureResourceLink" + } + }, + "AzureResourceLink": { + "type": "object", + "description": "Describes an Azure resource with kind", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Azure resource Id" + } + } } }, "parameters": { diff --git a/specification/security/resource-manager/readme.md b/specification/security/resource-manager/readme.md index 4c9f60ada878..d791e0c8caa1 100644 --- a/specification/security/resource-manager/readme.md +++ b/specification/security/resource-manager/readme.md @@ -59,6 +59,7 @@ These settings apply only when `--tag=package-composite-v1` is specified on the ``` yaml $(tag) == 'package-composite-v1' input-file: +- Microsoft.Security/preview/2020-01-01-preview/secureScore.json - Microsoft.Security/preview/2019-01-01-preview/automations.json - Microsoft.Security/preview/2019-01-01-preview/subAssessments.json - Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json @@ -94,6 +95,7 @@ These settings apply only when `--tag=package-composite-v2` is specified on the ``` yaml $(tag) == 'package-composite-v2' input-file: +- Microsoft.Security/preview/2020-01-01-preview/secureScore.json - Microsoft.Security/preview/2019-01-01-preview/automations.json - Microsoft.Security/preview/2019-01-01-preview/subAssessments.json - Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json @@ -160,6 +162,7 @@ input-file: - Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json - Microsoft.Security/stable/2020-01-01/discoveredSecuritySolutions.json - Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json +- Microsoft.Security/preview/2020-01-01-preview/secureScore.json # Needed when there is more than one input file override-info: @@ -228,6 +231,19 @@ override-info: title: SecurityCenter ``` +### Tag: package-2020-01-preview-only + +These settings apply only when `--tag=package-2020-01-preview-only` is specified on the command line. + +``` yaml $(tag) == 'package-2020-01-preview-only' +input-file: +- Microsoft.Security/preview/2020-01-01-preview/secureScore.json + +# Needed when there is more than one input file +override-info: + title: SecurityCenter +``` + ### Tag: package-2017-08-only These settings apply only when `--tag=package-2017-08-only` is specified on the command line. @@ -336,6 +352,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.Security/preview/2020-01-01-preview/secureScore.json - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/automations.json - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/subAssessments.json - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json @@ -388,6 +405,6 @@ If there are files that should not be in the `all-api-versions` set, uncomment the `exclude-file` section below and add the file paths. ``` yaml $(tag) == 'all-api-versions' -#exclude-file: +#exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` \ No newline at end of file