Beveiligde toegang tot een key vaultSecure access to a key vault

Azure Key Vault is een cloudservice die beveiligt uw versleutelingssleutels en geheimen, zoals certificaten, verbindingsreeksen en wachtwoorden.Azure Key Vault is a cloud service that safeguards encryption keys and secrets like certificates, connection strings, and passwords. Omdat deze gegevens vertrouwelijk zijn en bedrijfskritiek, u moet voor het beveiligen van toegang tot uw key vaults door toe te staan alleen gemachtigde toepassingen en gebruikers.Because this data is sensitive and business critical, you need to secure access to your key vaults by allowing only authorized applications and users. Dit artikel bevat een overzicht van het model voor Key Vault.This article provides an overview of the Key Vault access model. Het wordt verificatie en autorisatie worden uitgelegd en wordt beschreven hoe u veilig toegang tot uw key vaults.It explains authentication and authorization, and describes how to secure access to your key vaults.

Notitie

Dit artikel is bijgewerkt voor het gebruik van de nieuwe Azure PowerShell Az-module.This article has been updated to use the new Azure PowerShell Az module. U kunt nog steeds de AzureRM-module gebruiken. deze patches blijven worden ontvangen tot ten minste december 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Zie voor meer informatie over de nieuwe Az-module en compatibiliteit met AzureRM Introductie van de nieuwe Az-module van Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Zie Install Azure PowerShellvoor de installatie-instructies voor AZ-modules.For Az module installation instructions, see Install Azure PowerShell.

Overzicht van Access-modelAccess model overview

Toegang tot een key vault wordt geregeld via twee interfaces: de beheerlaag en de gegevenslaag.Access to a key vault is controlled through two interfaces: the management plane and the data plane. Het beheervlak is waar u Key Vault beheren zelf.The management plane is where you manage Key Vault itself. Bewerkingen op dit vlak zijn onder meer het maken en verwijderen van sleutelkluizen, bij het ophalen van de eigenschappen van de Key Vault en toegangsbeleid wordt bijgewerkt.Operations in this plane include creating and deleting key vaults, retrieving Key Vault properties, and updating access policies. Het vlak van gegevens is waar u werkt met de gegevens die zijn opgeslagen in een key vault.The data plane is where you work with the data stored in a key vault. U kunt toevoegen, verwijderen en wijzigen van sleutels, geheimen en certificaten.You can add, delete, and modify keys, secrets, and certificates.

Voor toegang tot een key vault in een van beide vlak, moet alle aanroepers (gebruikers of toepassingen) juiste verificatie en autorisatie.To access a key vault in either plane, all callers (users or applications) must have proper authentication and authorization. Verificatie wordt de identiteit van de oproepende functie.Authentication establishes the identity of the caller. Autorisatie bepaalt welke bewerkingen de aanroeper kan worden uitgevoerd.Authorization determines which operations the caller can execute.

Beide lagen gebruiken Azure Active Directory (Azure AD) voor verificatie.Both planes use Azure Active Directory (Azure AD) for authentication. Het beheervlak op rollen gebaseerd toegangsbeheer (RBAC) wordt gebruikt voor autorisatie, en de gegevenslaag maakt gebruik van een toegangsbeleid voor Key Vault.For authorization, the management plane uses role-based access control (RBAC) and the data plane uses a Key Vault access policy.

Active Directory-authenticatieActive Directory authentication

Wanneer u een key vault in een Azure-abonnement maakt, het automatisch gekoppeld aan de Azure AD-tenant van het abonnement.When you create a key vault in an Azure subscription, it's automatically associated with the Azure AD tenant of the subscription. Alle aanroepers in beide lagen moeten registreren in deze tenant en verifiëren voor toegang tot de key vault.All callers in both planes must register in this tenant and authenticate to access the key vault. In beide gevallen toepassingen hebben toegang tot Key Vault op twee manieren:In both cases, applications can access Key Vault in two ways:

  • Gebruikers- en toepassing toegang: De toepassing heeft toegang tot Key Vault namens een gebruiker is aangemeld.User plus application access: The application accesses Key Vault on behalf of a signed-in user. Voorbeelden van dit type toegang zijn Azure PowerShell en Azure portal.Examples of this type of access include Azure PowerShell and the Azure portal. Gebruikerstoegang wordt verleend op twee manieren.User access is granted in two ways. Gebruikers hebben toegang tot Key Vault vanuit elke toepassing, of ze een bepaalde toepassing moeten gebruiken (aangeduid als samengestelde identiteit).Users can access Key Vault from any application, or they must use a specific application (referred to as compound identity).
  • Alleen de toepassing toegang: De toepassing wordt uitgevoerd als een daemon-service of achtergrond-taak.Application-only access: The application runs as a daemon service or background job. De toepassings-id krijgt toegang tot de key vault.The application identity is granted access to the key vault.

