Лазурный вход с субъектом службы с использованием сертификата из хранилища ключей
Я следую руководству 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. Немного проблемы с курицей и яйцом:)