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