Geheimen roteren voor Event Hubs in Azure Stack Hub
In dit artikel wordt uitgelegd hoe u de geheimen kunt roteren die worden gebruikt door de Event Hubs-resourceprovider.
Overzicht en vereisten
Notitie
Geheimrotatie voor resourceproviders (RPs) wordt momenteel alleen ondersteund via PowerShell. U moet ook proactief geheimen roteren voor RP's met toegevoegde waarde op een regelmatige basis, omdat er momenteel geen beheerderswaarschuwingen worden gegenereerd.
Net als de Azure Stack Hub-infrastructuur gebruiken resourceproviders met toegevoegde waarde zowel interne als externe geheimen. Geheimen kunnen meerdere vormen aannemen, waaronder wachtwoorden en de versleutelingssleutels die worden onderhouden door X509-certificaten. Als operator bent u verantwoordelijk voor:
- Het verstrekken van bijgewerkte externe geheimen, zoals een nieuw TLS-certificaat dat wordt gebruikt om eindpunten van de resourceprovider te beveiligen.
- Regelmatig roulatie van geheimen van resourceproviders beheren.
Ter voorbereiding op het rotatieproces:
Bekijk de certificaatvereisten voor openbare-sleutelinfrastructuur (PKI) van Azure Stack Hub voor belangrijke vereiste informatie voordat u uw X509-certificaat verkrijgt/vernieuwt, inclusief details over de vereiste PFX-indeling. Bekijk ook de vereisten die zijn opgegeven in de sectie Optionele PaaS-certificaten voor uw specifieke resourceprovider voor het toevoegen van waarde.
Als u dat nog niet hebt gedaan, installeert u de PowerShell Az-module voor Azure Stack Hub voordat u verdergaat. Versie 2.0.2-preview of hoger is vereist voor het rouleren van geheimen in Azure Stack Hub. Zie Migreren van AzureRM naar Azure PowerShell Az in Azure Stack Hub voor meer informatie.
Een nieuw TLS-certificaat voorbereiden
Maak of vernieuw vervolgens uw TLS-certificaat voor het beveiligen van de eindpunten van de resourceprovider met waardetoevoeging:
Voer de stappen uit in Certificaatondertekeningsaanvragen (CDR's) genereren voor certificaatvernieuwing voor uw resourceprovider. Hier gebruikt u het hulpprogramma Gereedheidscontrole van Azure Stack Hub om de CSR te maken. Zorg ervoor dat u de juiste cmdlet voor uw resourceprovider uitvoert in de stap Certificaataanvragen genereren voor andere Azure Stack Hub-services. Wordt bijvoorbeeld
New-AzsHubEventHubsCertificateSigningRequest
gebruikt voor Event Hubs. Wanneer u klaar bent, verzendt u de gegenereerde . REQ-bestand naar uw certificeringsinstantie (CA) voor het nieuwe certificaat.Zodra u het certificaatbestand van de CA hebt ontvangen, voert u de stappen in Certificaten voorbereiden voor implementatie of rotatie uit. U gebruikt het hulpprogramma Gereedheidscontrole opnieuw om het bestand te verwerken dat is geretourneerd door de CA.
Voltooi ten slotte de stappen in PKI-certificaten van Azure Stack Hub valideren. U gebruikt het hulpprogramma Gereedheidscontrole nogmaals om validatietests uit te voeren op uw nieuwe certificaat.
Geheimen roteren
Bepaal ten slotte de meest recente implementatie-eigenschappen van de resourceprovider en gebruik deze om het geheimrotatieproces te voltooien.
Implementatie-eigenschappen bepalen
Resourceproviders worden in uw Azure Stack Hub-omgeving geïmplementeerd als een versie van een productpakket. Aan pakketten wordt een unieke pakket-id toegewezen, in de indeling '<product-id>.<installed-version>'
. Waarbij <product-id>
een unieke tekenreeks is die de resourceprovider vertegenwoordigt en <installed-version>
een specifieke versie vertegenwoordigt. De geheimen die aan elk pakket zijn gekoppeld, worden opgeslagen in de Azure Stack Hub Key Vault-service.
Open een PowerShell-console met verhoogde bevoegdheid en voer de volgende stappen uit om de eigenschappen te bepalen die nodig zijn om de geheimen van de resourceprovider te roteren:
Meld u aan bij uw Azure Stack Hub-omgeving met uw operatorreferenties. Zie Verbinding maken met Azure Stack Hub met PowerShell voor PowerShell-aanmeldingsscript. Zorg ervoor dat u de PowerShell Az-cmdlets gebruikt (in plaats van AzureRM) en alle tijdelijke aanduidingen vervangt, zoals eindpunt-URL's en de naam van de maptenant.
Voer de
Get-AzsProductDeployment
cmdlet uit om een lijst met de meest recente implementaties van de resourceprovider op te halen. De geretourneerde verzameling bevat een -element voor elke geïmplementeerde"value"
resourceprovider. Zoek de resourceprovider van belang en noteer de waarden voor deze eigenschappen:-
"name"
- bevat de product-id van de resourceprovider in het tweede segment van de waarde. -
"properties"."deployment"."version"
- bevat het momenteel geïmplementeerde versienummer.
In het volgende voorbeeld ziet u de RP-implementatie van Event Hubs in het eerste element in de verzameling. Deze heeft de product-id en
"microsoft.eventhub"
versie"1.2003.0.0"
:PS C:\WINDOWS\system32> Get-AzsProductDeployment -AsJson VERBOSE: GET https://adminmanagement.myregion.mycompany.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Deployment.Admin/locations/global/productDeployments?api-version=2019-01-01 with 0-char payload VERBOSE: Received 2656-char response, StatusCode = OK { "value": [ { "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Deployment.Admin/locations/global/productDeployments/microsoft.eventhub", "name": "global/microsoft.eventhub", "type": "Microsoft.Deployment.Admin/locations/productDeployments", "properties": { "status": "DeploymentSucceeded", "subscriptionId": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f", "deployment": { "version": "1.2003.0.0", "actionPlanInstanceResourceId":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Deployment.Admin/locations/global/actionplans/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a", "parameters": { } }, "lastSuccessfulDeployment": { "version": "1.2003.0.0", "actionPlanInstanceResourceId":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Deployment.Admin/locations/global/actionplans/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a", "parameters": { } }, "provisioningState": "Succeeded" } }, { ... } ] }
-
Bouw de pakket-id van de resourceprovider door de product-id en versie van de resourceprovider samen te stellen. Met behulp van de waarden die in de vorige stap zijn afgeleid, is
microsoft.eventhub.1.2003.0.0
de Event Hubs RP-pakket-id bijvoorbeeld .Voer uit met behulp van de pakket-id die in de vorige stap is afgeleid om
Get-AzsProductSecret -PackageId
de lijst met geheime typen op te halen die door de resourceprovider worden gebruikt. Zoek in de geretourneerdevalue
verzameling het element met een waarde van"Certificate"
voor de"properties"."secretKind"
eigenschap. Dit element bevat eigenschappen voor het certificaatgeheim van de RP. Noteer de naam die is toegewezen aan dit certificaatgeheim, die wordt geïdentificeerd door het laatste segment van de"name"
eigenschap, net boven"properties"
.In het volgende voorbeeld bevat de geheimenverzameling die wordt geretourneerd voor de Event Hubs RP een
"Certificate"
geheim met de naamaseh-ssl-gateway-pfx
.PS C:\WINDOWS\system32> Get-AzsProductSecret -PackageId 'microsoft.eventhub.1.2003.0.0' -AsJson VERBOSE: GET https://adminmanagement.myregion.mycompany.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Deployment.Admin/locations/global/productPackages/microsoft.eventhub.1.2003.0.0/secrets?api-version=2019-01-01 with 0-char payload VERBOSE: Received 617-char response, StatusCode = OK { "value": [ { "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Deployment.Admin/locations/global/productPackages/microsoft.eventhub.1.2003.0.0/secrets/aseh-ssl-gateway-pfx", "name": "global/microsoft.eventhub.1.2003.0.0/aseh-ssl-gateway-pfx", "type": "Microsoft.Deployment.Admin/locations/productPackages/secrets", "properties": { "secretKind": "Certificate", "description": "Event Hubs gateway SSL certificate.", "expiresAfter": "P730D", "secretDescriptor": { }, "secretState": { "status": "Deployed", "rotationStatus": "None", "expirationDate": "2022-03-31T00:16:05.3068718Z" }, "provisioningState": "Succeeded" } }, ... ] }
De geheimen roteren
Gebruik de
Set-AzsProductSecret
cmdlet om uw nieuwe certificaat te importeren in Key Vault, die wordt gebruikt door het rotatieproces. Vervang de waarden van de tijdelijke aanduidingen voor variabelen dienovereenkomstig voordat u het script uitvoert:Tijdelijke aanduiding Beschrijving Voorbeeldwaarde <product-id>
De product-id van de meest recente implementatie van de resourceprovider. microsoft.eventhub
<installed-version>
De versie van de meest recente implementatie van de resourceprovider. 1.2003.0.0
<cert-secret-name>
De naam waaronder het certificaatgeheim wordt opgeslagen. aseh-ssl-gateway-pfx
<cert-pfx-file-path>
Het pad naar het PFX-bestand van uw certificaat. C:\dir\eh-cert-file.pfx
<pfx-password>
Het wachtwoord dat is toegewezen aan uw certificaat . PFX-bestand. strong@CertSecret6
$productId = '<product-id>' $packageId = $productId + '.' + '<installed-version>' $certSecretName = '<cert-secret-name>' $pfxFilePath = '<cert-pfx-file-path>' $pfxPassword = ConvertTo-SecureString '<pfx-password>' -AsPlainText -Force Set-AzsProductSecret -PackageId $packageId -SecretName $certSecretName -PfxFileName $pfxFilePath -PfxPassword $pfxPassword -Force
Gebruik ten slotte de
Invoke-AzsProductRotateSecretsAction
cmdlet om de interne en externe geheimen te roteren:Notitie
Het duurt ongeveer 3,5 tot 4 uur om het rotatieproces te voltooien.
Invoke-AzsProductRotateSecretsAction -ProductId $productId
U kunt de voortgang van het rouleren van geheimen in de PowerShell-console of in de beheerportal bewaken door de resourceprovider te selecteren in de Marketplace-service:
Problemen oplossen
Het rouleren van het geheim zou zonder fouten moeten worden voltooid. Als u een van de volgende voorwaarden ondervindt in de beheerdersportal, opent u een ondersteuningsaanvraag voor hulp:
- Verificatieproblemen, waaronder problemen met het maken van verbinding met de Event Hubs-resourceprovider.
- Kan de resourceprovider niet upgraden of configuratieparameters bewerken.
- Metrische gegevens over gebruik worden niet weergegeven.
- Facturen worden niet gegenereerd.
- Er worden geen back-ups uitgevoerd.
Volgende stappen
Ga naar Geheimen roteren in Azure Stack Hub voor meer informatie over het roteren van uw Azure Stack Hub-infrastructuurgeheimen.