Udostępnij za pośrednictwem


Set-AzureRmSqlDatabaseAuditing

Zmienia ustawienia inspekcji dla bazy danych Azure SQL Database.

Ostrzeżenie

Moduł AzureRM PowerShell jest oficjalnie przestarzały od 29 lutego 2024 r. Zaleca się migrowanie użytkowników z modułu AzureRM do modułu Az programu PowerShell w celu zapewnienia ciągłej obsługi i aktualizacji.

Mimo że moduł AzureRM może nadal działać, nie jest już utrzymywany ani obsługiwany, umieszczając wszelkie dalsze zastosowania według uznania i ryzyka użytkownika. Zapoznaj się z naszymi zasobami migracji, aby uzyskać wskazówki dotyczące przejścia do modułu Az.

Składnia

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>]

Opis

Polecenie cmdlet Set-AzureRmSqlDatabaseAuditing zmienia ustawienia inspekcji bazy danych Azure SQL Database. Aby użyć polecenia cmdlet, użyj parametrów ResourceGroupName, ServerName i DatabaseName, aby zidentyfikować bazę danych. Określ parametr StorageAccountName, aby określić konto magazynu dla dzienników inspekcji i parametr StorageKeyType w celu zdefiniowania kluczy magazynu. Użyj parametru State , aby włączyć/wyłączyć zasady. Można również zdefiniować przechowywanie dzienników inspekcji, ustawiając wartość parametru RetentionInDays , aby zdefiniować okres dla dzienników inspekcji. Po pomyślnym uruchomieniu polecenia cmdlet inspekcja bazy danych jest włączona. Jeśli polecenie cmdlet powiedzie się i zostanie użyty parametr PassThru , zwraca obiekt opisujący bieżące zasady inspekcji obiektów blob oprócz identyfikatorów bazy danych. Identyfikatory baz danych obejmują, ale nie są ograniczone do parametrów ResourceGroupName, ServerName i DatabaseName.

Przykłady

Przykład 1. Włączanie zasad inspekcji bazy danych Azure SQL Database

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

Przykład 2. Wyłączanie zasad inspekcji obiektów blob bazy danych Azure SQL Database

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

Przykład 3. Włączanie zasad inspekcji bazy danych Azure SQL Database przy użyciu konta magazynu z innej subskrypcji

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

Przykład 4. Włączanie rozszerzonych zasad inspekcji bazy danych Azure SQL Database

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

Przykład 5. Usunięcie rozszerzonych zasad inspekcji bazy danych Azure SQL Database i ustawienie zasad inspekcji zamiast niej.

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

Parametry

-AuditAction

Zestaw akcji inspekcji. Obsługiwane akcje inspekcji to: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES Ogólny formularz definiowania akcji do inspekcji: [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: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public Aby uzyskać więcej informacji, zobacz https://docs.microsoft.com/en-us/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:True
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" Powyższe połączenie 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://docs.microsoft.com/en-us/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, 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
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Domyślna wartość:False
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:True
Akceptowanie symboli wieloznacznych:False

-DefaultProfile

Poświadczenia, konto, dzierżawa i subskrypcja używane do komunikacji z platformą Azure.

Typ:IAzureContextContainer
Aliasy:AzureRmContext, AzureCredential
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-PassThru

{{Wypełnij opis passthru}}

Typ:SwitchParameter
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-PredicateExpression

Instrukcja klauzuli Where użyta do filtrowania dzienników inspekcji.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-ResourceGroupName

Nazwa grupy zasobów.

Typ:String
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
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:True
Akceptowanie symboli wieloznacznych:False

-ServerName

Nazwa serwera usługi SQL Database.

Typ:String
Position:1
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-State

Stan zasad.

Typ:String
Dopuszczalne wartości:Enabled, Disabled
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-StorageAccountName

Nazwa konta magazynu. Symbole wieloznaczne nie są dozwolone. Ten parametr nie jest wymagany. Jeśli nie określisz tego parametru, polecenie cmdlet używa konta magazynu zdefiniowanego wcześniej w ramach zasad inspekcji. Jeśli jest to pierwszy raz, gdy zasady inspekcji są zdefiniowane i nie określisz tego parametru, polecenie cmdlet zakończy się niepowodzeniem.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-StorageAccountSubscriptionId

Określa identyfikator subskrypcji konta magazynu

Typ:Guid
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
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:True
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ść:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False