Megosztás a következőn keresztül:


Azure CLI-szkript transzparens adattitkosítás engedélyezéséhez saját kulccsal

A következőre vonatkozik: Felügyelt Azure SQL-példány

Ez az Azure CLI-példaszkript transzparens adattitkosítást (TDE) konfigurál a felügyelt Azure SQL-példányban az Azure Key Vault ügyfél által felügyelt kulcsával. Ezt gyakran a TDE saját kulcsú (BYOK) forgatókönyvének is nevezik. Az ügyfél által felügyelt kulccsal rendelkező TDE-ről további információt a TDE Saját kulcs használata az Azure SQL-ben című témakörben talál.

Ez a minta egy meglévő felügyelt példányt igényel, lásd: Azure CLI használata felügyelt Azure SQL-példány létrehozásához.

Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.

Előfeltételek

Példaszkript

Ehhez a szkripthez használja helyileg az Azure CLI-t, mivel túl sokáig tart a Cloud Shellben való futtatás.

Bejelentkezés az Azure-ba

A következő szkripttel bejelentkezhet egy adott előfizetés használatával.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

További információ: Aktív előfizetés beállítása vagy interaktív bejelentkezés

A szkript futtatása

# Manage Transparent Data Encryption in a Managed Instance using your own key from Azure Key Vault

# Run this script after the script in https://docs.microsoft.com/azure/azure-sql/managed-instance/scripts/create-configure-managed-instance-cli creates a managed instance.
# You can use the same variables in both scripts/
# If running this script against a different existing instance, uncomment and add appropriate values to next 3 lines of code
# let "randomIdentifier=$RANDOM*$RANDOM"
# instance="<msdocs-azuresql-instance>" # add instance here
# resourceGroup="<msdocs-azuresql-rg>" # add resource here

# Variable block
location="East US"
vault="msdocssqlvault$randomIdentifier"
key="msdocs-azuresql-key-$randomIdentifier"

# echo assigning identity to service principal in the instance
az sql mi update --name $instance --resource-group $resourceGroup --assign-identity

echo "Creating $vault..."
az keyvault create --name $vault --resource-group $resourceGroup --location "$location"

echo "Getting service principal id and setting policy on $vault..."
instanceId=$(az sql mi show --name $instance --resource-group $resourceGroup --query identity.principalId --output tsv)

echo $instanceId
az keyvault set-policy --name $vault --object-id $instanceId --key-permissions get unwrapKey wrapKey

echo "Creating $key..."
az keyvault key create --name $key --vault-name $vault --size 2048 

# keyPath="C:\yourFolder\yourCert.pfx"
# keyPassword="yourPassword" 
# az keyvault certificate import --file $keyPath --name $key --vault-name $vault --password $keyPassword

echo "Setting security on $instance with $key..."
keyId=$(az keyvault key show --name $key --vault-name $vault -o json --query key.kid | tr -d '"')

az sql mi key create --kid $keyId --managed-instance $instance --resource-group $resourceGroup
az sql mi tde-key set --server-key-type AzureKeyVault --kid $keyId --managed-instance $instance --resource-group $resourceGroup

Erőforrások eltávolítása

Az alábbi paranccsal eltávolíthatja az erőforráscsoportot és a hozzá társított összes erőforrást az az csoporttörlés paranccsal – kivéve, ha folyamatosan szüksége van ezekre az erőforrásokra. Ezen erőforrások némelyikének létrehozása és törlése eltarthat egy ideig.

az group delete --name $resourceGroup

Mintahivatkozás

A szkript a következő parancsokat használja. A táblázatban lévő összes parancs a hozzá tartozó dokumentációra hivatkozik.

Parancs Leírás
az sql db Adatbázis-parancsok.
az sql feladatátvételi csoport Feladatátvételi csoport parancsai.

További lépések

Az Azure CLI-vel kapcsolatos további információkért tekintse meg az Azure CLI dokumentációját.

További SQL Database CLI-példaszkripteket az Azure SQL Database dokumentációjában találhat.