#azure #azure-active-directory #terraform #terraform-provider-azure
#azure #azure-active-directory #terraform #terraform-provider-azure
Вопрос:
Я использую Terraform cloud и не хочу использовать в нем постоянные ключи. Итак, есть ли способ создать временные ключи в Azure Cloud (например, мы можем создать в AWS).
Ответ №1:
Когда вы выполняете аутентификацию в Azure Cloud через Azure service principal, по умолчанию команда Az CLI получит пароль для этого участника-службы с датой истечения срока действия в один год.
az ad sp create-for-rbac --role="Contributor" --scopes="/subscriptions/<subscription_id&&t;"
судя по вашим комментариям, на самом деле вы хотите, чтобы срок действия этого пароля истек через короткое время. Вы можете использовать az ad app credential reset
для добавления или перезаписи пароля приложения или учетных данных сертификата.
Например, сбросьте пароль приложения с помощью следующих команд командной строки Az.
az ad app credential reset --id <appId&&t; --password <sp_password&&t; --end-date 2020-08-13T11:59:59 00:00
Для получения дополнительной информации вы можете прочитать взаимосвязь между объектами приложения и участниками службы
Комментарии:
1. Как я вижу на портале, мы можем указать срок действия только 1 год или 2 года. Возможно ли сократить время до 4-5 часов с помощью этой команды? И не могли бы вы, пожалуйста, объяснить мне, почему вы использовали изменить пароль и конечную дату в одной команде?
2. Сократить время можно только с помощью команд, а не пользовательского интерфейса. Вы пробовали
az ad app credential reset
команду, которая передает старый существующий пароль, но сбрасывает конечные данные одной командой? У вас это работает?3. У вас есть еще вопросы?
Ответ №2:
Создав ServicePrincipal в AzureAD, вы также сможете назначить политику срока службы (tokenLifetimePolicies). Таким образом, вы сможете получить «конец срока службы» токена.
Вот также краткое руководство по созданию нового ServicePrincipal.
В качестве альтернативы вы могли бы использовать эту новую функцию предварительного просмотра: Настраиваемое время жизни токена в Microsoft identity platform (предварительный просмотр).
Поскольку это функция предварительного просмотра, вы не должны использовать ее в производственных средах.
Комментарии:
1. Что я заметил, так это то, что в Azure для аутентификации Terraform мы используем subscription_id и tennant_id. Я хочу автоматизировать процесс с помощью cli. Не могли бы вы, пожалуйста, помочь мне создать временный tennant_id (или ключи) через CLI, и этот ключ я могу передать в Terraform cloud. Срок действия ключа должен истечь примерно через 4-5 часов.