Voor beide typen toegang, wordt de toepassing verifieert met Azure AD.For both types of access, the application authenticates with Azure AD. De toepassing gebruikmaakt van een ondersteund verificatiemethode op basis van het toepassingstype.The application uses any supported authentication method based on the application type. De toepassing krijgt een token voor een resource in het vlak van om toegang te verlenen.The application acquires a token for a resource in the plane to grant access. De resource heeft een eindpunt in het vlak van beheer of gegevens, op basis van de Azure-omgeving.The resource is an endpoint in the management or data plane, based on the Azure environment. De toepassing gebruikt het token en stuurt een REST-API-aanvraag naar Key Vault.The application uses the token and sends a REST API request to Key Vault. Voor meer informatie, Controleer de gehele verificatiestroom.To learn more, review the whole authentication flow.

Het model van een enkel verificatiemechanisme voor beide lagen heeft een aantal voordelen:The model of a single mechanism for authentication to both planes has several benefits:

  • Organisaties kunnen de toegang tot alle key vaults in hun organisatie centraal beheren.Organizations can control access centrally to all key vaults in their organization.
  • Als een gebruiker verlaat, verliest ze direct toegang tot alle key vaults in de organisatie.If a user leaves, they instantly lose access to all key vaults in the organization.
  • Organisaties kunnen de verificatie aanpassen met behulp van de opties in Azure AD, zoals meervoudige verificatie voor extra beveiliging in te schakelen.Organizations can customize authentication by using the options in Azure AD, such as to enable multi-factor authentication for added security.

Resource-eindpuntResource endpoints

Toepassingen toegang tot de vlakken via-eindpunten.Applications access the planes through endpoints. De besturingselementen voor toegang voor de twee vlakken werken onafhankelijk van elkaar.The access controls for the two planes work independently. Een toepassing om toegang te verlenen voor het gebruik van sleutels in een key vault, kunt u toegang tot de gegevenslaag verlenen met behulp van een toegangsbeleid voor Key Vault.To grant an application access to use keys in a key vault, you grant data plane access by using a Key Vault access policy. Als u wilt verlenen aan een gebruiker alleen toegang tot Key Vault-eigenschappen en tags, maar niet de toegang tot gegevens (sleutels, geheimen of certificaten), verleent u toegang tot de beheerlaag met RBAC.To grant a user read access to Key Vault properties and tags, but not access to data (keys, secrets, or certificates), you grant management plane access with RBAC.

De volgende tabel ziet u de eindpunten voor het beheer en de gegevens vlakken.The following table shows the endpoints for the management and data planes.

Toegang tot vlakAccess plane Eindpunten voor toegangAccess endpoints BewerkingenOperations Toegang tot mechanisme beherenAccess control mechanism
BeheerlaagManagement plane Wereldwijd:Global:
management.azure.com:443management.azure.com:443

Azure China 21Vianet:Azure China 21Vianet:
management.chinacloudapi.cn:443management.chinacloudapi.cn:443

Azure van de Amerikaanse overheid:Azure US Government:
management.usgovcloudapi.net:443management.usgovcloudapi.net:443

Azure Duitsland:Azure Germany:
management.microsoftazure.de:443management.microsoftazure.de:443
Maken, lezen, bijwerken en verwijderen van sleutelkluizenCreate, read, update, and delete key vaults

Toegangsbeleid voor Key Vault instellenSet Key Vault access policies

