Extended Database Blob Auditing Policies - Create Or Update
확장 데이터베이스의 Blob 감사 정책을 만들거나 업데이트합니다.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extendedAuditingSettings/default?api-version=2023-08-01
URI 매개 변수
Name | In(다음 안에) | 필수 | 형식 | Description |
---|---|---|---|---|
blob
|
path | True |
Blob 감사 정책의 이름입니다. |
|
database
|
path | True |
string |
데이터베이스의 이름입니다. |
resource
|
path | True |
string |
리소스를 포함하는 리소스 그룹의 이름입니다. Azure Resource Manager 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 문 및 저장 프로시저를 포함하는 그룹이며, 중복 감사 로그가 발생하므로 다른 그룹과 함께 사용하면 안 됩니다. 자세한 내용은 감사 작업 그룹Database-Level 참조하세요. 데이터베이스 감사 정책의 경우 특정 작업을 지정할 수도 있습니다(서버 감사 정책에 대해 작업을 지정할 수 없음). 감사할 수 있는 작업은 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.predicateExpression |
string |
감사를 만들 때 where 절의 조건을 지정합니다. |
|
properties.queueDelayMs |
integer (int32) |
감사 작업을 강제로 처리하기 전에 경과할 수 있는 시간(밀리초)을 지정합니다. 기본 최소값은 1000(1초)입니다. 최대값은 2,147,483,647입니다. |
|
properties.retentionDays |
integer (int32) |
스토리지 계정의 감사 로그에 유지할 일 수를 지정합니다. |
|
properties.storageAccountAccessKey |
string |
감사 스토리지 계정의 식별자 키를 지정합니다. 상태가 사용되고 storageEndpoint가 지정된 경우 storageAccountAccessKey를 지정하지 않으면 SQL Server 시스템 할당 관리 ID를 사용하여 스토리지에 액세스합니다. 관리 ID 인증을 사용하기 위한 필수 구성 요소:
|
|
properties.storageAccountSubscriptionId |
string (uuid) |
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 an extended 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/extendedAuditingSettings/default?api-version=2023-08-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/extendedAuditingSettings",
"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/extendedAuditingSettings",
"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 an extended 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/extendedAuditingSettings/default?api-version=2023-08-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"
],
"predicateExpression": "statement = 'select 1'",
"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/extendedAuditingSettings",
"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"
],
"predicateExpression": "statement = 'select 1'",
"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/extendedAuditingSettings",
"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"
],
"predicateExpression": "statement = 'select 1'",
"isAzureMonitorTargetEnabled": true
}
}
Create or update an extended 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/extendedAuditingSettings/default?api-version=2023-08-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/extendedAuditingSettings",
"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/extendedAuditingSettings",
"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가 필요합니다. |
Error |
리소스 관리 오류 추가 정보입니다. |
Error |
오류 세부 정보입니다. |
Error |
오류 응답 |
Extended |
확장 데이터베이스 Blob 감사 정책입니다. |
blobAuditingPolicyName
Blob 감사 정책의 이름입니다.
값 | Description |
---|---|
default |
BlobAuditingPolicyState
감사 상태를 지정합니다. 상태가 사용되면 storageEndpoint 또는 isAzureMonitorTargetEnabled가 필요합니다.
값 | Description |
---|---|
Disabled | |
Enabled |
ErrorAdditionalInfo
리소스 관리 오류 추가 정보입니다.
Name | 형식 | Description |
---|---|---|
info |
object |
추가 정보입니다. |
type |
string |
추가 정보 유형입니다. |
ErrorDetail
오류 세부 정보입니다.
Name | 형식 | Description |
---|---|---|
additionalInfo |
오류 추가 정보입니다. |
|
code |
string |
오류 코드입니다. |
details |
오류 세부 정보입니다. |
|
message |
string |
오류 메시지입니다. |
target |
string |
오류 대상입니다. |
ErrorResponse
오류 응답
Name | 형식 | Description |
---|---|---|
error |
오류 개체입니다. |
ExtendedDatabaseBlobAuditingPolicy
확장 데이터베이스 Blob 감사 정책입니다.
Name | 형식 | Description |
---|---|---|
id |
string |
리소스 ID입니다. |
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 문 및 저장 프로시저를 포함하는 그룹이며, 중복 감사 로그가 발생하므로 다른 그룹과 함께 사용하면 안 됩니다. 자세한 내용은 감사 작업 그룹Database-Level 참조하세요. 데이터베이스 감사 정책의 경우 특정 작업을 지정할 수도 있습니다(서버 감사 정책에 대해 작업을 지정할 수 없음). 감사할 수 있는 작업은 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.predicateExpression |
string |
감사를 만들 때 where 절의 조건을 지정합니다. |
properties.queueDelayMs |
integer (int32) |
감사 작업을 강제로 처리하기 전에 경과할 수 있는 시간(밀리초)을 지정합니다. 기본 최소값은 1000(1초)입니다. 최대값은 2,147,483,647입니다. |
properties.retentionDays |
integer (int32) |
스토리지 계정의 감사 로그에 유지할 일 수를 지정합니다. |
properties.state |
감사 상태를 지정합니다. 상태가 사용되면 storageEndpoint 또는 isAzureMonitorTargetEnabled가 필요합니다. |
|
properties.storageAccountAccessKey |
string |
감사 스토리지 계정의 식별자 키를 지정합니다. 상태가 사용되고 storageEndpoint가 지정된 경우 storageAccountAccessKey를 지정하지 않으면 SQL Server 시스템 할당 관리 ID를 사용하여 스토리지에 액세스합니다. 관리 ID 인증을 사용하기 위한 필수 구성 요소:
|
properties.storageAccountSubscriptionId |
string (uuid) |
Blob Storage 구독 ID를 지정합니다. |
properties.storageEndpoint |
string |
Blob Storage 엔드포인트(예: https://MyAccount.blob.core.windows.net)를 지정합니다. 상태가 사용되면 storageEndpoint 또는 isAzureMonitorTargetEnabled가 필요합니다. |
type |
string |
리소스 종류입니다. |