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[]
Nullable<T>[[System.UInt32, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]
출력
Azure PowerShell