Database Blob Auditing Policies - Create Or Update
데이터베이스의 Blob 감사 정책을 만들거나 업데이트합니다.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/default?api-version=2021-11-01
URI 매개 변수
Name | In(다음 안에) | 필수 | 형식 | Description |
---|---|---|---|---|
blob
|
path | True |
Blob 감사 정책의 이름입니다. |
|
database
|
path | True |
string |
데이터베이스의 이름입니다. |
resource
|
path | True |
string |
리소스를 포함하는 리소스 그룹의 이름입니다. Azure 리소스 관리자 API 또는 포털에서 이 값을 가져올 수 있습니다. |
server
|
path | True |
string |
서버의 이름입니다. |
subscription
|
path | True |
string |
Azure 구독을 식별하는 구독 ID입니다. |
api-version
|
query | True |
string |
요청에 사용할 API 버전입니다. |
요청 본문
Name | 필수 | 형식 | Description |
---|---|---|---|
properties.state | True |
감사 상태를 지정합니다. 상태가 사용인 경우 storageEndpoint 또는 isAzureMonitorTargetEnabled가 필요합니다. |
|
properties.auditActionsAndGroups |
string[] |
감사할 Actions-Groups 및 작업을 지정합니다. 사용할 권장 작업 그룹 집합은 다음 조합입니다. 이 조합은 데이터베이스에 대해 실행된 모든 쿼리 및 저장 프로시저와 성공 및 실패한 로그인을 감사합니다. BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP. 위의 조합은 Azure Portal 감사를 사용하도록 설정할 때 기본적으로 구성된 집합이기도 합니다. 감사할 지원되는 작업 그룹은 (참고: 감사 요구 사항을 다루는 특정 그룹만 선택합니다. 불필요한 그룹을 사용하면 매우 많은 양의 감사 레코드가 발생할 수 있습니다. 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 이러한 그룹은 데이터베이스에 대해 실행되는 모든 sql 문 및 저장 프로시저를 포함하는 그룹이며, 중복 감사 로그가 발생하므로 다른 그룹과 함께 사용하면 안 됩니다. 자세한 내용은 데이터베이스 수준 감사 작업 그룹을 참조하세요. 데이터베이스 감사 정책의 경우 특정 작업을 지정할 수도 있습니다(서버 감사 정책에 대해 작업을 지정할 수 없음). 감사할 수 있는 작업은 SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES입니다. 감사할 작업을 정의하는 일반적인 양식은 {action} ON {object} BY {principal}입니다. 위의 형식에서는 테이블, 뷰 또는 저장 프로시저와 같은 개체 또는 전체 데이터베이스 또는 스키마를 참조할 수 있습니다. 후자의 경우 각각 DATABASE::{db_name} 및 SCHEMA::{schema_name} 형식이 사용됩니다. 예: Dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public 자세한 내용은 데이터베이스 수준 감사 작업을 참조하세요. |
|
properties.isAzureMonitorTargetEnabled |
boolean |
감사 이벤트를 Azure Monitor로 보낼지 여부를 지정합니다. Azure Monitor에 이벤트를 보내려면 'State'를 'Enabled'로, 'IsAzureMonitorTargetEnabled'를 true로 지정합니다. REST API를 사용하여 감사를 구성하는 경우 데이터베이스에 'SQLSecurityAuditEvents' 진단 로그 범주가 있는 진단 설정도 만들어야 합니다. 서버 수준 감사의 경우 'master' 데이터베이스를 {databaseName}으로 사용해야 합니다. 자세한 내용은 진단 설정 REST API 또는 진단 설정 PowerShell을 참조하세요. |
|
properties.isManagedIdentityInUse |
boolean |
관리 ID를 사용하여 Blob Storage에 액세스할지 여부를 지정합니다. |
|
properties.isStorageSecondaryKeyInUse |
boolean |
storageAccountAccessKey 값이 스토리지의 보조 키인지 여부를 지정합니다. |
|
properties.queueDelayMs |
integer |
감사 동작이 강제 처리되기 전까지 허용되는 시간(밀리초)을 지정합니다. 최소값은 1000입니다. 이 값은 1초에 해당하며 기본값입니다. 최대값은 2,147,483,647입니다. |
|
properties.retentionDays |
integer |
스토리지 계정의 감사 로그에 유지할 일 수를 지정합니다. |
|
properties.storageAccountAccessKey |
string |
감사 스토리지 계정의 식별자 키를 지정합니다. 상태가 Enabled이고 storageEndpoint가 지정된 경우 storageAccountAccessKey를 지정하지 않으면 SQL Server 시스템 할당 관리 ID를 사용하여 스토리지에 액세스합니다. 관리 ID 인증을 사용하기 위한 필수 구성 요소:
|
|
properties.storageAccountSubscriptionId |
string |
Blob Storage 구독 ID를 지정합니다. |
|
properties.storageEndpoint |
string |
Blob Storage 엔드포인트를 지정합니다(예: https://MyAccount.blob.core.windows.net). 상태가 사용인 경우 storageEndpoint 또는 isAzureMonitorTargetEnabled가 필요합니다. |
응답
Name | 형식 | Description |
---|---|---|
200 OK |
데이터베이스 Blob 감사 정책을 설정했습니다. |
|
201 Created |
데이터베이스 Blob 감사 정책을 만들었습니다. |
|
Other Status Codes |
오류 응답: ***
|
예제
Create or update a database's azure monitor auditing policy with minimal parameters
샘플 요청
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
}
}
샘플 응답
{
"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
샘플 요청
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
}
}
샘플 응답
{
"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
샘플 요청
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"
}
}
샘플 응답
{
"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
}
}
정의
Name | Description |
---|---|
blob |
Blob 감사 정책의 이름입니다. |
Blob |
감사 상태를 지정합니다. 상태가 사용인 경우 storageEndpoint 또는 isAzureMonitorTargetEnabled가 필요합니다. |
Database |
데이터베이스 Blob 감사 정책입니다. |
blobAuditingPolicyName
Blob 감사 정책의 이름입니다.
Name | 형식 | Description |
---|---|---|
default |
string |
BlobAuditingPolicyState
감사 상태를 지정합니다. 상태가 사용인 경우 storageEndpoint 또는 isAzureMonitorTargetEnabled가 필요합니다.
Name | 형식 | Description |
---|---|---|
Disabled |
string |
|
Enabled |
string |
DatabaseBlobAuditingPolicy
데이터베이스 Blob 감사 정책입니다.
Name | 형식 | Description |
---|---|---|
id |
string |
리소스 ID입니다. |
kind |
string |
리소스 종류입니다. |
name |
string |
리소스 이름입니다. |
properties.auditActionsAndGroups |
string[] |
감사할 Actions-Groups 및 작업을 지정합니다. 사용할 권장 작업 그룹 집합은 다음 조합입니다. 이 조합은 데이터베이스에 대해 실행된 모든 쿼리 및 저장 프로시저와 성공 및 실패한 로그인을 감사합니다. BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP. 위의 조합은 Azure Portal 감사를 사용하도록 설정할 때 기본적으로 구성된 집합이기도 합니다. 감사할 지원되는 작업 그룹은 (참고: 감사 요구 사항을 다루는 특정 그룹만 선택합니다. 불필요한 그룹을 사용하면 매우 많은 양의 감사 레코드가 발생할 수 있습니다. 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 이러한 그룹은 데이터베이스에 대해 실행되는 모든 sql 문 및 저장 프로시저를 포함하는 그룹이며, 중복 감사 로그가 발생하므로 다른 그룹과 함께 사용하면 안 됩니다. 자세한 내용은 데이터베이스 수준 감사 작업 그룹을 참조하세요. 데이터베이스 감사 정책의 경우 특정 작업을 지정할 수도 있습니다(서버 감사 정책에 대해 작업을 지정할 수 없음). 감사할 수 있는 작업은 SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES입니다. 감사할 작업을 정의하는 일반적인 양식은 {action} ON {object} BY {principal}입니다. 위의 형식에서는 테이블, 뷰 또는 저장 프로시저와 같은 개체 또는 전체 데이터베이스 또는 스키마를 참조할 수 있습니다. 후자의 경우 각각 DATABASE::{db_name} 및 SCHEMA::{schema_name} 형식이 사용됩니다. 예: Dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public 자세한 내용은 데이터베이스 수준 감사 작업을 참조하세요. |
properties.isAzureMonitorTargetEnabled |
boolean |
감사 이벤트를 Azure Monitor로 보낼지 여부를 지정합니다. Azure Monitor에 이벤트를 보내려면 'State'를 'Enabled'로, 'IsAzureMonitorTargetEnabled'를 true로 지정합니다. REST API를 사용하여 감사를 구성하는 경우 데이터베이스에 'SQLSecurityAuditEvents' 진단 로그 범주가 있는 진단 설정도 만들어야 합니다. 서버 수준 감사의 경우 'master' 데이터베이스를 {databaseName}으로 사용해야 합니다. 자세한 내용은 진단 설정 REST API 또는 진단 설정 PowerShell을 참조하세요. |
properties.isManagedIdentityInUse |
boolean |
관리 ID를 사용하여 Blob Storage에 액세스할지 여부를 지정합니다. |
properties.isStorageSecondaryKeyInUse |
boolean |
storageAccountAccessKey 값이 스토리지의 보조 키인지 여부를 지정합니다. |
properties.queueDelayMs |
integer |
감사 동작이 강제 처리되기 전까지 허용되는 시간(밀리초)을 지정합니다. 최소값은 1000입니다. 이 값은 1초에 해당하며 기본값입니다. 최대값은 2,147,483,647입니다. |
properties.retentionDays |
integer |
스토리지 계정의 감사 로그에 유지할 일 수를 지정합니다. |
properties.state |
감사 상태를 지정합니다. 상태가 사용인 경우 storageEndpoint 또는 isAzureMonitorTargetEnabled가 필요합니다. |
|
properties.storageAccountAccessKey |
string |
감사 스토리지 계정의 식별자 키를 지정합니다. 상태가 Enabled이고 storageEndpoint가 지정된 경우 storageAccountAccessKey를 지정하지 않으면 SQL Server 시스템 할당 관리 ID를 사용하여 스토리지에 액세스합니다. 관리 ID 인증을 사용하기 위한 필수 구성 요소:
|
properties.storageAccountSubscriptionId |
string |
Blob Storage 구독 ID를 지정합니다. |
properties.storageEndpoint |
string |
Blob Storage 엔드포인트를 지정합니다(예: https://MyAccount.blob.core.windows.net). 상태가 사용인 경우 storageEndpoint 또는 isAzureMonitorTargetEnabled가 필요합니다. |
type |
string |
리소스 종류. |