返回 登录
0

关于UAA仪表板

点击下载全文:http://events.csdn.net/chenmin/11-265-14.docx

UAA仪表板是predix.io提供的一个在线图形用户界面,用于配置和管理您的UAA实例。您可以使用UAA仪表板完成的任务包括:
• 查看与您的UAA实例相关的客户端、用户和身份提供者。
• 查看与您的服务实例相关的客户端。
• 创建和管理客户端。
• 创建和管理用户和用户组。
• 添加和管理用于SAML联合的身份提供者。
• 添加和管理密码策略。
查看、创建和管理客户端
您可以为认证具有相同UAA服务器实例的不同应用程序创建其他客户端。您可以根据您的应用程序的要求为每个客户端分配不同的访问许可。使用UAA仪表板中的客户端管理选项卡查看、创建和管理您的OAuth客户端
查看、创建和管理用户和用户组
授权代码、隐式和资源所有者密码等授权类型的认证流程涉及到为应用程序提供其用户名和密码凭据的用户。您既可以在UAA本地创建用户也可以与外部身份提供者联合。使用UAA仪表板中的用户管理选项卡在UAA本地创建用户并为您的应用程序管理这些用户。另外,您可以创建用户组表示一名用户潜在拥有的权限。
添加和管理身份提供者
使用UAA仪表板中的身份提供者选项卡在UAA中管理您的身份提供者和服务提供者。关于与身份提供者联合的更多信息,请参见使用UAA进行SAML联合
添加和管理密码策略
使用UAA仪表板中的密码策略选项卡通过密码策略在UAA中配置用户账号,例如长度、接受或需要的字符类型、失效时间以及重置策略。
创建一个OAuth2客户端
创建其他OAuth2客户端以访问一个UAA实例的程序。
• 登录predix.io。
OAuth 2.0协议将一个客户端建立为一个应用程序,可以代表资源所有者并通过其授权执行保护资源请求。当您创建一个UAA实例时,会自动为您创建一个管理员客户端,能够配置您的UAA实例。管理员客户端的密码是您在创建UAA实例时指定的密码。您可以为认证具有相同UAA服务器实例的不同应用程序创建其他客户端。您可以根据您的应用程序的要求为每个客户端分配不同的访问许可。
1. 在控制台视图中,选择您的服务所处的空间。
2. 在服务实例页面中,选择您需要配置的UAA实例。
3. 选择配置服务实例选项。
4. 在UAA仪表板登录页面中,指定您的管理员客户端密码并点击登录。
5. 在UAA仪表板中,选择客户端管理选项卡。
客户端管理选项卡包括两部分,客户端和服务实例。服务实例部分显示您已经为您的服务创建的服务实例。
注:此处显示的服务实例是那些您使用您想要配置的UAA创建的实例。您使用其他UAA实例创建的服务实例不显示在此页面上。
6. 点击创建客户端按钮打开创建客户端窗体。
7. 在创建客户端窗体中指定以下值:
字段 描述
客户端ID 为您正在创建的OAuth2客户端指定一个名称。
客户端密码 指定密码。您要记住该密码,这一点非常重要。如果丢失,该密码无法找回。
确认客户端密码 重新输入客户端密码。
授权的授权类型 从下面选择一个或多个授权类型:
o client_credentials
当您使用客户端凭据授权类型时,UAA中的OAuth2端点接受客户端ID和客户端密码并提供访问令牌。
o implicit
当您使用隐式授权类型时,UAA直接为客户端发布访问令牌,无需认证该客户端。这减少了获取访问令牌所需往返行程的数量。
o password
当您使用资源所有者密码凭据授权类型时,UAA中的OAuth2端点接受用户名和密码并提供访问令牌。
o authorization_code
当您使用授权代码授权类型时,客户端将资源所有者定向至UAA,然后UAA反过来通过授权代码将资源所有者定向至客户端。
当您使用这种授权类型时,也会默认分配一个 refresh_token 。
关于不同授权类型的更多信息,请参见RFC 6749

范围 范围是与一个OAuth客户端相关的许可,用于用户通过应用程序访问资源。用户许可用于授权类型 authorization_code, password 与 implicit。范围决定是否允许应用程序代表用户进行访问。
默认为管理员客户端分配所有需要的范围。对于新的客户端,管理员可以根据客户端要求选择要添加的范围。
关于可以分配的范围的完整列表,请参见UAA授权的范围

