共用方式為


Set-AzureRmSqlDatabaseAuditing

變更 Azure SQL 資料庫的稽核設定。

警告

自 2024 年 2 月 29 日起,AzureRM PowerShell 模組已正式淘汰。 建議使用者從 AzureRM 遷移至 Az PowerShell 模組,以確保持續支援和更新。

雖然 AzureRM 模組可能仍可運作,但不再維護或支援它,但會根據用戶的判斷權和風險放置任何繼續使用。 如需轉換至 Az 模組的指引,請參閱我們的 移轉資源

語法

Set-AzureRmSqlDatabaseAuditing
   -State <String>
   [-PassThru]
   [-AuditActionGroup <AuditActionGroups[]>]
   [-AuditAction <String[]>]
   [-StorageAccountName <String>]
   [-StorageKeyType <String>]
   [-RetentionInDays <UInt32>]
   [-PredicateExpression <String>]
   [-ServerName] <String>
   [-DatabaseName] <String>
   [-ResourceGroupName] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzureRmSqlDatabaseAuditing
   -State <String>
   [-PassThru]
   [-AuditActionGroup <AuditActionGroups[]>]
   [-AuditAction <String[]>]
   -StorageAccountName <String>
   [-StorageAccountSubscriptionId <Guid>]
   [-StorageKeyType <String>]
   [-RetentionInDays <UInt32>]
   [-PredicateExpression <String>]
   [-ServerName] <String>
   [-DatabaseName] <String>
   [-ResourceGroupName] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Set-AzureRmSqlDatabaseAuditing Cmdlet 會變更 Azure SQL 資料庫的稽核設定。 若要使用 Cmdlet,請使用 ResourceGroupName、ServerNameDatabaseName 參數來識別資料庫。 指定 儲存體 AccountName 參數,以指定稽核記錄的記憶體帳戶,以及定義記憶體密鑰的 儲存體 KeyType 參數。 使用 State 參數來啟用/停用原則。 您也可以設定 RetentionInDays 參數的值來定義稽核記錄的保留期,以定義稽核記錄的期間。 成功執行 Cmdlet 之後,就會啟用資料庫的稽核。 如果 Cmdlet 成功,而且您使用 PassThru 參數,除了資料庫識別碼之外,也會傳回描述目前 Blob 稽核原則的物件。 資料庫識別碼包括但不限於 ResourceGroupName、ServerNameDatabaseName。

範例

範例 1:啟用 Azure SQL 資料庫的稽核原則

PS C:\>Set-AzureRmSqlDatabaseAuditing -State Enabled -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -StorageAccountName "Storage22" -DatabaseName "Database01"

範例 2:停用 Azure SQL 資料庫的 Blob 稽核原則

PS C:\>Set-AzureRmSqlDatabaseAuditing -State Disabled -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01"

範例 3:使用來自不同訂用帳戶的記憶體帳戶來啟用 Azure SQL 資料庫的稽核原則

PS C:\>Set-AzureRmSqlDatabaseAuditing -State Enabled -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -StorageAccountName "Storage22" -StorageAccountSubscriptionId "7fe3301d-31d3-4668-af5e-211a890ba6e3"

範例 4:啟用 Azure SQL 資料庫的擴充稽核原則

PS C:\>Set-AzureRmSqlDatabaseAuditing -State Enabled -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -StorageAccountName "Storage22" -DatabaseName "Database01" -PredicateExpression "statement <> 'select 1'"

範例 5:移除 Azure SQL 資料庫的擴充審核策略,並設定稽核原則,而不是它。

PS C:\>Set-AzureRmSqlDatabaseAuditing -State Enabled -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -StorageAccountName "Storage22" -DatabaseName "Database01" -PredicateExpression ""

參數

-AuditAction

稽核動作集。 要稽核的受支援動作包括:SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES 定義要稽核之動作的一般窗體是:[action] ON [object] BY [principal] 請注意,上述格式的 [object] 可以參照數據表、檢視或預存程式,或整個資料庫或架構等物件。 針對後者,會分別使用 DATABASE::[dbname] 和 SCHEMA::[schemaname] 表單。 例如:依 DATABASE::myDatabase 上的公用 SELECT 依 PUBLIC SELECT on SCHEMA::mySchema by public FOR INFORMATION,在 dbo.myTable 上選取 。如需詳細資訊,請參閱 https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions

類型:String[]
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-AuditActionGroup

建議使用的動作群組集合是下列組合 -- 這會稽核針對資料庫執行的所有查詢和預存程式,以及成功和失敗的登入:“BATCH_COMPLETED_GROUP”、“SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP”、“FAILED_DATABASE_AUTHENTICATION_GROUP”這上述組合也是預設設定的集合。 這些群組涵蓋針對資料庫執行的所有 SQL 語句和預存程式,不應與其他群組搭配使用,因為這會導致重複的稽核記錄。 如需詳細資訊,請參閱https://docs.microsoft.com/en-us/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, 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

-Confirm

執行 Cmdlet 之前先提示您確認。

類型:SwitchParameter
別名:cf
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

-DatabaseName

SQL 資料庫 名稱。

類型:String
Position:2
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-DefaultProfile

用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶。

類型:IAzureContextContainer
別名:AzureRmContext, AzureCredential
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-PassThru

{{Fill PassThru Description}}

類型:SwitchParameter
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

-PredicateExpression

用來篩選稽核記錄之 Where 子句的語句。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-ResourceGroupName

資源群組的名稱。

類型:String
Position:0
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-RetentionInDays

稽核記錄的保留天數。

類型:Nullable<T>[UInt32]
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-ServerName

SQL 資料庫 伺服器名稱。

類型:String
Position:1
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-State

原則的狀態。

類型:String
接受的值:Enabled, Disabled
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-StorageAccountName

記憶體帳戶的名稱。 不允許通配符。 不需要此參數。 如果您未指定此參數,Cmdlet 會使用先前定義為稽核原則一部分的記憶體帳戶。 如果這是第一次定義審核策略,而且您未指定此參數,Cmdlet 就會失敗。

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-StorageAccountSubscriptionId

指定記憶體帳戶訂用帳戶標識碼

類型:Guid
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-StorageKeyType

指定要使用哪一個記憶體存取金鑰。

類型:String
接受的值:Primary, Secondary
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。

類型:SwitchParameter
別名:wi
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False