Очистить пару ключ и значение из файла в Windows

Я использую 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

Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. Jass

    Когда вы запускаете команды интерфейса командной строки AWS, интерфейс командной строки AWS ищет учетные данные в определенном порядке — сначала в переменных среды, а затем в файле конфигурации. Поэтому после того, как вы поместили временные учетные данные в переменные среды, интерфейс командной строки AWS использует эти учетные данные по умолчанию. (Если вы укажете в команде параметр профиля, интерфейс командной строки AWS пропускает переменные среды. Вместо этого интерфейс командной строки AWS просматривает файл конфигурации, который позволяет при необходимости переопределить учетные данные в переменных среды.)

    В следующем примере показано, как можно установить переменные среды для временных учетных данных безопасности, а затем вызвать команду интерфейса командной строки AWS. Поскольку в команду AWS CLI не включен параметр профиля, интерфейс командной строки AWS сначала ищет учетные данные в переменных среды и поэтому использует временные учетные данные.

    SET AWS_ACCESS_KEY_ID=YourAccessKEYID
    SET AWS_SECRET_ACCESS_KEY=YourSecretKeyAccess
    SET AWS_SESSION_TOKEN=YourToken
    

    У меня другой вопрос. Я могу установить переменные среды. Я хочу удалить их из файла учетных данных. 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

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: