Udostępnij za pośrednictwem


Transparent Data Encryptions - Create Or Update

Aktualizuje konfigurację przezroczystego szyfrowania danych w logicznej bazie danych.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/current?api-version=2025-01-01

Parametry identyfikatora URI

Nazwa W Wymagane Typ Opis
databaseName
path True

string

Nazwa logicznej bazy danych, dla której zdefiniowano zasady alertów zabezpieczeń.

resourceGroupName
path True

string

Nazwa grupy zasobów zawierającej zasób. Tę wartość można uzyskać z interfejsu API usługi Azure Resource Manager lub portalu.

serverName
path True

string

Nazwa serwera.

subscriptionId
path True

string

Identyfikator subskrypcji identyfikujący subskrypcję platformy Azure.

tdeName
path True

TransparentDataEncryptionName

Nazwa konfiguracji przezroczystego szyfrowania danych.

api-version
query True

string

Wersja interfejsu API do użycia dla żądania.

Treść żądania

Nazwa Wymagane Typ Opis
properties.state True

TransparentDataEncryptionState

Określa stan przezroczystego szyfrowania danych.

properties.scanState

TransparentDataEncryptionScanState

Określa stan skanowania szyfrowania danych przezroczystych.

Odpowiedzi

Nazwa Typ Opis
200 OK

LogicalDatabaseTransparentDataEncryption

Pomyślnie zaktualizowano stan Transparent Data Encryption bazy danych.

201 Created

LogicalDatabaseTransparentDataEncryption

Pomyślnie utworzono stan przezroczystego szyfrowania danych bazy danych.

202 Accepted

Trwa tworzenie lub aktualizowanie konfiguracji przezroczystego szyfrowania danych bazy danych.

Nagłówki

Location: string

Other Status Codes

ErrorResponse

