amd gpu工作负载模式
本教程描述了如何在IBM DataPower Gateway(以下称为DataPower)上配置IBM Security Access Manager(ISAM)模块,以通过基于表单的身份验证来保护移动应用程序,以及如何为后端REST和JSON服务提供单点登录(SSO)。 。 您还将使用DataPower多协议网关服务,通过其他安全性和集成功能来丰富移动网关流程。
在随后的教程中,您将使用ISAM移动版策略创作引擎将使用一次性密码(OTP)的多因素身份验证添加到部署在DataPower上的反向代理。
先决条件
您需要以下产品才能完成本教程:
- IBM DataPower Gateway V7.1或更高版本
- ISAM for Mobile V8.0.0.5或更高版本
- IBMMobileFirst®V6或V7
本教程基于ISAM和MobileFirst集成 ,它描述了如何使用ISAM for Mobile设备保护移动应用程序以及如何向IBM MobileFirst平台提供SSO。
注意 :您可以将本教程中讨论的功能应用于任何后端服务提供商。 您只需更改策略服务器中的后端服务提供商和反向代理配置的受保护资源的访问控制列表(ACL)和SSO机制。
您将通过三个简单的步骤学习如何在DataPower上快速配置ISAM模块:
- 部署反向代理模式。
- 配置策略服务器ACL和对象。
- 使用DataPower功能增强反向代理。
高层架构在图1中显示了请求流。
图1.高层架构
- 移动应用程序将请求发送到DataPower设备上的反向代理,该代理然后检查请求中是否存在有效会话。 否则,它提示用户输入用户ID和密码。
- 对于未经身份验证的会话,用户将其凭据提交到DataPower设备上的反向代理,该代理将凭据和资源发送到ISAM for Mobile设备上的策略服务器和LDAP服务器以进行身份验证和授权。
- 成功进行身份验证和授权后,反向代理将生成一个HTTP标头,以声明身份并将其传递给MobileFirst服务器,该服务器还将在允许访问受保护的后端资源之前验证身份。
- 由于用户会话有效,因此任何后续请求都不会提示进行身份验证。
本教程假定您已经部署了ISAM for Mobile和DataPower,并且已经为管理和应用程序界面配置了IP地址。
本教程将引用以下两个ISAM移动版接口:
- 管理 :M.1
- 应用 :P.1
您可以在ISAM Web控制台主页上查看IP地址,如图2所示。
图2. ISAM for Mobile界面
重要
以下说明使用ISAM for Mobile设备中的本地策略服务器和嵌入式轻型目录访问协议(LDAP)服务器。 你不应该在生产环境中使用嵌入式LDAP服务器。 出于开发目的和便于测试,下面显示了它。
在执行以下说明之前,请确保您具有以下信息:
- ISAM策略服务器主机名,端口和密码
- LDAP服务器主机名,端口(最好是636),密码和LDAP KDB密钥库的副本
- DataPower以太网接口IP地址。 您只需要一个IP地址即可使配置生效,但是建议使用多个IP地址(管理和应用程序)。 您可以从IP地址(默认端口为9090)访问Web图形用户界面(GUI)。
步骤1:部署反向代理模式
在本部分中,您将使用DataPower Blueprints控制台部署反向代理服务,这将通过使用预先配置的最佳实践来部署DataPower服务来缩短开发时间。
配置DataPower对象的最简单方法是使用垂直导航栏,然后输入对象名称和适当的信息。 以下各节将使用这种方法来创建DataPower配置。
配置环境
- 登录到DataPower Web GUI的默认域,并使用垂直导航栏找到应用程序域对象(图3)并创建一个名为isam的域。
图3.应用程序域
- 使用垂直导航栏创建一个名为lab-idg的主机别名对象。 通过此配置,您可以从DataPower配置中将IP地址外部化,这有助于在环境之间轻松进行迁移。
- 通过打开Blueprint Console链接(GUI的左上角),查看预发货的DataPower模式。 选择Patterns选项卡,然后选择Web 应用程序和安全反向代理模式(图4)。 单击导出按钮,将图案保存到桌面。
图4. DataPower模式
- 重复上一步以导出Mobile Gateway和Mobile REST代理模式。
- 返回Web GUI并切换到isam域。 您将在此域中执行其余步骤。
设置Access Manager运行时
- 配置Access Manager运行时对象以连接到策略服务器和LDAP服务器。 在垂直导航栏中,输入并选择Access Manager Runtime 。 在[ 主要]标签中,勾选[ 管理状态]为[已启用] 。
- 选择“ 策略服务器”选项卡,然后输入ISAM设备(ISAM应用程序接口M.1)的IP地址(或主机名),并保留默认端口( 7135 )和管理域( 默认 )。
- 选择LDAP选项卡,然后输入ISAM设备(ISAM应用程序接口M.1)和端口389的IP地址(或主机名)。稍后,您将在反向代理配置中覆盖端口号。 单击“ 应用”保存该对象。
- 在垂直导航栏中,输入并选择“ 密码映射” ,然后单击链接。
- 创建别名sec_master ,然后输入该帐户的密码。 单击“ 应用”保存该对象。
部署Access Manager反向代理
- 返回到蓝图控制台。 您应该位于isam域中(右上角显示该域)。
- 单击Patterns选项卡,然后选择Import按钮,如图5所示。
图5.导入模式
- 浏览到Web应用程序的位置, 并保护在上一步中下载的反向代理模式,然后单击Import 。 重复此步骤以导入以前下载的其他模式。
- 选择Web应用程序和安全反向代理模式,然后单击Deploy 。
- 在模式向导中,输入以下信息,如图6所示:
- 步骤1 :服务名称:
dp-reverse-proxy
- 第2步 :输入的管理员用户名
sec_master
和管理员密码别名sec_master
(您创建在最后一节这个对象)。 输入lab-idg
的主机值和侦听端口值(除非端口冲突,否则请使用默认值)。图6.部署反向代理模式
- 步骤3 :有关前端连接的详细信息,请检查前端HTTP和HTTPS端口。 如果其他服务正在使用这些端口,则可能需要更改这些端口号。 选择SSL证书密钥文件,isamcert:///keytab/pdsrv.kdb,如图7。如果您要发送安全信息,如用户名和密码,则不应使用HTTP协议。 在本教程中选择它是为了便于测试。
图7.反向代理模式-客户端连接
- 步骤4 :身份验证–使用表单或HTTP基本身份验证来增强安全性。 保留默认的窗体选项。
- 步骤5 :后端路由和SSO-输入您要保护的后端应用程序的URI(上下文根)。 对于本教程,它是
/worklight
,如图8所示。输入后端应用程序的后端主机名和端口号。 指定是否要使用HTTP标头或LTPA令牌传播经过身份验证的身份。 选中IV-USER复选框。 - 输入所有适当的值后,单击“ 部署模式” 。
图8.反向代理模式–安全设置
- 步骤1 :服务名称:
- 部署后,单击Services选项卡以确保Access Manager反向代理已成功部署(图9)。
图9.模式部署状态
自定义Access Manager反向代理
- 在“ 服务”选项卡中,单击最近创建的dp-reverse-proxy 。 该操作将在Web GUI中打开对象配置。
- 当前将用户注册表配置为使用不安全的端口389连接到LDAP服务器。 这是Access Manager运行时对象配置的一部分。 现在,您将修改用户注册表设置,以使用SSL通过端口636进行连接。选择“ 用户注册表”选项卡,然后选中“ 启用SSL” 。 将LDAP加密文件( Embedded_ldap_keys.kdb和Embedded_ldap_keys.sth )上传到设备isamcert:// keytab目录(您的工作站上应具有这些文件的ZIP副本)。 一旦上传,请选择Embedded_ldap_keys.kdb文件,如图10所示。
图10.反向代理用户注册表
- 选择Junction选项卡,然后编辑dp-reverse-proxy_backend结。 单击Identity选项卡,然后将HTTP Basic Authentication Header值更改为Ignore ,如图11所示。单击Apply保存所有已修改对象的配置。
图11.反向代理单点登录
注 :将HTTP标头发送到IBM MobileFirst服务器时,此设置是必需的。
步骤2:设置策略服务器ACL和对象
- 打开IBM Security Access Manager(ISAM)控制台https:// <M.1> ,然后选择“ 安全Web设置”>“管理”>“策略管理” 。 使用sec_master帐户登录到策略服务器。
- 展开“ 对象空间”>“浏览对象空间”和其他对象,直到看到反向代理和联结名称,如图12所示。此步骤验证DataPower和ISAM策略服务器之间的连接。 在下一步中,将ACL附加到结点工作灯以保护受保护的资源。 如果您的后端资源使用其他联结名称保护,则您将在策略服务器对象页面中看到相应的名称。
图12.策略服务器对象
- 登录到DataPower命令行界面(CLI)界面,以便可以使用pdadmin命令在ISAM对象上配置ACL。
- 切换到isam域(配置Access Manager Runtime对象的域),然后输入清单1中所示的以下命令。
清单1.登录到pdadmin
switch domain isam; co; pdadmin; login –a sec_master –p passw0rd
- 输入清单2中所示的以下命令,以创建
unauth
,noaccess
和anyauth
ACL对象。 您只需在策略服务器对象空间中一次创建这些对象。清单2.创建ACL
#Create ACL for unauthenticated access acl create unauth acl modify unauth set group iv-admin TcmdbsvaBRrxl acl modify unauth set group webseal-servers Tgmdbsrxl acl modify unauth set user sec_master TcmdbsvaBRrxl acl modify unauth set any-other Trx acl modify unauth set unauthenticated Trx #Create ACL to prevent all access acl create noaccess acl modify noaccess set group iv-admin TcmdbsvaBRrxl acl modify noaccess set group webseal-servers Tgmdbsrxl acl modify noaccess set user sec_master TcmdbsvaBRl acl modify noaccess set any-other T acl modify noaccess set unauthenticated T #Create ACL allowing any authenticated user to access #Copy of default-webseal ACL acl create anyauth acl modify anyauth set group iv-admin TcmdbsvaBRrxl acl modify anyauth set group webseal-servers Tgmdbsrxl acl modify anyauth set user sec_master TcmdbsvaBRrxl acl modify anyauth set any-other Trx acl modify anyauth set unauthenticated T exit
- 将unauth ACL附加到根结点对象。 此规则允许访问顶级根文件夹。 下一步,您将定义细粒度的规则来管理对较低级别的安全资源的访问。
acl attach /WebSEAL/lab-idg-reverse-proxy/worklight unauth
- 将anyauth ACL附加到包含受保护资源列表的根结点对象下方的对象。 此URI用于在MobileFirst服务器上调用安全资源,该资源必须包含有效的HTTP标头。
acl attach /WebSEAL/lab-idg-reverse-proxy/worklight/apps/services/api/anyauth
注意 :此步骤反映了受保护资源的URI模式。 您可以将此URI模式(
/worklight/apps/services/api/
)更改为特定于应用程序的受保护资源的不同字符串。 - 创建一个非管理员用户演示以进行测试:
user create -no-password-policy demo cn=demo,cn=SecurityDaemons,secAuthority=Default demo demo demo user modify demo account-valid yes
- 完成后,单击“ 退出”,然后退出 CLI提示符。 现在,您可以测试反向代理策略了。
您可以使用Web浏览器对Access Manager反向代理配置进行简单测试。
- 打开Web浏览器并输入以下URL:
https://<lab-idg>:7443/worklight
(如果使用其他值,请输入其他端口号)。 提示您输入用户名和密码。 输入的用户名demo
和密码demo
(创建这个早些时候在命令行上)。 成功后,您将被重定向到主页,如图13所示。图13.测试反向代理
步骤3:使用DataPower策略增强反向代理
在此步骤中,您将部署具有不同规则的Mobile REST代理模式,以基于HTTP方法保护和优化移动工作负载。 该服务稍后将与现有的Access Manager反向代理对象结合在一起。
- 打开“蓝图控制台”,然后选择“ 模式”选项卡。 选择“ Mobile REST代理”模式,然后单击“ 部署” (您之前已导入此模式。
- 在模式向导中,输入以下信息,该信息也如图14所示:
- 服务名称 :
rest-proxy
- URL :
http://<hostname>:9080/
(主机名是IBM MobileFirst服务器) - IP地址 :
127.0.0.1
- 港口 :
8000
图14.部署REST代理模式
- 服务名称 :
- 单击部署模式 。 在“ 服务”选项卡中,单击“ rest-proxy”模式,然后打开“ rest-proxy”处理策略。
- 该策略为各种HTTP动词(GET,PUT,POST和DELETE)定义了不同的规则,如图15所示。例如,HTTP POST规则定义了以下内容:
- 匹配 :匹配HTTP POST请求。
- 将查询参数转换为XML :这会将输入参数转换为XML节点,以供需要XML的任何操作处理。
- SLM :这将强制执行服务级别协议(SLA)和流量控制策略。
- GatewayScript :这可以保护和优化JSON或二进制有效负载。 例如,它使用JSON输入异步地使用“ url-open”执行现成的调用。
- 结果 :这将复制先前操作的结果,并将其发送到后端服务。
图15.多协议网关策略
现在,您将现有的反向代理服务dp-reverse-proxy与最近部署的dp-rest-proxy多协议网关服务连接起来。
- 打开名为dp-reverse-proxy的Access Manager反向代理对象。 选择Junction选项卡,然后编辑dp-reverse-proxy_backend结。
- 单击服务器选项卡,然后将主机字段更改为127.0.0.1 ,将TCP或SSL端口字段更改为7000 (或dp-rest-proxy的匹配端口)。 此更改将所有流量发送到dp-rest-proxy多协议网关服务(也侦听接口127.0.0.1和相同的端口号),然后与后端移动应用程序进行交互(图16)。
图16.连接后端
- 再次测试该Web应用程序,并从以前的测试中删除所有会话cookie。 打开Web浏览器并输入以下URL:
https://<lab-idg>:7443/worklight
。 提示您输入用户名和密码。 输入的用户名demo
和密码demo
(创建这个早些时候在命令行上)。 成功后,您将被重定向到主页。 - 您可以在dp-rest-proxy服务中启用探针以查看请求和响应消息。 当前的规则集不会修改消息,但是您可以应用GatewayScript操作来丰富消息,或者可以应用架构来验证任何JSON负载,甚至可以使用SLM策略来实施服务级别协议(SLA)。
结论
在本教程中,您学习了如何使用IBM DataPower Gateway设备上的Blueprints控制台部署反向代理服务。 然后,将反向代理配置为保护受保护的资源并向IBM MobileFirst平台提供单点登录。 最后,您使用Blueprint控制台部署了REST网关模式,以保护和优化反向代理工作负载。
在第2部分中 ,您将扩展安全策略以包括强制实施一次性密码。 尝试“高价值”交易时,此策略将要求提高OTP身份验证级别。 可以使用DataPower上的ISAM反向代理来执行此策略。 策略定义和运行时评估将使用ISAM for Mobile™完成。
致谢
作者要感谢ISAM和DataPower工程团队对本教程的审阅: David Moore , Jon Palgon , Davin Holmes , Scott Andrews和Leo Farrell 。
翻译自: https://www.ibm.com/developerworks/websphere/library/techarticles/1505_sheikh/1505_sheikh.html
amd gpu工作负载模式