Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
              van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Als u versleutelde gegevens wilt laden zonder metagegevenscontroles uit te voeren op de server tijdens bulkkopiebewerkingen, maakt u de gebruiker met de ALLOW_ENCRYPTED_VALUE_MODIFICATIONS optie. Deze optie is bedoeld voor gebruik door verouderde hulpprogramma's of ETL-werkstromen (Extract-Transform-Load) van derden die always encrypted niet kunnen gebruiken. Hierdoor kan een gebruiker versleutelde gegevens veilig verplaatsen van de ene set tabellen, die versleutelde kolommen bevat, naar een andere set tabellen met versleutelde kolommen (in dezelfde of een andere database).
De optie ALLOW_ENCRYPTED_VALUE_MODIFICATIONS
Zowel CREATE USER alsALTER USER hebben een ALLOW_ENCRYPTED_VALUE_MODIFICATIONS optie. Als deze optie is ingesteld op ON (de standaardinstelling), OFFonderdrukt deze optie cryptografische metagegevenscontroles op de server in bulkkopiebewerkingen, waardoor de gebruiker versleutelde gegevens tussen tabellen of databases bulksgewijs kan kopiëren zonder de gegevens te ontsleutelen.
Scenario's voor gegevensmigratie
In de volgende tabel ziet u de aanbevolen instellingen die geschikt zijn voor verschillende migratiescenario's.
              
              
              
              
            
Versleutelde gegevens bulksgewijs laden
Gebruik het volgende proces om versleutelde gegevens te laden.
Stel de optie in op
ONvoor de gebruiker die het doelwit is van de bulkcopybewerking in de database. Bijvoorbeeld:ALTER USER Bob WITH ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = ON;Voer de toepassing of het hulpprogramma voor bulksgewijs kopiëren uit om verbinding te maken met die gebruiker. (Als uw toepassing gebruikmaakt van een clientstuurprogramma met Always Encrypted, moet u ervoor zorgen dat de verbindingsreeks voor de gegevensbron niet bevat
column encryption setting=enabledom ervoor te zorgen dat de gegevens die zijn opgehaald uit versleutelde kolommen, versleuteld blijven. Zie Toepassingen ontwikkelen met Always Encrypted voor meer informatie.)Stel de
ALLOW_ENCRYPTED_VALUE_MODIFICATIONSoptie weer in opOFF. Bijvoorbeeld:ALTER USER Bob WITH ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = OFF;
Potentieel voor beschadiging van gegevens
Onjuist gebruik van deze optie kan leiden tot beschadiging van gegevens. Met de ALLOW_ENCRYPTED_VALUE_MODIFICATIONS optie kan de gebruiker gegevens invoegen in versleutelde kolommen in de database, inclusief gegevens die zijn versleuteld met verschillende sleutels, onjuist versleuteld of helemaal niet versleuteld. Als de gebruiker per ongeluk de gegevens kopieert die niet correct zijn versleuteld met behulp van het versleutelingsschema (kolomversleutelingssleutel, algoritme, versleutelingstype) dat is ingesteld voor de doelkolom, kunt u de gegevens niet ontsleutelen (de gegevens zijn beschadigd). Deze optie moet zorgvuldig worden gebruikt, omdat dit kan leiden tot beschadigde gegevens in de database.
In het volgende scenario ziet u hoe het onjuist importeren van gegevens kan leiden tot beschadigde gegevens:
De optie is ingesteld op
ONvoor een gebruiker.De gebruiker voert de toepassing uit die verbinding maakt met de database. De toepassing maakt gebruik van bulk-API's om waarden voor tekst zonder opmaak in te voegen in versleutelde kolommen. De toepassing verwacht dat een clientstuurprogramma met Always Encrypted de gegevens bij het invoegen versleutelt. De toepassing is echter onjuist geconfigureerd, zodat deze een stuurprogramma gebruikt dat Always Encrypted niet ondersteunt of dat de verbindingsreeks niet bevat
column encryption setting=enabled.De toepassing verzendt waarden voor tekst zonder opmaak naar de server. Omdat cryptografische metagegevenscontroles zijn uitgeschakeld op de server voor de gebruiker, kunnen de onjuiste gegevens (tekst zonder opmaak in plaats van correct versleutelde codering) worden ingevoegd in een versleutelde kolom.
Dezelfde toepassing of een andere toepassing maakt verbinding met de database met behulp van een stuurprogramma met Always Encrypted en met
column encryption setting=enabledin de verbindingsreeks en haalt de gegevens op. De toepassing verwacht dat de gegevens transparant worden ontsleuteld. Het stuurprogramma kan de gegevens echter niet ontsleutelen omdat de gegevens onjuiste coderingstekst zijn.
Best practice
Gebruik aangewezen gebruikersaccounts voor langdurige workloads met deze optie.
Voor kortlopende toepassingen of hulpprogramma's voor bulksgewijs kopiëren die versleutelde gegevens moeten verplaatsen zonder deze te ontsleutelen, stelt u de optie in op ON direct voordat u de toepassing uitvoert en stelt u deze weer in op UIT direct na het uitvoeren van de bewerking.
Gebruik deze optie niet voor het ontwikkelen van nieuwe toepassingen. Gebruik in plaats daarvan een clientstuurprogramma dat een API biedt voor het onderdrukken van cryptografische metagegevenscontroles voor één sessie, zoals de AllowEncryptedValueModifications optie in .NET Framework Data Provider voor SQL Server: zie Versleutelde gegevens kopiëren met behulp van SqlBulkCopy.
Verwante inhoud
- Altijd versleuteld
 - Gegevens naar of van kolommen migreren met Always Encrypted in de Wizard voor Importeren en Exporteren van SQL Server
 - GEBRUIKER AANMAKEN (Transact-SQL)
 - ALTER USER (Transact-SQL)
 - Kolommen opvragen met Always Encrypted in SQL Server Management Studio
 - Toepassingen ontwikkelen met Always Encrypted