Solucionar problemas do código de erro ServicePrincipalValidationClientError

Este artigo discute como identificar e resolve o ServicePrincipalValidationClientError erro que pode ocorrer se você tentar criar e implantar um cluster do AKS (Microsoft Serviço de Kubernetes do Azure).

Pré-requisitos

  • CLI do Azure, versão 2.0.59 ou uma versão posterior. Se a CLI do Azure já estiver instalada, você poderá encontrar o número da versão executando az --version.

Sintomas

Ao tentar implantar um cluster do AKS, você recebe a seguinte mensagem de erro:

adal: falha na solicitação de atualização. Código de status = '401'.

Corpo da resposta: {

"error": "invalid_client",

"error_description": "AADSTS7000215: segredo de cliente inválido fornecido. Verifique se o segredo enviado na solicitação é o valor segredo do cliente, não a ID secreta do cliente, para um segredo adicionado ao aplicativo '123456789-1234-1234-1234-1234567890987'.\r\n

ID de rastreamento: 12345\r\n

ID de correlação: 6789\r\n

Carimbo de data/hora: 2022-02-03 03:07:11Z",

"error_codes": [7000215],

"carimbo de data/hora": "2022-02-03 03:07:11Z",

"trace_id": "12345",

"correlation_id": "6789",

"error_uri": "https://login.microsoftonline.com/error?code=7000215"

} Ponto de extremidade https://login.microsoftonline.com/123456787/oauth2/token?api-version=1.0

Motivo

O segredo fornecido para a entidade de serviço realçada não é válido.

Solução 1: redefinir o segredo da entidade de serviço

Redefinir o segredo usado para a entidade de serviço executando o comando de redefinição de credenciais do az ad sp :

az ad sp credential reset --name "01234567-89ab-cdef-0123-456789abcdef" --query password --output tsv

Esse comando redefine o segredo e o exibe como saída. Em seguida, você pode especificar o novo segredo ao tentar novamente criar o novo cluster.

Solução 2: criar uma nova entidade de serviço

Você pode criar uma nova entidade de serviço e obter o segredo associado a ela executando o comando az ad sp create-for-rbac :

az ad sp create-for-rbac --role Contributor

A saída do comando deve se assemelhar à seguinte cadeia de caracteres JSON:

{
  "appId": "12345678-9abc-def0-1234-56789abcdef0",
  "name": "23456789-abcd-ef01-2345-6789abcdef01",
  "password": "3456789a-bcde-f012-3456-789abcdef012",
  "tenant": "456789ab-cdef-0123-4567-89abcdef0123"
}

Observe os appId valores e password gerados. Depois de obter esses valores, você pode executar novamente o comando de criação de cluster para a nova entidade de serviço e o segredo.

Mais informações

Entre em contato conosco para obter ajuda

Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.