Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De extensie Azure Key Vault virtuele machine (VM) vernieuwt automatisch certificaten die zijn opgeslagen in een Azure key vault. De extensie bewaakt een lijst met waargenomen certificaten die zijn opgeslagen in sleutelkluizen. Wanneer de extensie een wijziging detecteert, worden de bijbehorende certificaten opgehaald en geïnstalleerd. In dit artikel worden de ondersteunde platforms, configuraties en implementatieopties voor de Key Vault VM-extensie voor Linux beschreven.
Notitie
Probeer VM-hulp voor snellere diagnostische gegevens. U wordt aangeraden VM-hulp uit te voeren voor Windows of VM-hulp voor Linux. Met deze diagnostische hulpprogramma's op basis van scripts kunt u veelvoorkomende problemen identificeren die van invloed zijn op de Azure VM-gastagent en de algehele VM-status.
Als u prestatieproblemen ondervindt met virtuele machines, voert u deze hulpprogramma's uit voordat u contact op neemt met de ondersteuning.
Besturingssystemen
De Key Vault VM-extensie voor Linux ondersteunt de volgende distributies op zowel AMD64 als ARM64:
- Ubuntu 24.04
- Azure Linux 3.0 en 4.0
- Red Hat Enterprise Linux (RHEL) 9
Notitie
De extensie selecteert een distributiespecifiek binair bestand tijdens de installatie van /etc/os-release. Installeren op een andere distributie mislukt met de fout 'distributie wordt niet ondersteund' die wordt weergegeven in de extensiestatus.
Ondersteunde certificaatinhoudstypen
De Key Vault VM-extensie ondersteunt de volgende certificaatinhoudstypen:
- PKCS #12
- PEM
Notitie
Met de Key Vault VM-extensie worden alle certificaten gedownload naar de locatie die u opgeeft in de eigenschap in de certificateStoreLocation vm-extensie-instellingen of naar de standaardopslaglocatie /var/lib/waagent/Microsoft.Azure.KeyVault.Store/ wanneer u er geen opgeeft.
Kenmerken
De Key Vault VM-extensie voor Linux versie 4.x:
- Installeert de twee nieuwste versies van elk certificaat.
- Installeert elk certificaat als gesplitste bestanden: een volledig ketenbestand
.pemen een afzonderlijk.keyidpersoonlijk sleutelbestand, elk geschreven als een versiebestand met een stabiele symbolische koppeling die verwijst naar de nieuwste versie. - Voert validatie van certificaatketens uit voordat u een certificaat installeert dat het TLS Server Authentication Extended Key Usage (EKU) bevat. Validatie is mislukt: er wordt nog steeds een certificaat geïnstalleerd als de validatie niet kan worden voltooid vanwege tijdelijke netwerkproblemen. Certificaten zonder serververificatie-EKU zijn niet onderworpen aan deze controle.
- Past POSIX-ACL's toe om geconfigureerde gebruikers en groepen leestoegang te verlenen tot de persoonlijke sleutel. De handhaving van ACL's is altijd ingeschakeld.
- Ondersteunt een optionele authenticatie-overschrijving per certificaat, waarmee afzonderlijke gedetecteerde certificaten zich bij Key Vault kunnen authenticeren met een andere beheerde identiteit dan de standaard van de extensie. Zie Extensieschema voor meer informatie.
- Ondersteunt integratie van logboekregistratie van VM-extensies via Fluentd. Zie Logboekregistratie met Fluentd voor meer informatie.
Upgraden vanaf 3.0
Als u bijwerkt vanaf 3.0, worden de volgende functies gewijzigd of verwijderd.
Algemene belangrijke wijzigingen:
-
pollingIntervalInSis nu beperkt tot 5 tot 60 minuten. De extensie pollt standaard één keer per uur. -
requireInitialSyncwordt verwijderd. De extensie meldt alleen succes als alle geconfigureerde certificaten zijn geïnstalleerd. - U kunt geen specifieke versie van een certificaat meer configureren. Waargenomen certificaat-URL's moeten versieloos zijn.
- Het verouderde schema waarin
observedCertificateseen lijst met URL-tekenreeksen wordt niet meer ondersteund. Elke vermelding moet een object met eenurleigenschap zijn.
Linux-specifieke wijzigingen die fouten veroorzaken:
- De certificaatketen en de persoonlijke sleutel worden nu naar afzonderlijke bestanden geschreven. In 3.0 werden de volledige keten en de persoonlijke sleutel gecombineerd tot één PEM-bestand. In 4.x schrijft de extensie de volledige keten naar
<vaultname>.<certname>.pemen de persoonlijke sleutel naar een afzonderlijk<vaultname>.<certname>.keyidbestand. Deze wijziging is een brekende wijziging: toepassingen die verwachten dat de sleutel en de certificaatketen in één bestand staan, moeten worden bijgewerkt zodat ze de certificaatketen uit het bestand.pemlezen en de privésleutel uit het bestand.keyid. Het.lumabestand wordt bijgewerkt nadat de symbolische koppelingen zijn bijgewerkt, zodat toepassingen wijzigingen in dit metagegevensbestand moeten controleren. -
customSymbolicLinkNamewordt verwijderd. De extensie gebruikt altijd de standaard symbolische koppelingsnaam<vaultname>.<certname>. -
aclEnabledwordt verwijderd. ACL-functionaliteit is nu altijd ingeschakeld. -
certificateStoreNamewordt genegeerd in Linux en heeft geen effect.
Notitie
Als u een upgrade uitvoert van de vorige extensieversie, worden certificaten die al naar de schijf zijn gedownload, niet verwijderd. Bovendien maakt 4.x gebruik van een andere bestandsindeling, zodat bestaande bestanden ongewijzigd blijven.
Vereiste voorwaarden
Bekijk de volgende vereisten voor het gebruik van de Key Vault VM-extensie voor Linux:
Een Azure Key Vault-exemplaar met een certificaat. Zie Een sleutelkluis maken met behulp van Azure Portal voor meer informatie.
Een VM met een toegewezen beheerde identiteit.
Wijs de rol Key Vault Secrets User toe op het scopniveau van Key Vault aan de beheerde identiteit voor de VM of Azure-schaalvergrotingssets voor virtuele machines. Met deze rol wordt het geheime gedeelte van een certificaat opgehaald. Zie de volgende artikelen voor meer informatie:
Configureer de Virtual Machine Scale Sets met de volgende
identityconfiguratie:"identity": { "type": "UserAssigned", "userAssignedIdentities": { "[parameters('userAssignedIdentityResourceId')]": {} } }Configureer de Key Vault VM-extensie met de volgende
authenticationSettingsconfiguratie:"authenticationSettings": { "msiEndpoint": "[parameters('userAssignedIdentityEndpoint')]", "msiClientId": "[reference(parameters('userAssignedIdentityResourceId'), variables('msiApiVersion')).clientId]" }
Notitie
U kunt ook het oude machtigingsmodel voor toegangsbeleid gebruiken om toegang te bieden tot VM's en Virtual Machine Scale Sets. Voor deze methode is een beleid met de machtigingen get en list voor geheimen vereist. Voor meer informatie raadpleegt u Een Key Vault-toegangsbeleid toewijzen.
Extensieschema
In de volgende JSON ziet u het schema voor de Key Vault-VM-extensie. Bekijk de volgende belangrijke opmerkingen voordat u de implementatieopties voor schema's bekijkt.
Voor de extensie zijn geen beveiligde instellingen vereist. Alle instellingen zijn openbare informatie.
Waargenomen certificaat-URL's moeten het formulier
https://myVaultName.vault.azure.net/secrets/myCertNamegebruiken.Dit formulier is vereist omdat het
/secretspad het volledige certificaat retourneert, inclusief de persoonlijke sleutel, maar het/certificatespad niet. Zie het overzicht van Azure Key Vault-sleutels, geheimen en certificaten voor meer informatie over certificaten. U kunt geen specifieke versie van het certificaat opgeven.De URL-host moet een herkende Azure Key Vault host zijn.
De
authenticationSettingseigenschap is vereist voor VM's met een door de gebruiker toegewezen identiteiten en voor Azure Arc-VM's.Laat deze eigenschap weg wanneer u een door het systeem toegewezen identiteit gebruikt. Voor VM's met Azure Arc stelt u
msiEndpointin ophttp://localhost:40342/metadata/identity.
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"name": "KVVMExtensionForLinux",
"apiVersion": "2025-04-01",
"location": "<location>",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', <vmName>)]"
],
"properties": {
"publisher": "Microsoft.Azure.KeyVault",
"type": "KeyVaultForLinux",
"typeHandlerVersion": "4.0",
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"settings": {
"secretsManagementSettings": {
"pollingIntervalInS": <Optional. Polling interval in seconds, between 300 (5 min) and 3600 (60 min). Example: "3600">,
"certificateStoreLocation": <Optional. Default disk path where certificates are stored. Example: "/var/lib/waagent/Microsoft.Azure.KeyVault.Store">,
"observedCertificates": <An array of Key Vault URIs that represent monitored certificates, including per-certificate store location and ACL permissions on the certificate private key. Example:
[
{
"url": <A Key Vault URI to the secret portion of the certificate. Example: "https://myvault.vault.azure.net/secrets/mycertificate1">,
"certificateStoreLocation": <The disk path where the certificate is stored. Example: "/var/lib/waagent/Microsoft.Azure.KeyVault/app1">,
"acls": <Optional. An array of users and groups to grant read access to the certificate private key. Example:
[
{ "user": "app1", "group": "appGroup1" },
{ "user": "service1" }
]>
},
{
"url": <Example: "https://myvault.vault.azure.net/secrets/mycertificate2">,
"certificateStoreLocation": <Example: "/var/lib/waagent/Microsoft.Azure.KeyVault/app2">,
"authenticationOverride": <Optional. Overrides authenticationSettings for this certificate only, so it can authenticate with a different managed identity. Example: {"msiClientId": "11112222-bbbb-3333-cccc-4444dddd5555"}>
}
]>
},
"authenticationSettings": {
"msiEndpoint": <Required when the msiClientId property is used. Specifies the MSI endpoint. Example for most Azure VMs: "http://169.254.169.254/metadata/identity">,
"msiClientId": <Required when the VM has any user assigned identities. Specifies the MSI identity. Example: "00001111-aaaa-2222-bbbb-3333cccc4444">
}
}
}
}
Vastgoedwaarden
Het JSON-schema bevat de volgende eigenschappen.
| Naam | Waarde/voorbeeld | Gegevenstype |
|---|---|---|
apiVersion |
2025-04-01 | datum |
publisher |
Microsoft. Azure. KeyVault | touw |
type |
KeyVaultForLinux | touw |
typeHandlerVersion |
"4.0" | touw |
pollingIntervalInS (optioneel) |
"3600" (vastgeklemd tot 300-3600) | touw |
certificateStoreLocation (optioneel) |
"/var/lib/waagent/Microsoft.Azure. KeyVault.Store" | touw |
observedCertificates |
[{...}, {...}] | array |
observedCertificates/url |
"https://myvault.vault.azure.net/secrets/mycertificate" | touw |
observedCertificates/certificateStoreLocation (optioneel) |
"/var/lib/waagent/Microsoft. Azure. KeyVault/app1" | touw |
observedCertificates/acls (optioneel) |
[{"user": "app1", "group": "appGroup1"}] | objectarray |
observedCertificates/authenticationOverride (optioneel) |
{"msiClientId": "00001111-aaaa-2222-bbbb-3333cccc4444"} | Voorwerp |
authenticationSettings/msiEndpoint |
"http://169.254.169.254/metadata/identity" | touw |
authenticationSettings/msiClientId |
"00001111-aaaa-2222-bbbb-3333cccc44444" | touw |
Notitie
Het schema accepteert certificateStoreName compatibiliteit, maar linux negeert het. Als u geen certificateStoreLocation voor een certificaat opgeeft, gebruikt het systeem het bovenliggende secretsManagementSettings.certificateStoreLocation, en als dat niet is ingesteld, gebruikt het de standaard-/var/lib/waagent/Microsoft.Azure.KeyVault.Store/.
Sjabloonimplementatie
Implementeer Azure VM-extensies met behulp van arm-sjablonen (Azure Resource Manager). Sjablonen zijn ideaal wanneer u een of meer virtuele machines implementeert waarvoor het vernieuwen van certificaten na de implementatie is vereist. U kunt de extensie implementeren op afzonderlijke VM's of Virtual Machine Scale Sets exemplaren. Het schema en de configuratie zijn gebruikelijk voor beide sjabloontypen.
De JSON-configuratie voor een sleutelkluisextensie is genest in de sjabloon van virtuele machines of Virtual Machine Scale Sets. Voor een VM-resource-extensie is de configuratie genest onder het object van de "resources": [] virtuele machine. Voor een instantie-extensie van virtuele machineschaalsets is de configuratie genesteld onder het "virtualMachineProfile":"extensionProfile":{"extensions" :[] object.
Het volgende JSON-fragment bevat voorbeeldinstellingen voor een ARM-sjabloonimplementatie van de Key Vault VM-extensie.
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"name": "KeyVaultForLinux",
"apiVersion": "2025-04-01",
"location": "<location>",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', <vmName>)]"
],
"properties": {
"publisher": "Microsoft.Azure.KeyVault",
"type": "KeyVaultForLinux",
"typeHandlerVersion": "4.0",
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"settings": {
"secretsManagementSettings": {
"pollingIntervalInS": "3600",
"certificateStoreLocation": "/var/lib/waagent/Microsoft.Azure.KeyVault.Store",
"observedCertificates": [
{
"url": "https://<examplekv>.vault.azure.net/secrets/mycertificate1",
"certificateStoreLocation": "/var/lib/waagent/Microsoft.Azure.KeyVault.Store",
"acls": [
{ "user": "app1", "group": "appGroup1" },
{ "user": "service1" }
]
},
{
"url": "https://<examplekv>.vault.azure.net/secrets/mycertificate2",
"certificateStoreLocation": "/var/lib/waagent/Microsoft.Azure.KeyVault.Store"
}
]
},
"authenticationSettings": {
"msiEndpoint": "http://169.254.169.254/metadata/identity",
"msiClientId": "00001111-aaaa-2222-bbbb-3333cccc4444"
}
}
}
}
Automatische upgrade van extensie
De Key Vault VM-extensie ondersteunt automatische upgrade van extensies voor virtuele machines en schaalsets in Azure. Azure houdt de extensie automatisch up-to-date wanneer u de autoUpgradeMinorVersion en enableAutomaticUpgrade eigenschappen in de voorgaande voorbeelden instelt op true.
Ordening van uitbreidingsafhankelijkheden
De Key Vault VM-extensie ondersteunt het ordenen van uitbreidingsafhankelijkheid. De extensie rapporteert een geslaagde start nadat deze alle certificaten heeft gedownload en geïnstalleerd.
Als u andere extensies gebruikt waarvoor de installatie van certificaten is vereist voordat ze worden gestart, kunt u de volgorde van uitbreidingsafhankelijkheid gebruiken om een afhankelijkheid te declareren voor de Key Vault VM-extensie.
Bij het opstarten probeert de Key Vault VM-extensie certificaten maximaal 25 keer opnieuw te downloaden en te installeren met toenemende uitstelperioden, waarbij de extensie een Transitioning status heeft. Als de nieuwe pogingen zijn uitgeput, rapporteert de extensie een foutstatus . Nadat alle certificaten zijn geïnstalleerd, rapporteert de Key Vault VM-extensie een geslaagde start.
Zie Sequentiële extensie-inrichting in Virtual Machine Scale Sets voor meer informatie over het configureren van afhankelijkheden tussen extensies.
Belangrijk
De functie voor het ordenen van uitbreidingsafhankelijkheid is niet compatibel met een ARM-sjabloon waarmee een door het systeem toegewezen identiteit wordt gemaakt en een Key Vault-toegangsbeleid met die identiteit wordt bijgewerkt. Als u de functie in dit scenario probeert te gebruiken, treedt er een impasse op omdat het Key Vault-toegangsbeleid pas kan worden bijgewerkt nadat alle extensies zijn gestart. Gebruik in plaats daarvan één door de gebruiker toegewezen beheerde identiteit en verleen die identiteit toegang tot uw sleutelkluizen voordat u implementeert.
implementatie van Azure PowerShell
Implementeer de Azure Key Vault VM-extensie met behulp van Azure PowerShell. Sla de instellingen van de Key Vault-VM-extensie op in een JSON-bestand (settings.json).
Waarschuwing
PowerShell-clients voegen \ vaak eerder " toe in settings.json. Dit gedrag zorgt ervoor dat akvvm_service mislukt met fout [CertificateManagementConfiguration] Failed to parse the configuration settings with:not an object.. Gebruik de Azure CLI of geef de instellingen door als een onbewerkte tekenreeks, zoals wordt weergegeven in het volgende voorbeeld.
Het volgende JSON-fragment bevat voorbeeldinstellingen voor het implementeren van de Key Vault VM-extensie met behulp van PowerShell.
{
"secretsManagementSettings": {
"pollingIntervalInS": "3600",
"observedCertificates": [
{
"url": "https://<examplekv>.vault.azure.net/secrets/mycertificate1",
"certificateStoreLocation": "/var/lib/waagent/Microsoft.Azure.KeyVault.Store",
"acls": [
{ "user": "app1", "group": "appGroup1" },
{ "user": "service1" }
]
},
{
"url": "https://<examplekv>.vault.azure.net/secrets/mycertificate2",
"certificateStoreLocation": "/var/lib/waagent/Microsoft.Azure.KeyVault.Store"
}
]
},
"authenticationSettings": {
"msiEndpoint": "http://169.254.169.254/metadata/identity",
"msiClientId": "00001111-aaaa-2222-bbbb-3333cccc4444"
}
}
Implementeren op een VIRTUELE machine
# Build settings
$settings = (Get-Content -Raw ".\settings.json")
$extName = "KeyVaultForLinux"
$extPublisher = "Microsoft.Azure.KeyVault"
$extType = "KeyVaultForLinux"
# Start the deployment
Set-AzVmExtension -TypeHandlerVersion "4.0" -ResourceGroupName <ResourceGroupName> -Location <Location> -VMName <VMName> -Name $extName -Publisher $extPublisher -Type $extType -SettingString $settings
Implementeren op een exemplaar van virtuele-machineschaalsets
# Build settings
$settings = (Get-Content -Raw ".\settings.json")
$extName = "KeyVaultForLinux"
$extPublisher = "Microsoft.Azure.KeyVault"
$extType = "KeyVaultForLinux"
# Add extension to Virtual Machine Scale Sets
$vmss = Get-AzVmss -ResourceGroupName <ResourceGroupName> -VMScaleSetName <VmssName>
Add-AzVmssExtension -VirtualMachineScaleSet $vmss -Name $extName -Publisher $extPublisher -Type $extType -TypeHandlerVersion "4.0" -Setting $settings
# Start the deployment
Update-AzVmss -ResourceGroupName <ResourceGroupName> -VMScaleSetName <VmssName> -VirtualMachineScaleSet $vmss
implementatie van Azure CLI
Implementeer de Azure Key Vault VM-extensie met behulp van de Azure CLI. Sla de instellingen van de Key Vault-VM-extensie op in een JSON-bestand (settings.json).
Het volgende JSON-fragment bevat voorbeeldinstellingen voor het implementeren van de Key Vault VM-extensie met behulp van de Azure CLI.
{
"secretsManagementSettings": {
"pollingIntervalInS": "3600",
"observedCertificates": [
{
"url": "https://<examplekv>.vault.azure.net/secrets/mycertificate1",
"certificateStoreLocation": "/var/lib/waagent/Microsoft.Azure.KeyVault.Store",
"acls": [
{ "user": "app1", "group": "appGroup1" },
{ "user": "service1" }
]
},
{
"url": "https://<examplekv>.vault.azure.net/secrets/mycertificate2",
"certificateStoreLocation": "/var/lib/waagent/Microsoft.Azure.KeyVault.Store"
}
]
},
"authenticationSettings": {
"msiEndpoint": "http://169.254.169.254/metadata/identity",
"msiClientId": "00001111-aaaa-2222-bbbb-3333cccc4444"
}
}
Implementeren op een VIRTUELE machine
# Start the deployment
az vm extension set --name "KeyVaultForLinux" \
--publisher Microsoft.Azure.KeyVault \
--resource-group "<resourcegroup>" \
--vm-name "<vmName>" \
--version "4.0" \
--enable-auto-upgrade true \
--settings "@settings.json"
Implementeren op een exemplaar van virtuele-machineschaalsets
# Start the deployment
az vmss extension set --name "KeyVaultForLinux" \
--publisher Microsoft.Azure.KeyVault \
--resource-group "<resourcegroup>" \
--vmss-name "<vmssName>" \
--version "4.0" \
--enable-auto-upgrade true \
--settings "@settings.json"
Tip
Als de implementatie van de extensie mislukt, moet u mogelijk de bestaande extensie verwijderen voordat u deze opnieuw installeert met de juiste versie. Omdat Azure het downgraden van extensies niet toestaat, moet u mogelijk eerst de foutieve extensie verwijderen:
az vm extension delete --name "KeyVaultForLinux" --resource-group "<resourcegroup>" --vm-name "<vmName>"
Logboekregistratie met Fluentd
De Key Vault VM-extensie kan de logboeken doorsturen naar een Fluentd-logboekverzamelaar. Zorg ervoor dat uw logverzamelaar actief is en luistert op het eindpunt dat u in de instellingen opgeeft.
Voeg de volgende sectie toe aan uw extensie-instellingen:
"loggingSettings": {
"logger": "fluentd",
"endpoint": "unix:///var/run/azuremonitoragent/sometenant/default_fluent.socket",
"format": "forward",
"servicename": "akvvm_service"
}
| Naam | Waarde/voorbeeld | Gegevenstype |
|---|---|---|
loggingSettings/logger |
fluentd | touw |
loggingSettings/endpoint |
"unix:///var/run/azuremonitoragent/sometenant/default_fluent.socket" of "tcp://localhost:24224" | touw |
loggingSettings/format |
"doorsturen" | touw |
loggingSettings/servicename |
"akvvm_service" | touw |
Problemen oplossen
Gebruik deze suggesties om implementatieproblemen op te lossen.
Raadpleeg veelgestelde vragen
Is er een limiet voor het aantal waargenomen certificaten?
Nee. De Key Vault VM-extensie beperkt het aantal waargenomen certificaten (observedCertificates) niet.
Wat is de standaardlocatie waar certificaten worden geïnstalleerd?
Als u certificateStoreLocation niet opgeeft, schrijft de extensie certificaten naar /var/lib/waagent/Microsoft.Azure.KeyVault.Store/.
Hoe forceer ik de extensie om een nieuw certificaat op te halen?
Start de akvvm_service service opnieuw op (weergavenaam Key Vault VM-extensie).
Hoe gebruik ik een andere identiteit voor een specifiek certificaat?
Voeg een authenticationOverride object met het doel msiClientId toe aan de vermelding van dat certificaat in observedCertificates. Certificaten zonder overschrijving gebruiken het element op het hoogste niveau authenticationSettings.
Extensiestatus weergeven
Controleer de status van uw extensie-implementatie in de Azure-portal of met behulp van PowerShell of de Azure CLI.
Voer de volgende opdrachten uit om de implementatiestatus van extensies voor een bepaalde VIRTUELE machine te zien.
Azure PowerShell:
Get-AzVMExtension -ResourceGroupName <myResourceGroup> -VMName <myVM> -Name <myExtensionName>De Azure CLI:
az vm get-instance-view --resource-group <myResourceGroup> --name <myVM> --query "instanceView.extensions"
De Azure CLI kan worden uitgevoerd in verschillende shell-omgevingen, maar met kleine variaties in indeling. Als u onverwachte resultaten hebt met Azure CLI-opdrachten, raadpleeg dan Hoe de Azure CLI succesvol te gebruiken.
Logboeken en configuratie controleren
De Key Vault VM-extensielogboeken bestaan alleen lokaal op de virtuele machine. Bekijk de logboekdetails voor hulp bij het oplossen van problemen.
| Logboekbestand | Beschrijving |
|---|---|
/var/log/waagent.log |
Geeft weer wanneer er updates worden uitgevoerd voor de extensie. |
/var/log/azure/Microsoft.Azure.KeyVault.KeyVaultForLinux/* |
Toont de status van de akvvm_service service en het downloaden van certificaten. De downloadlocatie van het PEM-bestand wordt weergegeven in vermeldingen met de naam van het certificaatbestand. |
/var/lib/waagent/Microsoft.Azure.KeyVault.KeyVaultForLinux-<most recent version>/config/* |
De configuratie en binaire bestanden voor de Key Vault VM-extensieservice. |
Certificaatinstallatie in Linux
De Key Vault VM-extensie voor Linux installeert certificaten als PEM-bestanden. Wanneer de extensie een certificaat uit Key Vault downloadt, wordt het volgende gebruikt:
- Hiermee maakt u een opslagmap op basis van de
certificateStoreLocationinstelling. Als u deze instelling niet opgeeft, wordt de standaardlocatie ingesteld op/var/lib/waagent/Microsoft.Azure.KeyVault.Store/. - Hiermee schrijft u de certificaatketen (leaf, dan tussenliggende bestanden, root indien aanwezig in Key Vault) naar een bestand met volledige ketenversies
.pemen schrijft u de bijbehorende persoonlijke sleutel naar een geversied.keyidbestand. - Past POSIX-ACL's toe op de persoonlijke sleutel op basis van de
aclsopgegeven in de configuratie, die leestoegang verleent tot de vermelde gebruikers en groepen. Bestanden zijn anders alleen toegankelijk voor de eigenaar. - Hiermee maakt of werkt u een stabiele symbolische koppeling (
<vaultname>.<certname>.pemen<vaultname>.<certname>.keyid) bij die verwijst naar de nieuwste versie van het certificaat. Koppeling vindt altijd plaats.
Standaardlocatie voor certificaatarchief
Als u geen locatie opgeeft, installeert de extensie certificaten onder /var/lib/waagent/Microsoft.Azure.KeyVault.Store/. De extensie negeert certificateStoreName op Linux.
Uitvoerbestanden van certificaten
Voor vault mykv en secret server-tls produceert een succesvolle synchronisatie:
/var/lib/waagent/Microsoft.Azure.KeyVault.Store/
├── mykv.server-tls.pem -> mykv.server-tls.<version>.pem.<timestamp> # symlink to latest full chain
├── mykv.server-tls.keyid -> mykv.server-tls.<version>.keyid.<timestamp> # symlink to latest private key
├── mykv.server-tls.<version>.pem.<timestamp> # full chain PEM (mode 600)
├── mykv.server-tls.<version>.keyid.<timestamp> # private key (mode 600)
└── mykv.server-tls.luma # certificate management metadata (mode 644)
Configureer toepassingen om te verwijzen naar het stabiele symbolische koppelingspad (bijvoorbeeld /var/lib/waagent/Microsoft.Azure.KeyVault.Store/mykv.server-tls.pem) zodat ze altijd de meest recente certificaatversie lezen zonder opnieuw te configureren bij verlenging.
Toegangsbeheer voor certificaten
Certificaat- en persoonlijke sleutelbestanden zijn standaard alleen leesbaar door hun eigenaar. Leestoegang verlenen aan extra gebruikers en groepen met behulp van de acls matrix in de certificaatconfiguratie:
"acls": [
{ "user": "app1", "group": "appGroup1" },
{ "user": "service1" }
]
Elke vermelding kan een gebruiker, een groep of beide opgeven. ACL-handhaving is altijd ingeschakeld en geeft momenteel leestoegang.
Certificaat vernieuwen
Wanneer certificaten worden vernieuwd in Key Vault, voert de extensie automatisch de volgende acties uit op de volgende poll:
- Downloadt de nieuwe certificaatversie.
- Hiermee schrijft u de nieuwe versie
.pemen.keyidbestanden. - Werkt de stabiele symbolische koppeling bij zodat deze verwijst naar de nieuwe versie, zodat bestaande toepassingspaden blijven omzetten naar het meest recente certificaat.
Ondersteuning krijgen
Microsoft biedt alleen ondersteuning voor primaire versie 3.0 en hoger van de Key Vault VM-extensie. Als u versie 1.0 gebruikt, voert u een upgrade uit naar de nieuwste versie voordat u ondersteuning aanvraagt.
Gebruik deze andere opties om implementatieproblemen op te lossen:
Neem voor hulp contact op met de Azure experts in
Microsoft Q& A .Als u geen antwoord op de site vindt, kunt u een vraag plaatsen voor invoer van Microsoft of andere leden van de community.
U kunt ook contact opnemen met Microsoft Ondersteuning. Zie Hoe u een ondersteuning voor Azure aanvraag maakt voor meer informatie over het gebruik van ondersteuning voor Azure.