credential

Управляет учетными данными, паролями и секретными ключами в поставщиках учетных данных (credential providers).

CredentialProvider API в Arenadata Hadoop позволяет разделить приложения и то, как они хранят свои пароли/секреты.
Чтобы указать конкретный тип и местоположение провайдера, необходимо указать параметр конфигурации hadoop.security.credential.provider.path в core-site.xml или использовать флаг -provider для каждой из следующих команд.

Путь к провайдеру представляет собой список URL-адресов, разделенных запятыми, который указывает тип и расположение списка провайдеров, к которым следует обратиться.
Например, путь user:///jceks://file/tmp/test.jceks,jceks://hdfs@nn1.example.com/my/path/test.jceks указывает, что:

  • к файлу учетных данных текущего пользователя следует обращаться через User Provider;

  • локальный файл /tmp/test.jceks является Java Keystore Provider;

  • HDFS-файл nn1.example.com/my/path/test.jceks также является хранилищем для Java Keystore Provider.

Команда credential часто используется для предоставления пароля или секретного ключа определенному поставщику хранилища учетных данных.
Чтобы явно указать, какое хранилище провайдеров использовать, используйте флаг -provider.
Иначе при указании нескольких путей к провайдерам будет использован первый непереходный провайдер.
Это может быть как нужный провайдер, так и любой другой.

Провайдеры часто требуют ввода пароля или другого секретного ключа.
Если провайдер требует пароль и не может его найти, он использует пароль по умолчанию и выдает предупреждение о том, что используется пароль по умолчанию.
Если установлен флаг -strict, предупреждение становится сообщением об ошибке, и команда немедленно возвращается со статусом ошибки.

Использование показано ниже:

$ hadoop credential <subcommand> [options]
Аргументы

print
[-alias alias ]
filename [ filename2 …​]

Выводит поля в токенах, содержащихся в filenamefilename2 …​).
Если указан alias, выводит только токены, соответствующие alias.
Иначе, выводит все токены

get URL
[-service scheme ]
[-format (java|protobuf)]
[-alias alias ]
[-renewer renewer ]
filename | filename [ filename2 …​]

Получает токен от сервиса по URL-адресу и помещает его в файл.
URL является обязательным и должен следовать сразу за запросом get.
URL — это URL сервиса, например, hdfs://localhost:9000.
alias будет перезаписывать поле сервиса в токене.
Предназначен для хостов, имеющих внешние и внутренние имена, например, firewall.com:14000.
filename должен указываться последним и является именем файла токена.
Будет создан, если не существует.
В противном случае токен(ы) добавляются в существующий файл.
Флаг -service следует использовать только с URL, который начинается с http или https.
Следующие варианты эквивалентны: hdfs://localhost:9000/ и http://localhost:9000 -service hdfs

append
[-format (java|protobuf)]
filename filename2 [ filename3 …​]

Добавляет содержимое первых N файлов к последнему файлу.
Маркеры, присутствующие в последнем файле, всегда сохраняются

remove -alias alias
[-format (java|protobuf)]
filename [ filename2 …​]

Из каждого указанного файла удаляет токены, соответствующие alias, и каждый файл записывается в указанном формате.
Аргумент alias должен быть указан

cancel -alias alias
[-format (java|protobuf)]
filename [ filename2 …​]

Аналогично remove, за исключением того, что токены также отменяются с помощью сервиса, указанного в объекте токена.
Аргумент alias должен быть указан

renew -alias alias
[-format (java|protobuf)]
filename [ filename2 …​]

Для каждого указанного файла обновляет токены, соответствующие alias, и выписывает каждый файл в указанном формате.
Аргумент должен быть указан

import base64
[-alias alias ]
filename

Импортирует Base64-токен.
Аргумент alias перезапишет служебное поле в токене

Пример:

$ hadoop credential list -provider jceks://file/tmp/test.jceks
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней