다음을 통해 공유


Set-AzSqlDatabaseAudit

Azure SQL Database에 대한 감사 설정을 변경합니다.

구문

Set-AzSqlDatabaseAudit
   [-AuditActionGroup <AuditActionGroups[]>]
   [-AuditAction <String[]>]
   [-PredicateExpression <String>]
   [-BlobStorageTargetState <String>]
   [-StorageAccountResourceId <String>]
   [-StorageKeyType <String>]
   [-RetentionInDays <UInt32>]
   [-EventHubTargetState <String>]
   [-EventHubName <String>]
   [-EventHubAuthorizationRuleResourceId <String>]
   [-LogAnalyticsTargetState <String>]
   [-WorkspaceResourceId <String>]
   [-PassThru]
   [-UseIdentity <String>]
   [-ResourceGroupName] <String>
   [-ServerName] <String>
   [-DatabaseName] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzSqlDatabaseAudit
   [-AuditActionGroup <AuditActionGroups[]>]
   [-AuditAction <String[]>]
   [-PredicateExpression <String>]
   [-BlobStorageTargetState <String>]
   [-StorageAccountResourceId <String>]
   [-StorageKeyType <String>]
   [-RetentionInDays <UInt32>]
   [-EventHubTargetState <String>]
   [-EventHubName <String>]
   [-EventHubAuthorizationRuleResourceId <String>]
   [-LogAnalyticsTargetState <String>]
   [-WorkspaceResourceId <String>]
   [-PassThru]
   [-UseIdentity <String>]
   -DatabaseObject <AzureSqlDatabaseModel>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Set-AzSqlDatabaseAudit cmdlet은 Azure SQL Database의 감사 설정을 변경합니다. cmdlet을 사용하려면 ResourceGroupName, ServerName 및 DatabaseName 매개 변수를 사용하여 데이터베이스를 식별합니다. Blob Storage가 감사 로그의 대상인 경우 StorageAccountResourceId 매개 변수를 지정하여 감사 로그의 스토리지 계정을 확인하고 StorageKeyType 매개 변수를 지정하여 스토리지 키를 정의합니다. Blob Storage를 대상으로 사용하는 경우 RetentionInDays 매개 변수 값을 설정하여 감사 로그에 대한 기간을 정의하여 감사 로그에 대한 보존을 정의할 수도 있습니다.

예제

예제 1: Azure SQL Database의 Blob Storage 감사 정책 사용

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -BlobStorageTargetState Enabled  -StorageAccountResourceId "/subscriptions/7fe3301d-31d3-4668-af5e-211a890ba6e3/resourceGroups/resourcegroup01/providers/Microsoft.Storage/storageAccounts/mystorage"

예제 2: Azure SQL Database의 Blob Storage 감사 정책 사용 안 함

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -BlobStorageTargetState Disabled

예제 3: T-SQL 조건자를 사용하여 필터링을 사용하여 Azure SQL Database의 Blob Storage 감사 정책 사용

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -PredicateExpression "schema_name <> 'sys''" -BlobStorageTargetState Enabled -StorageAccountResourceId "/subscriptions/7fe3301d-31d3-4668-af5e-211a890ba6e3/resourceGroups/resourcegroup01/providers/Microsoft.Storage/storageAccounts/mystorage"

예제 4: Azure SQL Database의 감사 정책에서 필터링 제거

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -PredicateExpression ""

예제 5: Azure SQL Database의 이벤트 허브 감사 정책 사용

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -EventHubTargetState Enabled -EventHubName "EventHubName" -EventHubAuthorizationRuleResourceId "EventHubAuthorizationRuleResourceId"

예제 6: Azure SQL Database의 이벤트 허브 감사 정책 사용 안 함

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -EventHubTargetState Disabled

예제 7: Azure SQL Database의 로그 분석 감사 정책 사용

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -LogAnalyticsTargetState Enabled -WorkspaceResourceId "/subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2"

예제 8: Azure SQL Database의 로그 분석 감사 정책 사용 안 함

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -LogAnalyticsTargetState Disabled

예제 9: 파이프라인을 통해 Azure SQL Database의 로그 분석 감사 정책 사용 안 함

Get-AzSqlDatabase -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" | Set-AzSqlDatabaseAudit -LogAnalyticsTargetState Disabled

예제 10: Azure SQL Database의 감사 레코드를 Blob Storage로 보내지 않도록 설정하고 로그 분석으로 보낼 수 있습니다.

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -LogAnalyticsTargetState Enabled  -WorkspaceResourceId "/subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2" -BlobStorageTargetState Disabled

예제 11: Azure SQL Database의 감사 레코드를 Blob Storage, 이벤트 허브 및 로그 분석으로 보낼 수 있습니다.

Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -BlobStorageTargetState Enabled -StorageAccountResourceId "/subscriptions/7fe3301d-31d3-4668-af5e-211a890ba6e3/resourceGroups/resourcegroup01/providers/Microsoft.Storage/storageAccounts/mystorage" -EventHubTargetState Enabled -EventHubName "EventHubName" -EventHubAuthorizationRuleResourceId "EventHubAuthorizationRuleResourceId" -LogAnalyticsTargetState Enabled  -WorkspaceResourceId "/subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2"

