首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SAS传递语句中的无密码身份验证?

SAS传递语句中的无密码身份验证?
EN

Stack Overflow用户
提问于 2019-02-22 14:21:13
回答 1查看 1.2K关注 0票数 3

由于SAS的个人登录管理器,到远程服务器的初始连接无需密码(或密码哈希)即可工作。但是,似乎有必要指定各个数据库的密码(用户xxuser密码xxpwd,参见下面的示例)。

有没有一种方法可以连接到数据库服务器上的不同数据库,而不需要密码(散列)?

代码语言:javascript
复制
/* Connect to database server works without password 
   thanks to SAS's Personal Login Manager */
%dosignon(srvcomponent=xxxremoteSAS);

/* SQL direct pass-through to server */ 
rsubmit;

    /* Define SAS-libraries (on server) */
    libname remote_db_a db2 dsn=dbxa schema=xxschema1 user=xxuser password= "xxpwd";
    libname remote_db_b db2 dsn=dbxa schema=xxschema2 user=xxuser password= "xxpwd";
endrsubmit;

/* Link local library names with the ones the server */
libname remote_db_a a libref=remote_db_a server=&sessid.;
libname remote_db_b a libref=remote_db_b server=&sessid.;

解决方法是用proc pwencode in="plaintextPassword"; run;对密码字符串进行编码,并使用此散列,而不是在代码中使用xxpwd。潜在的攻击者现在不能再使用密码访问其他帐户,但当然仍然可以访问任何数据库。

PS:我是SAS的新手,所以SAS文档看起来就像一本有七个印章的书。我问了各种SAS专家,但我对密码哈希的建议并不满意.

相关问答:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-22 14:53:23

我不是SAS元数据管理器如何管理访问凭据的专家,但是只要“远程”SAS会话也使用元数据管理器,那么您就应该能够使用它来建立连接。

这是一个关于你提到的个人登录经理的博客文章。https://platformadmin.com/blogs/paul/2010/11/sas-personal-login-manager/

在讨论结束时,有一个如何使用元数据管理器创建libref以提供凭据的示例。

从用户的角度来看,要使用(出站登录)凭据访问第三方系统,请在所使用的SAS特性中查找身份验证域支持。例如,SAS/ACCESS AUTHDOMAIN= LIBNAME选项。

3.4&docsetId=acreldb&docsetTarget=n0aiq25zc8u8u6n1i81my0a24sd3.htm&locale=en

该页中的示例:

代码语言:javascript
复制
options metauser="metadata-userid"  metapass="metadata-password"
                metaport=8561               metaprotocol=bridge
                metarepository="metadata-repository"
                metaserver="server-name";

libname A1 saphana server=mysrv1 port=30015 authodomain="hanaauth";
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54829120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档