Правильный способ использования секретной переменной в скрипте PowerShell - PullRequest
3 голосов
/ 24 февраля 2020

Как правильно использовать секретную переменную в скрипте PowerShell? Это может быть переменная конвейера, переменная группы или переменная, введенная из задачи Azure Key Vault. Я видел в документации, что она не может использоваться так же, как обычная (не секретная) переменная. Он говорит: «Вместо этого мы предлагаем вам сопоставить ваши секреты с переменными среды». и «Вам необходимо явно отобразить секретные переменные». Я использовал переменную среды, и она работает. Есть ли другие способы сделать это? Этот блог говорит, что вы можете использовать его непосредственно в скрипте, что, кажется, противоречит документу MS. Этот передает переменную в качестве аргумента или параметра в сценарии. Кто-нибудь знает, что на самом деле происходит за кулисами?

1 Ответ

0 голосов
/ 24 февраля 2020

видел в документации, что его нельзя использовать так же, как обычную (не секретную) переменную. Он говорит: «Вместо этого мы предлагаем вам сопоставить ваши секреты с переменными среды». и «Вам необходимо явно отобразить секретные переменные».

do c неправильно понято, это не значит, что секретные переменные нельзя использовать так же, как обычные переменные, вместо этого говорится не рекомендуется передавать секреты в командной строке напрямую, поскольку некоторые операционные системы регистрируют аргументы командной строки, которые могут вызвать утечку информации, как уже упоминалось, и предлагается сопоставить ваши секреты с переменными среды.

В этом блоге написано Вы можете использовать его непосредственно в сценарии, что, по-видимому, противоречит документу MS.

Как уже упоминалось выше, секреты можно использовать непосредственно в сценарии, хотя это не рекомендуется, поэтому они не противоречат друг другу.

Вы также можете проверить пример в MSDN: c:

steps:

- powershell: |
    # Using an input-macro:
    Write-Host "This works: $(mySecret)"

    # Using the env var directly:
    Write-Host "This does not work: $env:MYSECRET"

    # Using the mapped env var:
    Write-Host "This works: $env:MY_MAPPED_ENV_VAR"    # Recommended
  env:
    MY_MAPPED_ENV_VAR: $(mySecret)

, и вы увидите в первой строке скрипта powershell секрет переменная используется непосредственно в команде.

В заключение я предлагаю следовать MSDN do c, отобразите ваш секреты в переменные окружения, а затем использовать их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...