Partilhar via


Autenticação de cliente usando a cadeia de certificados da autoridade de certificação

Use a cadeia de certificados de CA na Grade de Eventos do Azure para autenticar clientes enquanto se conectam ao serviço.

Neste guia, você executa as seguintes tarefas:

  1. Carregue um certificado de autoridade de certificação, o certificado pai imediato do certificado do cliente, para o namespace.
  2. Configure as configurações de autenticação do cliente.
  3. Conecte um cliente usando o certificado de cliente assinado pelo certificado de autoridade de certificação carregado anteriormente.

Pré-requisitos

  • Você precisa de um namespace de grade de eventos já criado.
  • Você precisa de uma cadeia de certificados de CA: certificados de cliente e o certificado pai (normalmente um certificado intermediário) que foi usado para assinar os certificados de cliente.

Gerar certificado de cliente de exemplo e impressão digital

Se você ainda não tiver um certificado, poderá criar um certificado de exemplo usando a etapa CLI. Considere instalar manualmente para Windows.

  1. Depois de instalar o Step, no Windows PowerShell, execute o comando para criar certificados raiz e intermediários.
.\step ca init --deployment-type standalone --name MqttAppSamplesCA --dns localhost --address 127.0.0.1:443 --provisioner MqttAppSamplesCAProvisioner
  1. Usando os arquivos de autoridade de certificação gerados para criar o certificado para o cliente.
.\step certificate create client1-authnID client1-authnID.pem client1-authnID.key --ca .step/certs/intermediate_ca.crt --ca-key .step/secrets/intermediate_ca_key --no-password --insecure --not-after 2400h
  1. Para visualizar a impressão digital, execute o comando Step.
step certificate fingerprint client1-authn-ID.pem

Carregue o certificado da autoridade de certificação para o namespace

  1. No portal do Azure, navegue até o namespace da Grade de Eventos.
  2. Na seção MQTT broker no trilho esquerdo, navegue até o menu de certificados CA.
  3. Selecione + Certificado para iniciar a página Carregar certificado.
  4. Adicione o nome do certificado e navegue para encontrar o certificado intermediário (.step/certs/intermediate_ca.crt) e selecione Carregar. Você pode carregar um arquivo do tipo .pem, .cer ou .crt.

Captura de tela mostrando o certificado de autoridade de certificação adicionado listado na página de certificados de autoridade de certificação.

Nota

  • O nome do certificado da autoridade de certificação pode ter de 3 a 50 caracteres.
  • O nome do certificado da autoridade de certificação pode incluir alfanumérico, hífen(-) e sem espaços.
  • O nome precisa ser exclusivo por namespace.

Definir configurações de autenticação de cliente

  1. Navegue até a página Clientes.
  2. Selecione + Cliente para adicionar um novo cliente. Se quiser atualizar um cliente existente, selecione o nome do cliente e abra a página Atualizar cliente.
  3. Na página Criar cliente, adicione o nome do cliente, o nome da autenticação do cliente e o esquema de validação da autenticação do certificado do cliente. Normalmente, o nome de autenticação do cliente estaria no campo de nome do assunto do certificado do cliente.

Captura de tela mostrando os metadados do cliente usando o assunto corresponde à opção de nome de autenticação.

  1. Selecione o botão Criar para criar o cliente.

Exemplo de esquema de objeto de certificado

{
    "properties": {
        "description": "CA certificate description",
        "encodedCertificate": "-----BEGIN CERTIFICATE-----`Base64 encoded Certificate`-----END CERTIFICATE-----"
    }
}

Configuração da CLI do Azure

Use os seguintes comandos para carregar/mostrar/excluir um certificado de autoridade de certificação (CA) para o serviço

Carregar certificado raiz ou intermediário da autoridade de certificação

az eventgrid namespace ca-certificate create -g myRG --namespace-name myNS -n myCertName --certificate @./resources/ca-cert.json

Mostrar informações do certificado

az eventgrid namespace ca-certificate show -g myRG --namespace-name myNS -n myCertName

Excluir certificado

az eventgrid namespace ca-certificate delete -g myRG --namespace-name myNS -n myCertName

Próximos passos