Jak obracać wpisy tajne dla usługi Event Hubs w usłudze Azure Stack Hub
W tym artykule przedstawiono sposób rotacji wpisów tajnych używanych przez dostawcę zasobów usługi Event Hubs.
Przegląd i wymagania wstępne
Uwaga
Rotacja wpisów tajnych dla dostawców zasobów dodawania wartości (RPS) jest obecnie obsługiwana tylko za pośrednictwem programu PowerShell. Ponadto należy aktywnie wymieniać wpisy tajne dla punktów RPs o wartości w regularnych odstępach czasu, ponieważ alerty administracyjne nie są obecnie generowane.
Podobnie jak infrastruktura usługi Azure Stack Hub, dostawcy zasobów typu value-add używają wpisów tajnych wewnętrznych i zewnętrznych. Wpisy tajne mogą przyjmować wiele formularzy, w tym hasła i klucze szyfrowania obsługiwane przez certyfikaty X509. Jako operator odpowiadasz za:
- Udostępnianie zaktualizowanych wpisów tajnych zewnętrznych, takich jak nowy certyfikat TLS używany do zabezpieczania punktów końcowych dostawcy zasobów.
- Regularne zarządzanie rotacją wpisów tajnych dostawcy zasobów.
W ramach przygotowań do procesu rotacji:
Zapoznaj się z wymaganiami dotyczącymi certyfikatów infrastruktury kluczy publicznych (PKI) usługi Azure Stack Hub, aby uzyskać ważne informacje wstępne przed uzyskaniem/odnowieniem certyfikatu X509, w tym szczegółowe informacje na temat wymaganego formatu PFX. Zapoznaj się również z wymaganiami określonymi w sekcji Opcjonalne certyfikaty PaaS dla określonego dostawcy zasobów dodawania wartości.
Jeśli jeszcze tego nie zrobiono, przed kontynuowaniem zainstaluj moduł Az programu PowerShell dla usługi Azure Stack Hub . Do rotacji wpisów tajnych usługi Azure Stack Hub jest wymagana wersja 2.0.2-preview lub nowsza. Aby uzyskać więcej informacji, zobacz Migrowanie z modułu AzureRM do modułu Azure PowerShell Az w usłudze Azure Stack Hub.
Przygotowywanie nowego certyfikatu TLS
Następnie utwórz lub odnów certyfikat TLS w celu zabezpieczenia punktów końcowych dostawcy zasobów dodawania wartości:
Wykonaj kroki opisane w temacie Generowanie żądań podpisywania certyfikatów (CSR) w celu odnowienia certyfikatu dostawcy zasobów. W tym miejscu użyjesz narzędzia do sprawdzania gotowości usługi Azure Stack Hub, aby utworzyć żądanie CSR. Pamiętaj, aby uruchomić poprawne polecenie cmdlet dla dostawcy zasobów, w kroku "Generowanie żądań certyfikatów dla innych usług Azure Stack Hub". Na przykład
New-AzsHubEventHubsCertificateSigningRequest
jest używany w usłudze Event Hubs. Po zakończeniu prześlij wygenerowany element . Plik REQ do urzędu certyfikacji dla nowego certyfikatu.Po otrzymaniu pliku certyfikatu z urzędu certyfikacji wykonaj kroki opisane w artykule Przygotowywanie certyfikatów do wdrożenia lub rotacji. Ponownie użyj narzędzia sprawdzania gotowości, aby przetworzyć plik zwrócony z urzędu certyfikacji.
Na koniec wykonaj kroki opisane w temacie Weryfikowanie certyfikatów PKI usługi Azure Stack Hub. Narzędzie do sprawdzania gotowości jest jeszcze raz używane do przeprowadzania testów weryfikacyjnych na nowym certyfikacie.
Obracanie wpisów tajnych
Na koniec określ najnowsze właściwości wdrożenia dostawcy zasobów i użyj ich do ukończenia procesu rotacji wpisów tajnych.
Określanie właściwości wdrożenia
Dostawcy zasobów są wdrażani w środowisku usługi Azure Stack Hub jako pakiet produktu w wersji. Pakiety mają przypisany unikatowy identyfikator pakietu w formacie '<product-id>.<installed-version>'
. Gdzie <product-id>
jest unikatowym ciągiem reprezentującym dostawcę zasobów i <installed-version>
reprezentuje określoną wersję. Wpisy tajne skojarzone z każdym pakietem są przechowywane w usłudze Key Vault Azure Stack Hub.
Otwórz konsolę programu PowerShell z podwyższonym poziomem uprawnień i wykonaj następujące kroki, aby określić właściwości wymagane do rotacji wpisów tajnych dostawcy zasobów:
Zaloguj się do środowiska usługi Azure Stack Hub przy użyciu poświadczeń operatora. Zobacz Nawiązywanie połączenia z usługą Azure Stack Hub przy użyciu programu PowerShell dla skryptu logowania programu PowerShell. Pamiętaj, aby użyć poleceń cmdlet Az programu PowerShell (zamiast modułu AzureRM) i zastąpić wszystkie wartości symboli zastępczych, takie jak adresy URL punktu końcowego i nazwa dzierżawy katalogu.
Uruchom polecenie cmdlet,
Get-AzsProductDeployment
aby pobrać listę najnowszych wdrożeń dostawcy zasobów. Zwrócona"value"
kolekcja zawiera element dla każdego wdrożonego dostawcy zasobów. Znajdź interesującego dostawcę zasobów i zanotuj wartości dla tych właściwości:-
"name"
— zawiera identyfikator produktu dostawcy zasobów w drugim segmencie wartości. -
"properties"."deployment"."version"
— zawiera aktualnie wdrożony numer wersji.
W poniższym przykładzie zwróć uwagę na wdrożenie dostawcy usługi Event Hubs w pierwszym elemecie kolekcji, który ma identyfikator
"microsoft.eventhub"
produktu , i wersję"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" } }, { ... } ] }
-
Skompiluj identyfikator pakietu dostawcy zasobów, łącząc identyfikator i wersję produktu dostawcy zasobów. Na przykład przy użyciu wartości pochodnych w poprzednim kroku identyfikator pakietu dostawcy usługi Event Hubs to
microsoft.eventhub.1.2003.0.0
.Używając identyfikatora pakietu pochodnego w poprzednim kroku, uruchom polecenie
Get-AzsProductSecret -PackageId
, aby pobrać listę typów wpisów tajnych używanych przez dostawcę zasobów. W zwróconejvalue
kolekcji znajdź element zawierający wartość"Certificate"
właściwości"properties"."secretKind"
. Ten element zawiera właściwości klucza tajnego certyfikatu dostawcy usług. Zanotuj nazwę przypisaną do tego wpisu tajnego"name"
certyfikatu, która jest identyfikowana przez ostatni segment właściwości tuż powyżej"properties"
.W poniższym przykładzie kolekcja wpisów tajnych zwrócona dla dostawcy usługi Event Hubs zawiera
"Certificate"
wpis tajny o nazwieaseh-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" } }, ... ] }
Obracanie wpisów tajnych
Za pomocą polecenia cmdlet zaimportuj
Set-AzsProductSecret
nowy certyfikat do Key Vault, który będzie używany przez proces rotacji. Przed uruchomieniem skryptu zastąp odpowiednie wartości symbolu zastępczego zmiennej:Symbol zastępczy Opis Przykładowa wartość <product-id>
Identyfikator produktu najnowszego wdrożenia dostawcy zasobów. microsoft.eventhub
<installed-version>
Wersja najnowszego wdrożenia dostawcy zasobów. 1.2003.0.0
<cert-secret-name>
Nazwa, w której jest przechowywany wpis tajny certyfikatu. aseh-ssl-gateway-pfx
<cert-pfx-file-path>
Ścieżka do pliku PFX certyfikatu. C:\dir\eh-cert-file.pfx
<pfx-password>
Hasło przypisane do certyfikatu . Plik PFX. 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
Na koniec użyj
Invoke-AzsProductRotateSecretsAction
polecenia cmdlet, aby obrócić wewnętrzne i zewnętrzne wpisy tajne:Uwaga
Ukończenie procesu rotacji trwa około 3,5– 4 godziny.
Invoke-AzsProductRotateSecretsAction -ProductId $productId
Możesz monitorować postęp rotacji wpisów tajnych w konsoli programu PowerShell lub w portalu administratora, wybierając dostawcę zasobów w usłudze Marketplace:
Rozwiązywanie problemów
Rotacja wpisów tajnych powinna zakończyć się pomyślnie bez błędów. Jeśli wystąpi którykolwiek z następujących warunków w portalu administratora, otwórz wniosek o pomoc techniczną w celu uzyskania pomocy:
- Problemy z uwierzytelnianiem, w tym problemy z nawiązywaniem połączenia z dostawcą zasobów usługi Event Hubs.
- Nie można uaktualnić dostawcy zasobów lub edytować parametrów konfiguracji.
- Metryki użycia nie są wyświetlane.
- Rachunki nie są generowane.
- Kopie zapasowe nie są wykonywane.
Następne kroki
Aby uzyskać szczegółowe informacje na temat rotacji wpisów tajnych infrastruktury usługi Azure Stack Hub, zobacz Rotacja wpisów tajnych w usłudze Azure Stack Hub.