Odpowiedzi na błędy: ***

  • 400 SecurityAdalPrincipalCertExpiredError — nie można ukończyć operacji, ponieważ certyfikat główny usługi Azure Key Vault wygasł.

  • 400 AkvHostNotResolvingFromNode — host AKV "{0}" nie jest rozpoznawany z bazy danych SQL na serwerze "{1}".

  • 400 AkvKeyDisabled — operacje na kluczu zarządzanym przez klienta nie są dozwolone w usłudze Azure Key Vault. Zezwól na następujące operacje na kluczu: "get", "wrapKey", "unwrapKey". Aby uzyskać pomoc dotyczącą rozwiązywania tego problemu, zobacz https://aka.ms/sqlmi-tde-troubleshooting.

  • 400 AkvKeyOperationNotAllowed — operacje na kluczu zarządzanym przez klienta nie są dozwolone w usłudze Azure Key Vault. Zezwól na następujące operacje na kluczu: "get", "wrapKey", "unwrapKey". Aby uzyskać pomoc dotyczącą rozwiązywania tego problemu, zobacz https://aka.ms/sqlmi-tde-troubleshooting.

  • 400 AkvKeyOperationNotAllowedByRBAC — jedna z wymaganych operacji na kluczu zarządzanym przez klienta nie jest dozwolona dla aktualnie wybranej roli RBAC tożsamości wystąpienia zarządzanego w usłudze Azure Key Vault. Proszę zmienić rolę RBAC na umożliwiającą następujące uprawnienia w magazynie kluczy: „get”, „wrapKey”, „unwrapKey”. Aby uzyskać pomoc dotyczącą rozwiązywania tego problemu, zobacz https://aka.ms/sqlmi-tde-troubleshooting

  • 400 SecurityInvalidAzureKeyVaultRecoveryLevel — podany identyfikator URI usługi Key Vault jest nieprawidłowy.

  • 400 AkvKeyOperationNotAllowedByFirewall — połączenie z usługą Azure Key Vault zostało zabronione przez zasady zapory usługi Azure Key Vault. Zapoznaj się z zasadami zapory usługi Azure Key Vault, aby włączyć połączenia z wystąpienia zarządzanego. Aby uzyskać pomoc dotyczącą rozwiązywania tego problemu, zobacz https://aka.ms/sqlmi-tde-troubleshooting.

  • 400 AkvKeyAccessDenied — jedna z wymaganych operacji na kluczu zarządzanym przez klienta w usłudze Azure Key Vault nie jest dozwolona dla aktualnie ustawionych zasad magazynu kluczy używanych przez tożsamość wystąpienia zarządzanego. Proszę użyć polityki zezwalającej na następujące uprawnienia w magazynie kluczy: "get", "wrapKey", "unwrapKey". Aby uzyskać pomoc dotyczącą rozwiązywania tego problemu, zobacz https://aka.ms/sqlmi-tde-troubleshooting.

  • 400 AkvKeyAccessGeneral403 — operacja usługi Azure Key Vault żądana przez wystąpienie zarządzane nie powiodła się z powodu niewystarczających uprawnień. Aby uzyskać pomoc dotyczącą rozwiązywania tego problemu, zobacz https://aka.ms/sqlmi-tde-troubleshooting.

  • 400 MissingKeyVaultUriForRestore — identyfikator URI klucza usługi Azure Key Vault "{0}" jest wymagany do pomyślnego przywrócenia bazy danych "{1}" w obszarze serwera "{2}".

  • 400 AkvKeyDeleted — nie znaleziono klucza zarządzanego przez klienta w usłudze Azure Key Vault Jeśli został on ostatnio usunięty, odzyskanie może być możliwe, jeśli ochrona "usuwania nietrwałego" jest włączona w magazynie kluczy. Aby uzyskać pomoc dotyczącą rozwiązywania tego problemu, zobacz https://aka.ms/sqlmi-tde-troubleshooting.

  • 400 AkvKeyTimeout — nie można nawiązać połączenia z usługą Azure Key Vault. Zapoznaj się z ustawieniami sieci dla wystąpienia zarządzanego "%s". Aby uzyskać pomoc dotyczącą rozwiązywania tego problemu, zobacz https://aka.ms/sqlmi-tde-troubleshooting.

  • 400 AzureKeyVaultKeyUsedOnGeoPrimary — nie można ukończyć operacji, ponieważ nazwa klucza usługi Azure Key Vault {0} jest obecnie ustawiona jako funkcja ochrony szyfrowania w lokalizacji geograficznej podstawowej.

  • 400 AkvKeyDNS — nie można rozpoznać identyfikatora URI usługi Azure Key Vault. Upewnij się, że identyfikator URI magazynu kluczy jest prawidłowy i że ustawienia sieciowe dla wystąpienia zarządzanego nie blokują dostępu do publicznego systemu DNS platformy Azure. Aby uzyskać pomoc dotyczącą rozwiązywania tego problemu, zobacz https://aka.ms/sqlmi-tde-troubleshooting.

  • 400 KeyMaterialNotFoundOnRemoteServer — serwer zdalny nie ma dostępu do materiału klucza używanego jako funkcja ochrony TDE.

  • 400 PerDatabaseCMKAKVKeyMaterialMissingOnGeoSecondary — wszystkie bazy danych w replikacji geograficznej muszą zawierać ten sam materiał klucza co ochrona szyfrowania źródłowej bazy danych. Dodaj klucz "{0}" z tym samym materiałem klucza do docelowej bazy danych "{1}".

  • 400 AzureKeyVaultRsaKeyNotSupported — podany magazyn kluczy używa nieobsługiwanego rozmiaru klucza RSA lub typu klucza. Obsługiwany rozmiar klucza RSA to 2048 lub 3072, a typ klucza to RSA lub RSA-HSM.

  • 400 PerDatabaseCMKAKVKeyUriMissingOnGeoSecondary — po włączeniu automatycznej rotacji funkcji ochrony TDE na poziomie bazy danych zarówno źródłowe, jak i docelowe bazy danych muszą być połączone z tym samym magazynem kluczy. Dodaj klucz "{0}" (z tego samego magazynu kluczy, który jest połączony ze źródłową bazą danych) do docelowej bazy danych "{1}".

  • 400 PerDatabaseCMKCopyOrReplicationAttemptedWithoutCurrentKeysWithDatabaseName — podczas próby replikowania bazy danych skonfigurowanej za pomocą ochrony szyfrowania na poziomie bazy danych bieżące klucze używane przez podstawową bazę danych muszą zostać przekazane do pomocniczej bazy danych "{0}"

  • 400 ManagedInstanceNoConditionToMakeDatabaseAccessible — co najmniej jedna baza danych w SQL Managed Instance nie może być dostępna, ponieważ odpowiednie główne przyczyny niedostępności nie zostały złagodzone. Zniweluj główne przyczyny niedostępności dla wszystkich aktualnie niedostępnych baz danych i spróbuj ponownie wykonać operację.

  • 400 UmiMissingAkvPermissions — PrimaryUserAssignedIdentityId udostępniony przez użytkownika nie ma dostępu do podanego identyfikatora KeyId

  • 400 SameKeyUriNotFoundOnRemoteServer — serwer pomocniczy nie ma materiału klucza z tego samego magazynu kluczy, co funkcja ochrony szyfrowania serwera podstawowego z włączonym automatycznym rotacją klucza.

  • 400 SameKeyMaterialNotFoundOnRemoteServer — serwer pomocniczy nie ma klucza ochrony szyfrowania serwera podstawowego.

  • 400 SecurityAzureKeyVaultGeoChainError — tworzenie pomocniczej pomocniczej (procesu znanego jako łańcuch) nie jest obsługiwane podczas włączania funkcji Transparent Data Encryption przy użyciu usługi Azure Key Vault (BYOK).

  • 400 PerDatabaseCMKDWNotSupported — klucz CMK na poziomie bazy danych w wersji zapoznawczej nie jest obsługiwany w przypadku wersji datawarehouse.

  • 400 BlockSystemAssignedIdentityForCrossTenantCMK — klucz cmK między dzierżawami można skonfigurować tylko wtedy, gdy serwer jest skonfigurowany przy użyciu tożsamości zarządzanej przypisanej przez użytkownika. Zapoznaj się z https://aka.ms/sqltdebyokumi, aby skonfigurować tożsamość zarządzaną przypisaną przez użytkownika.

  • 400 PerDatabaseCMKCopyOrReplicationAttemptedWithoutCurrentKeys — podczas próby replikowania bazy danych skonfigurowanej za pomocą ochrony szyfrowania na poziomie bazy danych bieżące klucze używane przez podstawową bazę danych muszą zostać przekazane do pomocniczej bazy danych.

  • 400 CannotDropDatabaseAKVError — {0} bazy danych na serwerze {1} nie można bezpiecznie usunąć, ponieważ jest szyfrowana przy użyciu klucza zarządzanego przez klienta, który nie jest już dostępny do wykonania ostatniej kopii zapasowej przed usunięciem. Przywróć dostęp do usługi Azure Key Vault na serwerze i ponownie zaktualizuj klucze, aby ta baza danych była dostępna, a następnie kontynuuj usuwanie. Aby uzyskać szczegółowe informacje, zobacz https://aka.ms/tdecmkrestorability

  • 400 CreateDatabaseAttemptedWithRotationInProgress — nie można wykonać operacji tworzenia bazy danych w tej chwili z powodu trwającej rotacji kluczy Transparent Data Encryption (TDE) na serwerze. Spróbuj ponownie wykonać operację później.

  • 400 AzureKeyVaultKeyDisabled — nie można ukończyć operacji na serwerze, ponieważ klucz usługi Azure Key Vault jest wyłączony.

  • 400 PerDatabaseCMKRestoreNotSupported — przywracanie bazy danych nie jest obsługiwane, gdy klucz zarządzania na poziomie bazy danych jest skonfigurowany w wersji zapoznawczej.

  • 400 AzureKeyVaultInvalidExpirationDate — nie można ukończyć operacji, ponieważ data wygaśnięcia klucza usługi Azure Key Vault jest nieprawidłowa.

  • 400 PerDatabaseCMKHSNotSupported — klucz CMK na poziomie bazy danych w wersji zapoznawczej nie jest obsługiwany w wersji hiperskala.

  • 400 SecurityAzureKeyVaultUrlNullOrEmpty — nie można ukończyć operacji, ponieważ identyfikator URI usługi Azure Key Vault ma wartość null lub jest pusty.

  • 400 CMKOperationNotAllowed — użytkownik próbował wykonać operację na serwerze, gdy serwer nie ma dostępu do usługi Azure Key Vault.

  • 400 AkvEndpointNotReachableFromNode — punkt końcowy usługi AKV "{0}" nie jest osiągalny z bazy danych SQL na serwerze "{1}".

  • 400 AzureKeyVaultNoServerIdentity — tożsamość serwera nie jest poprawnie skonfigurowana.

  • 400 AzureKeyVaultInvalidUri — nieprawidłowa odpowiedź z usługi Azure Key Vault. Użyj prawidłowego identyfikatora URI usługi Azure Key Vault.

  • 400 AzureKeyVaultMissingPermissions — serwer nie ma wymaganych uprawnień w usłudze Azure Key Vault.

  • 400 AzureKeyVaultKeyNameCurrentlyInUse — nie można ukończyć operacji, ponieważ nazwa klucza usługi Azure Key Vault {0} jest obecnie używana.

  • 400 AzureKeyVaultKeyThumbprintIsDifferent — nie można ukończyć operacji, ponieważ materiał klucza usługi Azure Key Vault różni się od bieżącego klucza ochrony szyfrowania.

  • 400 SecurityAzureKeyVaultInvalidKeyName — nie można ukończyć operacji z powodu nieprawidłowej nazwy klucza serwera.

  • 400 OldGenerationOfAKVKeyBeingUsedError — używanie starej wersji klucza AKV jako funkcji ochrony TDE jest niedozwolone. Użyj najnowszej wersji klucza usługi AKV jako funkcji ochrony szyfrowania

  • 400 PerDatabaseCMKMissingIdentityOnGeoSecondaryDatabase — tożsamość cmK bazy danych nie jest skonfigurowana w docelowej bazie danych.

  • 400 AdalGenericError — nie można ukończyć operacji, ponieważ wystąpił błąd usługi Azure Active Directory.

  • 400 AdalServicePrincipalNotFound — nie można ukończyć operacji, ponieważ napotkano błąd jednostki usługi biblioteki usługi Azure Active Directory.

  • 400 AzureKeyVaultMalformedVaultUri — podany identyfikator URI usługi Key Vault jest nieprawidłowy.

  • 400 Podjęto próbę rozszerzeniaEncryptionOnSystemDatabase — nie można zaszyfrować systemowej bazy danych. Nie można wykonać operacji szyfrowania bazy danych dla baz danych "master", "model", "tempdb", "msdb" lub "resource".

  • 400 TransparentDataEncryptionSuspendResumeNotSupportedForDW — szyfrowanie, wstrzymywanie i wznawianie skanowania nie jest obsługiwane w DW.

  • 400 ReadOnly — nie można włączyć ani zmodyfikować szyfrowania bazy danych w bazie danych, która jest tylko do odczytu, ma pliki tylko do odczytu lub nie jest odzyskiwane.

  • 400 CanNotChangeReadOnlyDuringTdeScan — nie można zmodyfikować stanu tylko do odczytu/zapisu grupy plików, gdy trwa przejście szyfrowania.

  • 400 CanNotDropAlterOnMirror — zmodyfikuj funkcję Transparent Data Encryption w podstawowych bazach danych.

  • 400 TransparentDataEncryptionScanCannotBeSuspendedAgain — nie można zawiesić skanowania szyfrowania, ponieważ jest ono już w stanie wstrzymania.

  • 400 TransparentDataEncryptionCannotAlterDatabaseEncryptionKey — nie można zmienić klucza szyfrowania bazy danych, ponieważ baza danych nie jest zaszyfrowana.

  • 400 TransparentDataEncryptionScanCannotBeStarted — gdy zmiana klucza jest w toku, dozwolone są tylko operacje zawieszania i wznawiania.

  • 400 TransparentDataEncryptionCannotResume — nie można wznowić skanowania szyfrowania, ponieważ skanowanie szyfrowania nie jest w toku.

  • 400 TransparentDataEncryptionCannotSuspend — nie można zawiesić skanowania szyfrowania, ponieważ nie jest w toku skanowania szyfrowania.

  • 400 ManagedInstanceStoppingOrStopped — operacja powodująca konflikt przesłana, gdy wystąpienie jest w stanie zatrzymania/zatrzymania

  • 400 ManagedInstanceStarting — operacja powodująca konflikt przesłana, gdy wystąpienie jest w stanie początkowym

  • 400 InvalidTransparentDataEncryptionUpdateRequest — wprowadź prawidłowy stan. Użyj opcji "Włączone" lub "Wyłączone".

  • 400 InvalidTransparentDataEncryptionName — nazwa klucza transparent data encryption nie jest obsługiwana.

  • 404 OperationIdNotFound — operacja o identyfikatorze nie istnieje.

  • 409 ServerKeyNameAlreadyExists — klucz serwera już istnieje na serwerze.

  • 409 ServerKeyUriAlreadyExists — identyfikator URI klucza serwera już istnieje na serwerze.

  • 409 ServerKeyDoesNotExists — klucz serwera nie istnieje.

  • 409 AzureKeyVaultKeyNameNotFound — nie można ukończyć operacji, ponieważ nazwa klucza usługi Azure Key Vault nie istnieje.

  • 409 AzureKeyVaultKeyInUse — klucz jest obecnie używany przez serwer.

  • 409 EncryptionInProgress — nie można zmodyfikować szyfrowania podczas skanowania szyfrowania w toku.

  • 409 KeyChangeInProgress — nie można zmienić klucza szyfrowania bazy danych, podczas gdy trwa skanowanie szyfrowania, odszyfrowywania lub zmiany klucza.

  • 409 NoBulkOperationLock — nie można umieścić blokady w bazie danych za pomocą polecenia CREATE/ALTER/DROP KLUCZA SZYFROWANIA BAZY danych. Spróbuj ponownie później.

  • 409 NeedsLogBackup — poczekaj kilka minut na utworzenie kopii zapasowej dziennika.

  • 409 AltStateConflict — nie można wykonać operacji w bazie danych, ponieważ jest ona zaangażowana w sesję dublowania bazy danych lub grupę dostępności. Niektóre operacje nie są dozwolone w bazie danych, która uczestniczy w sesji dublowania bazy danych lub w grupie dostępności.

  • 409 CannotCancelOperation — operacja zarządzania jest w stanie, którego nie można anulować.

  • 409 OperationCancelled — operacja została anulowana przez użytkownika.

  • 409 Operacja przerwana — nie można ukończyć operacji na zasobie, ponieważ została przerwana przez inną operację na tym samym zasobie.

  • 429 SubscriptionTooManyCreateUpdateRequests — żądania wykraczające poza maksymalne żądania, które mogą być przetwarzane przez dostępne zasoby.

  • 429 SubscriptionTooManyRequests — żądania wykraczające poza maksymalną liczbę żądań, które mogą być przetwarzane przez dostępne zasoby.

  • 500 OperationTimedOut — upłynął limit czasu operacji i automatycznie wycofano. Ponów próbę wykonania operacji.

  • 503 AzureKeyVaultConnectionFailed — nie można ukończyć operacji na serwerze, ponieważ próby nawiązania połączenia z usługą Azure Key Vault zakończyły się niepowodzeniem

  • 503 AzureKeyVaultGenericConnectionError — nie można ukończyć operacji, ponieważ wystąpił błąd podczas próby pobrania informacji usługi Key Vault.

  • 503 NoDekLock — nie można umieścić blokady w bazie danych za pomocą polecenia CREATE/ALTER/DROP, ponieważ nie można umieścić blokady w bazie danych. Spróbuj ponownie później.

  • 503 TooManyRequests — żądania wykraczające poza maksymalne żądania, które mogą być przetwarzane przez dostępne zasoby.

