Spravované identity pro transparentní šifrování dat pomocí klíče spravovaného zákazníkem
Platí pro: Azure SQL Database Azure SQL Managed Instance
Id Microsoft Entra, dříve Azure Active Directory, poskytuje automaticky spravovanou identitu pro ověření v jakékoli službě Azure, která podporuje ověřování Microsoft Entra, jako je Azure Key Vault, bez vystavení přihlašovacích údajů v kódu. Další informace najdete v tématu Typy spravovaných identit v Azure.
Spravované identity můžou mít dva typy:
- Přiřazené systémem
- Přiřazené uživatelem
Další informace najdete v tématu Spravované identity v Microsoft Entra ID pro Azure SQL.
Pro transparentní šifrování dat s klíčem spravovaným zákazníkem (CMK) v Azure SQL se spravovaná identita na serveru používá k poskytování přístupových práv k serveru v trezoru klíčů. Například spravovaná identita serveru přiřazená systémem by měla být k dispozici s oprávněními trezoru klíčů před povolením transparentního šifrování dat pomocí cmK na serveru.
Kromě spravované identity přiřazené systémem, která je již podporována pro transparentní šifrování dat pomocí cmK, je možné použít spravovanou identitu přiřazenou uživatelem (UMI), která je přiřazena k serveru, aby server mohl přistupovat k trezoru klíčů. Předpokladem pro povolení přístupu k trezoru klíčů je zajistit, aby spravovaná identita přiřazená uživatelem byla zadána oprávnění Get, wrapKey a unwrapKey v trezoru klíčů. Vzhledem k tomu, že spravovaná identita přiřazená uživatelem je samostatný prostředek, který je možné vytvořit a udělit přístup k trezoru klíčů, je teď možné transparentní šifrování dat s klíčem spravovaným zákazníkem povolit při vytváření serveru nebo databáze.
Poznámka:
Aby bylo možné přiřadit spravovanou identitu přiřazenou uživatelem k logickému serveru nebo spravované instanci, musí mít uživatel roli Přispěvatel SQL Serveru nebo Přispěvatel spravované instance SQL Azure RBAC spolu s další rolí Azure RBAC obsahující roli Microsoft.ManagedIdentity/userAssignedIdentities/*/assign/action .
Výhody používání UMI pro transparentní šifrování dat spravované zákazníkem
Umožňuje předem autorizovat přístup trezoru klíčů pro logické servery Azure SQL nebo spravované instance vytvořením spravované identity přiřazené uživatelem a udělením přístupu k trezoru klíčů, a to i před vytvořením serveru nebo databáze.
Umožňuje vytvoření logického serveru Azure SQL s povoleným transparentním šifrováním dat a klíčem CMK.
Umožňuje přiřadit stejnou spravovanou identitu přiřazenou uživatelem k více serverům, což eliminuje nutnost jednotlivě zapnout spravovanou identitu přiřazenou systémem pro každý logický server Azure SQL nebo spravovanou instanci a poskytnout jí přístup k trezoru klíčů.
Poskytuje možnost vynutit CMK při vytváření serveru pomocí dostupných integrovaných zásad Azure.
Důležité informace o používání UMI pro transparentní šifrování dat spravované zákazníkem
- Transparentní šifrování dat v Azure SQL ve výchozím nastavení používá primární spravovanou identitu přiřazenou uživatelem nastavenou na serveru pro přístup k trezoru klíčů. Pokud se k serveru nepřiřadily žádné identity přiřazené uživatelem, použije se pro přístup k trezoru klíčů spravovaná identita serveru přiřazená systémem.
- Při použití spravované identity přiřazené uživatelem pro transparentní šifrování dat s CMK přiřaďte identitu k serveru a nastavte ji jako primární identitu pro server.
- Primární spravovaná identita přiřazená uživatelem vyžaduje nepřetržitý přístup k trezoru klíčů (get, wrapKey, unwrapKey oprávnění). Pokud je přístup identity k trezoru klíčů odvolán nebo nejsou k dispozici dostatečná oprávnění, databáze přejde do nedostupného stavu.
- Pokud se primární spravovaná identita přiřazená uživatelem aktualizuje na jinou spravovanou identitu přiřazenou uživatelem, musí mít nová identita před aktualizací primární identity požadovaná oprávnění k trezoru klíčů.
- Pokud chcete server přepnout ze spravované identity přiřazené uživatelem na spravovanou identitu přiřazenou systémem pro přístup k trezoru klíčů, zadejte spravovanou identitu přiřazenou systémem s požadovanými oprávněními trezoru klíčů a pak odeberte všechny spravované identity přiřazené uživatelem ze serveru.
Důležité
Z Azure by se neměla odstranit primární spravovaná identita přiřazená uživatelem, která se používá pro transparentní šifrování dat s CMK. Odstraněním této identity dojde k tomu, že server ztratí přístup k trezoru klíčů a databázím, které budou nedostupné.
Omezení a známé problémy
- Pokud je trezor klíčů za virtuální sítí, která používá bránu firewall, musí být v nabídce Sítě trezoru klíčů povolená možnost Povolit důvěryhodným službám Microsoftu obejít tuto bránu firewall, pokud chcete použít spravovanou identitu přiřazenou uživatelem nebo spravovanou identitu přiřazenou systémem. Po povolení této možnosti není možné dostupné klíče uvést v nabídce transparentního šifrování dat SQL Serveru na webu Azure Portal. Pokud chcete nastavit individuální klíč CMK, musí se použít identifikátor klíče. Pokud možnost Povolit důvěryhodným službám Microsoftu obejít tuto bránu firewall není povolená, vrátí se následující chyba:
Failed to save Transparent Data Encryption settings for SQL resource: <ServerName>. Error message: The managed identity with ID '/subscriptions/subsriptionID/resourcegroups/resource_name/providers/Microsoft.ManagedIdentity/userAssignedIdentities/umi_name' requires the following Azure Key Vault permissions: 'Get, WrapKey, UnwrapKey' to the key 'https://keyvault_name/keys/key_name'. Please grant the missing permissions to the identity. Additionally ensure the key is not expired and is not disabled. For expired key, please extend the key expiry time so that SQL can use it to perform wrap and unwrap operations. If your key vault is behind a virtual network or firewall, ensure you select the 'Allow trusted Microsoft services to bypass this firewall' option. (https://aka.ms/sqltdebyokcreateserver).
- Pokud se zobrazí výše uvedená chyba, zkontrolujte, jestli je trezor klíčů za virtuální sítí nebo bránou firewall, a ujistěte se, že je povolená možnost Povolit důvěryhodné služby Microsoftu obejít tuto bránu firewall .
- Spravovaná identita přiřazená uživatelem pro spravované instance SQL se v současné době podporuje jenom v trezorech klíčů s povoleným veřejným přístupem ze všech sítí. Nepodporuje se, když brána firewall AKV filtruje konkrétní virtuální sítě a IP adresy nebo používá připojení privátního koncového bodu.
- Pokud je k serveru nebo spravované instanci přiřazeno více spravovaných identit přiřazených uživatelem, dojde k odebrání jedné identity ze serveru pomocí podokna Identita na webu Azure Portal, operace proběhne úspěšně, ale identita se ze serveru neodebere. Odebrání všech spravovaných identit přiřazených uživatelem z webu Azure Portal funguje úspěšně.
- Když je server nebo spravovaná instance nakonfigurovaná s transparentním šifrováním dat spravovaným zákazníkem a na serveru jsou povolené systémové i uživatelem přiřazené spravované identity, odebrání spravovaných identit přiřazených uživatelem ze serveru bez toho, aby spravovaná identita přiřazená systémem získala přístup k trezoru klíčů, způsobí neočekávanou chybovou zprávu. Před odebráním primární spravované identity přiřazené uživatelem (a všech ostatních spravovaných identit přiřazených uživatelem) ze serveru se ujistěte, že má spravovaná identita přiřazená systémem udělený přístup k trezoru klíčů.