Set-AzSqlDatabaseAudit
Zmienia ustawienia inspekcji dla usługi Azure SQL Database.
Składnia
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>]
Opis
Polecenie cmdlet Set-AzSqlDatabaseAudit zmienia ustawienia inspekcji usługi Azure SQL Database. Aby użyć polecenia cmdlet, użyj parametrów ResourceGroupName, ServerName i DatabaseName, aby zidentyfikować bazę danych. Gdy magazyn obiektów blob jest miejscem docelowym dzienników inspekcji, określ parametr StorageAccountResourceId , aby określić konto magazynu dla dzienników inspekcji i parametr StorageKeyType w celu zdefiniowania kluczy magazynu. Można również zdefiniować przechowywanie dzienników inspekcji, ustawiając wartość parametru RetentionInDays , aby zdefiniować okres dla dzienników inspekcji.
Przykłady
Przykład 1. Włączanie zasad inspekcji magazynu obiektów blob w usłudze Azure SQL Database
Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -BlobStorageTargetState Enabled -StorageAccountResourceId "/subscriptions/7fe3301d-31d3-4668-af5e-211a890ba6e3/resourceGroups/resourcegroup01/providers/Microsoft.Storage/storageAccounts/mystorage"
Przykład 2. Wyłączanie zasad inspekcji magazynu obiektów blob w usłudze Azure SQL Database
Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -BlobStorageTargetState Disabled
Przykład 3. Włączanie zasad inspekcji magazynu obiektów blob usługi Azure SQL Database z filtrowaniem przy użyciu predykatu T-SQL
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"
Przykład 4. Usuwanie filtrowania z zasad inspekcji usługi Azure SQL Database
Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -PredicateExpression ""
Przykład 5. Włączanie zasad inspekcji centrum zdarzeń usługi Azure SQL Database
Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -EventHubTargetState Enabled -EventHubName "EventHubName" -EventHubAuthorizationRuleResourceId "EventHubAuthorizationRuleResourceId"
Przykład 6. Wyłączanie zasad inspekcji centrum zdarzeń usługi Azure SQL Database
Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -EventHubTargetState Disabled
Przykład 7. Włączanie zasad inspekcji usługi Log Analytics w usłudze 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"
Przykład 8. Wyłączanie zasad inspekcji usługi Log Analytics w usłudze Azure SQL Database
Set-AzSqlDatabaseAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" -LogAnalyticsTargetState Disabled
Przykład 9. Wyłączanie za pośrednictwem potoku zasad inspekcji analizy dzienników usługi Azure SQL Database
Get-AzSqlDatabase -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01" | Set-AzSqlDatabaseAudit -LogAnalyticsTargetState Disabled
Przykład 10: Wyłączanie wysyłania rekordów inspekcji usługi Azure SQL Database do magazynu obiektów blob i włączanie wysyłania ich do analizy dzienników.
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
Przykład 11: Włączanie wysyłania rekordów inspekcji usługi Azure SQL Database do magazynu obiektów blob, centrum zdarzeń i analizy dzienników.
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"
Parametry
-AuditAction
Zestaw akcji inspekcji.
Obsługiwane akcje inspekcji to:
SELECT
UPDATE
INSERT
DELETE
WYKONAJ
OTRZYMAĆ
DOKUMENTACJA
Ogólny formularz służący do definiowania akcji do inspekcji to: [action] ON [object] BY [principal] Uwaga: [object] w powyższym formacie może odwoływać się do obiektu, takiego jak tabela, widok lub procedura składowana albo cała baza danych lub schemat. W tych ostatnich przypadkach używane są odpowiednio formularze DATABASE::[dbname] i SCHEMA::[schemaname].
Na przykład:
Wybierz pozycję dbo.myTable według publicznej
WYBIERZ pozycję DATABASE::myDatabase według publicznej bazy danych
WYBIERZ w schemacie::mySchema według opinii publicznej
Aby uzyskać więcej informacji, zobacz https://learn.microsoft.com/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-AuditActionGroup
Zalecany zestaw grup akcji do użycia jest następującą kombinacją — spowoduje to inspekcję wszystkich zapytań i procedur składowanych wykonywanych względem bazy danych, a także pomyślnych i zakończonych niepowodzeniem logowań:
"BATCH_COMPLETED_GROUP",
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP"
Ta powyżej kombinacja jest również zestawem skonfigurowanym domyślnie. Grupy te obejmują wszystkie instrukcje SQL i procedury składowane wykonywane względem bazy danych i nie powinny być używane w połączeniu z innymi grupami, ponieważ spowoduje to zduplikowanie dzienników inspekcji.
Aby uzyskać więcej informacji, zobacz https://learn.microsoft.com/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups.
Typ: | AuditActionGroups[] |
Dopuszczalne wartości: | 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 |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-BlobStorageTargetState
Wskazuje, czy magazyn obiektów blob jest miejscem docelowym rekordów inspekcji.
Typ: | String |
Dopuszczalne wartości: | Enabled, Disabled |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-DatabaseName
Nazwa bazy danych SQL.
Typ: | String |
Position: | 2 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-DatabaseObject
Obiekt bazy danych do zarządzania zasadami inspekcji.
Typ: | AzureSqlDatabaseModel |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-DefaultProfile
Poświadczenia, konto, dzierżawa i subskrypcja używane do komunikacji z platformą Azure.
Typ: | IAzureContextContainer |
Aliasy: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-EventHubAuthorizationRuleResourceId
Identyfikator zasobu reguły autoryzacji centrum zdarzeń
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-EventHubName
Nazwa centrum zdarzeń. Jeśli żadna z nich nie zostanie określona podczas podawania identyfikatora EventHubAuthorizationRuleResourceId, zostanie wybrane domyślne centrum zdarzeń.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-EventHubTargetState
Wskazuje, czy centrum zdarzeń jest miejscem docelowym rekordów inspekcji.
Typ: | String |
Dopuszczalne wartości: | Enabled, Disabled |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-LogAnalyticsTargetState
Wskazuje, czy usługa Log Analytics jest miejscem docelowym rekordów inspekcji.
Typ: | String |
Dopuszczalne wartości: | Enabled, Disabled |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-PassThru
Określa, czy dane wyjściowe zasad inspekcji na końcu wykonywania polecenia cmdlet
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-PredicateExpression
Predykat języka T-SQL (klauzula WHERE) używany do filtrowania dzienników inspekcji.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-ResourceGroupName
Nazwa grupy zasobów.
Typ: | String |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-RetentionInDays
Liczba dni przechowywania dzienników inspekcji.
Typ: | Nullable<T>[UInt32] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-ServerName
Nazwa serwera SQL.
Typ: | String |
Position: | 1 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-StorageAccountResourceId
Identyfikator zasobu konta magazynu
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-StorageKeyType
Określa, które klucze dostępu do magazynu mają być używane.
Typ: | String |
Dopuszczalne wartości: | Primary, Secondary |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-UseIdentity
Wskazuje, czy należy używać tożsamości zarządzanej, czy nie. Jest to wymagane, gdy chcesz użyć tożsamości zarządzanej, gdy magazyn docelowy nie znajduje się za zaporą.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-WhatIf
Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-WorkspaceResourceId
Identyfikator obszaru roboczego (identyfikator zasobu obszaru roboczego usługi Log Analytics) dla obszaru roboczego usługi Log Analytics, do którego chcesz wysłać dzienniki inspekcji. Przykład: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
String[]
Nullable<T>[[System.UInt32, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]