共用方式為


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、ServerNameDatabaseName 參數來識別資料庫。 指定 StorageAccountName 參數,以指定稽核記錄的記憶體帳戶,以及 用來定義記憶體密鑰的 StorageKeyType 參數。 您也可以設定 RetentionInDaysTableIdentifier 參數的值來定義稽核記錄數據表的保留期和種子。 指定 EventType 參數,以定義要稽核的事件類型。 成功執行 Cmdlet 之後,就會啟用資料庫的稽核。 針對數據表稽核,如果資料庫在執行此 Cmdlet 之前使用其伺服器的原則進行稽核,則稽核會停止使用該原則。 針對 Blob 稽核,如果資料庫在執行此 Cmdlet 之前使用其伺服器的原則進行稽核,則這兩個稽核原則會並存。 如果 Cmdlet 成功,而且您使用 PassThru 參數,除了資料庫識別碼之外,也會傳回描述目前稽核原則的物件。 資料庫識別碼包括但不限於 ResourceGroupName、ServerNameDatabaseName。 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

輸入

AuditType

AuditActionGroups[]

String[]

String

Nullable<T>[[System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]

輸出

AuditingPolicyModel