Labels voor Key Vault instellenSet Key Vault tags
Azure Resource Manager RBACAzure Resource Manager RBAC
GegevenslaagData plane Wereldwijd:Global:
<kluisnaam>.vault.azure.net:443<vault-name>.vault.azure.net:443

Azure China 21Vianet:Azure China 21Vianet:
<kluisnaam>.vault.azure.cn:443<vault-name>.vault.azure.cn:443

Azure van de Amerikaanse overheid:Azure US Government:
<kluisnaam>.vault.usgovcloudapi.net:443<vault-name>.vault.usgovcloudapi.net:443

Azure Duitsland:Azure Germany:
<kluisnaam>.vault.microsoftazure.de:443<vault-name>.vault.microsoftazure.de:443
Sleutels: ontsleutelen, versleutelen,Keys: decrypt, encrypt,
uitpakken, inpakken, controleren, ondertekenen,unwrap, wrap, verify, sign,
ophalen, lijsten, bijwerken, maken,get, list, update, create,
importeren, verwijderen, back-up en herstelimport, delete, backup, restore

Geheimen: ophalen, weergeven, instellen en verwijderenSecrets: get, list, set, delete
Toegangsbeleid voor Key VaultKey Vault access policy

Beheer- en RBACManagement plane and RBAC

In het beheervlak gebruikt u RBAC (op rollen gebaseerd toegangsbeheer) voor het autoriseren van de bewerkingen die een aanroeper kunt uitvoeren.In the management plane, you use RBAC(Role Based Access Control) to authorize the operations a caller can execute. In de RBAC-model heeft elk Azure-abonnement een exemplaar van Azure AD.In the RBAC model, each Azure subscription has an instance of Azure AD. U kunt toegang verlenen aan gebruikers, groepen en toepassingen in deze directory.You grant access to users, groups, and applications from this directory. Toegang te krijgen tot het beheren van resources in het Azure-abonnement die gebruikmaken van de Azure Resource Manager-implementatiemodel.Access is granted to manage resources in the Azure subscription that use the Azure Resource Manager deployment model. Om toegang te verlenen, gebruikt u de Azure-portal, wordt de Azure CLI, Azure PowerShell, of de Azure Resource Manager REST API's.To grant access, use the Azure portal, the Azure CLI, Azure PowerShell, or the Azure Resource Manager REST APIs.

U maakt een key vault in een resourcegroep en toegang beheren met behulp van Azure AD.You create a key vault in a resource group and manage access by using Azure AD. U verleent gebruikers of groepen van de mogelijkheid voor het beheren van de sleutelkluizen in een resourcegroep.You grant users or groups the ability to manage the key vaults in a resource group. In dat geval verleent u de toegang op het niveau van een bepaald bereik in juiste RBAC-rollen toe te wijzen.You grant the access at a specific scope level by assigning appropriate RBAC roles. Om toegang te verlenen aan een gebruiker voor het beheren van sleutelkluizen, u een vooraf gedefinieerde toewijzen key vault Contributor rol aan de gebruiker op een bepaald bereik.To grant access to a user to manage key vaults, you assign a predefined key vault Contributor role to the user at a specific scope. Het niveau van de volgende bereiken kunnen worden toegewezen aan een RBAC-rol:The following scopes levels can be assigned to an RBAC role:

  • Abonnement: Een RBAC-rol op het abonnementsniveau van het is van toepassing op alle resourcegroepen en resources in dat abonnement.Subscription: An RBAC role assigned at the subscription level applies to all resource groups and resources within that subscription.
  • Resourcegroep: Een RBAC-rol die is toegewezen op het niveau van de resource is van toepassing op alle resources in die resourcegroep.Resource group: An RBAC role assigned at the resource group level applies to all resources in that resource group.
  • Specifieke resource: Een RBAC-rol die is toegewezen aan een specifieke resource, geldt voor die bron.Specific resource: An RBAC role assigned for a specific resource applies to that resource. In dit geval heeft de resource een specifieke key vault.In this case, the resource is a specific key vault.

Er zijn verschillende vooraf gedefinieerde rollen.There are several predefined roles. Als een vooraf gedefinieerde rollen niet aansluiten bij uw behoeften, kunt u uw eigen rollen definiëren.If a predefined role doesn't fit your needs, you can define your own role. Zie voor meer informatie, RBAC: Ingebouwde rollen.For more information, see RBAC: Built-in roles.

Belangrijk

Als een gebruiker heeft Contributor machtigingen voor de beheerlaag van een sleutelkluis, de gebruiker kan zich toegang verlenen tot de gegevenslaag door in te stellen van een toegangsbeleid voor Key Vault.If a user has Contributor permissions to a key vault management plane, the user can grant themselves access to the data plane by setting a Key Vault access policy. U moet zorgvuldig beheren wie heeft Contributor rollen gebaseerde toegang tot uw key vaults.You should tightly control who has Contributor role access to your key vaults. Zorg ervoor dat alleen gemachtigde personen kunnen openen en beheren van uw sleutelkluizen, sleutels, geheimen en certificaten.Ensure that only authorized persons can access and manage your key vaults, keys, secrets, and certificates.

Gegevensbeleid voor vlak- en toegangsbeheerData plane and access policies

U verleent toegang tot de gegevenslaag door het instellen van toegangsbeleid voor Key Vault voor een key vault.You grant data plane access by setting Key Vault access policies for a key vault. Als u wilt deze toegangsbeleid instellen, een gebruiker, groep of toepassing moet hebben Contributor machtigingen voor de beheerlaag voor die key vault.To set these access policies, a user, group, or application must have Contributor permissions for the management plane for that key vault.

Verleent u een gebruiker, groep of toegang tot toepassingen voor het uitvoeren van bepaalde bewerkingen voor sleutels of geheimen in een key vault.You grant a user, group, or application access to execute specific operations for keys or secrets in a key vault. Key Vault ondersteunt maximaal 1.024 vermeldingen van het toegangsbeleid voor key vault.Key Vault supports up to 1,024 access policy entries for a key vault. Als u wilt verlenen toegang tot de gegevenslaag om meerdere gebruikers, een Azure AD-beveiligingsgroep maken en gebruikers toevoegen aan die groep.To grant data plane access to several users, create an Azure AD security group and add users to that group.

Toegangsbeleid voor Key Vault verlenen machtigingen afzonderlijk voor sleutels, geheimen en certificaten.Key Vault access policies grant permissions separately to keys, secrets, and certificate. U kunt een gebruikerstoegang alleen voor sleutels en geheimen mogen verlenen.You can grant a user access only to keys and not to secrets. Toegangsmachtigingen voor sleutels, geheimen en certificaten zijn op het kluisniveau van de.Access permissions for keys, secrets, and certificates are at the vault level. Toegangsbeleid voor Key Vault bieden geen ondersteuning voor gedetailleerde, op objectniveau machtigingen, zoals een specifieke sleutel, het geheim of het certificaat.Key Vault access policies don't support granular, object-level permissions like a specific key, secret, or certificate. Als u wilt dat het toegangsbeleid van key vault, gebruikt u de Azure-portal, wordt de Azure CLI, Azure PowerShell, of de Key Vault Management REST API's.To set access policies for a key vault, use the Azure portal, the Azure CLI, Azure PowerShell, or the Key Vault Management REST APIs.

Belangrijk

Key Vault-toegangsbeleid toepassen op het kluisniveau van de.Key Vault access policies apply at the vault level. Wanneer een gebruiker is gemachtigd om te maken en verwijderen van sleutels, ze kunnen deze bewerkingen uitvoeren op alle sleutels in die key vault.When a user is granted permission to create and delete keys, they can perform those operations on all keys in that key vault.

U kunt toegang tot de gegevenslaag beperken met behulp van virtual network-service-eindpunten voor Azure Key Vault.You can restrict data plane access by using virtual network service endpoints for Azure Key Vault. U kunt configureren firewalls en virtuele netwerkregels voor een extra beveiligingslaag.You can configure firewalls and virtual network rules for an additional layer of security.

VoorbeeldExample

