Poskytnutí přístupu ke klíčům, certifikátům a tajným kódům služby Key Vault pomocí řízení přístupu na základě role v Azure
Poznámka:
Poskytovatel prostředků key Vault podporuje dva typy prostředků: trezory a spravované HSM. Řízení přístupu popsané v tomto článku platí jenom pro trezory. Další informace o řízení přístupu pro spravované HSM najdete v tématu Řízení přístupu spravovaného HSM.
Poznámka:
Aplikace Azure konfigurace certifikátu služby prostřednictvím webu Azure Portal nepodporuje model oprávnění RBAC služby Key Vault. Můžete použít azure PowerShell, Azure CLI, nasazení šablon ARM s přiřazením role uživatele certifikátu služby Key Vault pro globální identitu služby App Service, například Microsoft Aplikace Azure Service ve veřejném cloudu.
Řízení přístupu na základě role v Azure (Azure RBAC) je autorizační systém založený na Azure Resource Manageru , který poskytuje centralizovanou správu přístupu k prostředkům Azure.
Azure RBAC umožňuje uživatelům spravovat klíče, tajné kódy a oprávnění certifikátů a poskytuje jedno místo pro správu všech oprávnění ve všech trezorech klíčů.
Model Azure RBAC umožňuje uživatelům nastavit oprávnění na různých úrovních rozsahu: skupina pro správu, předplatné, skupina prostředků nebo jednotlivé prostředky. Azure RBAC pro trezor klíčů také umožňuje uživatelům mít samostatná oprávnění k jednotlivým klíčům, tajným klíčům a certifikátům.
Další informace najdete v tématu Řízení přístupu na základě role v Azure (Azure RBAC).
Osvědčené postupy pro přiřazení rolí jednotlivých klíčů, tajných klíčů a certifikátů
Naším doporučením je použít trezor pro každou aplikaci na prostředí (vývoj, předprodukční a produkční) s rolemi přiřazenými v oboru trezoru klíčů.
Přiřazování rolí pro jednotlivé klíče, tajné klíče a certifikáty by se mělo vyhnout. Výjimkou je scénář, kdy se jednotlivé tajné kódy musí sdílet mezi více aplikacemi; Například v případě, že jedna aplikace potřebuje přístup k datům z jiné aplikace.
Další informace o pokynech pro správu služby Azure Key Vault najdete tady:
Předdefinované role Azure pro operace roviny dat ve službě Key Vault
Poznámka:
Role Key Vault Contributor
je pro operace roviny správy pouze pro správu trezorů klíčů. Nepovoluje přístup ke klíčům, tajným klíčům a certifikátům.
Předdefinovaná role | Popis | ID |
---|---|---|
Správce služby Key Vault | Proveďte všechny operace roviny dat v trezoru klíčů a všech objektů v něm, včetně certifikátů, klíčů a tajných kódů. Nejde spravovat prostředky trezoru klíčů ani spravovat přiřazení rolí. Funguje jenom pro trezory klíčů, které používají model oprávnění Řízení přístupu na základě role v Azure. | 00482a5a-887f-4fb3-b363-3b7fe8e74483 |
Čtenář služby Key Vault | Čtení metadat trezorů klíčů a jeho certifikátů, klíčů a tajných kódů Citlivé hodnoty, jako je obsah tajného kódu nebo materiál klíče, nelze číst. Funguje jenom pro trezory klíčů, které používají model oprávnění Řízení přístupu na základě role v Azure. | 21090545-7ca7-4776-b22c-e363652d74d2 |
Operátor vymazání služby Key Vault | Umožňuje trvalé odstranění obnovitelně odstraněných trezorů. | a68e7c17-0ab2-4c09-9a58-125dae29748c |
Officer pro certifikáty služby Key Vault | Proveďte jakoukoli akci s certifikáty trezoru klíčů, s výjimkou čtení částí tajných kódů a klíčů a správy oprávnění. Funguje jenom pro trezory klíčů, které používají model oprávnění Řízení přístupu na základě role v Azure. | a4417e6f-fecd-4de8-b567-7b0420556985 |
Uživatel certifikátu služby Key Vault | Přečtěte si celý obsah certifikátu, včetně části tajných kódů a klíčů. Funguje jenom pro trezory klíčů, které používají model oprávnění Řízení přístupu na základě role v Azure. | db79e9a7-68ee-4b58-9aeb-b90e7c24fcba |
Kryptografický důstojník key vaultu | Proveďte všechny akce s klíči trezoru klíčů s výjimkou oprávnění pro správu. Funguje jenom pro trezory klíčů, které používají model oprávnění Řízení přístupu na základě role v Azure. | 14b46e9e-c2b7-41b4-b07b-48a6ebf60603 |
Uživatel šifrování šifrovací služby Key Vault | Čtení metadat klíčů a provádění operací zabalení/rozbalení Funguje jenom pro trezory klíčů, které používají model oprávnění Řízení přístupu na základě role v Azure. | e147488a-f6f5-4113-8e2d-b22465e65bf6 |
Uživatel kryptografických služeb Key Vault | Provádění kryptografických operací pomocí klíčů Funguje jenom pro trezory klíčů, které používají model oprávnění Řízení přístupu na základě role v Azure. | 12338af0-0e69-4776-bea7-57ae8d297424 |
Uživatel kryptografických služeb služby Key Vault | Klíče vydaných verzí pro důvěrné výpočetní prostředí Azure a ekvivalentní prostředí Funguje jenom pro trezory klíčů, které používají model oprávnění Řízení přístupu na základě role v Azure. | |
Key Vault Secrets Officer | Proveďte jakoukoli akci s tajnými klíči trezoru klíčů s výjimkou oprávnění pro správu. Funguje jenom pro trezory klíčů, které používají model oprávnění Řízení přístupu na základě role v Azure. | b86a8fe4-44ce-4948-aee5-eccb2c155cd7 |
Uživatel tajných kódů služby Key Vault | Čtení obsahu tajných kódů včetně části tajného kódu certifikátu s privátním klíčem Funguje jenom pro trezory klíčů, které používají model oprávnění Řízení přístupu na základě role v Azure. | 4633458b-17de-408a-b874-0445c86b69e6 |
Další informace o definicích předdefinovaných rolí Azure najdete v tématu Předdefinované role Azure.
Správa předdefinovaných přiřazení rolí roviny dat ve službě Key Vault
Předdefinovaná role | Popis | ID |
---|---|---|
Správce přístupu k datům služby Key Vault | Spravujte přístup ke službě Azure Key Vault přidáním nebo odebráním přiřazení rolí pro správce služby Key Vault, správce certifikátů služby Key Vault, kryptografického důstojníka služby Key Vault, uživatele šifrování služby Key Vault, uživatele kryptografických služeb Key Vault, čtenáře služby Key Vault, správce tajných kódů služby Key Vault nebo role uživatele tajných kódů služby Key Vault. Zahrnuje podmínku ABAC pro omezení přiřazení rolí. | 8b54135c-b56d-4d72-a534-26097cfdc8d8 |
Použití tajného klíče, klíče a certifikátu Azure RBAC se službou Key Vault
Nový model oprávnění Azure RBAC pro trezor klíčů poskytuje alternativu k modelu oprávnění zásad přístupu k trezoru.
Požadavky
Mít předplatné Azure. Pokud ne, můžete si před zahájením vytvořit bezplatný účet .
Pokud chcete spravovat přiřazení rolí, musíte mít Microsoft.Authorization/roleAssignments/write
a Microsoft.Authorization/roleAssignments/delete
mít oprávnění, jako je správce přístupu k datům služby Key Vault (s omezenými oprávněními pouze k přiřazování nebo odebírání konkrétních rolí služby Key Vault), správce uživatelských přístupů nebo vlastník.
Povolení oprávnění Azure RBAC ve službě Key Vault
Poznámka:
Změna modelu oprávnění vyžaduje neomezené oprávnění Microsoft.Authorization/roleAssignments/write, které je součástí rolí Vlastník a Správce uživatelských přístupů. Role klasického správce předplatného, jako je Správce služeb a Spolusprávce nebo Omezený správce přístupu k datům služby Key Vault, nelze použít ke změně modelu oprávnění.
Povolení oprávnění Azure RBAC pro nový trezor klíčů:
Povolení oprávnění Azure RBAC pro existující trezor klíčů:
Důležité
Nastavení modelu oprávnění Azure RBAC zneplatní všechna oprávnění zásad přístupu. Pokud nejsou přiřazené ekvivalentní role Azure, může to způsobit výpadky.
Přiřazení role
Poznámka:
Místo názvu role ve skriptech se doporučuje použít jedinečné ID role. Proto pokud se role přejmenuje, skripty budou i nadále fungovat. V tomto názvu role dokumentu se používá pro čitelnost.
Pokud chcete vytvořit přiřazení role pomocí Azure CLI, použijte příkaz az role assignment :
az role assignment create --role {role-name-or-id} --assignee {assignee-upn}> --scope {scope}
Úplné podrobnosti najdete v tématu Přiřazení rolí Azure pomocí Azure CLI.
Přiřazení role oboru skupiny prostředků
az role assignment create --role "Key Vault Reader" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}
Úplné podrobnosti najdete v tématu Přiřazení rolí Azure pomocí Azure CLI.
Výše uvedené přiřazení role umožňuje vypsat objekty trezoru klíčů v trezoru klíčů.
Přiřazení role oboru služby Key Vault
az role assignment create --role "Key Vault Secrets Officer" --assignee {assignee-upn} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}
Úplné podrobnosti najdete v tématu Přiřazení rolí Azure pomocí Azure CLI.
Přiřazení role oboru tajných kódů
Poznámka:
Tajné klíče trezoru klíčů, certifikát, přiřazení rolí oboru klíčů by se měly používat jenom v omezených scénářích popsaných zde , aby byly v souladu s osvědčenými postupy zabezpečení.
az role assignment create --role "Key Vault Secrets Officer" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}/secrets/RBACSecret
Úplné podrobnosti najdete v tématu Přiřazení rolí Azure pomocí Azure CLI.
Testování a ověření
Poznámka:
Prohlížeče po odebrání přiřazení rolí vyžadují ukládání do mezipaměti a aktualizaci stránky. Počkejte několik minut, než se přiřazení rolí aktualizují.
Ověřte přidání nového tajného kódu bez role "Key Vault Secrets Officer" na úrovni trezoru klíčů.
Přejděte na kartu Řízení přístupu k trezoru klíčů (IAM) a odeberte přiřazení role "Key Vault Secrets Officer" pro tento prostředek.
Přejděte k dříve vytvořenému tajnému kódu. Zobrazí se všechny vlastnosti tajných kódů.
Při vytváření nového tajného kódu (Tajné kódy > + vygenerovat/ import) by se měla zobrazit tato chyba:
Ověřte úpravy tajných kódů bez role "Key Vault Secret Officer" na úrovni tajných kódů.
Přejděte na dříve vytvořenou kartu Řízení přístupu k tajným kódům (IAM) a odeberte přiřazení role "Key Vault Secrets Officer" pro tento prostředek.
Přejděte k dříve vytvořenému tajnému kódu. Zobrazí se vlastnosti tajného kódu.
Ověřte tajné kódy přečtené bez role čtenáře na úrovni trezoru klíčů.
Přejděte na kartu Řízení přístupu ke skupině prostředků trezoru klíčů (IAM) a odeberte přiřazení role Čtenář služby Key Vault.
Při přechodu na kartu Tajné kódy trezoru klíčů by se měla zobrazit tato chyba:
Vytváření vlastních rolí
az role definition create command
az role definition create --role-definition '{ \
"Name": "Backup Keys Operator", \
"Description": "Perform key backup/restore operations", \
"Actions": [
], \
"DataActions": [ \
"Microsoft.KeyVault/vaults/keys/read ", \
"Microsoft.KeyVault/vaults/keys/backup/action", \
"Microsoft.KeyVault/vaults/keys/restore/action" \
], \
"NotDataActions": [
], \
"AssignableScopes": ["/subscriptions/{subscriptionId}"] \
}'
Další informace o vytváření vlastních rolí najdete v tématech:
Nejčastější dotazy
Můžu k zajištění izolace aplikačních týmů ve službě Key Vault ve službě Key Vault použít přiřazení modelu přístupu na základě role (RBAC)?
Ne. Model oprávnění RBAC umožňuje přiřadit přístup k jednotlivým objektům ve službě Key Vault uživatelům nebo aplikacím, ale všechny operace správy, jako je řízení přístupu k síti, monitorování a správa objektů, vyžadují oprávnění na úrovni trezoru, která pak zpřístupní zabezpečené informace operátorům napříč týmy aplikací.