Вот что документация signurl
говорит:
gsutil signurl [-c <content_type>] [-d <duration>] [-m <http_method>] \
[-p <password>] [-r <region>] keystore-file url...
[...]
gsutil signurl <private-key-file> gs://some-bucket/some-object/
Команда signurl использует приватный ключ для учетной записи службы (аргумент '') для генерации криптографической подписи c для сгенерированного URL. Файл закрытого ключа должен быть в формате PKCS12 или JSON. Если закрытый ключ зашифрован, подписанная команда url запросит фразу-пароль, используемую для защиты файла секретного ключа (по умолчанию notasecret). Для получения дополнительной информации о создании закрытого ключа для использования с командой signurl см. Документацию по аутентификации.
Итак, первый аргумент после signurl
, который в вашем вопросе равен my-private-key.json
, является Хранилище ключей. Он содержит закрытый ключ.
Обычно мы шифруем закрытые ключи, чтобы их было сложнее украсть. Поэтому, когда вы создали my-private-key.json
, вас, вероятно, попросили ввести ключевую фразу, и она использовалась для шифрования закрытого ключа.
Но gsutil
необходимо расшифровать закрытый ключ, прежде чем он сможет использовать его для подписи ваш URL. Поэтому gsutil
нужна фраза-пароль, которая использовалась для шифрования закрытого ключа. Вам нужно ввести эту фразу в приглашении Keystore password:
. Если вы не помните парольную фразу, которую использовали для создания закрытого ключа, вам нужно будет создать новый закрытый ключ.
(Возможно, эта фраза на самом деле «notasecret»?)