将 IWA 与 SAS ExportPackage 实用程序结合使用
Using IWA with SAS ExportPackage utility
使用SAS元数据批量导出工具时是否可以避免使用密码?
我正在我的 STP 网络应用程序(SAS 9.2、IWA、Kerberos)中构建一个功能,用于自动导出元数据项。根据 documentation,ExportPackage 实用程序需要凭据直接(-user
和 -password
等选项)或通过连接配置文件(-profile
)。
以sassrv登录应用服务器,我的连接配置文件内容如下:
#Properties file updated on: Thu Mar 12 16:35:07 GMT 2015 !!!!! DO NOT EDIT !!!!!!!
#Thu Mar 12 16:35:07 GMT 2015
Name=SAS
port=8561
InternalAccount=false
host=DEV-SASMETA.somecompany.int
AppServer.Default=A5MNZZZZ.AR000666
AllowLocalPasswords=true
authenticationdomain=DefaultAuth
SingleSignOn=true
运行 我的代码结果如下:
44 +%put Batch tool located at: &platform_object_path;
Batch tool located at: C:\Program Files\SAS/SASPlatformObjectFramework/9.2
45 +filename inpipe pipe
46 + " ""&platform_object_path\ExportPackage"" -profile MyProfile
47 + -package 'C:\Temp\TestPackage.spk' -objects '/SomeFolder/ARCHIVE(Folder)' -includeDep -subprop";
48 +data _null_;
49 + infile inpipe;
50 + input; putlog _infile_;
51 +run;
NOTE: The infile INPIPE is:
Unnamed Pipe Access Device,
PROCESS="C:\Program Files\SAS/SASPlatformObjectFramework/9.2\ExportPackage" -profile MyProfile -package 'C:\Temp\TestPackage.spk' -objects '/SomeFolder/ARCHIVE(Folder)' -includeDep
-subprop,
RECFM=V,LRECL=256
The export process has failed. The native implementation module for the security package could not be found in the path.
For more information, view the export log file: C:\Users\sassrv\AppData\Roaming\SAS\Logs\Export_150427172003.log
NOTE: 2 records were read from the infile INPIPE.
The minimum record length was 112.
The maximum record length was 121.
日志文件为空。
大概我的选择仅限于:
- 正在向前端索取用户密码
- 在连接配置文件中使用系统帐户
- 在 -user 和 -password 选项中使用系统帐户
??
这最初是通过在配置文件中嵌入用户名/密码来解决的,但现在它通过采用下面的(修改后的)模板配置文件,并动态添加 host=
/ port=
参数来解决运行时(因此可以在不同的环境中使用相同的配置文件)。
IWA 现在用于连接到元数据服务器!
# This file is used by Release Management for connecting to the metadata server
# The host= and port= parameters are provided by the application at runtime
SingleSignOn=true
AllowLocalPasswords=true
InternalAccount=false
SecurityPackageList=Negotiate,NTLM
SecurityPackage=Negotiate
我发现的一件重要事情(不在 SAS 文档中)是您可以在 ExportPackage 命令中用配置文件(.swa 文件)的绝对路径替换配置文件名称。
编辑(一年后):
正如@Stig Eide 所指出的,该错误似乎确实与 32 位和 64 位 JRE 有关。我今天在 DI Studio 中也遇到了这个问题,并按照 here
中所述复制 sspiauth.dll 文件解决了这个问题
我前段时间通过 SAS 技术支持验证了这一点;目前不可能。
我为其输入了一个 SASWare Ballet 项目:https://communities.sas.com/t5/SASware-Ballot-Ideas/Add-Integrated-Windows-Authentication-IWA-support-to-Batch/idi-p/220474
请投票!
使用SAS元数据批量导出工具时是否可以避免使用密码?
我正在我的 STP 网络应用程序(SAS 9.2、IWA、Kerberos)中构建一个功能,用于自动导出元数据项。根据 documentation,ExportPackage 实用程序需要凭据直接(-user
和 -password
等选项)或通过连接配置文件(-profile
)。
以sassrv登录应用服务器,我的连接配置文件内容如下:
#Properties file updated on: Thu Mar 12 16:35:07 GMT 2015 !!!!! DO NOT EDIT !!!!!!!
#Thu Mar 12 16:35:07 GMT 2015
Name=SAS
port=8561
InternalAccount=false
host=DEV-SASMETA.somecompany.int
AppServer.Default=A5MNZZZZ.AR000666
AllowLocalPasswords=true
authenticationdomain=DefaultAuth
SingleSignOn=true
运行 我的代码结果如下:
44 +%put Batch tool located at: &platform_object_path;
Batch tool located at: C:\Program Files\SAS/SASPlatformObjectFramework/9.2
45 +filename inpipe pipe
46 + " ""&platform_object_path\ExportPackage"" -profile MyProfile
47 + -package 'C:\Temp\TestPackage.spk' -objects '/SomeFolder/ARCHIVE(Folder)' -includeDep -subprop";
48 +data _null_;
49 + infile inpipe;
50 + input; putlog _infile_;
51 +run;
NOTE: The infile INPIPE is:
Unnamed Pipe Access Device,
PROCESS="C:\Program Files\SAS/SASPlatformObjectFramework/9.2\ExportPackage" -profile MyProfile -package 'C:\Temp\TestPackage.spk' -objects '/SomeFolder/ARCHIVE(Folder)' -includeDep
-subprop,
RECFM=V,LRECL=256
The export process has failed. The native implementation module for the security package could not be found in the path.
For more information, view the export log file: C:\Users\sassrv\AppData\Roaming\SAS\Logs\Export_150427172003.log
NOTE: 2 records were read from the infile INPIPE.
The minimum record length was 112.
The maximum record length was 121.
日志文件为空。
大概我的选择仅限于:
- 正在向前端索取用户密码
- 在连接配置文件中使用系统帐户
- 在 -user 和 -password 选项中使用系统帐户
??
这最初是通过在配置文件中嵌入用户名/密码来解决的,但现在它通过采用下面的(修改后的)模板配置文件,并动态添加 host=
/ port=
参数来解决运行时(因此可以在不同的环境中使用相同的配置文件)。
IWA 现在用于连接到元数据服务器!
# This file is used by Release Management for connecting to the metadata server
# The host= and port= parameters are provided by the application at runtime
SingleSignOn=true
AllowLocalPasswords=true
InternalAccount=false
SecurityPackageList=Negotiate,NTLM
SecurityPackage=Negotiate
我发现的一件重要事情(不在 SAS 文档中)是您可以在 ExportPackage 命令中用配置文件(.swa 文件)的绝对路径替换配置文件名称。
编辑(一年后): 正如@Stig Eide 所指出的,该错误似乎确实与 32 位和 64 位 JRE 有关。我今天在 DI Studio 中也遇到了这个问题,并按照 here
中所述复制 sspiauth.dll 文件解决了这个问题我前段时间通过 SAS 技术支持验证了这一点;目前不可能。
我为其输入了一个 SASWare Ballet 项目:https://communities.sas.com/t5/SASware-Ballot-Ideas/Add-Integrated-Windows-Authentication-IWA-support-to-Batch/idi-p/220474
请投票!