In dit voorbeeld wordt er gewerkt aan een toepassing die gebruikmaakt van een certificaat voor SSL, Azure Storage voor het opslaan van gegevens en een RSA 2048-bits sleutel voor tekenbewerkingen.In this example, we're developing an application that uses a certificate for SSL, Azure Storage to store data, and an RSA 2,048-bit key for sign operations. De toepassing wordt uitgevoerd in een Azure virtuele machine (VM) (of een virtuele-machineschaalset).Our application runs in an Azure virtual machine (VM) (or a virtual machine scale set). We kunnen een key vault gebruiken voor het opslaan van geheimen van de toepassing.We can use a key vault to store the application secrets. We kunnen de bootstrap-certificaat dat door de toepassing wordt gebruikt voor verificatie met Azure AD op te slaan.We can store the bootstrap certificate that's used by the application to authenticate with Azure AD.

We moeten toegang hebben tot de volgende opgeslagen sleutels en geheimen:We need access to the following stored keys and secrets:

  • SSL-certificaat: Wordt gebruikt voor SSL.SSL certificate: Used for SSL.
  • Opslagsleutel: Gebruikt voor toegang tot het opslagaccount.Storage key: Used to access the Storage account.
  • RSA 2048-bits sleutel: Gebruikt voor tekenbewerkingen.RSA 2,048-bit key: Used for sign operations.
  • Bootstrap-certificaat: Gebruikt voor verificatie met Azure AD.Bootstrap certificate: Used to authenticate with Azure AD. Nadat er toegang is verleend, kunnen we de opslagsleutel ophalen en de RSA-sleutel gebruiken voor het ondertekenen van.After access is granted, we can fetch the storage key and use the RSA key for signing.

We moeten voor het definiëren van de volgende rollen als u wilt implementeren, beheren en controleren van de toepassing opgeven:We need to define the following roles to specify who can manage, deploy, and audit our application:

  • Beveiligingsteam: IT-afdeling van het kantoor van de CSO (Chief Security Officer) of soortgelijke bijdragers.Security team: IT staff from the office of the CSO (Chief Security Officer) or similar contributors. Het beveiligingsteam is verantwoordelijk voor de juiste beveiliging van geheimen.The security team is responsible for the proper safekeeping of secrets. De geheimen kunnen bevatten SSL-certificaten, RSA-sleutels voor het ondertekenen, tekenreeksen voor databaseverbindingen en opslagaccountsleutels.The secrets can include SSL certificates, RSA keys for signing, connection strings, and storage account keys.
  • Ontwikkelaars en operators: Het personeel dat de toepassing ontwikkelen en implementeren in Azure.Developers and operators: The staff who develop the application and deploy it in Azure. De leden van dit team geen deel uitmaken van de medewerkers van de beveiliging.The members of this team aren't part of the security staff. Deze mag geen toegang tot gevoelige gegevens, zoals SSL-certificaten en RSA-sleutels bevatten.They shouldn't have access to sensitive data like SSL certificates and RSA keys. Alleen de toepassing die ze implementeren moet toegang tot gevoelige gegevens hebben.Only the application that they deploy should have access to sensitive data.
  • Auditors: Deze rol is voor inzenders die geen lid zijn van de ontwikkeling of de algemene IT-personeel.Auditors: This role is for contributors who aren't members of the development or general IT staff. Ze Controleer het gebruik en onderhoud van certificaten, sleutels en geheimen te voldoen aan de beveiligingsstandaarden.They review the use and maintenance of certificates, keys, and secrets to ensure compliance with security standards.

Er is een andere rol die zich buiten het bereik van de toepassing: het abonnement (of de resourcegroep) beheerder.There's another role that's outside the scope of our application: the subscription (or resource group) administrator. De beheerder van abonnement stelt u initiële toegangsmachtigingen voor het beveiligingsteam.The subscription admin sets up initial access permissions for the security team. Ze verlenen toegang tot het security team met behulp van een resourcegroep die de resources die door de toepassing nodig heeft.They grant access to the security team by using a resource group that has the resources required by the application.

We wilt toestaan dat de volgende bewerkingen voor onze functies:We need to authorize the following operations for our roles:

