Como girar segredos para centros de eventos no Azure Stack Hub

Este artigo irá mostrar-lhe como rodar os segredos utilizados pelo fornecedor de recursos Event Hubs.

Descrição geral e pré-requisitos

Nota

A rotação secreta para fornecedores de recursos de valor acrescentado (RPs) é atualmente suportada apenas através do PowerShell. Além disso, deve rodar proativamente os segredos para obter RPs de valor acrescentado regularmente, uma vez que os alertas administrativos não são atualmente gerados.

Tal como a infraestrutura Azure Stack Hub, os fornecedores de recursos de valor acrescentado utilizam segredos internos e externos. Os segredos podem assumir várias formas, incluindo palavras-passe e chaves de encriptação mantidas por certificados X509. Como operador, é responsável por:

  • Fornecendo segredos externos atualizados, como um novo certificado TLS usado para garantir pontos finais do fornecedor de recursos.
  • Gerir regularmente a rotação secreta do fornecedor de recursos.

Em preparação para o processo de rotação:

  1. Reveja os requisitos de certificado de infraestrutura de chaves públicas (PKI) do Azure Stack Hub para informações importantes antes de adquirir/renovar o seu certificado X509, incluindo detalhes sobre o formato PFX necessário. Reveja também os requisitos especificados na secção de certificados Opcionais PaaS,para o seu fornecedor específico de recursos de valor acrescentado.

  2. Se ainda não o fez, instale o módulo PowerShell Az para O Azure Stack Hub antes de continuar. A versão 2.0.2 pré-visualização ou posterior é necessária para a rotação secreta do Azure Stack Hub. Para obter mais informações, consulte Migrar da AzureRM para Azure PowerShell Az no Azure Stack Hub.

Preparar um novo certificado TLS

Em seguida, crie ou renove o certificado TLS para assegurar os pontos finais do fornecedor de recursos de valor acrescentado:

  1. Complete os passos em Gerar pedidos de assinatura de certificado (RSE) para renovação de certificado para o seu fornecedor de recursos. Aqui utiliza a ferramenta Azure Stack Hub Readiness Checker para criar a RSE. Certifique-se de que executa o cmdlet correto para o seu fornecedor de recursos, na etapa "Gere pedidos de certificados para outros serviços Azure Stack Hub". Por New-AzsHubEventHubsCertificateSigningRequest exemplo, é usado para Centros de Eventos. Quando terminar, submete o gerado. ReQ arquivo para a sua Autoridade de Certificados (CA) para o novo certificado.

  2. Assim que receber o seu ficheiro de certificado da AC, preencha os passos nos certificados de preparação para a implantação ou rotação. Utilize novamente a ferramenta Verificador de Preparação para processar o ficheiro devolvido da AC.

  3. Por fim, complete os passos nos certificados Validate Azure Stack Hub PKI. Utilize mais uma vez a ferramenta Verificador de Preparação para realizar testes de validação no seu novo certificado.

Girar segredos

Finalmente, determine as mais recentes propriedades de implementação do fornecedor de recursos e use-as para completar o processo de rotação secreta.

Determinar propriedades de implantação

Os fornecedores de recursos são implantados no seu ambiente Azure Stack Hub como um pacote de produto com versão. Os pacotes são atribuídos a um iD de pacote único, no formato '<product-id>.<installed-version>' . Onde <product-id> está uma cadeia única representando o fornecedor de recursos, e representa uma versão <installed-version> específica. Os segredos associados a cada pacote estão armazenados no serviço Azure Stack Hub Key Vault.

