Лазурный вход с субъектом службы с использованием сертификата из хранилища ключей

Я следую руководству https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli?toc=%2Fazure%2Fazure-resource-manager%2Ftoc.json& view = azure-cli-latest для создания субъекта- службы, который можно будет использовать в сценариях оболочки.

az ad sp create-for-rbac --name ServicePrincipalName --create-cert --cert CertName --keyvault VaultName

Используя вышесказанное, я сохранил созданный сертификат в хранилище ключей.

Однако я не мог понять, как использовать новый sp..

Что я вижу из док. является:-

az login --service-principal --username APP_ID --tenant TENANT_ID --password /path/to/cert

Но это не работает, хотя я скачал сертификат и закрытый ключ из хранилища ключей.

Как я могу указать логину для получения ключа из хранилища ключей?

Уточнение (обновление):

Если на самом деле нет возможности использовать keyvault для входа в систему, то мне действительно интересно, в чем смысл двух утверждений в этом официальном документе. предлагая этот путь

1)

Аргумент --keyvault можно добавить, чтобы использовать сертификат в Azure Key Vault. В этом случае значение --cert - это имя сертификата.

az ad sp create-for-rbac --name ServicePrincipalName --cert CertName --keyvault VaultName 

2)

Для сертификатов, хранящихся в Key Vault, получите закрытый ключ сертификата с помощью команды az keyvault secret show. В Key Vault имя секретного сертификата совпадает с именем сертификата. Если вы потеряете доступ к закрытому ключу сертификата, сбросьте учетные данные субъекта-службы.

1 ответ

Если вы используете az login -h, вы можете увидеть образец использования сертификата:

az login --service-principal -u http://azure-cli-2016-08-05-14-31-15 -p ~/mycertfile.pem --tenant contoso.onmicrosoft.com

Итак, вам нужно:

  • -u идентификатор субъекта-службы
  • -p файл сертификата
  • --tenant (или -t) идентификатор клиента Azure AD

Я не думаю, что он может использовать сертификат в Key Vault для входа в систему, поскольку вам нужно войти в систему, чтобы получить токен для вызова Key Vault. Немного проблемы с курицей и яйцом:)

Другие вопросы по тегам