BeveiligingsteamSecurity team

  • Key vaults maken.Create key vaults.
  • Schakel logboekregistratie van Key Vault.Turn on Key Vault logging.
  • Sleutels en geheimen toevoegen.Add keys and secrets.
  • Maak back-ups van sleutels voor herstel na noodgevallen.Create backups of keys for disaster recovery.
  • Instellen van toegangsbeleid voor Key Vault om machtigingen te verlenen aan gebruikers en toepassingen voor specifieke bewerkingen.Set Key Vault access policies to grant permissions to users and applications for specific operations.
  • De sleutels en geheimen periodiek te herstellen.Roll the keys and secrets periodically.

Ontwikkelaars en operatorsDevelopers and operators

  • Ophalen van verwijzingen van de security-team voor de bootstrap en de SSL-certificaten (vingerafdrukken), de opslagsleutel (geheime URI) en de RSA-sleutel (sleutel-URI) voor het ondertekenen.Get references from the security team for the bootstrap and SSL certificates (thumbprints), storage key (secret URI), and RSA key (key URI) for signing.
  • Ontwikkel en implementeer de toepassing voor toegang tot sleutels en geheimen via een programma.Develop and deploy the application to access keys and secrets programmatically.

AuditorsAuditors

  • Bekijk de logboeken van Key Vault om te bevestigen dat de juiste gebruik van sleutels en geheimen en voldoet aan de beveiligingsnormen voor gegevens.Review the Key Vault logs to confirm proper use of keys and secrets, and compliance with data security standards.

De volgende tabel geeft een overzicht van de toegangsmachtigingen voor onze functies en de toepassing.The following table summarizes the access permissions for our roles and application.

RolRole Machtigingen voor de beheerlaagManagement plane permissions Machtigingen voor de gegevenslaagData plane permissions
BeveiligingsteamSecurity team Inzender voor Key VaultKey Vault Contributor Sleutels: back-ups maken, verwijderen, ophalen, importeren, sorteren, herstellenKeys: backup, create, delete, get, import, list, restore
Geheimen: alle bewerkingenSecrets: all operations
Ontwikkelaars en operatorsDevelopers and operators Implementatiemachtigingen voor Key VaultKey Vault deploy permission

Opmerking: Deze machtiging kan geïmplementeerde VM's voor het ophalen van geheimen in een key vault.Note: This permission allows deployed VMs to fetch secrets from a key vault.
GeenNone
AuditorsAuditors GeenNone Sleutels: weergevenKeys: list
Geheimen: weergevenSecrets: list

Opmerking: Deze machtiging kunt auditors kenmerken (tags, activering datums, vervaldatums) voor sleutels en geheimen die niet worden weergegeven in de logboeken controleren.Note: This permission enables auditors to inspect attributes (tags, activation dates, expiration dates) for keys and secrets not emitted in the logs.
ToepassingApplication GeenNone Sleutels: ondertekenenKeys: sign
Geheimen: ophalenSecrets: get

De drie teamrollen voor het moeten toegang tot andere resources samen met Key Vault-machtigingen.The three team roles need access to other resources along with Key Vault permissions. Implementatie van virtuele machines (of de functie Web Apps van Azure App Service) nodig voor ontwikkelaars en operators Contributor toegang tot de resourcetypen.To deploy VMs (or the Web Apps feature of Azure App Service), developers and operators need Contributor access to those resource types. Auditors hebben leestoegang nodig tot het opslagaccount waar de Key Vault-logboeken worden opgeslagen.Auditors need read access to the Storage account where the Key Vault logs are stored.

Toegang tot sleutels en geheimen via een programma, Zie de volgende bronnen voor meer informatie over het implementeren van certificaten:For more information about how to deploy certificates, access keys, and secrets programmatically, see these resources:

U kunt de meeste van de machtigingen voor toegang verlenen met behulp van de Azure-portal.You can grant most of the access permissions by using the Azure portal. Gedetailleerde om machtigingen te verlenen, dat kunt u Azure PowerShell of Azure CLI.To grant granular permissions, you can use Azure PowerShell or the Azure CLI.

