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、ServerName 和 DatabaseName 參數來識別資料庫。 指定 StorageAccountName 參數,以指定稽核記錄的記憶體帳戶,以及 用來定義記憶體密鑰的 StorageKeyType 參數。 使用 State 參數來啟用/停用原則。 您也可以設定 RetentionInDays 參數的值來定義稽核記錄的保留期,以定義稽核記錄的期間。 成功執行 Cmdlet 之後,就會啟用資料庫的稽核。 如果 Cmdlet 成功,而且您使用 PassThru 參數,除了資料庫識別碼之外,也會傳回描述目前 Blob 稽核原則的物件。 資料庫識別碼包括但不限於 ResourceGroupName、ServerName 和 DatabaseName。
範例
範例 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 |