Database Blob Auditing Policies - Create Or Update
Hiermee maakt of werkt u het blobcontrolebeleid van een database bij.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/default?api-version=2021-11-01
URI-parameters
Name | In | Vereist | Type | Description |
---|---|---|---|---|
blob
|
path | True |
De naam van het blobcontrolebeleid. |
|
database
|
path | True |
string |
De naam van de database. |
resource
|
path | True |
string |
De naam van de resourcegroep die de resource bevat. U kunt deze waarde verkrijgen via de Azure Resource Manager-API of de portal. |
server
|
path | True |
string |
De naam van de server. |
subscription
|
path | True |
string |
De abonnements-id waarmee een Azure-abonnement wordt geïdentificeerd. |
api-version
|
query | True |
string |
De API-versie die moet worden gebruikt voor de aanvraag. |
Aanvraagbody
Name | Vereist | Type | Description |
---|---|---|---|
properties.state | True |
Hiermee geeft u de status van de controle. Als de status Ingeschakeld is, zijn storageEndpoint of isAzureMonitorTargetEnabled vereist. |
|
properties.auditActionsAndGroups |
string[] |
Hiermee geeft u de Actions-Groups en acties te controleren. De aanbevolen set actiegroepen die moet worden gebruikt, is de volgende combinatie: hiermee worden alle query's en opgeslagen procedures gecontroleerd die worden uitgevoerd op de database, evenals geslaagde en mislukte aanmeldingen: BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP. Deze bovenstaande combinatie is ook de set die standaard wordt geconfigureerd bij het inschakelen van controle vanuit de Azure Portal. De ondersteunde actiegroepen die moeten worden gecontroleerd, zijn (opmerking: kies alleen specifieke groepen die voldoen aan uw controlebehoeften. Het gebruik van onnodige groepen kan leiden tot zeer grote hoeveelheden controlerecords: APPLICATION_ROLE_CHANGE_PASSWORD_GROUP BACKUP_RESTORE_GROUP DATABASE_LOGOUT_GROUP DATABASE_OBJECT_CHANGE_GROUP DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP DATABASE_OBJECT_PERMISSION_CHANGE_GROUP DATABASE_OPERATION_GROUP DATABASE_PERMISSION_CHANGE_GROUP DATABASE_PRINCIPAL_CHANGE_GROUP DATABASE_PRINCIPAL_IMPERSONATION_GROUP DATABASE_ROLE_MEMBER_CHANGE_GROUP FAILED_DATABASE_AUTHENTICATION_GROUP SCHEMA_OBJECT_ACCESS_GROUP SCHEMA_OBJECT_CHANGE_GROUP SCHEMA_OBJECT_ OWNERSHIP_CHANGE_GROUP SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP USER_CHANGE_PASSWORD_GROUP BATCH_STARTED_GROUP BATCH_COMPLETED_GROUP DBCC_GROUP DATABASE_OWNERSHIP_CHANGE_GROUP DATABASE_CHANGE_GROUP LEDGER_OPERATION_GROUP Dit zijn groepen die betrekking hebben op alle SQL-instructies en opgeslagen procedures die worden uitgevoerd op basis van de database en mogen niet worden gebruikt in combinatie met andere groepen, omdat dit leidt tot dubbele auditlogboeken. Zie Controleactiegroepen op databaseniveau voor meer informatie. Voor databasecontrolebeleid kunnen ook specifieke acties worden opgegeven (houd er rekening mee dat acties niet kunnen worden opgegeven voor servercontrolebeleid). De ondersteunde acties die moeten worden gecontroleerd, zijn: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES Het algemene formulier voor het definiëren van een actie die moet worden gecontroleerd, is: {action} ON {object} BY {principal} Houd er rekening mee dat in de bovenstaande indeling kan verwijzen naar een object zoals een tabel, weergave of opgeslagen procedure, of naar een hele database of schema. Voor de laatste gevallen worden respectievelijk de formulieren DATABASE::{db_name} en SCHEMA::{schema_name} gebruikt. Bijvoorbeeld: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public Zie Auditacties op databaseniveau voor meer informatie |
|
properties.isAzureMonitorTargetEnabled |
boolean |
Hiermee geeft u op of controlegebeurtenissen worden verzonden naar Azure Monitor. Als u de gebeurtenissen naar Azure Monitor wilt verzenden, geeft u 'State' op als 'Enabled' en 'IsAzureMonitorTargetEnabled' als true. Wanneer u rest API gebruikt om controle te configureren, moeten ook diagnostische instellingen met de categorie SQLSecurityAuditEvents voor diagnostische logboeken in de database worden gemaakt. Houd er rekening mee dat u voor controle op serverniveau de hoofddatabase moet gebruiken als {databaseName}. URI-indeling voor diagnostische instellingen: PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview Zie Diagnostische instellingen REST API of Diagnostische instellingen PowerShell voor meer informatie |
|
properties.isManagedIdentityInUse |
boolean |
Hiermee geeft u op of beheerde identiteit wordt gebruikt voor toegang tot blob-opslag |
|
properties.isStorageSecondaryKeyInUse |
boolean |
Hiermee geeft u op of de waarde storageAccountAccessKey de secundaire sleutel van de opslag is. |
|
properties.queueDelayMs |
integer |
Hiermee geeft u de hoeveelheid tijd in milliseconden op die kan verstrijken voordat controleacties worden gedwongen te worden verwerkt. De standaard minimumwaarde is 1000 (1 seconde). Het maximum is 2.147.483.647. |
|
properties.retentionDays |
integer |
Hiermee geeft u het aantal dagen op dat moet worden bewaard in de auditlogboeken in het opslagaccount. |
|
properties.storageAccountAccessKey |
string |
Hiermee geeft u de id-sleutel van het controleopslagaccount op. Als de status Ingeschakeld is en storageEndpoint is opgegeven, wordt bij het niet opgeven van de storageAccountAccessKey een door het SQL Server-systeem toegewezen beheerde identiteit gebruikt voor toegang tot de opslag. Vereisten voor het gebruik van verificatie van beheerde identiteiten:
|
|
properties.storageAccountSubscriptionId |
string |
Hiermee geeft u de abonnements-id voor blob-opslag op. |
|
properties.storageEndpoint |
string |
Hiermee geeft u het eindpunt van de blob-opslag (bijvoorbeeld https://MyAccount.blob.core.windows.net). Als de status Ingeschakeld is, is storageEndpoint of isAzureMonitorTargetEnabled vereist. |
Antwoorden
Name | Type | Description |
---|---|---|
200 OK |
Het controlebeleid voor de database-blob is ingesteld. |
|
201 Created |
Het controlebeleid voor de database-blob is gemaakt. |
|
Other Status Codes |
Foutreacties: ***
|
Voorbeelden
Create or update a database's azure monitor auditing policy with minimal parameters
Voorbeeldaanvraag
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb/auditingSettings/default?api-version=2021-11-01
{
"properties": {
"state": "Enabled",
"isAzureMonitorTargetEnabled": true
}
}
Voorbeeldrespons
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"isAzureMonitorTargetEnabled": true,
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
]
}
}
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"isAzureMonitorTargetEnabled": true,
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
]
}
}
Create or update a database's blob auditing policy with all parameters
Voorbeeldaanvraag
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb/auditingSettings/default?api-version=2021-11-01
{
"properties": {
"state": "Enabled",
"storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 6,
"storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
"isStorageSecondaryKeyInUse": false,
"queueDelayMs": 4000,
"auditActionsAndGroups": [
"DATABASE_LOGOUT_GROUP",
"DATABASE_ROLE_MEMBER_CHANGE_GROUP",
"UPDATE on database::TestDatabaseName by public"
],
"isAzureMonitorTargetEnabled": true
}
}
Voorbeeldrespons
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
"isStorageSecondaryKeyInUse": false,
"queueDelayMs": 4000,
"auditActionsAndGroups": [
"DATABASE_LOGOUT_GROUP",
"DATABASE_ROLE_MEMBER_CHANGE_GROUP",
"UPDATE on database::TestDatabaseName by public"
],
"isAzureMonitorTargetEnabled": true
}
}
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
"isStorageSecondaryKeyInUse": false,
"queueDelayMs": 4000,
"auditActionsAndGroups": [
"DATABASE_LOGOUT_GROUP",
"DATABASE_ROLE_MEMBER_CHANGE_GROUP",
"UPDATE on database::TestDatabaseName by public"
],
"isAzureMonitorTargetEnabled": true
}
}
Create or update a database's blob auditing policy with minimal parameters
Voorbeeldaanvraag
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb/auditingSettings/default?api-version=2021-11-01
{
"properties": {
"state": "Enabled",
"storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
"storageEndpoint": "https://mystorage.blob.core.windows.net"
}
}
Voorbeeldrespons
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"isStorageSecondaryKeyInUse": false,
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
],
"isAzureMonitorTargetEnabled": false
}
}
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"isStorageSecondaryKeyInUse": false,
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
],
"isAzureMonitorTargetEnabled": false
}
}
Definities
Name | Description |
---|---|
blob |
De naam van het blobcontrolebeleid. |
Blob |
Hiermee geeft u de status van de controle. Als de status Ingeschakeld is, zijn storageEndpoint of isAzureMonitorTargetEnabled vereist. |
Database |
Een controlebeleid voor een database-blob. |
blobAuditingPolicyName
De naam van het blobcontrolebeleid.
Name | Type | Description |
---|---|---|
default |
string |
BlobAuditingPolicyState
Hiermee geeft u de status van de controle. Als de status Ingeschakeld is, zijn storageEndpoint of isAzureMonitorTargetEnabled vereist.
Name | Type | Description |
---|---|---|
Disabled |
string |
|
Enabled |
string |
DatabaseBlobAuditingPolicy
Een controlebeleid voor een database-blob.
Name | Type | Description |
---|---|---|
id |
string |
Resource-id. |
kind |
string |
Soort resource. |
name |
string |
Resourcenaam. |
properties.auditActionsAndGroups |
string[] |
Hiermee geeft u de Actions-Groups en acties te controleren. De aanbevolen set actiegroepen die moet worden gebruikt, is de volgende combinatie: hiermee worden alle query's en opgeslagen procedures gecontroleerd die worden uitgevoerd op de database, evenals geslaagde en mislukte aanmeldingen: BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP. Deze bovenstaande combinatie is ook de set die standaard wordt geconfigureerd bij het inschakelen van controle vanuit de Azure Portal. De ondersteunde actiegroepen die moeten worden gecontroleerd, zijn (opmerking: kies alleen specifieke groepen die voldoen aan uw controlebehoeften. Het gebruik van onnodige groepen kan leiden tot zeer grote hoeveelheden controlerecords: APPLICATION_ROLE_CHANGE_PASSWORD_GROUP BACKUP_RESTORE_GROUP DATABASE_LOGOUT_GROUP DATABASE_OBJECT_CHANGE_GROUP DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP DATABASE_OBJECT_PERMISSION_CHANGE_GROUP DATABASE_OPERATION_GROUP DATABASE_PERMISSION_CHANGE_GROUP DATABASE_PRINCIPAL_CHANGE_GROUP DATABASE_PRINCIPAL_IMPERSONATION_GROUP DATABASE_ROLE_MEMBER_CHANGE_GROUP FAILED_DATABASE_AUTHENTICATION_GROUP SCHEMA_OBJECT_ACCESS_GROUP SCHEMA_OBJECT_CHANGE_GROUP SCHEMA_OBJECT_ OWNERSHIP_CHANGE_GROUP SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP USER_CHANGE_PASSWORD_GROUP BATCH_STARTED_GROUP BATCH_COMPLETED_GROUP DBCC_GROUP DATABASE_OWNERSHIP_CHANGE_GROUP DATABASE_CHANGE_GROUP LEDGER_OPERATION_GROUP Dit zijn groepen die betrekking hebben op alle SQL-instructies en opgeslagen procedures die worden uitgevoerd op basis van de database en mogen niet worden gebruikt in combinatie met andere groepen, omdat dit leidt tot dubbele auditlogboeken. Zie Controleactiegroepen op databaseniveau voor meer informatie. Voor databasecontrolebeleid kunnen ook specifieke acties worden opgegeven (houd er rekening mee dat acties niet kunnen worden opgegeven voor servercontrolebeleid). De ondersteunde acties die moeten worden gecontroleerd, zijn: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES Het algemene formulier voor het definiëren van een actie die moet worden gecontroleerd, is: {action} ON {object} BY {principal} Houd er rekening mee dat in de bovenstaande indeling kan verwijzen naar een object zoals een tabel, weergave of opgeslagen procedure, of naar een hele database of schema. Voor de laatste gevallen worden respectievelijk de formulieren DATABASE::{db_name} en SCHEMA::{schema_name} gebruikt. Bijvoorbeeld: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public Zie Auditacties op databaseniveau voor meer informatie |
properties.isAzureMonitorTargetEnabled |
boolean |
Hiermee geeft u op of controlegebeurtenissen worden verzonden naar Azure Monitor. Als u de gebeurtenissen naar Azure Monitor wilt verzenden, geeft u 'State' op als 'Enabled' en 'IsAzureMonitorTargetEnabled' als true. Wanneer u rest API gebruikt om controle te configureren, moeten ook diagnostische instellingen met de categorie SQLSecurityAuditEvents voor diagnostische logboeken in de database worden gemaakt. Houd er rekening mee dat u voor controle op serverniveau de hoofddatabase moet gebruiken als {databaseName}. URI-indeling voor diagnostische instellingen: PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview Zie Diagnostische instellingen REST API of Diagnostische instellingen PowerShell voor meer informatie |
properties.isManagedIdentityInUse |
boolean |
Hiermee geeft u op of beheerde identiteit wordt gebruikt voor toegang tot blob-opslag |
properties.isStorageSecondaryKeyInUse |
boolean |
Hiermee geeft u op of de waarde storageAccountAccessKey de secundaire sleutel van de opslag is. |
properties.queueDelayMs |
integer |
Hiermee geeft u de hoeveelheid tijd in milliseconden op die kan verstrijken voordat controleacties worden gedwongen te worden verwerkt. De standaard minimumwaarde is 1000 (1 seconde). Het maximum is 2.147.483.647. |
properties.retentionDays |
integer |
Hiermee geeft u het aantal dagen op dat moet worden bewaard in de auditlogboeken in het opslagaccount. |
properties.state |
Hiermee geeft u de status van de controle. Als de status Ingeschakeld is, zijn storageEndpoint of isAzureMonitorTargetEnabled vereist. |
|
properties.storageAccountAccessKey |
string |
Hiermee geeft u de id-sleutel van het controleopslagaccount op. Als de status Ingeschakeld is en storageEndpoint is opgegeven, wordt bij het niet opgeven van de storageAccountAccessKey een door het SQL Server-systeem toegewezen beheerde identiteit gebruikt voor toegang tot de opslag. Vereisten voor het gebruik van verificatie van beheerde identiteiten:
|
properties.storageAccountSubscriptionId |
string |
Hiermee geeft u de abonnements-id voor blob-opslag op. |
properties.storageEndpoint |
string |
Hiermee geeft u het eindpunt van de blob-opslag (bijvoorbeeld https://MyAccount.blob.core.windows.net). Als de status Ingeschakeld is, is storageEndpoint of isAzureMonitorTargetEnabled vereist. |
type |
string |
Resourcetype. |