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

Я следую руководству 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 имя секретного сертификата совпадает с именем сертификата. Если вы потеряете доступ к закрытому ключу сертификата, сбросьте учетные данные субъекта-службы.


person senseiwu    schedule 14.05.2020    source источник


Ответы (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. Немного проблемы с курицей и яйцом :)

person juunas    schedule 14.05.2020
comment
Кстати. только что заметил github.com/MicrosoftDocs/azure-docs-cli/issues/1360 Наверное, это объясняет - person senseiwu; 14.05.2020