De PowerShell-fragmenten in deze sectie zijn gebouwd met de volgende veronderstellingen:The PowerShell snippets in this section are built with the following assumptions:

  • De Azure AD-beheerder heeft beveiligingsgroepen om weer te geven van de drie functies gemaakt: Contoso Security Team, Contoso App DevOps en Contoso App Auditors.The Azure AD administrator has created security groups to represent the three roles: Contoso Security Team, Contoso App DevOps, and Contoso App Auditors. De beheerder heeft gebruikers toegevoegd aan de bijbehorende groepen.The admin has added users to their respective groups.
  • Alle resources bevinden zich in de ContosoAppRG resourcegroep.All resources are located in the ContosoAppRG resource group.
  • De Key Vault-logboeken worden opgeslagen de contosologstorage storage-account.The Key Vault logs are stored in the contosologstorage storage account.
  • De ContosoKeyVault sleutelkluis en de contosologstorage storage-account zich in dezelfde Azure-locatie.The ContosoKeyVault key vault and the contosologstorage storage account are in the same Azure location.

De beheerder van abonnement wijst de key vault Contributor en User Access Administrator rollen aan het beveiligingsteam.The subscription admin assigns the key vault Contributor and User Access Administrator roles to the security team. Deze rollen kunnen het beveiligingsteam voor het beheren van toegang tot andere resources en sleutelkluizen, beide in de ContosoAppRG resourcegroep.These roles allow the security team to manage access to other resources and key vaults, both of which in the ContosoAppRG resource group.

New-AzRoleAssignment -ObjectId (Get-AzADGroup -SearchString 'Contoso Security Team')[0].Id -RoleDefinitionName "key vault Contributor" -ResourceGroupName ContosoAppRG
New-AzRoleAssignment -ObjectId (Get-AzADGroup -SearchString 'Contoso Security Team')[0].Id -RoleDefinitionName "User Access Administrator" -ResourceGroupName ContosoAppRG

Het beveiligingsteam een key vault maakt en logboekregistratie en toegangsmachtigingen ingesteld.The security team creates a key vault and sets up logging and access permissions. Zie voor meer informatie over Key Vault-beleid toegangsmachtigingen over Azure Key Vault sleutels, geheimen en certificaten.For details about Key Vault access policy permissions, see About Azure Key Vault keys, secrets, and certificates.

# Create a key vault and enable logging
$sa = Get-AzStorageAccount -ResourceGroup ContosoAppRG -Name contosologstorage
$kv = New-AzKeyVault -Name ContosoKeyVault -ResourceGroup ContosoAppRG -SKU premium -Location 'westus' -EnabledForDeployment
Set-AzDiagnosticSetting -ResourceId $kv.ResourceId -StorageAccountId $sa.Id -Enabled $true -Category AuditEvent

# Set up data plane permissions for the Contoso Security Team role
Set-AzKeyVaultAccessPolicy -VaultName ContosoKeyVault -ObjectId (Get-AzADGroup -SearchString 'Contoso Security Team')[0].Id -PermissionsToKeys backup,create,delete,get,import,list,restore -PermissionsToSecrets get,list,set,delete,backup,restore,recover,purge

# Set up management plane permissions for the Contoso App DevOps role
# Create the new role from an existing role
$devopsrole = Get-AzRoleDefinition -Name "Virtual Machine Contributor"
$devopsrole.Id = $null
$devopsrole.Name = "Contoso App DevOps"
$devopsrole.Description = "Can deploy VMs that need secrets from a key vault"
$devopsrole.AssignableScopes = @("/subscriptions/<SUBSCRIPTION-GUID>")

# Add permissions for the Contoso App DevOps role so members can deploy VMs with secrets deployed from key vaults
$devopsrole.Actions.Add("Microsoft.KeyVault/vaults/deploy/action")
New-AzRoleDefinition -Role $devopsrole

# Assign the new role to the Contoso App DevOps security group
New-AzRoleAssignment -ObjectId (Get-AzADGroup -SearchString 'Contoso App Devops')[0].Id -RoleDefinitionName "Contoso App Devops" -ResourceGroupName ContosoAppRG

