Set-AzureRmSqlDatabaseAuditingPolicy
設定資料庫的稽核原則。
警告
自 2024 年 2 月 29 日起,AzureRM PowerShell 模組已正式淘汰。 建議使用者從 AzureRM 遷移至 Az PowerShell 模組,以確保持續支援和更新。
雖然 AzureRM 模組可能仍可運作,但不再維護或支援它,但會根據用戶的判斷權和風險放置任何繼續使用。 如需轉換至 Az 模組的指引,請參閱我們的 移轉資源 。
語法
Set-AzureRmSqlDatabaseAuditingPolicy
[-AuditType <AuditType>]
[-PassThru]
[-AuditActionGroup <AuditActionGroups[]>]
[-AuditAction <String[]>]
[-EventType <String[]>]
[-StorageAccountName <String>]
[-StorageKeyType <String>]
[-RetentionInDays <UInt32>]
[-TableIdentifier <String>]
[-ServerName] <String>
[-DatabaseName] <String>
[-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Set-AzureRmSqlDatabaseAuditingPolicy Cmdlet 會變更 Azure SQL 資料庫的稽核原則。 若要使用 Cmdlet,請使用 ResourceGroupName、ServerName 和 DatabaseName 參數來識別資料庫。 指定 StorageAccountName 參數,以指定稽核記錄的記憶體帳戶,以及 用來定義記憶體密鑰的 StorageKeyType 參數。 您也可以設定 RetentionInDays 和 TableIdentifier 參數的值來定義稽核記錄數據表的保留期和種子。 指定 EventType 參數,以定義要稽核的事件類型。 成功執行 Cmdlet 之後,就會啟用資料庫的稽核。 針對數據表稽核,如果資料庫在執行此 Cmdlet 之前使用其伺服器的原則進行稽核,則稽核會停止使用該原則。 針對 Blob 稽核,如果資料庫在執行此 Cmdlet 之前使用其伺服器的原則進行稽核,則這兩個稽核原則會並存。 如果 Cmdlet 成功,而且您使用 PassThru 參數,除了資料庫識別碼之外,也會傳回描述目前稽核原則的物件。 資料庫識別碼包括但不限於 ResourceGroupName、ServerName 和 DatabaseName。 Azure 上的 SQL Server Stretch Database 服務也支援此 Cmdlet。
範例
範例 1:將資料庫的稽核原則設定為使用數據表稽核
PS C:\>Set-AzureRmSqlDatabaseAuditingPolicy -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -AuditType Table -StorageAccountName "Storage31"
此命令會設定 Server01 上名為 Database01 的資料庫稽核原則,以使用名為 Storage31 的記憶體帳戶。
範例 2:設定資料庫現有稽核原則的記憶體帳戶密鑰
PS C:\>Set-AzureRmSqlDatabaseAuditingPolicy -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -StorageAccountKey Secondary
此命令會設定 Server01 上名為 Database01 的資料庫稽核原則,以繼續使用相同的記憶體帳戶名稱,但現在使用次要密鑰。
範例 3:將資料庫的稽核原則設定為使用特定事件類型
PS C:\>Set-AzureRmSqlDatabaseAuditingPolicy -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -EventType Login_Failure
範例 4:將資料庫的稽核原則設定為使用 Blob 稽核
PS C:\>Set-AzureRmSqlDatabaseAuditingPolicy -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -AuditType Blob -StorageAccountName "Storage31" -AuditActionGroup "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", "FAILED_DATABASE_AUTHENTICATION_GROUP" -AuditAction "UPDATE ON database::[Database01] BY [public]" -RetentionInDays 8
此命令會設定 Server01 上名為 Database01 的資料庫稽核原則。 原則會記錄Login_Failure事件類型。 命令不會變更記憶體設定。
參數
-AuditAction
指定一或多個稽核動作。 此參數僅適用於 Blob 稽核。
類型: | String[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-AuditActionGroup
指定一或多個稽核動作群組。 此參數僅適用於 Blob 稽核。
類型: | 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, AUDIT_CHANGE_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 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-AuditType
類型: | AuditType |
接受的值: | NotSet, Table, Blob |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-Confirm
執行 Cmdlet 之前先提示您確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DatabaseName
指定資料庫的名稱。
類型: | String |
Position: | 2 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-DefaultProfile
用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶
類型: | IAzureContextContainer |
別名: | AzureRmContext, AzureCredential |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-EventType
指定要稽核的事件類型。 此參數僅適用於數據表稽核。 您可以指定數種事件類型。 您可以指定 All 來稽核所有事件類型,或 [無] 來指定不會稽核任何事件。 如果您同時指定 [全部] 或 [無],Cmdlet 不會執行。
類型: | String[] |
接受的值: | PlainSQL_Success, PlainSQL_Failure, ParameterizedSQL_Success, ParameterizedSQL_Failure, StoredProcedure_Success, StoredProcedure_Failure, Login_Success, Login_Failure, TransactionManagement_Success, TransactionManagement_Failure, All, None |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-PassThru
會傳回 物件,代表您正在使用的專案。 根據預設,此 Cmdlet 不會產生任何輸出。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ResourceGroupName
指定指派資料庫的資源群組名稱。
類型: | String |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-RetentionInDays
指定稽核記錄數據表的保留天數。 值為零 (0) 表示不會保留資料表。 預設值為零。 如果您指定大於零的值,則必須指定 TableIdentifer 參數的值。
類型: | Nullable<T>[UInt32] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-ServerName
指定裝載資料庫之伺服器的名稱。
類型: | String |
Position: | 1 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-StorageAccountName
指定用來稽核資料庫的記憶體帳戶名稱。 不允許通配符。 不需要此參數。 如果您未指定此參數,Cmdlet 會使用先前定義為資料庫稽核原則一部分的記憶體帳戶。 如果這是第一次定義資料庫稽核原則,而且您未指定此參數,Cmdlet 就會失敗。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-StorageKeyType
指定要使用哪一個記憶體存取金鑰。 此參數可接受的值為:
- 主要
- 次要 預設值為 [主要]。
類型: | String |
接受的值: | Primary, Secondary |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-TableIdentifier
指定稽核記錄數據表的名稱。 如果您為 RetentionInDays 參數指定大於零的值,請指定此值。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-WhatIf
顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
String[]
Nullable<T>[[System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]