Crea o actualiza la evaluación de vulnerabilidades del grupo de Sql.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/sqlPools/{sqlPoolName}/vulnerabilityAssessments/default?api-version=2021-06-01
Parámetros de identificador URI
Nombre |
En |
Requerido |
Tipo |
Description |
resourceGroupName
|
path |
True
|
string
|
Nombre del grupo de recursos. El nombre distingue mayúsculas de minúsculas.
|
sqlPoolName
|
path |
True
|
string
|
Nombre del grupo de SQL
|
subscriptionId
|
path |
True
|
string
|
Identificador de la suscripción de destino.
|
vulnerabilityAssessmentName
|
path |
True
|
VulnerabilityAssessmentName
|
Nombre de la evaluación de vulnerabilidades.
|
workspaceName
|
path |
True
|
string
|
El nombre del área de trabajo.
|
api-version
|
query |
True
|
string
|
Versión de API que se usará para la operación.
|
Cuerpo de la solicitud
Nombre |
Tipo |
Description |
properties.recurringScans
|
VulnerabilityAssessmentRecurringScansProperties
|
La configuración de exámenes periódicos
|
properties.storageAccountAccessKey
|
string
|
Especifica la clave de identificador de la cuenta de almacenamiento para los resultados del examen de evaluación de vulnerabilidades. Si no se especifica "StorageContainerSasKey", se requiere storageAccountAccessKey.
|
properties.storageContainerPath
|
string
|
Ruta de acceso del contenedor de Blob Storage para contener los resultados del examen (por ejemplo, https://myStorage.blob.core.windows.net/VaScans/). Se requiere si la directiva de evaluación de vulnerabilidades de nivel de servidor no se establece.
|
properties.storageContainerSasKey
|
string
|
Firma de acceso compartido (clave SAS) que tiene acceso de escritura al contenedor de blobs especificado en el parámetro "storageContainerPath". Si no se especifica "storageAccountAccessKey", se requiere StorageContainerSasKey.
|
Respuestas
Nombre |
Tipo |
Description |
200 OK
|
SqlPoolVulnerabilityAssessment
|
Establezca correctamente la evaluación de vulnerabilidades del grupo de Sql.
|
201 Created
|
SqlPoolVulnerabilityAssessment
|
Se ha creado correctamente la evaluación de vulnerabilidades.
|
Other Status Codes
|
|
Respuestas de error: ***
400 InvalidStorageAccountName: la cuenta de almacenamiento proporcionada no es válida o no existe.
400 InvalidStorageAccountCredentials: la firma de acceso compartido o la clave de almacenamiento de la cuenta de almacenamiento proporcionada no son válidas.
400 DatabaseVulnerabilityAssessmentMissingStorageContainerPath: se debe proporcionar la ruta de acceso del contenedor de almacenamiento si no está establecida en la directiva de nivel de servidor.
400 InvalidVulnerabilityAssessmentOperationRequest: la solicitud de operación de evaluación de vulnerabilidades no existe o no tiene ningún objeto de propiedades.
400 DataSecurityInvalidUserSuppliedParameter: el cliente proporcionó un valor de parámetro no válido.
404 SubscriptionDoesNotHaveServer: no se encontró el servidor solicitado
404 SourceDatabaseNotFound: la base de datos de origen no existe.
404 DatabaseDoesNotExist: el usuario ha especificado un nombre de base de datos que no existe en esta instancia del servidor.
500 DatabaseIsUnavailable: error al cargar. Vuelva a intentarlo más tarde.
|
Ejemplos
Create a database's vulnerability assessment with all parameters
Sample Request
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Synapse/workspaces/vulnerabilityaseessmenttest-6440/sqlPools/testdb/vulnerabilityAssessments/default?api-version=2021-06-01
{
"properties": {
"storageContainerPath": "https://myStorage.blob.core.windows.net/vulnerability-assessment/",
"storageContainerSasKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"storageAccountAccessKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"recurringScans": {
"isEnabled": true,
"emailSubscriptionAdmins": true,
"emails": [
"email1@mail.com",
"email2@mail.com"
]
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.synapse import SynapseManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-synapse
# USAGE
python create_or_update_sql_pool_vulnerability_assessment_with_all_parameters.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = SynapseManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-1111-2222-3333-444444444444",
)
response = client.sql_pool_vulnerability_assessments.create_or_update(
resource_group_name="vulnerabilityaseessmenttest-4799",
workspace_name="vulnerabilityaseessmenttest-6440",
sql_pool_name="testdb",
vulnerability_assessment_name="default",
parameters={
"properties": {
"recurringScans": {
"emailSubscriptionAdmins": True,
"emails": ["email1@mail.com", "email2@mail.com"],
"isEnabled": True,
},
"storageAccountAccessKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"storageContainerPath": "https://myStorage.blob.core.windows.net/vulnerability-assessment/",
"storageContainerSasKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
}
},
)
print(response)
# x-ms-original-file: specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/CreateOrUpdateSqlPoolVulnerabilityAssessmentWithAllParameters.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armsynapse_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/synapse/armsynapse"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/630ec444f8dd7c09b9cdd5fa99951f8a0d1ad41f/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/CreateOrUpdateSqlPoolVulnerabilityAssessmentWithAllParameters.json
func ExampleSQLPoolVulnerabilityAssessmentsClient_CreateOrUpdate_createADatabasesVulnerabilityAssessmentWithAllParameters() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsynapse.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewSQLPoolVulnerabilityAssessmentsClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", armsynapse.VulnerabilityAssessmentNameDefault, armsynapse.SQLPoolVulnerabilityAssessment{
Properties: &armsynapse.SQLPoolVulnerabilityAssessmentProperties{
RecurringScans: &armsynapse.VulnerabilityAssessmentRecurringScansProperties{
EmailSubscriptionAdmins: to.Ptr(true),
Emails: []*string{
to.Ptr("email1@mail.com"),
to.Ptr("email2@mail.com")},
IsEnabled: to.Ptr(true),
},
StorageAccountAccessKey: to.Ptr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"),
StorageContainerPath: to.Ptr("https://myStorage.blob.core.windows.net/vulnerability-assessment/"),
StorageContainerSasKey: to.Ptr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.SQLPoolVulnerabilityAssessment = armsynapse.SQLPoolVulnerabilityAssessment{
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Synapse/workspaces/sqlPools/vulnerabilityAssessments"),
// ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Synapse/workspaces/vulnerabilityaseessmenttest-6440/sqlPools/testdb/vulnerabilityAssessments/default"),
// Properties: &armsynapse.SQLPoolVulnerabilityAssessmentProperties{
// RecurringScans: &armsynapse.VulnerabilityAssessmentRecurringScansProperties{
// EmailSubscriptionAdmins: to.Ptr(true),
// Emails: []*string{
// to.Ptr("email1@mail.com"),
// to.Ptr("email2@mail.com")},
// IsEnabled: to.Ptr(true),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { SynapseManagementClient } = require("@azure/arm-synapse");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates the Sql pool vulnerability assessment.
*
* @summary Creates or updates the Sql pool vulnerability assessment.
* x-ms-original-file: specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/CreateOrUpdateSqlPoolVulnerabilityAssessmentWithAllParameters.json
*/
async function createADatabaseVulnerabilityAssessmentWithAllParameters() {
const subscriptionId =
process.env["SYNAPSE_SUBSCRIPTION_ID"] || "00000000-1111-2222-3333-444444444444";
const resourceGroupName =
process.env["SYNAPSE_RESOURCE_GROUP"] || "vulnerabilityaseessmenttest-4799";
const workspaceName = "vulnerabilityaseessmenttest-6440";
const sqlPoolName = "testdb";
const vulnerabilityAssessmentName = "default";
const parameters = {
recurringScans: {
emailSubscriptionAdmins: true,
emails: ["email1@mail.com", "email2@mail.com"],
isEnabled: true,
},
storageAccountAccessKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
storageContainerPath: "https://myStorage.blob.core.windows.net/vulnerability-assessment/",
storageContainerSasKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
};
const credential = new DefaultAzureCredential();
const client = new SynapseManagementClient(credential, subscriptionId);
const result = await client.sqlPoolVulnerabilityAssessments.createOrUpdate(
resourceGroupName,
workspaceName,
sqlPoolName,
vulnerabilityAssessmentName,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Synapse;
using Azure.ResourceManager.Synapse.Models;
// Generated from example definition: specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/CreateOrUpdateSqlPoolVulnerabilityAssessmentWithAllParameters.json
// this example is just showing the usage of "SqlPoolVulnerabilityAssessments_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this SynapseSqlPoolVulnerabilityAssessmentResource created on azure
// for more information of creating SynapseSqlPoolVulnerabilityAssessmentResource, please refer to the document of SynapseSqlPoolVulnerabilityAssessmentResource
string subscriptionId = "00000000-1111-2222-3333-444444444444";
string resourceGroupName = "vulnerabilityaseessmenttest-4799";
string workspaceName = "vulnerabilityaseessmenttest-6440";
string sqlPoolName = "testdb";
SynapseVulnerabilityAssessmentName vulnerabilityAssessmentName = SynapseVulnerabilityAssessmentName.Default;
ResourceIdentifier synapseSqlPoolVulnerabilityAssessmentResourceId = SynapseSqlPoolVulnerabilityAssessmentResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, workspaceName, sqlPoolName, vulnerabilityAssessmentName);
SynapseSqlPoolVulnerabilityAssessmentResource synapseSqlPoolVulnerabilityAssessment = client.GetSynapseSqlPoolVulnerabilityAssessmentResource(synapseSqlPoolVulnerabilityAssessmentResourceId);
// invoke the operation
SynapseSqlPoolVulnerabilityAssessmentData data = new SynapseSqlPoolVulnerabilityAssessmentData()
{
StorageContainerPath = "https://myStorage.blob.core.windows.net/vulnerability-assessment/",
StorageContainerSasKey = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
StorageAccountAccessKey = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
RecurringScans = new SynapseVulnerabilityAssessmentRecurringScansProperties()
{
IsEnabled = true,
EnableEmailToAccountAdmins = true,
Emails =
{
"email1@mail.com","email2@mail.com"
},
},
};
ArmOperation<SynapseSqlPoolVulnerabilityAssessmentResource> lro = await synapseSqlPoolVulnerabilityAssessment.UpdateAsync(WaitUntil.Completed, data);
SynapseSqlPoolVulnerabilityAssessmentResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
SynapseSqlPoolVulnerabilityAssessmentData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Synapse/workspaces/vulnerabilityaseessmenttest-6440/sqlPools/testdb/vulnerabilityAssessments/default",
"name": "default",
"type": "Microsoft.Synapse/workspaces/sqlPools/vulnerabilityAssessments",
"properties": {
"recurringScans": {
"isEnabled": true,
"emailSubscriptionAdmins": true,
"emails": [
"email1@mail.com",
"email2@mail.com"
]
}
}
}
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Synapse/workspaces/vulnerabilityaseessmenttest-6440/sqlPools/testdb/vulnerabilityAssessments/default",
"name": "default",
"type": "Microsoft.Synapse/workspaces/sqlPools/vulnerabilityAssessments",
"properties": {
"recurringScans": {
"isEnabled": true,
"emailSubscriptionAdmins": true,
"emails": [
"email1@mail.com",
"email2@mail.com"
]
}
}
}
Create a database's vulnerability assessment with minimal parameters, when storageAccountAccessKey is specified
Sample Request
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Synapse/workspaces/vulnerabilityaseessmenttest-6440/sqlPools/testdb/vulnerabilityAssessments/default?api-version=2021-06-01
{
"properties": {
"storageContainerPath": "https://myStorage.blob.core.windows.net/vulnerability-assessment/",
"storageAccountAccessKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.synapse import SynapseManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-synapse
# USAGE
python create_or_update_vulnerability_assessment_with_storage_access_key_and_min_parameters.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = SynapseManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-1111-2222-3333-444444444444",
)
response = client.sql_pool_vulnerability_assessments.create_or_update(
resource_group_name="vulnerabilityaseessmenttest-4799",
workspace_name="vulnerabilityaseessmenttest-6440",
sql_pool_name="testdb",
vulnerability_assessment_name="default",
parameters={
"properties": {
"storageAccountAccessKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"storageContainerPath": "https://myStorage.blob.core.windows.net/vulnerability-assessment/",
}
},
)
print(response)
# x-ms-original-file: specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/CreateOrUpdateVulnerabilityAssessmentWithStorageAccessKeyAndMinParameters.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armsynapse_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/synapse/armsynapse"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/630ec444f8dd7c09b9cdd5fa99951f8a0d1ad41f/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/CreateOrUpdateVulnerabilityAssessmentWithStorageAccessKeyAndMinParameters.json
func ExampleSQLPoolVulnerabilityAssessmentsClient_CreateOrUpdate_createADatabasesVulnerabilityAssessmentWithMinimalParametersWhenStorageAccountAccessKeyIsSpecified() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsynapse.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewSQLPoolVulnerabilityAssessmentsClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", armsynapse.VulnerabilityAssessmentNameDefault, armsynapse.SQLPoolVulnerabilityAssessment{
Properties: &armsynapse.SQLPoolVulnerabilityAssessmentProperties{
StorageAccountAccessKey: to.Ptr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"),
StorageContainerPath: to.Ptr("https://myStorage.blob.core.windows.net/vulnerability-assessment/"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.SQLPoolVulnerabilityAssessment = armsynapse.SQLPoolVulnerabilityAssessment{
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Synapse/workspaces/sqlPools/vulnerabilityAssessments"),
// ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/Microsoft.Synapse/workspaces/vulnerabilityaseessmenttest-6440/sqlPools/testdb/vulnerabilityAssessments/default"),
// Properties: &armsynapse.SQLPoolVulnerabilityAssessmentProperties{
// RecurringScans: &armsynapse.VulnerabilityAssessmentRecurringScansProperties{
// EmailSubscriptionAdmins: to.Ptr(false),
// Emails: []*string{
// },
// IsEnabled: to.Ptr(true),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { SynapseManagementClient } = require("@azure/arm-synapse");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates the Sql pool vulnerability assessment.
*
* @summary Creates or updates the Sql pool vulnerability assessment.
* x-ms-original-file: specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/CreateOrUpdateVulnerabilityAssessmentWithStorageAccessKeyAndMinParameters.json
*/
async function createADatabaseVulnerabilityAssessmentWithMinimalParametersWhenStorageAccountAccessKeyIsSpecified() {
const subscriptionId =
process.env["SYNAPSE_SUBSCRIPTION_ID"] || "00000000-1111-2222-3333-444444444444";
const resourceGroupName =
process.env["SYNAPSE_RESOURCE_GROUP"] || "vulnerabilityaseessmenttest-4799";
const workspaceName = "vulnerabilityaseessmenttest-6440";
const sqlPoolName = "testdb";
const vulnerabilityAssessmentName = "default";
const parameters = {
storageAccountAccessKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
storageContainerPath: "https://myStorage.blob.core.windows.net/vulnerability-assessment/",
};
const credential = new DefaultAzureCredential();
const client = new SynapseManagementClient(credential, subscriptionId);
const result = await client.sqlPoolVulnerabilityAssessments.createOrUpdate(
resourceGroupName,
workspaceName,
sqlPoolName,
vulnerabilityAssessmentName,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Synapse;
using Azure.ResourceManager.Synapse.Models;
// Generated from example definition: specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/CreateOrUpdateVulnerabilityAssessmentWithStorageAccessKeyAndMinParameters.json
// this example is just showing the usage of "SqlPoolVulnerabilityAssessments_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this SynapseSqlPoolVulnerabilityAssessmentResource created on azure
// for more information of creating SynapseSqlPoolVulnerabilityAssessmentResource, please refer to the document of SynapseSqlPoolVulnerabilityAssessmentResource
string subscriptionId = "00000000-1111-2222-3333-444444444444";
string resourceGroupName = "vulnerabilityaseessmenttest-4799";
string workspaceName = "vulnerabilityaseessmenttest-6440";
string sqlPoolName = "testdb";
SynapseVulnerabilityAssessmentName vulnerabilityAssessmentName = SynapseVulnerabilityAssessmentName.Default;
ResourceIdentifier synapseSqlPoolVulnerabilityAssessmentResourceId = SynapseSqlPoolVulnerabilityAssessmentResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, workspaceName, sqlPoolName, vulnerabilityAssessmentName);
SynapseSqlPoolVulnerabilityAssessmentResource synapseSqlPoolVulnerabilityAssessment = client.GetSynapseSqlPoolVulnerabilityAssessmentResource(synapseSqlPoolVulnerabilityAssessmentResourceId);
// invoke the operation
SynapseSqlPoolVulnerabilityAssessmentData data = new SynapseSqlPoolVulnerabilityAssessmentData()
{
StorageContainerPath = "https://myStorage.blob.core.windows.net/vulnerability-assessment/",
StorageAccountAccessKey = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
};
ArmOperation<SynapseSqlPoolVulnerabilityAssessmentResource> lro = await synapseSqlPoolVulnerabilityAssessment.UpdateAsync(WaitUntil.Completed, data);
SynapseSqlPoolVulnerabilityAssessmentResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
SynapseSqlPoolVulnerabilityAssessmentData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/Microsoft.Synapse/workspaces/vulnerabilityaseessmenttest-6440/sqlPools/testdb/vulnerabilityAssessments/default",
"name": "default",
"type": "Microsoft.Synapse/workspaces/sqlPools/vulnerabilityAssessments",
"properties": {
"recurringScans": {
"isEnabled": true,
"emailSubscriptionAdmins": false,
"emails": []
}
}
}
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Synapse/workspaces/vulnerabilityaseessmenttest-6440/sqlPools/testdb/vulnerabilityAssessments/default",
"name": "default",
"type": "Microsoft.Synapse/workspaces/sqlPools/vulnerabilityAssessments",
"properties": {
"recurringScans": {
"isEnabled": true,
"emailSubscriptionAdmins": false,
"emails": []
}
}
}
Create a database's vulnerability assessment with minimal parameters, when storageContainerSasKey is specified
Sample Request
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Synapse/workspaces/vulnerabilityaseessmenttest-6440/sqlPools/testdb/vulnerabilityAssessments/default?api-version=2021-06-01
{
"properties": {
"storageContainerPath": "https://myStorage.blob.core.windows.net/vulnerability-assessment/",
"storageContainerSasKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.synapse import SynapseManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-synapse
# USAGE
python create_or_update_sql_pool_vulnerability_assessment_with_container_sas_key_and_min_parameters.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = SynapseManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-1111-2222-3333-444444444444",
)
response = client.sql_pool_vulnerability_assessments.create_or_update(
resource_group_name="vulnerabilityaseessmenttest-4799",
workspace_name="vulnerabilityaseessmenttest-6440",
sql_pool_name="testdb",
vulnerability_assessment_name="default",
parameters={
"properties": {
"storageContainerPath": "https://myStorage.blob.core.windows.net/vulnerability-assessment/",
"storageContainerSasKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
}
},
)
print(response)
# x-ms-original-file: specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/CreateOrUpdateSqlPoolVulnerabilityAssessmentWithContainerSasKeyAndMinParameters.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armsynapse_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/synapse/armsynapse"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/630ec444f8dd7c09b9cdd5fa99951f8a0d1ad41f/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/CreateOrUpdateSqlPoolVulnerabilityAssessmentWithContainerSasKeyAndMinParameters.json
func ExampleSQLPoolVulnerabilityAssessmentsClient_CreateOrUpdate_createADatabasesVulnerabilityAssessmentWithMinimalParametersWhenStorageContainerSasKeyIsSpecified() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armsynapse.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewSQLPoolVulnerabilityAssessmentsClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", armsynapse.VulnerabilityAssessmentNameDefault, armsynapse.SQLPoolVulnerabilityAssessment{
Properties: &armsynapse.SQLPoolVulnerabilityAssessmentProperties{
StorageContainerPath: to.Ptr("https://myStorage.blob.core.windows.net/vulnerability-assessment/"),
StorageContainerSasKey: to.Ptr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.SQLPoolVulnerabilityAssessment = armsynapse.SQLPoolVulnerabilityAssessment{
// Name: to.Ptr("default"),
// Type: to.Ptr("Microsoft.Synapse/workspaces/sqlPools/vulnerabilityAssessments"),
// ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Synapse/workspaces/vulnerabilityaseessmenttest-6440/sqlPools/testdb/vulnerabilityAssessments/default"),
// Properties: &armsynapse.SQLPoolVulnerabilityAssessmentProperties{
// RecurringScans: &armsynapse.VulnerabilityAssessmentRecurringScansProperties{
// EmailSubscriptionAdmins: to.Ptr(false),
// Emails: []*string{
// },
// IsEnabled: to.Ptr(true),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { SynapseManagementClient } = require("@azure/arm-synapse");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates the Sql pool vulnerability assessment.
*
* @summary Creates or updates the Sql pool vulnerability assessment.
* x-ms-original-file: specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/CreateOrUpdateSqlPoolVulnerabilityAssessmentWithContainerSasKeyAndMinParameters.json
*/
async function createADatabaseVulnerabilityAssessmentWithMinimalParametersWhenStorageContainerSasKeyIsSpecified() {
const subscriptionId =
process.env["SYNAPSE_SUBSCRIPTION_ID"] || "00000000-1111-2222-3333-444444444444";
const resourceGroupName =
process.env["SYNAPSE_RESOURCE_GROUP"] || "vulnerabilityaseessmenttest-4799";
const workspaceName = "vulnerabilityaseessmenttest-6440";
const sqlPoolName = "testdb";
const vulnerabilityAssessmentName = "default";
const parameters = {
storageContainerPath: "https://myStorage.blob.core.windows.net/vulnerability-assessment/",
storageContainerSasKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
};
const credential = new DefaultAzureCredential();
const client = new SynapseManagementClient(credential, subscriptionId);
const result = await client.sqlPoolVulnerabilityAssessments.createOrUpdate(
resourceGroupName,
workspaceName,
sqlPoolName,
vulnerabilityAssessmentName,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Synapse;
using Azure.ResourceManager.Synapse.Models;
// Generated from example definition: specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/CreateOrUpdateSqlPoolVulnerabilityAssessmentWithContainerSasKeyAndMinParameters.json
// this example is just showing the usage of "SqlPoolVulnerabilityAssessments_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this SynapseSqlPoolVulnerabilityAssessmentResource created on azure
// for more information of creating SynapseSqlPoolVulnerabilityAssessmentResource, please refer to the document of SynapseSqlPoolVulnerabilityAssessmentResource
string subscriptionId = "00000000-1111-2222-3333-444444444444";
string resourceGroupName = "vulnerabilityaseessmenttest-4799";
string workspaceName = "vulnerabilityaseessmenttest-6440";
string sqlPoolName = "testdb";
SynapseVulnerabilityAssessmentName vulnerabilityAssessmentName = SynapseVulnerabilityAssessmentName.Default;
ResourceIdentifier synapseSqlPoolVulnerabilityAssessmentResourceId = SynapseSqlPoolVulnerabilityAssessmentResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, workspaceName, sqlPoolName, vulnerabilityAssessmentName);
SynapseSqlPoolVulnerabilityAssessmentResource synapseSqlPoolVulnerabilityAssessment = client.GetSynapseSqlPoolVulnerabilityAssessmentResource(synapseSqlPoolVulnerabilityAssessmentResourceId);
// invoke the operation
SynapseSqlPoolVulnerabilityAssessmentData data = new SynapseSqlPoolVulnerabilityAssessmentData()
{
StorageContainerPath = "https://myStorage.blob.core.windows.net/vulnerability-assessment/",
StorageContainerSasKey = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
};
ArmOperation<SynapseSqlPoolVulnerabilityAssessmentResource> lro = await synapseSqlPoolVulnerabilityAssessment.UpdateAsync(WaitUntil.Completed, data);
SynapseSqlPoolVulnerabilityAssessmentResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
SynapseSqlPoolVulnerabilityAssessmentData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Synapse/workspaces/vulnerabilityaseessmenttest-6440/sqlPools/testdb/vulnerabilityAssessments/default",
"name": "default",
"type": "Microsoft.Synapse/workspaces/sqlPools/vulnerabilityAssessments",
"properties": {
"recurringScans": {
"isEnabled": true,
"emailSubscriptionAdmins": false,
"emails": []
}
}
}
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Synapse/workspaces/vulnerabilityaseessmenttest-6440/sqlPools/testdb/vulnerabilityAssessments/default",
"name": "default",
"type": "Microsoft.Synapse/workspaces/sqlPools/vulnerabilityAssessments",
"properties": {
"recurringScans": {
"isEnabled": true,
"emailSubscriptionAdmins": false,
"emails": []
}
}
}
Definiciones
SqlPoolVulnerabilityAssessment
Una evaluación de vulnerabilidades del grupo de Sql.
Nombre |
Tipo |
Description |
id
|
string
|
Identificador de recurso completo del recurso. Por ejemplo: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
|
name
|
string
|
Nombre del recurso.
|
properties.recurringScans
|
VulnerabilityAssessmentRecurringScansProperties
|
La configuración de exámenes periódicos
|
properties.storageAccountAccessKey
|
string
|
Especifica la clave de identificador de la cuenta de almacenamiento para los resultados del examen de evaluación de vulnerabilidades. Si no se especifica "StorageContainerSasKey", se requiere storageAccountAccessKey.
|
properties.storageContainerPath
|
string
|
Ruta de acceso del contenedor de Blob Storage para contener los resultados del examen (por ejemplo, https://myStorage.blob.core.windows.net/VaScans/). Se requiere si la directiva de evaluación de vulnerabilidades de nivel de servidor no se establece.
|
properties.storageContainerSasKey
|
string
|
Firma de acceso compartido (clave SAS) que tiene acceso de escritura al contenedor de blobs especificado en el parámetro "storageContainerPath". Si no se especifica "storageAccountAccessKey", se requiere StorageContainerSasKey.
|
type
|
string
|
Tipo de recurso. Por ejemplo, "Microsoft.Compute/virtualMachines" o "Microsoft.Storage/storageAccounts"
|
VulnerabilityAssessmentName
Nombre de la evaluación de vulnerabilidades.
Nombre |
Tipo |
Description |
default
|
string
|
|
VulnerabilityAssessmentRecurringScansProperties
Propiedades de un examen periódico de evaluación de vulnerabilidades.
Nombre |
Tipo |
Valor predeterminado |
Description |
emailSubscriptionAdmins
|
boolean
|
True
|
Especifica que la notificación de examen de programación se enviará a los administradores de la suscripción.
|
emails
|
string[]
|
|
Especifica una matriz de direcciones de correo electrónico a las que se envía la notificación de examen.
|
isEnabled
|
boolean
|
|
Estado de exámenes periódicos.
|