# Set up data plane permissions for the Contoso App Auditors role
Set-AzKeyVaultAccessPolicy -VaultName ContosoKeyVault -ObjectId (Get-AzADGroup -SearchString 'Contoso App Auditors')[0].Id -PermissionsToKeys list -PermissionsToSecrets list

Onze gedefinieerde aangepaste rollen zijn toegewezen alleen aan het abonnement waarin de ContosoAppRG resourcegroep wordt gemaakt.Our defined custom roles are assignable only to the subscription where the ContosoAppRG resource group is created. Voor het gebruik van een aangepaste rol voor andere projecten in andere abonnementen, moet u andere abonnementen toevoegen aan het bereik voor de rol.To use a custom role for other projects in other subscriptions, add other subscriptions to the scope for the role.

Voor onze DevOps-personeel, de toewijzing van de aangepaste rol voor de key vault deploy/action machtiging is afgestemd op de resourcegroep.For our DevOps staff, the custom role assignment for the key vault deploy/action permission is scoped to the resource group. Alleen virtuele machines die zijn gemaakt in de ContosoAppRG resourcegroep toegang hebben tot de geheimen (SSL en bootstrap certificaten).Only VMs created in the ContosoAppRG resource group are allowed access to the secrets (SSL and bootstrap certificates). Virtuele machines die in andere resourcegroepen zijn gemaakt door een DevOps-lid heeft geen toegang tot deze geheime gegevens, zelfs als de virtuele machine de geheime URI's heeft.VMs created in other resource groups by a DevOps member can't access these secrets, even if the VM has the secret URIs.

In ons voorbeeld wordt een eenvoudig scenario beschreven.Our example describes a simple scenario. Concrete scenario's mogelijk meer complex zijn.Real-life scenarios can be more complex. U kunt machtigingen voor uw key vault op basis van uw behoeften aanpassen.You can adjust permissions to your key vault based on your needs. Wordt ervan uitgegaan dat het beveiligingsteam de sleutel en geheime verwijzingen (URI's en vingerafdrukken), die worden gebruikt door de DevOps-personeel in hun toepassingen biedt.We assumed the security team provides the key and secret references (URIs and thumbprints), which are used by the DevOps staff in their applications. Ontwikkelaars en operators nodig geen voor alle toegang tot de gegevenslaag.Developers and operators don't require any data plane access. Richten we ons op over het beveiligen van uw key vault.We focused on how to secure your key vault. Geven belangrijk als u beveiligt uw virtuele machines, opslagaccounts, en andere Azure-resources.Give similar consideration when you secure your VMs, storage accounts, and other Azure resources.

Notitie

Dit voorbeeld laat zien hoe toegang tot Key Vault wordt vergrendeld in de productieomgeving.This example shows how Key Vault access is locked down in production. Ontwikkelaars moeten hebben hun eigen abonnement of resourcegroep groep met volledige machtigingen voor het beheren van hun kluizen, VM's en het opslagaccount waar ze de toepassing ontwikkelen.Developers should have their own subscription or resource group with full permissions to manage their vaults, VMs, and the storage account where they develop the application.

Is het raadzaam dat u instelt van extra beveiligde toegang tot uw key vault door Key Vault-firewalls en virtuele netwerken configureren.We recommend that you set up additional secure access to your key vault by configuring Key Vault firewalls and virtual networks.

ResourcesResources

Volgende stappenNext steps

Configureer Key Vault-firewalls en virtuele netwerken.Configure Key Vault firewalls and virtual networks.

Zie voor een aan de slag-zelfstudie voor beheerders, wat is Azure Key Vault?.For a getting-started tutorial for an administrator, see What is Azure Key Vault?.

Zie Logboekregistratie van Azure Key Vault voor meer informatie over de gebruiksregistratie voor Key Vault.For more information about usage logging for Key Vault, see Azure Key Vault logging.

Zie voor meer informatie over het gebruik van sleutels en geheimen met Azure Key Vault over sleutels en geheimen.For more information about using keys and secrets with Azure Key Vault, see About keys and secrets.

Als u vragen over Key Vault hebt, gaat u naar de forums.If you have questions about Key Vault, visit the forums.