Я использую AWS CLI. Я использую сервис AWS STS для принятия роли, после чего получаю временные учетные данные AWS, такие как идентификатор ключа доступа AWS, секретный ключ доступа aws и токен сеанса aws. Я создал файл bat для запуска команды AWS STS accept role и автоматического изменения файла учетных данных aws. Работает нормально. Теперь, после использования временных кредитов, я хочу вернуться к исходному файлу учетных данных. Я могу изменить пару ключей доступа к aws, выполнив команду aws configure. Но я хочу автоматически очистить aws_session_token. В Linux я сделал это с помощью следующей команды.
sed '/^aws_session_token/s/=.*$/=/' credentials
sed -i -e '/aws_session_token/d' credentials
Здесь я сначала очищаю значение для aws_session_token, а затем для слова «aws_session_token». Я не могу понять, как это сделать в окнах. Итак, есть ли альтернатива sed для удаления значения для определенного ключа, а затем самого ключа? Любая помощь приветствуется.
Вместо того, чтобы заменять учетные данные, я бы рекомендовал вам добавить дополнительный профиль в файл учетных данных при использовании временных учетных данных. Таким образом, нет необходимости возвращаться к набору учетных данных. См .: Именованные профили — интерфейс командной строки AWS — person Jass schedule 16.12.2020
Это звучит неплохо. Но я не могу добавить новый профиль AWS на стороне клиента. У меня нет на это разрешения. — person Jass schedule 16.12.2020
Тогда какой файл учетных данных вы редактируете? — person Jass schedule 16.12.2020
Я редактирую только файл aws creds, но у меня нет права добавлять новый продайл. Я могу использовать только профиль по умолчанию. @ Джон Ротенштейн — person Jass schedule 16.12.2020
Если вы редактируете файл, вы можете добавить новый профиль — это просто несколько дополнительных строк в том же файле. Или вы имеете в виду, что вам не разрешено это делать? Альтернативой может быть сохранение постоянных учетных данных в файле конфигурации, использование переменных среды для временных учетных данных STS, поскольку переменные среды используются перед файлом учетных данных. — person Jass schedule 16.12.2020
У меня другой вопрос. Я могу установить переменные среды. Я хочу удалить их из файла учетных данных. — person Jass; 16.12.2020
1 — вы можете прочитать значение переменных из файла учетных данных, используя aws configure get (aws configure get default.region), сохраните значение в переменной temp. 2- сбросить переменную среды, используя значение, которое вы прочитали на предыдущем шаге с помощью команды setx (setx AWS_DEFAULT_REGION temp) — person Jass; 16.12.2020