Abra uma consola PowerShell elevada e complete os seguintes passos para determinar as propriedades necessárias para rodar os segredos do fornecedor de recursos:

  1. Inscreva-se no ambiente Azure Stack Hub utilizando as credenciais do seu operador. Consulte Ligação para Azure Stack Hub com PowerShell para o script de inscrição powerShell. Certifique-se de que utiliza os cmdlets PowerShell Az (em vez de AzureRM), e substitua todos os valores de espaço reservado, tais como URLs de ponto final e nome do inquilino do diretório.

  2. Executar o Get-AzsProductDeployment cmdlet para recuperar uma lista das mais recentes implementações do fornecedor de recursos. A recolha devolvida "value" contém um elemento para cada fornecedor de recursos implantado. Encontre o fornecedor de recursos de interesse e tome nota dos valores para estes imóveis:

    • "name" - contém o ID do produto fornecedor de recursos no segundo segmento do valor.
    • "properties"."deployment"."version" - contém o número de versão atualmente implantado.

    No exemplo seguinte, note a implantação de RP do Event Hubs no primeiro elemento da coleção, que tem um ID de produto "microsoft.eventhub" de, e versão "1.2003.0.0" :

    PS C:\WINDOWS\system32> Get-AzsProductDeployment -AsJson
    VERBOSE: GET https://adminmanagement.myregion.mycompany.com/subscriptions/ze22ca96-z546-zbc6-z566-z35f68799816/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/ze22ca96-z546-zbc6-z566-z35f68799816/providers/Microsoft.Deployment.Admin/locations/global/productDeployments/microsoft.eventhub",
                          "name":  "global/microsoft.eventhub",
                          "type":  "Microsoft.Deployment.Admin/locations/productDeployments",
                          "properties":  {
                                             "status":  "DeploymentSucceeded",
                                             "subscriptionId":  "b37ae55a-a6c6-4474-ba97-81519412adf5",
                                             "deployment":  {
                                                                "version":  "1.2003.0.0",
                                                                "actionPlanInstanceResourceId":"/subscriptions/ze22ca96-z546-zbc6-z566-z35f68799816/providers/Microsoft.Deployment.Admin/locations/global/actionplans/abcdfcd3-fef0-z1a3-z85d-z6ceb0f31e36",
                                                                "parameters":  {
    
                                                                               }
                                                            },
                                             "lastSuccessfulDeployment":  {
                                                                              "version":  "1.2003.0.0",
                                                                              "actionPlanInstanceResourceId":"/subscriptions/ze22ca96-z546-zbc6-z566-z35f68799816/providers/Microsoft.Deployment.Admin/locations/global/actionplans/abcdfcd3-fef0-z1a3-z85d-z6ceb0f31e36",
                                                                              "parameters":  {
    
                                                                                             }
                                                                          },
                                             "provisioningState":  "Succeeded"
                                         }
                      },
                      {
                      ...
                      }
                  ]
    }
    
  3. Construa o ID do pacote do fornecedor de recursos, concatenando o ID e versão do produto fornecedor de recursos. Por exemplo, utilizando os valores derivados do passo anterior, o pacote de pacotes de RP do Event Hubs é microsoft.eventhub.1.2003.0.0 .

  4. Utilizando o ID do pacote derivado no passo anterior, corra Get-AzsProductSecret -PackageId para recuperar a lista de tipos secretos que estão a ser utilizados pelo fornecedor de recursos. Na value recolha devolvida, encontre o elemento que contenha um valor "Certificate" para o "properties"."secretKind" imóvel. Este elemento contém propriedades para o segredo de certificado do RP. Tome nota do nome atribuído a este segredo de certificado, que é identificado pelo último segmento do "name" imóvel, logo "properties" acima.

    No exemplo seguinte, a coleção de segredos devolvida para o Event Hubs RP contém um "Certificate" segredo chamado aseh-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/ze22ca96-z546-zbc6-z566-z35f68799816/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/ze22ca96-z546-zbc6-z566-z35f68799816/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"
                                        }
                        },
                        ...
                    ]
    }
    

Rode os segredos

  1. Utilize o Set-AzsProductSecret cmdlet para importar o seu novo certificado para Key Vault, que será utilizado pelo processo de rotação. Substitua os valores de espaço reservado variável em conformidade antes de executar o script:

    Marcador de posição Description Valor de exemplo
    <product-id> O ID do produto da mais recente implementação do fornecedor de recursos. microsoft.eventhub
    <installed-version> A versão da mais recente implementação do fornecedor de recursos. 1.2003.0.0
    <cert-secret-name> O nome sob o qual o segredo do certificado está armazenado. aseh-ssl-gateway-pfx
    <cert-pfx-file-path> O caminho para o seu arquivo PFX certificado. C:\dir\eh-cert-file.pfx
    <pfx-password> A senha atribuída ao seu certificado. Ficheiro 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
    
  2. Finalmente, use o Invoke-AzsProductRotateSecretsAction cmdlet para rodar os segredos internos e externos:

    Nota

    Leva aproximadamente 3,5 - 4 horas para concluir o processo de rotação.

    Invoke-AzsProductRotateSecretsAction -ProductId $productId
    

    Pode monitorizar o progresso da rotação secreta na consola PowerShell ou no portal do administrador selecionando o fornecedor de recursos no serviço Marketplace:

    secret-rotação-progresso

Resolução de problemas

A rotação secreta deve ser concluída com sucesso sem erros. Se experimentar alguma das seguintes condições no portal do administrador, abra um pedido de assistência de apoio:

  • Problemas de autenticação, incluindo problemas de ligação ao fornecedor de recursos do Event Hubs.
  • Não é possível atualizar o fornecedor de recursos ou editar parâmetros de configuração.
  • As métricas de utilização não estão a aparecer.
  • As contas não estão a ser geradas.
  • Os reforços não estão a ocorrer.

Passos seguintes

Para mais detalhes sobre a rotação dos seus segredos de infraestrutura Azure Stack Hub, visite os segredos da Rotação no Azure Stack Hub.