Creates or updates a database data masking policy.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/Default?api-version=2025-01-01
URI Parameters
| Name |
In |
Required |
Type |
Description |
|
databaseName
|
path |
True
|
string
|
The name of the database.
|
|
dataMaskingPolicyName
|
path |
True
|
DataMaskingPolicyName
|
The name of the database for which the data masking policy applies.
|
|
resourceGroupName
|
path |
True
|
string
minLength: 1 maxLength: 90
|
The name of the resource group. The name is case insensitive.
|
|
serverName
|
path |
True
|
string
|
The name of the server.
|
|
subscriptionId
|
path |
True
|
string
(uuid)
|
The ID of the target subscription. The value must be an UUID.
|
|
api-version
|
query |
True
|
string
minLength: 1
|
The API version to use for this operation.
|
Request Body
| Name |
Required |
Type |
Description |
|
properties.dataMaskingState
|
True
|
DataMaskingState
|
The state of the data masking policy.
|
|
properties.exemptPrincipals
|
|
string
|
The list of the exempt principals. Specifies the semicolon-separated list of database users for which the data masking policy does not apply. The specified users receive data results without masking for all of the database queries.
|
Responses
| Name |
Type |
Description |
|
200 OK
|
DataMaskingPolicy
|
Resource 'DataMaskingPolicy' update operation succeeded
|
|
201 Created
|
DataMaskingPolicy
|
Resource 'DataMaskingPolicy' create operation succeeded
|
|
Other Status Codes
|
ErrorResponse
|
An unexpected error response.
|
Security
azure_auth
Azure Active Directory OAuth2 Flow.
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
| Name |
Description |
|
user_impersonation
|
impersonate your user account
|
Examples
Create or update data masking policy max
Sample request
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-6852/providers/Microsoft.Sql/servers/sqlcrudtest-2080/databases/sqlcrudtest-331/dataMaskingPolicies/Default?api-version=2025-01-01
{
"properties": {
"dataMaskingState": "Enabled",
"exemptPrincipals": "testuser;"
}
}
import com.azure.resourcemanager.sql.fluent.models.DataMaskingPolicyInner;
import com.azure.resourcemanager.sql.models.DataMaskingPolicyName;
import com.azure.resourcemanager.sql.models.DataMaskingState;
/**
* Samples for DataMaskingPolicies CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: 2025-01-01/DataMaskingPolicyCreateOrUpdateMax.json
*/
/**
* Sample code: Create or update data masking policy max.
*
* @param manager Entry point to SqlServerManager.
*/
public static void createOrUpdateDataMaskingPolicyMax(com.azure.resourcemanager.sql.SqlServerManager manager) {
manager.serviceClient().getDataMaskingPolicies().createOrUpdateWithResponse("sqlcrudtest-6852",
"sqlcrudtest-2080", "sqlcrudtest-331", DataMaskingPolicyName.DEFAULT, new DataMaskingPolicyInner()
.withDataMaskingState(DataMaskingState.ENABLED).withExemptPrincipals("testuser;"),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.sql import SqlManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-sql
# USAGE
python data_masking_policy_create_or_update_max.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 = SqlManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.data_masking_policies.create_or_update(
resource_group_name="sqlcrudtest-6852",
server_name="sqlcrudtest-2080",
database_name="sqlcrudtest-331",
parameters={"properties": {"dataMaskingState": "Enabled", "exemptPrincipals": "testuser;"}},
)
print(response)
# x-ms-original-file: 2025-01-01/DataMaskingPolicyCreateOrUpdateMax.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
const { SqlManagementClient } = require("@azure/arm-sql");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to creates or updates a database data masking policy.
*
* @summary creates or updates a database data masking policy.
* x-ms-original-file: 2025-01-01/DataMaskingPolicyCreateOrUpdateMax.json
*/
async function createOrUpdateDataMaskingPolicyMax() {
const credential = new DefaultAzureCredential();
const subscriptionId = "00000000-1111-2222-3333-444444444444";
const client = new SqlManagementClient(credential, subscriptionId);
const result = await client.dataMaskingPolicies.createOrUpdate(
"sqlcrudtest-6852",
"sqlcrudtest-2080",
"sqlcrudtest-331",
{ dataMaskingState: "Enabled", exemptPrincipals: "testuser;" },
);
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 Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Sql.Models;
using Azure.ResourceManager.Sql;
// Generated from example definition: specification/sql/resource-manager/Microsoft.Sql/SQL/stable/2025-01-01/examples/DataMaskingPolicyCreateOrUpdateMax.json
// this example is just showing the usage of "DataMaskingPolicies_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 DataMaskingPolicyResource created on azure
// for more information of creating DataMaskingPolicyResource, please refer to the document of DataMaskingPolicyResource
string subscriptionId = "00000000-1111-2222-3333-444444444444";
string resourceGroupName = "sqlcrudtest-6852";
string serverName = "sqlcrudtest-2080";
string databaseName = "sqlcrudtest-331";
DataMaskingPolicyName dataMaskingPolicyName = DataMaskingPolicyName.Default;
ResourceIdentifier dataMaskingPolicyResourceId = DataMaskingPolicyResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serverName, databaseName, dataMaskingPolicyName);
DataMaskingPolicyResource dataMaskingPolicy = client.GetDataMaskingPolicyResource(dataMaskingPolicyResourceId);
// invoke the operation
DataMaskingPolicyData data = new DataMaskingPolicyData
{
DataMaskingState = DataMaskingState.Enabled,
ExemptPrincipals = "testuser;",
};
ArmOperation<DataMaskingPolicyResource> lro = await dataMaskingPolicy.UpdateAsync(WaitUntil.Completed, data);
DataMaskingPolicyResource 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
DataMaskingPolicyData 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
{
"name": "Default",
"type": "Microsoft.Sql/servers/databases/dataMaskingPolicies",
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-6852/providers/Microsoft.Sql/servers/sqlcrudtest-2080/databases/sqlcrudtest-331/dataMaskingPolicies/Default",
"kind": null,
"location": "Central US",
"properties": {
"applicationPrincipals": "",
"dataMaskingState": "Enabled",
"exemptPrincipals": "testuser;",
"maskingLevel": ""
}
}
{
"name": "Default",
"type": "Microsoft.Sql/servers/databases/dataMaskingPolicies",
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-6852/providers/Microsoft.Sql/servers/sqlcrudtest-2080/databases/sqlcrudtest-331/dataMaskingPolicies/Default",
"kind": null,
"location": "Central US",
"properties": {
"applicationPrincipals": "",
"dataMaskingState": "Enabled",
"exemptPrincipals": "testuser;",
"maskingLevel": ""
}
}
Create or update data masking policy min.
Sample request
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-6852/providers/Microsoft.Sql/servers/sqlcrudtest-2080/databases/sqlcrudtest-331/dataMaskingPolicies/Default?api-version=2025-01-01
{
"properties": {
"dataMaskingState": "Enabled"
}
}
import com.azure.resourcemanager.sql.fluent.models.DataMaskingPolicyInner;
import com.azure.resourcemanager.sql.models.DataMaskingPolicyName;
import com.azure.resourcemanager.sql.models.DataMaskingState;
/**
* Samples for DataMaskingPolicies CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: 2025-01-01/DataMaskingPolicyCreateOrUpdateMin.json
*/
/**
* Sample code: Create or update data masking policy min.
*
* @param manager Entry point to SqlServerManager.
*/
public static void createOrUpdateDataMaskingPolicyMin(com.azure.resourcemanager.sql.SqlServerManager manager) {
manager.serviceClient().getDataMaskingPolicies().createOrUpdateWithResponse("sqlcrudtest-6852",
"sqlcrudtest-2080", "sqlcrudtest-331", DataMaskingPolicyName.DEFAULT,
new DataMaskingPolicyInner().withDataMaskingState(DataMaskingState.ENABLED),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.sql import SqlManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-sql
# USAGE
python data_masking_policy_create_or_update_min.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 = SqlManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.data_masking_policies.create_or_update(
resource_group_name="sqlcrudtest-6852",
server_name="sqlcrudtest-2080",
database_name="sqlcrudtest-331",
parameters={"properties": {"dataMaskingState": "Enabled"}},
)
print(response)
# x-ms-original-file: 2025-01-01/DataMaskingPolicyCreateOrUpdateMin.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
const { SqlManagementClient } = require("@azure/arm-sql");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to creates or updates a database data masking policy.
*
* @summary creates or updates a database data masking policy.
* x-ms-original-file: 2025-01-01/DataMaskingPolicyCreateOrUpdateMin.json
*/
async function createOrUpdateDataMaskingPolicyMin() {
const credential = new DefaultAzureCredential();
const subscriptionId = "00000000-1111-2222-3333-444444444444";
const client = new SqlManagementClient(credential, subscriptionId);
const result = await client.dataMaskingPolicies.createOrUpdate(
"sqlcrudtest-6852",
"sqlcrudtest-2080",
"sqlcrudtest-331",
{ dataMaskingState: "Enabled" },
);
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 Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Sql.Models;
using Azure.ResourceManager.Sql;
// Generated from example definition: specification/sql/resource-manager/Microsoft.Sql/SQL/stable/2025-01-01/examples/DataMaskingPolicyCreateOrUpdateMin.json
// this example is just showing the usage of "DataMaskingPolicies_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 DataMaskingPolicyResource created on azure
// for more information of creating DataMaskingPolicyResource, please refer to the document of DataMaskingPolicyResource
string subscriptionId = "00000000-1111-2222-3333-444444444444";
string resourceGroupName = "sqlcrudtest-6852";
string serverName = "sqlcrudtest-2080";
string databaseName = "sqlcrudtest-331";
DataMaskingPolicyName dataMaskingPolicyName = DataMaskingPolicyName.Default;
ResourceIdentifier dataMaskingPolicyResourceId = DataMaskingPolicyResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serverName, databaseName, dataMaskingPolicyName);
DataMaskingPolicyResource dataMaskingPolicy = client.GetDataMaskingPolicyResource(dataMaskingPolicyResourceId);
// invoke the operation
DataMaskingPolicyData data = new DataMaskingPolicyData
{
DataMaskingState = DataMaskingState.Enabled,
};
ArmOperation<DataMaskingPolicyResource> lro = await dataMaskingPolicy.UpdateAsync(WaitUntil.Completed, data);
DataMaskingPolicyResource 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
DataMaskingPolicyData 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
{
"name": "Default",
"type": "Microsoft.Sql/servers/databases/dataMaskingPolicies",
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-6852/providers/Microsoft.Sql/servers/sqlcrudtest-2080/databases/sqlcrudtest-331/dataMaskingPolicies/Default",
"kind": null,
"location": "Central US",
"properties": {
"applicationPrincipals": "",
"dataMaskingState": "Enabled",
"exemptPrincipals": "",
"maskingLevel": ""
}
}
{
"name": "Default",
"type": "Microsoft.Sql/servers/databases/dataMaskingPolicies",
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-6852/providers/Microsoft.Sql/servers/sqlcrudtest-2080/databases/sqlcrudtest-331/dataMaskingPolicies/Default",
"kind": null,
"location": "Central US",
"properties": {
"applicationPrincipals": "",
"dataMaskingState": "Enabled",
"exemptPrincipals": "",
"maskingLevel": ""
}
}
Definitions
createdByType
Enumeration
The type of identity that created the resource.
| Value |
Description |
|
User
|
|
|
Application
|
|
|
ManagedIdentity
|
|
|
Key
|
|
DataMaskingPolicy
Object
A database data masking policy.
| Name |
Type |
Description |
|
id
|
string
(arm-id)
|
Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
|
|
kind
|
string
|
The kind of Data Masking Policy. Metadata, used for Azure portal.
|
|
location
|
string
|
The location of the data masking policy.
|
|
name
|
string
|
The name of the resource
|
|
properties.applicationPrincipals
|
string
|
The list of the application principals. This is a legacy parameter and is no longer used.
|
|
properties.dataMaskingState
|
DataMaskingState
|
The state of the data masking policy.
|
|
properties.exemptPrincipals
|
string
|
The list of the exempt principals. Specifies the semicolon-separated list of database users for which the data masking policy does not apply. The specified users receive data results without masking for all of the database queries.
|
|
properties.maskingLevel
|
string
|
The masking level. This is a legacy parameter and is no longer used.
|
|
systemData
|
systemData
|
Azure Resource Manager metadata containing createdBy and modifiedBy information.
|
|
type
|
string
|
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
|
DataMaskingPolicyName
Enumeration
The name of the database for which the data masking policy applies.
| Value |
Description |
|
Default
|
Default
|
DataMaskingState
Enumeration
The state of the data masking policy.
| Value |
Description |
|
Enabled
|
Enabled
|
|
Disabled
|
Disabled
|
ErrorAdditionalInfo
Object
The resource management error additional info.
| Name |
Type |
Description |
|
info
|
object
|
The additional info.
|
|
type
|
string
|
The additional info type.
|
ErrorDetail
Object
The error detail.
| Name |
Type |
Description |
|
additionalInfo
|
ErrorAdditionalInfo[]
|
The error additional info.
|
|
code
|
string
|
The error code.
|
|
details
|
ErrorDetail[]
|
The error details.
|
|
message
|
string
|
The error message.
|
|
target
|
string
|
The error target.
|
ErrorResponse
Object
Error response
| Name |
Type |
Description |
|
error
|
ErrorDetail
|
The error object.
|
systemData
Object
Metadata pertaining to creation and last modification of the resource.
| Name |
Type |
Description |
|
createdAt
|
string
(date-time)
|
The timestamp of resource creation (UTC).
|
|
createdBy
|
string
|
The identity that created the resource.
|
|
createdByType
|
createdByType
|
The type of identity that created the resource.
|
|
lastModifiedAt
|
string
(date-time)
|
The timestamp of resource last modification (UTC)
|
|
lastModifiedBy
|
string
|
The identity that last modified the resource.
|
|
lastModifiedByType
|
createdByType
|
The type of identity that last modified the resource.
|