Как мне выполнить текстовый файл в SAS без разрешения на чтение? - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть текстовый файл с моими личными учетными данными и некоторыми макросами, для которых требуются эти учетные данные. Я хочу войти в систему под именем пользователя какой-либо другой группы в SAS и запустить этот текстовый файл, не раскрывая мои учетные данные ... как мне это сделать?

Я пытался установить только разрешения на выполнение для текстового файла. И я использовал оператор% include в SAS, но он говорит, что есть «Недостаточная авторизация», потому что нет разрешений на чтение. Я не хочу устанавливать разрешения на чтение, потому что я не хочу, чтобы кто-то, вошедший в группу userID, мог прочитать файл и получить мои личные данные. Однако я хочу, чтобы они могли запускать этот файл.

% include "/home/personalID/LoginPass.txt";

ОШИБКА: недостаточно прав для доступа к /home/personalID/LoginPass.txt. ОШИБКА: не удается открыть файл% INCLUDE /home/personalID/LoginPass.txt.

1 Ответ

1 голос
/ 06 ноября 2019

Вы не можете выполнить файл без разрешения READ, потому что вам необходимо прочитать его, чтобы выполнить.

Если вы хотите предоставить учетные данные, рекомендуется использовать домен аутентификации в метаданных SAS (поговорите с вашим администратором, чтобы настроить это.)

Если ваша программа SAS выполняется как хранимый процесс, вы можете разрешить только READ-доступ системной учетной записи sassrv (или эквивалентной) к вашему файлу secret.txt (вместе с опцией nosource2) для безопасного обмена учетными данными таким же образом.

Будут полезны следующие статьи:

https://blogs.sas.com/content/sasdummy/2010/11/23/five-strategies-to-eliminate-passwords-from-your-sas-programs/

https://blogs.sas.com/content/sasdummy/2018/01/16/hide-rest-api-tokens/

Если вы решили использовать proc pwencode, чтобы скрыть ваши пароли, обязательно используйте sas003 или выше. sas002 и ниже очень легко перепроектировать, и никогда не должны использоваться.

...