Przykłady

Update a database's Transparent Data Encryption state with minimal parameters

Przykładowe żądanie

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securitytde-42-rg/providers/Microsoft.Sql/servers/securitytde-42/databases/testdb/transparentDataEncryption/current?api-version=2025-01-01

{
  "properties": {
    "state": "Enabled",
    "scanState": "Suspend"
  }
}

Przykładowa odpowiedź

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securitytde-42-rg/providers/Microsoft.Sql/servers/securitytde-42/databases/testdb/transparentDataEncryption",
  "name": "current",
  "type": "Microsoft.Sql/servers/databases/transparentDataEncryption",
  "properties": {
    "state": "Enabled",
    "scanState": "Suspend"
  }
}
{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securitytde-42-rg/providers/Microsoft.Sql/servers/securitytde-42/databases/testdb/transparentDataEncryption",
  "name": "current",
  "type": "Microsoft.Sql/servers/databases/transparentDataEncryption",
  "properties": {
    "state": "Enabled",
    "scanState": "Suspend"
  }
}
Location: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securitytde-42-rg/providers/Microsoft.Sql/locations/southeastasia/transparentDataEncryptionOperationResults/11111111-1111-1111-1111-111111111111

Definicje

Nazwa Opis
ErrorAdditionalInfo

Dodatkowe informacje o błędzie zarządzania zasobami.

ErrorDetail

Szczegóły błędu.

ErrorResponse

Odpowiedź na błąd

LogicalDatabaseTransparentDataEncryption

Stan skanowania szyfrowania danych przezroczystej bazy danych logicznej.

TransparentDataEncryptionName

Nazwa konfiguracji przezroczystego szyfrowania danych.

TransparentDataEncryptionScanState

Określa stan skanowania szyfrowania danych przezroczystych.

TransparentDataEncryptionState

Określa stan przezroczystego szyfrowania danych.

ErrorAdditionalInfo

Dodatkowe informacje o błędzie zarządzania zasobami.

Nazwa Typ Opis
info

object

Dodatkowe informacje.

type

string

Dodatkowy typ informacji.

ErrorDetail

Szczegóły błędu.

Nazwa Typ Opis
additionalInfo

ErrorAdditionalInfo[]

Błąd dodatkowe informacje.

code

string

Kod błędu.

details

ErrorDetail[]

Szczegóły błędu.

message

string

Komunikat o błędzie.

target

string

Cel błędu.

ErrorResponse

Odpowiedź na błąd

Nazwa Typ Opis
error

ErrorDetail

Obiekt błędu.

LogicalDatabaseTransparentDataEncryption

Stan skanowania szyfrowania danych przezroczystej bazy danych logicznej.

Nazwa Typ Opis
id

string

Identyfikator zasobu.

name

string

Nazwa zasobu.

properties.scanState

TransparentDataEncryptionScanState

Określa stan skanowania szyfrowania danych przezroczystych.

properties.state

TransparentDataEncryptionState

Określa stan przezroczystego szyfrowania danych.

type

string

Typ zasobu.

TransparentDataEncryptionName

Nazwa konfiguracji przezroczystego szyfrowania danych.

Wartość Opis
current

TransparentDataEncryptionScanState

Określa stan skanowania szyfrowania danych przezroczystych.

Wartość Opis
None
Resume
Running
Suspend
Aborted
Completed

TransparentDataEncryptionState

Określa stan przezroczystego szyfrowania danych.

Wartość Opis
Enabled
Disabled