权限 权限是指当一个应用程序或API使用其自有凭据访问一个资源时与OAuth客户端相关的许可,不涉及用户。许可用于授权类型 client_credentials。
默认为管理员客户端分配所有需要的权限。对于新的客户端,管理员可以根据客户端要求选择要添加的权限。
权限列表与范围列表相同。关于完整的列表,请参见UAA授权的范围

自动批准的范围 为客户端指定可以自动批准的范围,无需资源所有者的明确批准。
重定向URI 指定一个重定向URI在登录后对客户端进行重定向。例如, http://example-app.com/welcome
当您开始将UAA用作服务提供者时,该URI用于您的外部身份提供者。
访问令牌有效性 指定访问令牌失效时间,单位毫秒。
刷新令牌有效性 指定刷新令牌失效时间,单位毫秒。
允许的提供者 如果有的话,指定外部身份提供者的名称。如果您正在使用外部身份提供者,同时将UAA用作服务提供者,则该字段为必填。
使用UAAC创建一个OAuth2客户端
使用UAA命令行界面(UAAC)代替图形用户界面创建一个OAuth2客户端的可选程序。
您可以使用UAAC管理您的UAA实例。关于安装命令行界面的更多信息,请参见https://github.com/cloudfoundry/cf-uaac
1. 将您的UAA实例指定为预定目标。
uaac target
是您的可信发布者的URL,例如, https://11fa0273-9e2a-37e2-9d06-2c95a1f4f5ea.predix-uaa.run.aws-usw02-pr.ice.predix.io。您可以在将您的UAA实例与一个应用程序绑定之后从VCAP_SERVICES环境变量中检索该URL。
2. 使用管理客户端登录。
uaac token client get admin
3. 在提示时指定管理客户端密码。
4. 使用以下命令创建OAuth2客户端:
uaac client add [client_name]–authorities “uaa.resource”–scope “openid”–autoapprove “openid”–authorized_grant_types [authorization_code|implicit|password|client_credentials|refresh_token]–redirect_uri [redirect_uri_1, redirect_uri_2, …]
关于UAA选项的更多信息,例如 scopes 与 authorized_grant_types,请参见https://github.com/GESoftware-CF/uaa/blob/master/docs/UAA-APIs.rst网页上的UAA文件。
更改管理客户端密码
1. 将您的UAA实例指定为预定目标。
uaac target
是您的可信发布者的URL,例如, https://11fa0273-9e2a-37e2-9d06-2c95a1f4f5ea.predix-uaa.run.aws-usw02-pr.ice.predix.io。您可以在将您的UAA实例与一个应用程序绑定之后从VCAP_SERVICES环境变量中检索该URL。
2. 使用管理客户端登录。
uaac token client get admin
3. 在提示时指定管理客户端密码。
4. 使用以下命令更改客户端密码。
uaac secret change
5. 在提示时输入管理客户端当前的密码。
6. 在提示时输入管理客户端的新密码。
7. 在提示时重新输入管理客户端的新密码。
注:
请不要使用 -s 选项指定管理客户端的密码。您的终端历史记录中保留了这些凭据的副本。
在一个UAA实例中创建用户组
• 登录predix.io。
在UAA中,一个用户组表示一名用户潜在拥有的权限。当一名用户重定向至UAA进行认证时,UAA在访问令牌中添加用户组信息。
1. 在控制台视图中,选择您的服务所处的空间。
2. 在服务实例页面中,选择您需要配置的UAA实例。
3. 选择配置服务实例选项。
4. 在UAA仪表板登录页面中,指定您的管理员客户端密码并点击登录。
5. 在UAA仪表板中,选择用户管理选项卡。
用户管理选项卡包括两部分,用户和用户组。用户组部分显示您在您的UAA实例中创建的用户组。
6. 点击添加用户组按钮打开新建用户组窗体。
7. 在新建用户组窗体中指定以下值:
字段 描述
显示名称 指定用户组的名称。
描述 指定用户组的描述。
在一个UAA实例中创建用户
在UAA本地创建用户用于认证的程序。
• 登录predix.io。
当您创建一个UAA实例时,会自动为您创建一个管理员客户端,能够配置您的UAA实例。默认为管理员客户端分配所需的所有权限和范围。
注:管理员客户端默认未分配能够更改用户密码的权限。如果您需要更新或更改用户密码,您必须为您的管理员客户端添加 uaa.admin 权限。更多信息,请参见更新OAuth2客户端
使用以下程序在UAA本地创建用户。
1. 在控制台视图中,选择您的服务所处的空间。
2. 在服务实例页面中,选择您需要配置的UAA实例。
3. 选择配置服务实例选项。
4. 在UAA仪表板登录页面中,指定您的管理员客户端密码并点击登录。
5. 在UAA仪表板中,选择用户管理选项卡。
用户管理选项卡包括两部分,用户和用户组。用户组部分显示您在您的UAA实例中创建的用户组。
6. 点击添加用户按钮打开新建用户窗体。
7. 在新建用户窗体中指定以下值:
字段 描述
用户姓名 指定用户姓名。
电子邮件 指定电子邮件地址。
密码 指定密码。
名 指定用户的名。
姓 指定用户的姓。
用户组 选择与用户相关的用户组
使用UAAC在一个UAA实例中创建用户
使用UAAC代替图形用户界面在一个UAA实例中创建用户的可选程序。
对于访问您的UAA实例的应用程序,您可以创建具有所需范围的其他客户端和用户。
您可以使用UAA命令行界面(UAAC)创建用户并管理其范围。关于安装命令行界面的更多信息,请参见https://github.com/cloudfoundry/cf-uaac
1. 创建一个新用户。
uaac user add –emails -user@ge.com –password
2. 在您的UAA实例中创建用户组。
关于可用用户组的更多信息,请参见https://github.com/cloudfoundry/uaa/blob/master/docs/UAA-APIs.rst#scopes-authorized-by-the-uaa
例如:
uaac group add scim.read uaac group add scim.write
3. 将新用户添加至所需的用户组。
例如:
uaac member add zones..admin uaac member add scim.read uaac member add scim.write uaac member add clients.write uaac member add clients.read uaac member add clients.admin uaac member add clients.secret
4. 验证创建的用户具有正确的范围。
uaac token owner get uaac token decode
创建一个密码策略
由UAA管理的用户账号数据库可用于基于密码的认证。您可以通过密码策略在UAA中配置用户账号,例如长度、接受或需要的字符类型、失效时间以及重置策略。
当您创建一个UAA实例时,会自动通过默认的密码策略创建一个类型为 uaa 的内部身份提供者。您可以在您的UAA实例中为用户创建新的密码策略。
1. 在控制台视图中,选择您的服务所处的空间。
2. 在服务实例页面中,选择您需要配置的UAA实例。
3. 选择配置服务实例选项。
4. 在UAA仪表板登录页面中,指定您的管理员客户端密码并点击登录。
5. 在UAA仪表板中,选择密码策略选项卡。
6. 在密码策略窗体中指定以下值:
字段 描述
最小长度 指定一个有效密码需要的最少字符数。
最大长度 指定一个有效密码需要的最多字符数。
需要大写字符 指定一个有效密码需要的最少大写字符数。
需要小写字符 指定一个有效密码需要的最少小写字符数。
需要特殊字符 指定一个有效密码需要的最少特殊字符数。
需要数字 指定一个有效密码需要的最少数字数。
密码过期月数 指定当前密码过期的月数。
锁定期秒数 指定失败的尝试次数超过设定的限值时账号被锁定的时间(单位:秒)。
锁定前的失败次数 指定账号锁定之前允许的失败次数。
失败计数 指定为了锁定账号锁定失败必须发生的秒数。
使用UAA进行SAML联合
UAA支持安全断言标记语言(SAML)协议,用于与身份提供者(IdP)或服务提供者(SP)进行通信。
IdP管理可能需要安全访问应用程序或服务的用户的账号。SP是从用户处接收请求的服务器,用于访问服务或应用程序。在一个典型的SAML流程中,当一名用户从SP处请求一项服务时,SP首先从IdP处请求并获取一个身份断言。IdP从SP处接收请求并根据用户账号信息生成一个身份断言。然后,SP决定是否根据IdP提供的断言执行服务。
您可以将您的UAA实例配置为用作IdP或SP或两者。以下场景决定了您的UAA需要的配置类型:
• 如果您使用UAA SCIM API或UAA仪表板在UAA本地管理用户账号,您无需为SAML联合配置UAA。
• 如果您在公司SSO等外部IdP上远程设定您的用户账号,您可以将UAA配置为重定向至外部IdP的SP。更多信息,请参见使用脚本将UAA配置为一个服务提供者
• 如果您拥有提供SP功能的应用程序(例如,GitHub企业版或ServiceNow),您可以将UAA配置为IdP。更多信息,请参见将UAA配置为一个身份提供者
• 可以将UAA配置为SP和IdP两者。但是,这种配置仅用于测试环境。如果要将UAA配置为SP和IdP,您可以完成将UAA配置为SP和IdP两者的步骤。
将UAA配置为服务提供者用于外部身份提供者
• 从您的IdP管理员处获取您的身份提供者(IdP)元数据。
• 登录Predix.io并转到控制台视图。
如果您在公司SSO等IdP上远程设定您的用户账号,您可以将UAA配置为重定向至外部IdP的服务提供者(SP)。
1. 在Predix.io上的服务实例页面中,选择您需要配置的UAA实例。
2. 选择配置服务实例选项。
3. 在UAA仪表板登录页面中,指定您的管理员客户端密码并点击登录。
4. 在UAA仪表板中,点击身份管理选项卡。
身份管理选项卡显示了一个您配置的IdP的列表,所选的UAA实例配置为SP。
5. 如果要添加一个新的IdP,可以点击添加身份提供者按钮。
6. 在身份提供者窗体中,指定以下信息并按下提交:
字段名称 描述
名称 指定您的IdP的名称。
描述 为您的IdP指定一个简短描述。
类型 选择IdP的类型。
有效 选择此选项将IdP设定为有效。如果您为一个UAA实例定义了多个IdP,UAA仅与有效的IdP进行交互。如果您的一个UAA实例有多个有效IdP,您必须确保通过相应信息对IdP的相关客户端进行更新。尽管可以更新一个客户端与多个IdP进行交互,但是作为一项最佳实践,您可以为与UAA交互的每个应用程序定义一个新客户端。
电子邮件 指定在您的IdP中定义的与在UAA中定义的 email 属性相对应的属性。
名 指定在您的IdP中定义的与在UAA中定义的 Given Name 属性相对应的属性。
姓 指定在您的IdP中定义的与在UAA中定义的 Family Name 属性相对应的属性。
元数据 指定IdP元数据并将UAA SP元数据下载至该字段。您必须从您的IdP管理员处获取您的IdP元数据。您必须将UAA SP元数据提供给您的IdP管理员。
7. IdP在外部身份提供者列表中显示。
8. 如果要为访问UAA的IdP设置客户端,可以点击您的IdP的姓名旁边的查看/编辑选项。
9. 为您的IdP指定一个客户端。
您既可以选择一个现有的客户端也可以创建一个新客户端。作为开发的最佳实践,您可以为每个应用程序添加一个新客户端。
如果要创建一个新客户端,可以点击创建新客户端按钮。默认情况下,创建客户端窗体填充用于授权代码授权类型。您也可以将其更新为使用隐式或密码授权类型。对于客户端凭据授权类型,您必须首先创建一个用户。
关于创建一个客户端的更多消息,请参见创建一个OAuth2客户端
使用脚本将UAA配置为一个服务提供者
使用UAAC和配置脚本代替图形用户界面将UAA配置为服务提供者的可选程序。
• 从GitHub下载以下脚本。
o create-saml-idp.sh
o create-client-for-idp.sh
您可以将UAA配置为重定向至公司SSO等外部身份提供者(IdP)的服务提供者(SP)。
您可以使用UAA命令行界面(UAAC)管理您的UAA实例。关于安装命令行界面的更多信息,请参见https://github.com/cloudfoundry/cf-uaac
1. 将您的UAA实例指定为预定目标。
uaac target
是您的可信发布者的URL,例如, https://11fa0273-9e2a-37e2-9d06-2c95a1f4f5ea.predix-uaa.run.aws-usw02-pr.ice.predix.io。您可以在将您的UAA实例与一个应用程序绑定之后从VCAP_SERVICES环境变量中检索该URL。
2. 使用管理客户端登录。
uaac token client get admin
3. 在提示时指定管理客户端密码。
4. 从UAA导出SAML服务提供者元数据。将该元数据提供给您的IdP管理员,以便将其导入IdP。
uaa-sp-metadata.xml 文件是您的UAA实例生成的服务提供者SAML元数据。可用于以下端点:
/saml/metadata/alias/.cloudfoundry-saml-login
例如,
https://13fa0384-9e2a-48e2-9d06-2c95a1f4f5ea.predix-uaa.run.aws-usw02-pr.ice.predix.io/saml/metadata/alias/13fa0384-9e2a-48e2-9d06-2c95a1f4f5ea.cloudfoundry-saml-login
5. 您的IdP管理员将配置其IdP、导入SAML服务提供者元数据并生成身份提供者元数据。从您的IdP管理员处获取该身份提供者元数据。您需要将该元数据导入UAA。
6. 通过运行一个XML解析器验证SAML身份提供者元数据。确保包含一个有效的XML标头,例如:

评论