매개 변수

-AuditAction

감사 작업 집합입니다.
감사할 수 있는 작업은 다음과 같습니다.
SELECT
UPDATE
INSERT
Delete
CREATE 문을 실행하기 전에
RECEIVE
REFERENCES
감사할 작업을 정의하는 일반적인 형식은 다음과 같습니다. [action] ON [object] BY [principal] 위의 형식의 [개체]는 테이블, 뷰 또는 저장 프로시저와 같은 개체 또는 전체 데이터베이스 또는 스키마를 참조할 수 있습니다. 후자의 경우 DATABASE::[dbname] 및 SCHEMA::[schemaname] 형식이 각각 사용됩니다. 예시:
public별 dbo.myTable의 SELECT
SELECT on DATABASE::myDatabase by public
SELECT on SCHEMA::mySchema by public
자세한 내용은 https://learn.microsoft.com/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions를 참조하세요.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-AuditActionGroup

권장되는 작업 그룹 집합은 다음 조합입니다. 이 조합은 데이터베이스에 대해 실행된 모든 쿼리 및 저장 프로시저와 성공 및 실패한 로그인을 감사합니다.

"BATCH_COMPLETED_GROUP",
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP"
위의 조합은 기본적으로 구성된 집합이기도 합니다. 이러한 그룹은 데이터베이스에 대해 실행되는 모든 SQL 문 및 저장 프로시저를 다루며, 중복 감사 로그가 발생하므로 다른 그룹과 함께 사용하면 안 됩니다. 자세한 내용은 https://learn.microsoft.com/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups를 참조하세요.

형식:AuditActionGroups[]
허용되는 값:BATCH_STARTED_GROUP, BATCH_COMPLETED_GROUP, 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, LEDGER_OPERATION_GROUP, DBCC_GROUP, DATABASE_OWNERSHIP_CHANGE_GROUP, DATABASE_CHANGE_GROUP
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-BlobStorageTargetState

Blob Storage가 감사 레코드의 대상인지 여부를 나타냅니다.

형식:String
허용되는 값:Enabled, Disabled
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Confirm

cmdlet을 실행하기 전에 확인 메시지가 표시됩니다.

형식:SwitchParameter
별칭:cf
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DatabaseName

SQL Database 이름입니다.

형식:String
Position:2
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DatabaseObject

감사 정책을 관리할 데이터베이스 개체입니다.

형식:AzureSqlDatabaseModel
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-DefaultProfile

Azure와의 통신에 사용되는 자격 증명, 계정, 테넌트 및 구독입니다.

형식:IAzureContextContainer
별칭:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-EventHubAuthorizationRuleResourceId

이벤트 허브 권한 부여 규칙의 리소스 ID

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-EventHubName

이벤트 허브의 이름입니다. EventHubAuthorizationRuleResourceId를 제공할 때 아무 것도 지정하지 않으면 기본 이벤트 허브가 선택됩니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-EventHubTargetState

이벤트 허브가 감사 레코드의 대상인지 여부를 나타냅니다.

형식:String
허용되는 값:Enabled, Disabled
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-LogAnalyticsTargetState

로그 분석이 감사 레코드의 대상인지 여부를 나타냅니다.

형식:String
허용되는 값:Enabled, Disabled
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-PassThru

cmdlet 실행이 끝날 때 감사 정책을 출력할지 여부를 지정합니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-PredicateExpression

감사 로그를 필터링하는 데 사용되는 T-SQL 조건자(WHERE 절)입니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ResourceGroupName

리소스 그룹의 이름입니다.

형식:String
Position:0
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-RetentionInDays

감사 로그의 보존 기간(일)입니다. 스토리지 계정에만 대상으로 적용됩니다.

형식:Nullable<T>[UInt32]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ServerName

SQL 서버 이름입니다.

형식:String
Position:1
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-StorageAccountResourceId

스토리지 계정 리소스 ID

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-StorageKeyType

사용할 스토리지 액세스 키를 지정합니다.

형식:String
허용되는 값:Primary, Secondary
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-UseIdentity

관리 ID를 사용할지 여부를 나타냅니다. 대상 스토리지가 방화벽 뒤에 있지 않은 동안 관리 ID를 사용하려는 경우 필요합니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-WhatIf

cmdlet이 실행될 경우 결과 동작을 표시합니다. cmdlet이 실행되지 않습니다.

형식:SwitchParameter
별칭:wi
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-WorkspaceResourceId

감사 로그를 보내려는 Log Analytics 작업 영역에 대한 작업 영역 ID(Log Analytics 작업 영역의 리소스 ID)입니다. 예: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

String

AzureSqlDatabaseModel

AuditActionGroups[]

String[]

Guid

Nullable<T>[[System.UInt32, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]

DatabaseAuditModel

출력

Boolean