Platí pro:
Azure SQL Database
Poznámka:
- CmK na úrovni databáze je k dispozici pro Azure SQL Database (všechny edice SQL Database). Není k dispozici pro Azure SQL Managed Instance, místní SQL Server, Azure VMs a Azure Synapse Analytics (vyhrazené fondy SQL (dříve SQL DW)).
- Stejnou příručku můžete použít ke konfiguraci klíčů spravovaných zákazníkem na úrovni databáze ve stejném tenantovi tak, že vyloučíte parametr ID federovaného klienta. Další informace o klíčích spravovaných zákazníkem na úrovni databáze najdete v tématu Transparentní šifrování dat (TDE) s klíči spravovanými zákazníkem na úrovni databáze.
V této příručce si projdeme postup vytvoření, aktualizace a načtení služby Azure SQL Database s transparentním šifrováním dat (TDE) a klíči spravovanými zákazníkem (CMK) na úrovni databáze s využitím spravované identity přiřazené uživatelem pro přístup ke službě Azure Key Vault. Azure Key Vault je v jiném tenantovi Microsoft Entra než Azure SQL Database. Další informace najdete v tématu Klíče spravované zákazníkem napříč tenanty s transparentním šifrováním dat.
Poznámka:
ID Microsoft Entra se dříve označovalo jako Azure Active Directory (Azure AD).
Požadavky
- V této příručce se předpokládá, že máte dva tenanty Microsoft Entra.
- První se skládá z prostředku služby Azure SQL Database, víceklientové aplikace Microsoft Entra a spravované identity přiřazené uživatelem.
- Druhý tenant je ve službě Azure Key Vault.
- Podrobné pokyny k nastavení klíče CMK mezi tenanty a oprávnění RBAC potřebných ke konfiguraci aplikací Microsoft Entra a služby Azure Key Vault najdete v jednom z následujících průvodců:
- Azure CLI verze 2.52.0 nebo vyšší.
- Modul Az PowerShell verze 10.3.0 nebo vyšší.
- Oprávnění RBAC potřebná pro cmK na úrovni databáze jsou stejná oprávnění, která jsou nutná pro cmk na úrovni serveru. Konkrétně se stejná oprávnění RBAC, která se používají při práci se službou Azure Key Vault, spravovanými identitami a klíči CMK mezi tenanty pro šifrování dat při nečinnosti na úrovni serveru, uplatňují i na úrovni databáze. Další informace o správě klíčů a zásadách přístupu najdete v tématu Správa klíčů.
Požadované prostředky v prvním tenantovi
Pro účely tohoto kurzu předpokládáme, že první tenant patří nezávislému dodavateli softwaru (ISV) a druhý tenant pochází ze svého klienta. Další informace o tomto scénáři najdete v tématu Klíče spravované zákazníkem napříč tenanty s transparentním šifrováním dat.
Než budeme moct nakonfigurovat transparentní šifrování dat pro Azure SQL Database pomocí klíče CMK pro více tenantů, musíme mít víceklientskou aplikaci Microsoft Entra, která je nakonfigurovaná se spravovanou identitou přiřazenou uživatelem jako federovanou identitní přihlašovací údaj pro aplikaci. Postupujte podle jednoho z průvodců v části Požadavky.
V prvním tenantovi, ve kterém chcete vytvořit azure SQL Database, vytvořte a nakonfigurujte aplikaci Microsoft Entra s více tenanty.
Vytvořte spravovanou identitu přiřazenou uživatelem.
Nakonfigurujte spravovanou identitu přiřazenou uživatelem jako přihlašovací údaje federované identity pro víceklientskou aplikaci.
Poznamenejte si název aplikace a ID aplikace. Najdete ji na webu Azure Portal>v podnikových aplikacích Microsoft Entra ID>a vyhledejte vytvořenou aplikaci.
Požadované prostředky ve druhém tenantovi
Poznámka:
Moduly Azure AD a MSOnline PowerShell jsou od 30. března 2024 zastaralé. Další informace najdete v aktualizaci vyřazení. Po tomto datu je podpora těchto modulů omezená na pomoc s migrací na sadu Microsoft Graph PowerShell SDK a opravy zabezpečení. Zastaralé moduly budou dál fungovat až do 30. března 2025.
Doporučujeme migrovat na Microsoft Graph PowerShell , abyste mohli pracovat s Microsoft Entra ID (dříve Azure AD). Běžné dotazy k migraci najdete v nejčastějších dotazech k migraci.
Poznámka: Verze 1.0.x msOnline mohou dojít k přerušení po 30. červnu 2024.
Ve druhém tenantovi, ve kterém se nachází služba Azure Key Vault, vytvořte instanční objekt (aplikaci) pomocí ID aplikace z registrované aplikace z prvního tenanta. Tady je několik příkladů, jak zaregistrovat víceklientskou aplikaci. Nahraďte <TenantID> a <ApplicationID> ID tenanta z Microsoft Entra ID a ID aplikace z víceklientské aplikace:
Přejděte na >Podnikových aplikací a vyhledejte aplikaci, která byla vytvořena.
Pokud ho nemáte, vytvořte azure Key Vault a vytvořte klíč.
Vytvořte nebo nastavte zásady přístupu.
-
Při vytváření zásad přístupu vyberte oprávnění Získat, Zabalit klíč, Rozbalit klíč v části Oprávnění ke klíči.
- Při vytváření zásad přístupu vyberte víceklientní aplikaci vytvořenou v prvním kroku v možnosti Objekt zabezpečení .
Po vytvoření zásady přístupu a klíče nejprve načtěte klíč ze služby Azure Key Vault a poté si poznamenejte identifikátor klíče.
Vytvoření nové služby Azure SQL Database s využitím klíčů spravovaných zákazníkem na úrovni databáze
Následuje příklad vytvoření databáze ve službě Azure SQL Database se spravovanou identitou přiřazenou uživatelem a nastavení klíče spravovaného zákazníkem napříč tenanty na úrovni databáze. Spravovaná identita přiřazená uživatelem se vyžaduje k nastavení klíče spravovaného zákazníkem pro transparentní šifrování dat během fáze vytváření databáze.
Přejděte do centra Azure SQL v aka.ms/azuresqlhub.
V podokně azure SQL Database vyberte Zobrazit možnosti.
V okně možností služby Azure SQL Database vyberte Vytvořit službu SQL Database.
Na kartě Základy formuláře Vytvořit databázi SQL vyberte v části Project podrobnosti o požadovaném předplatném Azure, skupině prostředků a serveru pro vaši databázi. Pak pro název databáze použijte jedinečný název. Pokud jste pro Azure SQL Database nevytvořili logický server, přečtěte si téma Vytvoření serveru nakonfigurovaného s transparentním šifrováním dat pomocí klíče spravovaného zákazníkem napříč tenanty (CMK), kde najdete referenční informace.
Když se dostanete na kartu Zabezpečení , vyberte Konfigurovat transparentní šifrování dat pro klíč na úrovni databáze.
V nabídce Transparentní šifrování dat vyberte klíč spravovaný zákazníkem na úrovni databáze (CMK).
Pokud chcete spravovanou identitu přiřazenou uživatelem povolit, vyberte Konfigurovat a přidejte do prostředku spravovanou identitu přiřazenou uživatelem, pokud požadovaná identita není v nabídce Identita v seznamu Identita. Potom vyberte Použít.
V nabídce Transparentní šifrování dat vyberte Změnit klíč. Vyberte požadované předplatné, trezor klíčů, klíč a verzi klíče spravovaného zákazníkem, který se má použít pro transparentní šifrování dat. Zvolte tlačítko Vybrat. Po výběru klíče můžete podle potřeby přidat další databázové klíče pomocí identifikátoru URI služby Azure Key Vault (identifikátor objektu) v nabídce Transparentní šifrování dat.
Automatická obměna klíčů je také možné povolit na úrovni databáze pomocí zaškrtávacího políčka Automaticky otočit klíč v nabídce Transparentní šifrování dat.
Chcete-li pokračovat ve vytváření databáze, vyberte Použít .
Vyberte Další: Další nastavení.
Vyberte Další: Značky.
Zvažte použití značek Azure. Například značka "Owner" nebo "CreatedBy", která identifikuje, kdo prostředek vytvořil, a značku prostředí, která identifikuje, jestli se tento prostředek nachází v produkčním prostředí, vývoji atd. Další informace najdete v tématu Vývoj strategie vytváření názvů a označování prostředků Azure.
Vyberte možnost Zkontrolovat a vytvořit.
Na stránce Zkontrolovat a vytvořit vyberte po kontrole možnost Vytvořit.
Poznámka:
Vytvoření databáze selže, pokud spravovaná identita přiřazená uživatelem nemá pro trezor klíčů povolená správná oprávnění. Spravovaná identita přiřazená uživatelem bude potřebovat oprávnění Get, wrapKey a unwrapKey v trezoru klíčů. Další informace najdete v tématu Spravované identity pro transparentní šifrování dat pomocí klíče spravovaného zákazníkem.
Informace o instalaci aktuální verze Azure CLI najdete v článku Instalace Azure CLI .
Vytvořte databázi nakonfigurovanou pomocí spravované identity přiřazené uživatelem a transparentního šifrování dat spravovaného zákazníkem napříč tenanty pomocí příkazu az sql db create . Identifikátor klíče z druhého tenanta se dá použít v encryption-protector poli. ID víceklientské aplikace lze použít v poli federated-client-id. Tento --encryption-protector-auto-rotation parametr lze použít k povolení automatické obměně klíčů na úrovni databáze.
Pokud chcete získat ID prostředku spravované identity přiřazené uživatelem, na webu Azure Portal vyhledejte spravované identity. Vyhledejte spravovanou identitu a přejděte na Vlastnosti. Příklad ID prostředku UMI vypadá takto:/subscriptions/<subscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managedIdentity>
az sql db create --resource-group $resourceGroupName --server $serverName --name mySampleDatabase --sample-name AdventureWorksLT --edition GeneralPurpose --compute-model Serverless --family Gen5 --capacity 2 --assign-identity --user-assigned-identity-id $identityid --encryption-protector $keyid --federated-client-id $federatedclientid --encryption-protector-auto-rotation True
Vytvořte databázi nakonfigurovanou pomocí spravované identity přiřazené uživatelem a transparentního šifrování dat spravovaného zákazníkem napříč tenanty na úrovni databáze pomocí PowerShellu.
Pokyny k instalaci modulu Az PowerShell najdete v tématu Instalace Azure PowerShellu.
Použijte rutinu New-AzSqlDatabase .
V příkladu nahraďte následující hodnoty:
-
<ResourceGroupName>: Název skupiny prostředků pro logický server Azure SQL
-
<DatabaseName>: Použití jedinečného názvu databáze Azure SQL
-
<ServerName>: Použití jedinečného názvu logického serveru Azure SQL
-
<UserAssignedIdentityId>: Seznam spravovaných identit přiřazených uživatelem, které se mají přiřadit k serveru (může to být jedna nebo více)
-
<CustomerManagedKeyId>: Identifikátor klíče z druhého nájemce služby Azure Key Vault
-
<FederatedClientId>: ID aplikace víceklientských aplikací
-
-EncryptionProtectorAutoRotation: Lze použít k povolení automatické obměně klíčů na úrovni databáze.
Pokud chcete získat ID prostředku spravované identity přiřazené uživatelem, na webu Azure Portal vyhledejte spravované identity. Vyhledejte spravovanou identitu a přejděte na Vlastnosti. Příklad ID prostředku UMI vypadá takto:/subscriptions/<subscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managedIdentity>
# create a server with user-assigned managed identity and cross-tenant customer-managed TDE with automatic key rotation enabled
$params = @{
ResourceGroupName = '<ResourceGroupName>'
ServerName = '<ServerName>'
DatabaseName = '<DatabaseName>'
AssignIdentity = $true
UserAssignedIdentityId = '<UserAssignedIdentityId>'
EncryptionProtector = '<CustomerManagedKeyId>'
FederatedClientId = '<FederatedClientId>'
EncryptionProtectorAutoRotation = $true
}
New-AzSqlDatabase @params
Tady je příklad šablony ARM, která vytvoří službu Azure SQL Database se spravovanou identitou přiřazenou uživatelem a transparentním šifrováním dat spravovaným zákazníkem na úrovni databáze. V případě klíče CMK napříč tenanty použijte identifikátor klíče z druhého tenanta Azure Key Vault a ID aplikace z víceklientské aplikace.
Další informace a šablony ARM najdete v tématu Šablony Azure Resource Manageru pro Azure SQL Database.
Použití vlastního nasazení na webu Azure Portal a vytvoření vlastní šablony v editoru V dalším kroku uložte konfiguraci po vložení v příkladu.
Pokud chcete získat ID prostředku spravované identity přiřazené uživatelem, na webu Azure Portal vyhledejte spravované identity. Vyhledejte spravovanou identitu a přejděte na Vlastnosti. Příklad ID prostředku UMI
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"server_name": {
"type": "String"
},
"database_name": {
"type": "String"
},
"user_assigned_identity": {
"type": "String"
},
"encryption_protector": {
"type": "String"
},
"federated_client_id": {
"type": "String"
},
"location": {
"type": "String"
},
"encryption_protector_auto_rotation": {
"type": "bool"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Sql/servers/databases",
"apiVersion": "2023-02-01-preview",
"name": "[concat(parameters('server_name'), concat('/',parameters('database_name')))]",
"location": "[parameters('location')]",
"sku": {
"name": "Basic",
"tier": "Basic",
"capacity": 5
},
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"[parameters('user_assigned_identity')]": {}
}
},
"properties": {
"collation": "SQL_Latin1_General_CP1_CI_AS",
"maxSizeBytes": 104857600,
"catalogCollation": "SQL_Latin1_General_CP1_CI_AS",
"zoneRedundant": false,
"readScale": "Disabled",
"requestedBackupStorageRedundancy": "Geo",
"maintenanceConfigurationId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default",
"isLedgerOn": false,
"encryptionProtector": "[parameters('encryption_protector')]",
"federatedClientId": "[parameters('federated_client_id')]",
"encryptionProtectorAutoRotation": "[parameters('encryption_protector_auto_rotation')]"
}
}
]
}
Aktualizace existující služby Azure SQL Database pomocí klíčů spravovaných zákazníkem na úrovni databáze
Tady jsou příklady aktualizace existující databáze ve službě Azure SQL Database pomocí spravované identity přiřazené uživatelem a nastavení klíče spravovaného zákazníkem napříč tenanty na úrovni databáze. Spravovaná identita přiřazená uživatelem se vyžaduje k nastavení klíče spravovaného zákazníkem pro transparentní šifrování dat během fáze vytváření databáze.
Na webu Azure Portal přejděte k prostředku databáze SQL, který chcete aktualizovat pomocí klíče spravovaného zákazníkem na úrovni databáze.
V části Zabezpečení vyberte Identita. Přidejte spravovanou identitu přiřazenou uživatelem pro tuto databázi a pak vyberte Uložit.
Teď přejděte do nabídky Šifrování dat v části Zabezpečení databáze. Vyberte klíč spravovaný zákazníkem na úrovni databáze (CMK). Identita databáze pro databázi by už měla být povolená, protože jste v posledním kroku nakonfigurovali identitu.
Vyberte Změnit klíč. Vyberte požadované předplatné, trezor klíčů, klíč a verzi klíče spravovaného zákazníkem, který se má použít pro transparentní šifrování dat. Zvolte tlačítko Vybrat. Po výběru klíče můžete podle potřeby přidat další databázové klíče pomocí identifikátoru URI služby Azure Key Vault (identifikátor objektu) v nabídce Šifrování dat.
Pokud chcete povolit automatické obměně klíčů na úrovni databáze, zaškrtněte políčko Automaticky otočit klíč.
Zvolte Uložit.
Informace o instalaci aktuální verze Azure CLI najdete v článku Instalace Azure CLI .
Aktualizujte databázi nakonfigurovanou pomocí spravované identity přiřazené uživatelem a transparentního šifrování dat spravovaného zákazníkem napříč tenanty pomocí příkazu az sql db create . Identifikátor klíče z druhého tenanta se dá použít v encryption-protector poli. ID víceklientské aplikace lze použít v poli federated-client-id.
Pokud chcete získat ID prostředku spravované identity přiřazené uživatelem, na webu Azure Portal vyhledejte spravované identity. Vyhledejte spravovanou identitu a přejděte na Vlastnosti. Příklad ID prostředku UMI Tento --encryption-protector-auto-rotation parametr lze použít k povolení automatické obměně klíčů na úrovni databáze.
az sql db update --resource-group $resourceGroupName --server $serverName --name mySampleDatabase --sample-name AdventureWorksLT --edition GeneralPurpose --compute-model Serverless --family Gen5 --capacity 2 --assign-identity --user-assigned-identity-id $identityid --encryption-protector $keyid --federated-client-id $federatedclientid --keys $keys --keys-to-remove $keysToRemove --encryption-protector-auto-rotation True
Seznam $keys je seznamem klíčů oddělených mezerami, které se mají přidat do databáze, a $keysToRemove jedná se o seznam klíčů oddělených mezerami, které je potřeba z databáze odebrat.
$keys = '"https://yourvault.vault.azure.net/keys/yourkey1/6638b3667e384aefa31364f94d230000" "https://yourvault.vault.azure.net/keys/yourkey2/ fd021f84a0d94d43b8ef33154bca0000"'
$keysToRemove = '"https://yourvault.vault.azure.net/keys/yourkey3/6638b3667e384aefa31364f94d230000" "https://yourvault.vault.azure.net/keys/yourkey4/fd021f84a0d94d43b8ef33154bca0000"'
Aktualizujte databázi nakonfigurovanou pomocí spravované identity přiřazené uživatelem a transparentního šifrování dat spravovaného zákazníkem napříč tenanty na úrovni databáze pomocí PowerShellu.
Pokyny k instalaci modulu Az PowerShell najdete v tématu Instalace Azure PowerShellu.
Použijte rutinu Set-AzSqlDatabase .
V příkladu nahraďte následující hodnoty:
-
<ResourceGroupName>: Název skupiny prostředků pro logický server Azure SQL
-
<DatabaseName>: Použití jedinečného názvu databáze Azure SQL
-
<ServerName>: Použití jedinečného názvu logického serveru Azure SQL
-
<UserAssignedIdentityId>: Seznam spravovaných identit přiřazených uživatelem, které se mají přiřadit k serveru (může to být jedna nebo více)
-
<CustomerManagedKeyId>: Identifikátor klíče z druhého nájemce služby Azure Key Vault
-
<FederatedClientId>: ID aplikace víceklientských aplikací
-
<ListOfKeys>: Čárkami oddělený seznam klíčů spravovaných zákazníkem na úrovni databáze, které se mají přidat do databáze.
-
<ListOfKeysToRemove>: Čárkami oddělený seznam klíčů spravovaných zákazníkem na úrovni databáze, které se mají z databáze odebrat.
-
-EncryptionProtectorAutoRotation: Lze použít k povolení automatické obměně klíčů na úrovni databáze.
Pokud chcete získat ID prostředku spravované identity přiřazené uživatelem, na webu Azure Portal vyhledejte spravované identity. Vyhledejte spravovanou identitu a přejděte na Vlastnosti. Příklad ID prostředku UMI
$params = @{
ResourceGroupName = "<ResourceGroupName>"
ServerName = "<ServerName>"
DatabaseName = "<DatabaseName>"
AssignIdentity = $true
UserAssignedIdentityId = "<UserAssignedIdentityId>"
EncryptionProtector = "<CustomerManagedKeyId>"
FederatedClientId = "<FederatedClientId>"
KeyList = "<ListOfKeys>"
KeysToRemove = "<ListOfKeysToRemove>"
EncryptionProtectorAutoRotation = $true
}
Set-AzSqlDatabase @params
Příkladem parametru -KeyList a -KeysToRemove je:
$keysToAdd = "https://yourvault.vault.azure.net/keys/yourkey1/fd021f84a0d94d43b8ef33154bca0000","https://yourvault.vault.azure.net/keys/yourkey2/fd021f84a0d94d43b8ef33154bca0000"
$keysToRemove = "https://yourvault.vault.azure.net/keys/yourkey3/fd021f84a0d94d43b8ef33154bca0000"
Tady je příklad šablony ARM, která aktualizuje službu Azure SQL Database pomocí spravované identity přiřazené uživatelem a transparentního šifrování dat spravovaného zákazníkem na úrovni databáze. V případě klíče CMK napříč tenanty použijte identifikátor klíče z druhého tenanta Azure Key Vault a ID aplikace z víceklientské aplikace.
Další informace a šablony ARM najdete v tématu Šablony Azure Resource Manageru pro Azure SQL Database.
Použití vlastního nasazení na webu Azure Portal a vytvoření vlastní šablony v editoru V dalším kroku uložte konfiguraci po vložení v příkladu.
Pokud chcete získat ID prostředku spravované identity přiřazené uživatelem, na webu Azure Portal vyhledejte spravované identity. Vyhledejte spravovanou identitu a přejděte na Vlastnosti. Příklad ID prostředku UMI
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"server_name": {
"type": "String"
},
"database_name": {
"type": "String"
},
"user_assigned_identity": {
"type": "String"
},
"encryption_protector": {
"type": "String"
},
"location": {
"type": "String"
},
"federated_client_id": {
"type": "String"
},
"keys_to_add": {
"type": "Object"
},
"encryption_protector_auto_rotation": {
"type": "bool"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Sql/servers/databases",
"apiVersion": "2023-02-01-preview",
"name": "[concat(parameters('server_name'), concat('/',parameters('database_name')))]",
"location": "[parameters('location')]",
"sku": {
"name": "Basic",
"tier": "Basic",
"capacity": 5
},
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"[parameters('user_assigned_identity')]": {}
}
},
"properties": {
"collation": "SQL_Latin1_General_CP1_CI_AS",
"maxSizeBytes": 104857600,
"catalogCollation": "SQL_Latin1_General_CP1_CI_AS",
"zoneRedundant": false,
"readScale": "Disabled",
"requestedBackupStorageRedundancy": "Geo",
"maintenanceConfigurationId": "/subscriptions/e1775f9f-a286-474d-b6f0-29c42ac74554/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default",
"isLedgerOn": false,
"encryptionProtector": "[parameters('encryption_protector')]",
"keys": "[parameters('keys_to_add')]",
"federatedClientId": "[parameters('federated_client_id')]",
"encryptionProtectorAutoRotation": "[parameters('encryption_protector_auto_rotation')]"
}
}
]
}
Příkladem parametru encryption_protector je keys_to_add :
"keys_to_add": {
"value": {
"https://yourvault.vault.azure.net/keys/yourkey1/fd021f84a0d94d43b8ef33154bca0000": {},
"https://yourvault.vault.azure.net/keys/yourkey2/fd021f84a0d94d43b8ef33154bca0000": {}
}
},
"encryption_protector": {
"value": "https://yourvault.vault.azure.net/keys/yourkey2/fd021f84a0d94d43b8ef33154bca0000"
}
Důležité
Chcete-li odebrat klíč z databáze, musí být hodnota slovníku klíčů určitého klíče předána jako null. Například "https://yourvault.vault.azure.net/keys/yourkey1/fd021f84a0d94d43b8ef33154bca0000": null.
Zobrazení nastavení klíče spravovaného zákazníkem na úrovni databáze ve službě Azure SQL Database
Následuje příklad načtení klíčů spravovaných zákazníkem na úrovni databáze pro databázi. Prostředek Microsoft.Sql/servers/databases ARM ve výchozím nastavení zobrazuje pouze ochranu transparentním šifrováním dat a spravovanou identitu nakonfigurovanou v databázi. Chcete-li rozbalit úplný seznam klíčů, použijte parametr , -ExpandKeyList. Kromě toho je možné použít filtry, jako -KeysFilter "current" je hodnota k určitému bodu v čase (například 2023-01-01) k načtení aktuálních klíčů použitých a klíčů použitých v minulosti v určitém časovém okamžiku. Tyto filtry jsou podporovány pouze pro jednotlivé databázové dotazy, a ne pro dotazy na úrovni serveru.
Pokud chcete zobrazit klíče spravované zákazníkem na úrovni databáze na webu Azure Portal, přejděte do nabídky Šifrování dat prostředku databáze SQL.
Informace o instalaci aktuální verze Azure CLI najdete v článku Instalace Azure CLI .
# Retrieve the basic database level customer-managed key settings from a database
az sql db show --resource-group $resourceGroupName --server $serverName --name mySampleDatabase
# Retrieve the basic database level customer-managed key settings from a database and all the keys ever added
az sql db show --resource-group $resourceGroupName --server $serverName --name mySampleDatabase --expand-keys
# Retrieve the basic database level customer-managed key settings from a database and the current keys in use
az sql db show --resource-group $resourceGroupName --server $serverName --name mySampleDatabase --expand-keys --keys-filter current
# Retrieve the basic database level customer-managed key settings from a database and the keys in use at a particular point in time
az sql db show --resource-group $resourceGroupName --server $serverName --name mySampleDatabase --expand-keys --keys-filter 01-01-2015
# Retrieve all the databases in a server to check which ones are configured with database level customer-managed keys
az sql db list --resource-group $resourceGroupName --server $serverName
Pokyny k instalaci modulu Az PowerShell najdete v tématu Instalace Azure PowerShellu.
Použijte rutinu Get-AzSqlDatabase .
# Retrieve the basic database level customer-managed key settings from a database
Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName>
# Retrieve the basic database level customer-managed key settings from a database and all the keys ever added
Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName> -ExpandKeyList
# Retrieve the basic database level customer-managed key settings from a database and the current keys in use
Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName> -ExpandKeyList -KeysFilter "current"
# Retrieve the basic database level customer-managed key settings from a database and the keys in use at a particular point in time
Get-AzSqlDatabase -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <DatabaseName> -ExpandKeyList -KeysFilter '2023-02-03 00:00:00'
# Retrieve all the databases in a server to check which ones are configured with database level customer-managed keys
Get-AzSqlDatabase -resourceGroupName <ResourceGroupName> -ServerName <ServerName> | Select DatabaseName, EncryptionProtector
Použijte rozhraní REST API verze 2022-08-01-preview pro Azure SQL Database.
Načtěte základní nastavení klíče spravovaného zákazníkem na úrovni databáze z databáze.
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}?api-version=2022-08-01-preview
Načtení nastavení klíče spravovaného zákazníkem na základní úrovni databáze z databáze a všech přidaných klíčů
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}?api-version=2022-08-01-preview&$expand=keys
Načtení základního nastavení klíče spravovaného zákazníkem na úrovni databáze z databáze a aktuálních klíčů, které se používají
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}?api-version=2022-08-01-preview&$expand=keys($filter=pointInTime('current'))
Načtení základního nastavení klíče spravovaného zákazníkem na úrovni databáze z databáze a klíčů, které se používají v určitém časovém okamžiku
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}?api-version=2022-08-01-preview&$expand=keys($filter=pointInTime('2023-02-04T01:57:42.49Z'))
Výpis všech klíčů na logickém serveru
Pokud chcete načíst seznam všech klíčů (nejen primární ochrany) používaných jednotlivými databázemi na serveru, musí být dotazován jednotlivě pomocí filtrů klíčů. Následuje příklad dotazu PowerShellu, který vypíše každý klíč pod logickým serverem.
Použijte rutinu Get-AzSqlDatabase .
$dbs = Get-AzSqlDatabase -resourceGroupName <ResourceGroupName> -ServerName <ServerName>
foreach ($db in $dbs)
{
Get-AzSqlDatabase -DatabaseName $db.DatabaseName -ServerName $db.ServerName -ResourceGroupName $db.ResourceGroupName -ExpandKeyList
}
Obnovení klíče spravovaného zákazníkem na úrovni databáze ve službě Azure SQL Database
V případě nepřístupné ochrany transparentním šifrováním dat, jak je popsáno v transparentním šifrování dat Azure SQL pomocí klíče spravovaného zákazníkem, je možné po opravě přístupu ke klíči použít operaci opětovného ověření klíče, aby byla databáze přístupná. Příklady najdete v následujících pokynech nebo příkazech.
Pomocí webu Azure Portal vyhledejte prostředek databáze SQL. Jakmile vyberete prostředek databáze SQL, přejděte na kartu transparentní šifrování dat nabídky Šifrování dat v části Nastavení zabezpečení. Pokud databáze ztratila přístup ke službě Azure Key Vault, zobrazí se tlačítko Znovu obnovit klíč a vy budete mít možnost znovu obnovit stávající klíč výběrem možnosti Opakovat existující klíč nebo jiný klíč výběrem možnosti Vybrat záložní klíč.
Informace o instalaci aktuální verze Azure CLI najdete v článku Instalace Azure CLI .
az sql db tde key revalidate --resource-group $resourceGroupName --server $serverName --database mySampleDatabase
Použijte rozhraní REST API verze 2022-08-01-preview pro Azure SQL Database.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/encryptionProtector/current/revalidate?api-version=2022-08-01-preview
Vrácení klíče spravovaného zákazníkem na úrovni databáze ve službě Azure SQL Database
Databáze nakonfigurovaná pomocí klíče CMK na úrovni databáze se dá vrátit k šifrování na úrovni serveru, pokud je server nakonfigurovaný pomocí klíče spravovaného službou pomocí následujících příkazů.
Pokud chcete vrátit nastavení klíče spravovaného zákazníkem na úrovni databáze na úrovni serveru na webu Azure Portal, přejděte na kartu transparentní šifrování dat v nabídce Šifrování dat prostředku databáze SQL. Vyberte šifrovací klíč na úrovni serveru a výběrem možnosti Uložit uložte nastavení.
Poznámka:
Aby bylo možné použít nastavení šifrovacího klíče na úrovni serveru pro jednotlivé databáze, musí být logický server pro službu Azure SQL Database nakonfigurovaný tak, aby pro transparentní šifrování dat používal klíč spravovaný službou.
Informace o instalaci aktuální verze Azure CLI najdete v článku Instalace Azure CLI .
az sql db tde key revert --resource-group $resourceGroupName --server $serverName --name mySampleDatabase
Použijte rozhraní REST API verze 2022-08-01-preview pro Azure SQL Database.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/encryptionProtector/current/revert?api-version=2022-08-01-preview
Související obsah