配置和测试授权访问¶
此过程允许您验证客户端是否有在 Cloud Foundry 环境中访问 移动服务 应用程序的权限。
对于基于 XSUAA 的应用程序,设置包括以下任务:
-
在 SAP 移动服务主控室 中,设置应用程序的授权客户端访问。
-
在 SAP Business Technology Platform 主控室中,设置角色集合并映射到身份提供者 (IDP) 组。
-
在 IDP 中设置用户和相关组,然后登录 SAP Mobile Services 获取访问令牌。
-
向应用程序发送请求,通过
200 OK或403 Forbidden响应来测试是否符合访问规则。
对于基于 IAS 的应用程序,将用户分配到名称以“SAPMS_”开头并以 IAS 租户中为应用程序配置的角色名称结尾的组。例如,如果您为应用程序配置“mobile_user”角色,则客户必须在其 IAS 租户中创建“SAPMS_mobile_user”组,并将该组分配给可以访问 移动服务 应用程序的所有用户。
配置和测试应用程序环境的分布过程:
-
在 SAP 移动服务主控室 中,设置应用程序的授权用户访问:
-
登录 SAP 移动服务主控室。
-
选择现有的应用程序或者创建一个新的应用程序。
-
在安全标签中,您可以设置安全配置属性,其中包括应用程序版本化和角色设置。
-
在应用程序版本化中单击编辑以启用应用程序版本化。在启用版本化时,您需要添加一个或多个应用程序版本化项目(例如,v1.0 和 V1.1,其中 v1.1 是活动版本),然后单击保存以保存配置。
-
在角色设置中单击编辑以启用角色设置和添加角色。添加
role1、role2、role3,等等
-
-
在 SAP Business Technology Platform 主控室中,设置角色集合并映射到 IDP 组:
-
从目标租户设置页面的安全菜单中选择角色集合,然后单击新建角色集合,为应用程序创建新的角色集合。
-
填写必填字段,包括角色集合名称(即
role_collection_app1),并单击保存。随即创建角色集合。 -
单击角色集合名称的链接,打开角色集合页面。要添加角色,请单击添加角色。
-
在添加角色对话框中,选择应用程序标识符(应用程序详细信息页面上列出的 XSUAA 客户端标识)。
- 对于角色模板,请选择
role1。 - 对于角色,请输入
role1,然后单击保存。 - 对
role2和role3重复前面的三个步骤。 - 返回安全菜单并选择信任配置,以设置角色集合与 IDP 配置中的组之间的映射。
- 单击名称列中的链接(例如,
xsuaa-monitoring-idp)。 - 单击角色集合映射以设置映射。
- 单击编辑以创建新的角色集合映射。
- 选择创建的角色集合的名称(例如,
role_collection_app1),并在值字段中输入组名称(例如group1)。组名称必须已存在于 IDP 设置中。 - 单击保存。
-
-
在 IDP 中设置用户和相关组,然后登录到移动服务以获取访问令牌:
-
使用 SoapUI 等实用工具来验证授权用户访问。首先,向模拟 IDP
xsuaa-monitoring-idp发送一个特定的请求,以生成特定的访问令牌。将用户名设置为testuser,并将组设置为group1。此外设置相关的 URL 和客户端标识。 -
生成访问令牌。
访问令牌生成,其中包括
role1、role2和role3。 -
将组改为
group2并生成新的访问令牌。访问令牌生成,其中不包括
role1、role2和role3。
-
-
向应用程序发送请求,通过
200 OK或403 Forbidden响应来测试是否符合访问规则:-
在本机/
MDK页面上,禁用应用程序版本化检查,并使角色设置检查处于启用状态。 -
使用包含
role1、role2和role3的任意一个访问令牌向应用程序发送请求。响应代码为
201 OK,表示请求已通过授权用户访问检查,并且可以成功登录应用。 -
使用不包含
role1、role2和role3的任意一个访问令牌向应用程序发送请求。若响应代码为
403 Forbidden,则表明授权用户访问检查已拒绝请求。 -
在本机/
MDK页面上,启用应用程序版本化检查,并禁用角色设置检查。 -
将标头
X-APP-VERSION值设置为有效的应用程序版本(即应用的活动版本 v1.1)并发送请求。若响应代码为
200 OK,则表明请求已通过授权用户访问检查。 -
将标头
X-APP-VERSION值设置为无效的应用程序版本(即应用的非活动版本 v1.0)并发送请求。若响应代码为
403 Forbidden,则表明授权用户访问检查已拒绝请求。 -
在本机/
MDK页面上,同时禁用应用程序版本化检查和角色设置检查。 -
发送一个无任何角色但有无效的应用程序版本(即应用程序的非活动版本 v1.0)的请求,将请求发送到应用程序。
若响应代码为
200 OK,则表明未执行任何版本或角色检查,请求通过了授权用户访问检查。
-
配置应用安全¶
在应用程序级别为 Cloud Foundry 环境配置安全性。
在 Cloud Foundry 环境中定义新的应用程序时,服务器会自动创建 OAuth 客户端。在创建应用程序后,将为客户端标识和重定向 URL 设置非空缺省值。
如果为应用安全验证选择 OAuth 或 SAML,则不会启用 API 密钥。如果将 API 密钥配置为 SDK 引导的一部分,则在移动服务验证之前访问设置交换、日志上传和使用情况上传等服务。
如果为应用安全验证选择仅 API 密钥并启用 API 密钥,则使用匿名访问。这类似于 Neo 架构中提供的“无验证”选项。此组合还提供了客户端资源的访问权限。如果选择仅 API 密钥,则必须启用 API 密钥。使用 API 密钥时,x-smp-deviceid 标头为必填。使用 Postman 进行测试时,您可以为设备标识使用任意值。
为了提高应用程序安全性,您可以提供允许的 IP/CIDR 地址和表示法的特定列表或范围。执行对允许列表的请求;忽略对未指定地址或表示法的请求。如果未提供条目,则没有限制,并会对所有地址执行请求。
配置应用安全时请记住以下建议:
-
应用应启用密码策略。
-
应用应主要尝试使用 OAuth 安全配置。
-
服务密钥应支持 X.509 类型。
-
定期审核审计日志。
-
对于关键 iOS 和 Android 应用程序,请考虑实施认证功能以增强安全性。
-
证书应在过期前定期更新,以避免任何过期问题。
有关详细信息,请参阅 SAP BTP 安全建议 和 移动服务 组件上的筛选器。
-
在 SAP 移动服务主控室 中,选择移动应用程序 > 本机/
MDK。 -
选择应用程序,导航到设置标签,然后选择安全性。查看当前安全设置,或选择编辑对部分进行更改。
-
(可选)锁定应用程序,这样其他人就不能对同一个应用程序进行更改。
-
在应用程序设置下,查看或编辑设置。
-
(仅限 Web 应用程序)选择 CSRF 保护以启用跨站点请求伪造保护。选中此选项时,注册等所有服务都受 CSRF 令牌保护。代理端点不受保护,因为它们可能在后端进行保护。
-
对于安全配置,选择安全选项:
-
仅 API 密钥 - 使用 API 密钥进行验证。生成密钥,或者可以在后续步骤中选择其他密钥。此选择不能使用其他验证方法。
-
基本 - 可以使用或不使用 SAP 云连接器启用独立基本验证。您必须按配置安全信任中的说明下载信任配置并将其导入您的云子账户。
-
基本(使用 SAP Identity and Authentication 服务)- 验证委托给 SAP Identity and Authentication 服务。如果 SAP Business Technology Platform 使用不同的身份提供者,此选择将无效。
注释
将安全配置设置为基本(使用 SAP ID Service)仅用于培训目的。不建议将其用于生产,因为它可能会公开凭据。此方法仅适用于 SAP ID Service。如果您的 SAP BTP 账户使用不同的身份提供者,请选择其他安全配置。
-
HTTP – 通过将有效持有者令牌传递到后端进行验证,使您能够使用 HTTP URL 来访问 OAuth 端点。这类似于 SAP Mobile Platform 中提供的 HTTP 模块,在将应用程序从 SAP Mobile Platform 迁移到 移动服务 时尤其有用。您必须按配置安全信任中的说明下载信任配置并将其导入您的云子账户。
-
OAuth - 使用标准方法安全授权应用程序的开放式协议。SAP Business Technology Platform 必须为权限服务器。这是缺省选项,OAuth 客户端是自动生成的。可将 API 密钥与此选择一起使用。
在使用 OAuth 验证类型时,权限代码授予支持 OAuth 公共客户端提供的代码交换证明密钥 (
PKCE) 扩展。该应用必须实施 SDK 使用的 OAuth API。 -
SAML - 使用 SAP Business Technology Platform 提供的 SAML 2.0(SAP Identity and Authentication 服务根据 SAP 用户账户和 SAP Community Network (SCN) 账户对用户进行验证)。可将 API 密钥与此选择一起使用。
注释
如果选择仅 API 密钥、基本或 HTTP 作为安全配置,则 IAS 设置和角色设置将在应用配置概览界面中隐藏。
-
-
如果您选择 OAuth (默认),则对于 OAuth 客户端 ,请选择 图标进行更改,并单击 图标添加 OAuth 客户端。
OAuth 客户端设置
字段 描述 客户端标识 要重新生成客户端标识,请选择标识,然后选择重新生成。自动生成标识,并为权限服务器识别应用程序客户端。 重定向 URL OAuth 客户端的重定向 URL。 PKCE 强制 我们的 OAuth服务器允许公共客户端(如移动应用)在不使用PKCE的情况下执行权限代码流。这意味着即使客户端使用代码质询,攻击者也可以绕过它,并且仍然可以获取令牌。此漏洞使PKCE无效。此问题称为PKCE降级攻击,并会带来安全风险。为解决此问题,我们已将 PKCE 强制移动到 OAuth 客户端安全配置下。以下是PKCE的优势和一些建议:- 拒绝任何不包括
code_challenge的权限请求。 - 拒绝没有有效
code-verifier的任何令牌请求。 - 避免在不同应用类型中重用相同的客户端标识。
- 防止回退到任何公共客户端的非
PKCE流。
在 OAuth API 下,您可以查看和复制 OAuth 权限和 OAuth 令牌的 URL。
在跨上下文 SSO 下,可以为 SSO 启用身份传输。有关设置身份传输以在应用程序登录中使用的信息,请参阅配置跨上下文 SSO。
跨上下文 SSO 设置
字段 描述 启用跨上下文 SSO 选择此选项可启用跨上下文 SSO。随即出现附加字段。 SSO令牌超时临时登录令牌过期前的时间(以秒为单位)。默认为 30 秒。 SSO 登录 URL (只读/复制)登录 URL。 适用于 Android 小组件支持的 SSO 登录 URL (选择
IAS时不会显示)(只读/复制)启用时支持 Android 小组件的登录 URL。用户可以使用此链接。 请注意,基于
IAS的应用不支持只读令牌。为基于IAS的应用配置安全性并且启用跨上下文 SSO 时,“适用于 Android 小组件支持的 SSO 登录 URL”选项不会显示。在二维码签名设置下,您可以启用使用数字二维码签名进行登录。有关为登录用户设置二维码签名设置的信息,请参阅配置数字签名二维码。
二维码签名设置
字段 描述 公钥 公钥用于在客户端验证数字签名。 私钥 私钥用于在服务器端对二维码进行签名,不暴露给任何客户端。 (仅限 移动开发工具包)出现公钥后,您可以选择 f-download:下载包含密钥的文件。这在与开发人员合作或保留备份副本时非常有用。
(仅限 移动开发工具包)您还可以选择 将公钥复制到剪贴板,然后将内容粘贴到其他位置。
- 拒绝任何不包括
-
如果选择SAP Identity and Authentication 服务的基本、基本或 SAML 而不是 OAuth,则会通知您更改会影响设备用户的应用程序可用性,并且需要重新启动应用程序才能更新应用程序的配置。选择确定。
如果选择基本,请提供基本设置,然后选择确定。移动连接性功能会自动分配给应用程序以提供代理服务,并且无法移除(导航到信息标签以验证移动连接性是否显示在已分配功能下)。
基本设置
字段 描述 URL 用于基本验证的 URL(端点)。SAP Mobile Services 使用该 URL 通过向客户配置的端点发送不正确的测试用户名/密码来验证移动应用。端点必须返回 401(未经授权)响应,以证明其可以拒绝使用 Authorization: Basic header发送的错误凭据。此操作是根据 RFC 2617 完成的(如 https://tools.ietf.org/html/rfc2617中所述)。使用 SAP 云连接器 允许您使用 SAP 云连接器。 SAP 云连接器 位置标识 您的 SAP 云连接器 标识符。 -
选择 HTTP后,如果您选中 SAP 目标服务,则必须先在 SAP Business Technology Platform 主控室中创建目标,并输入您创建的云目标。或者,您可以直接输入 URL。然后输入用于用户名提取的响应标头字段,选择确定保存并确认。客户端需要在标头中附加有效的持有者令牌才能访问 移动服务 端点。持有者令牌可以从其他身份提供者处获取。移动服务 随后将持有者令牌发送到配置的云目标或 URL 进行验证。使用提供的 "URL" 验证令牌后,移动服务 使用用于用户名提取的响应标头字段值作为标头名称以从响应中检索该用户名。
字段 描述 SAP 目标服务 选择使用云目标验证给定的持有者令牌。您必须提供云目标名称。 云目标名称 您必须先在 SAP Business Technology Platform 主控室中配置云目标。访问您的子账户,然后导航至连接性 > 目标以创建目标,如管理目标中所述。目标的 URL 还应符合 URL 字段中描述的要求。然后在此字段中输入目标名称。 用于用户名提取的响应标头 通过持有者令牌验证后,移动服务 用于提取用户名的响应标头。 URL 输入用于验证给定持有者令牌的 URL。此 URL 必须支持 GET方法,并且能够提取“权限”标头作为持有者令牌进行验证。如果令牌通过验证,则此 URL 必须以200 HTTP进行响应,同时将用户名附加到响应标头。如果令牌验证失败,则此 URL 必须以401 HTTP状态进行响应。使用云连接器 启用云连接器。 云连接器位置标识 云连接器标识符。 启用用户属性 启用后,应用可以访问当前用户的附加属性,除 userID之外,例如email address、groups、addresses等。属性必须采用特定格式。有关详细信息,请参阅以下段落中的启用用户属性。令牌验证期间 用户可以配置令牌验证期间,以定期验证会话中的 HTTP 验证令牌,避免在会话中使用过期的令牌。验证期间值必须大于 0 且小于 1440 分钟。例如,如果将其设置为 20,则会话中的 HTTP 验证令牌将每 20 分钟更新一次。 启用用户属性
当您使用身份提供者进行验证时,它可能会为当前登录用户提供除
userID之外的附加属性,例如email、groups、address等。对于 SAML 2.0,属性包含在断言中,作为一个包含多个值的属性语句。对于 HTTP 验证,移动服务 允许 HTTP 端点通过此选项提供用户属性。如果选择启用用户属性,则 移动服务 将以 JSON 格式解析 URL 或目标的响应正文,并在移动目标中使用 OAuth2 SAML 持有者断言 SSO 机制将这些属性传播到 SAML 断言。以下是响应示例:
{ "email" : "someone@sap.com", "group": "['Group1', 'Group2']", "department": "IT" }通过此功能,可以将不同的用户属性映射到不同的角色,从而实现基于 XSUAA 对应用程序的访问控制。请参阅配置和测试授权访问。
配置步骤如下所示:
-
在 移动服务主控室 中,创建角色。为此,请导航至移动应用程序 > 本机/
MDK,选择您正在使用的应用程序,然后单击安全标签。在角色设置部分,单击编辑按钮,选中启用角色设置,输入角色名称,然后保存。 -
在 SAP Business Technology Platform 主控室中,创建角色集合。为此,请转到您的子账户,导航至安全 > 角色集合,单击创建按钮,为角色集合命名,然后单击此角色集合的编辑按钮以编辑以下信息:
-
角色:选择您在第一步创建的角色的“角色名称”和“模板名称”,选择当前应用的应用程序标识符。
-
属性映射:选择 移动服务 的身份提供者(有关信息请参阅配置安全信任)。然后根据 URL 或目标的响应正文的键和值输入“属性”和“值”。如果当前用户的属性及值与角色集合的定义匹配,则在登录时为用户分配相应的角色。
-
-
-
-
在
XSUAA设置下,查看或编辑UAA(XSUAA) 设置的扩展服务。有关详细信息,请参阅 SAP Cloud Foundry 中的 Demystifing XSUAA。如果未显示
XSUAA设置部分,则您的配置不支持该功能,或选择了IAS设置选项。如果未显示编辑按钮,则值为只读。请注意,您不能将配置有XSUAA的现有移动应用迁移到IAS。IAS仅支持新的移动应用。您必须重新创建移动应用并使用IAS设置配置新应用。XSUAA 设置
字段 描述 XSUAA 服务 选择默认实例或从列表中选择现有服务实例。如果您已部署 Cloud Foundry 应用程序并希望从移动服务连接到此应用程序,则使用现有 XSUAA 服务实例非常有用。为其他场景选择默认实例。如果选择默认实例,您可以选择 OAuth 设置。 xs-security.json 选择定义用于访问应用程序的验证方法和权限类型的 JSON文件。有关附加信息,请参阅应用程序安全描述符配置语法。令牌生命周期 以天数、小时数或分钟数输入令牌的生命周期(缺省值为 12 小时)。该条目受限于服务器施加的任何限制。令牌的最长生命周期为 86400 秒 - 24 小时。 如果用户凭据已更改或用户账户已禁用,则 OAuth 令牌将自动撤销,并且用户无法访问移动应用程序内容。
刷新令牌生命周期 以天数、小时数或分钟数输入刷新令牌的生命周期(缺省值为 7 天)。该条目受限于服务器施加的任何限制。刷新令牌的最长生命周期为 31536000 秒 - 365 天。 已审批提供者 指示应用程序的已审批身份提供者: - 全部(缺省) - 所有身份提供者均获得审批使用该应用。
- 所选提供者 - 为应用输入一个或多个已审批的身份提供者(在每个条目后按回车)。
注意:由于 SAP 移动服务主控室无法验证身份提供者条目,因此正确的输入非常重要。否则,用户将无法成功登录。
所选提供者选项使您可以具体了解应用的身份提供者,尤其是在为子账户配置了多个提供者的情况下。例如,假设您为子账户配置了两个身份提供者 -
sap.default(默认身份提供者SAP ID Service的来源)和hanamobile_sci。假设您拥有两个移动应用程序,一个应用程序需要受SAP ID Service保护,另一个应用程序需要hanamobile_sci保护。您可以将sap.default配置为第一个应用程序的已审批提供者,并配置为第二个应用程序的hanamobile_sci。令牌中的系统属性 system-attributes属性用于控制应将哪些属性包含在 XSUAA 服务实例生成的 JWT 令牌中。其目的是通过排除某些属性来减小 JWT 的大小,尤其是在 IDP 中已将许多组分配给用户时。您可以使用以下值为移动应用程序 XSUAA 服务实例配置system-attributes:Rolecollections(新应用程序的默认值) 或Groups。对于旧应用程序(那些在引入此功能之前创建的应用程序,并且未设置此属性),
system-attributes的值可能为:- 如果在
xs-security.json中设置了system-attributes,则检索属性值并将其用作system-attributes值。 - 如果未设置,则使用
Groups或Rolecollections值作为system-attributes值。
此选项仅适用于 OAuth。要了解详细信息,请参阅应用程序安全描述符配置语法。
-
在
IAS设置下,查看或编辑 Identity Authentication 服务(也称为验证)设置。有关设置验证集成支持的信息,请参阅配置
IAS设置。请注意,您不能将配置有XSUAA的现有移动应用迁移到IAS。IAS仅支持新的移动应用。您必须重新创建移动应用并使用IAS设置配置新应用。 -
(如果选择了
IAS设置,则不会出现)在角色设置下,查看或编辑设置。在编辑角色设置中,选择启用角色设置以使用角色。启用后,您可以指定一个或多个角色,比如管理或开发人员,然后单击确定。如果进行任何更改,则必须重新启动应用程序。
-
在应用程序版本化下,选择启用应用程序版本化来管理此应用程序的版本。启用后,可以查看和编辑版本。
-
单击 图标以添加版本。
-
修改应用程序版本设置:
版本设置
字段 描述 活动 应用程序版本是否处于活动状态,以及是否可供使用。 版本 应用程序版本,例如 1.0、3.3 PL02和5.2。版本为必需。检查平台 指示 移动服务 服务器在处理应用程序版本时是否应检查特定平台。如果应处理所有平台的应用版本,则将开关设置为关闭(缺省),如果应处理特定平台的应用版本,则设置为打开。设置为开后,从 iOS、Android 和 Windows 列表中选择一个或多个平台。请注意,在引入检查平台(版本:2303)之前引入的应用设置为关。 描述 应用程序版本描述,例如 BETA、Initial release和Patch to Version 3.3 - Windows only。操作 可以执行的操作,例如编辑或删除。 -
单击确定以保存,或单击取消。如果进行任何更改,则必须重新启动应用程序。
-
-
在 API 密钥下,如果选择 OAuth、SAML 或仅 API 密钥作为安全配置,则可以查看或编辑 API 密钥。如果选择了仅 API 密钥,则使用当前日期和时间创建 API 密钥。您必须至少具有一个 API 密钥,否则会收到警告。选择 以添加或删除密钥。
在匿名访问下查看或编辑设置。在匿名访问中,选择允许匿名访问,这样客户端应用程序便能够将 API 密钥用作凭据。
-
要进行编辑,请单击 图标以添加 API 密钥。
-
为应用程序添加一个或多个有效 API 密钥。
API 密钥设置
字段 描述 API 密钥 实施后,至少需要一个 API 密钥。 创建日期 创建 API 密钥后,服务器将生成创建日期。 操作 选择 以删除 API 密钥。 -
单击确定以保存,或单击取消。随即显示 API 密钥及其创建日期。如果进行任何更改,则必须重新启动应用程序。
-
-
在允许的 IP/CIDR 下,查看允许的 Internet 协议/无类域间路由 (IP/CIDR) 地址或地址范围的列表。将执行包含其中一个地址的任何请求;将忽略不在列表中的地址请求。您可以添加、更改和删除条目。
要进行输入:
-
选择 图标。
-
在编辑允许的 IP/CIDR 中,选择 图标,然后输入地址或地址范围,例如:
-
10.0.0.3 -
10.100.0.1/32 -
2a0f:ed40::/29
-
-
要删除条目,请选择 X。
-
要修改条目,请更改当前条目。
-
选择确定保存更改,然后确认。更改将显示在列表中。
-
-
在跨域访问下,查看跨域访问条目的列表。这些条目使应用程序用户能够根据您提供的值访问其他安全域。您可以添加、更改和删除条目。另请参阅跨源资源共享请求。
要进行输入:
-
选择 图标以添加条目。
-
在创建跨域访问中,输入值。
跨域访问属性
属性 描述 URI 模式 与目标匹配的字符串。 来源 可以访问资源的 URI 的逗号分隔列表,例如 http://example.com或http://*.example.com。缺省值*表示任何 URI 都可以访问资源。空值会阻止跨源资源共享;只有同源的 URI 可以访问资源。方法 访问资源时允许使用的 HTTP 方法(例如 GET和DELETE)的逗号分隔列表。最大时效 请求结果可以缓存的秒数。缺省为 3600 秒(60 分钟)。 允许凭据 始终设置为“开”。服务器在提交请求时包含 cookie。 标头 在请求中可以指定的 HTTP 请求标头的逗号分隔列表。请注意,空值表示将接受任何请求标头。以下标头通常用于请求 移动服务: accept、authorization、maxdataserviceversion、x-smp-appcid和x-smp-appid。公开标头 浏览器可以访问的响应标头的逗号分隔列表。 -
如果您在进行更改时锁定了应用程序,请选择解锁进行释放。
-
选择保存。新条目显示在列表中。
配置 微应用 安全¶
定义控制所选 微应用 的用户验证行为的设置。
必须已在 SAP Business Technology Platform 主控室建立默认和自定义信任配置。
有关建立信任的详细信息,请参阅配置安全信任和通过 UAA 使用任意 SAML 身份提供者建立信任和联合。
-
在 SAP 移动服务主控室 主控室中,选择移动应用程序 > 微应用。
-
选择应用程序,然后选择安全以配置应用程序安全。
-
在应用程序设置下选择 。配置应用程序级别安全设置:
应用程序设置
字段 值 CSRF 保护 启用跨站点请求伪造 (CSRF) 保护。需要 CSRF 令牌运行。 安全配置 (1) WeCom OAuth – 基于 WeCom 特定令牌的验证。为 WeCom 应用自动选择;(2) 微信 OAuth - 基于微信特定令牌的验证。为微信应用自动选择;(3) 钉钉 OAuth - 基于钉钉特定令牌的验证。已针对钉钉应用自动选择。 -
在 WeCom 设置下查看当前安全设置。
-
在微信设置下查看当前安全设置。
-
在钉钉设置下查看当前安全设置。
-
有关其他安全设置,例如 XSUAA 设置、角色设置、匿名访问、允许的 IP/CIDR、跨域访问,请参阅配置应用安全了解详细信息。
配置安全信任¶
在 移动服务 中,使用某些安全类型或功能时,必须在 Cloud Foundry 环境中的 移动服务 和 SAP Business Technology Platform 子账户之间建立信任。
必须已在 SAP Business Technology Platform 主控室建立默认和自定义信任配置。有关建立信任的详细信息,请参阅通过 UAA 使用任意 SAML 身份提供者建立信任和联合。
通过将信任配置元数据导入到云子账户,移动服务 可为用户生成用户验证令牌。信任配置的导入只需执行一次即可。使用以下内容的应用程序需要信任:
-
基本验证
-
HTTP 验证
-
API 密钥(匿名)验证
-
多用户/设备共享场景
-
支持国家/地区中的 微应用 应用(例如微信、钉钉验证)
如果所有配置的应用程序仅使用 OAuth 或 SAML 验证,则无需配置安全信任。
-
在 SAP 移动服务主控室中,选择设置 > 安全性。
-
选择元数据下载将信任配置从 SAP 移动服务主控室 下载到您的本地系统。此文件将用于与 SAP Business Technology Platform 建立信任关系。此操作仅需执行一次即可。
在下载元数据中,指定元数据到期日期,然后选择下载。您可以选择一年(缺省),或使用日期选择器选择月份和年份。最长有效期为十年。
-
从 SAP Business Technology Platform 中,使用您的客户子账户导入从上一步下载的信任配置文件,作为受信任的身份提供者。
注释
在 SAP Business Technology Platform 中导入身份提供者时,禁用可供用户登录复选框,因为受信任的身份提供者不是真正的身份提供者,不能用于用户登录。禁用可供用户登录复选框可确保身份提供者不会出现在 XSUAA 登录页面上。
-
选择测试以确保元数据已成功建立为受信任提供者。
如果未正确建立信任配置,则可能会显示类似
SAML metadata might not have been imported as trusted identity provider的消息。
配置跨上下文 SSO¶
配置跨上下文 SSO,以便在登录期间将身份从 Web 应用传输到移动应用。根据功能的实施方式,允许用户从桌面或 Android 或 iOS 手机登录和配置应用。
请记住:
-
必须通过 SAP BTP SDK for Android 或 SAP BTP SDK for iOS 为应用设置登录 SSO。
-
SAP Business Technology Platform 必须用作权限服务器。
-
如配置应用安全中所述,必须通过 SAP 移动服务主控室将应用安全配置设置为 OAuth。
-
只有 Android 和 iOS 应用支持此功能。
-
如果用户通过单击按钮从 Android 手机登录,则必须在 SAP 移动服务主控室 中配置 Android 应用程序链接,如创建应用程序链接中所述。
-
从 iOS 设备登录单击按钮时的用户体验将取决于是否为应用配置了 Apple 通用链接或自定义 URL 模式。如果为您的应用同时配置了两者,则使用自定义 URL 模式来提供更好的用户体验。
Apple 通用链接的效果是,当用户在 Safari 中浏览网站时,点击同一域中的通用链接,应用不会自动打开。相反,iOS 会在 Safari 中打开链接,期望用户在该浏览器中继续,并且用户必须主动点击横幅才能打开应用。
自定义 URL 链接可避免这一额外步骤,从而提供更好的用户体验。但是,如果管理员没有维护自定义 URL 模式,则使用 Apple 通用链接技术。自定义 URL 模式和 Apple 通用链接均可通过应用程序链接标签中的 SAP 移动服务主控室 进行配置,如创建应用程序链接中所述。
如果通过 SDK 设置跨上下文 SSO 并通过 SAP 移动服务主控室 进行配置,则用户可以通过以下方式登录:
-
从桌面:用户在浏览器中打开登录页面,并使用手机的照相机扫描二维码。二维码提供可由 SAP 移动应用解释的信息。
-
从 Android 手机:用户使用 Chrome 浏览器打开登录页面,这是唯一受支持的浏览器。此页面包含一个按钮,单击即可启动登录流程。当用户选中该按钮时,Android 手机将调用 SAP 应用。
-
从 iOS 手机:用户使用 Safari 浏览器打开登录页面,这是唯一受支持的浏览器。此页面包含一个按钮,单击即可启动登录流程。当用户选中该按钮时,iOS 手机将调用 SAP 应用。
在所有情况下,都会使用短期令牌将验证传递至应用。如果令牌超时,则每次都会向用户提供使用新短期令牌登录的附加机会。
-
在 SAP 移动服务主控室 中,选择移动应用程序 > 本机/
MDK。 -
选择应用程序,导航到设置标签,然后选择安全性。查看当前安全设置,或选择编辑按钮进行更改。
-
在应用程序设置下,查看或编辑设置。选择编辑按钮以配置应用程序设置。将出现编辑应用程序设置窗口。
-
在跨上下文 SSO 下,选择启用跨上下文 SSO。随即出现附加字段。
-
配置跨上下文 SSO 设置。
字段 描述 SSO 令牌超时 指定临时登录令牌过期前的时间(以秒为单位)。最大值为 300 秒,默认值为 30 秒。 SSO 登录 URL (只读/复制)登录 URL。用户可以使用此链接。 请参阅以下步骤以获取 SSO 登录 URL 密码。 适用于 Android 小组件支持的 SSO 登录 URL (选择 IAS时不会显示)(只读/复制)启用时支持 Android 小组件的登录 URL。用户可以使用此链接。 请注意,基于 IAS的应用不支持只读令牌。为基于IAS的应用配置安全性并且启用跨上下文 SSO 时,“适用于 Android 小组件支持的 SSO 登录 URL”选项不会显示。 选择复制图标 以将链接复制到剪切板。 -
单击确定以保存更改。
-
要获取 SSO 登录 URL 密码:
-
选择复制图标 以将 SSO 登录 URL 复制到剪切板。
-
在新浏览器窗口中,粘贴 URL 并为其附加
#/passcode。 -
临时验证代码屏幕显示时,选择复制图标 以将验证代码复制到剪贴板。
-
使用此值作为密码以进行验证。
用户单击登录 URL 或扫描二维码时将进行登录。如果安全代码在用户登录之前过期,则会向用户提供获取新二维码的机会。
配置设备验证设置¶
配置设备验证设置以增强应用程序的安全性。
此过程提供有关如何为应用程序配置设备验证设置的分步指南。
作为管理员,您可以在 移动服务 中生成和管理用于增强安全性的验证令牌。该功能通过在验证期间实施第二因子并验证托管设备,确保对应用的安全访问。
配置设备验证设置的分步过程:
-
在 SAP 移动服务主控室 中,选择移动应用程序 > 本机/
MDK。 -
选择应用程序,导航到设置标签,然后选择安全性。查看当前安全设置。
-
在设备验证设置下,查看或编辑设置。选择 配置设备验证设置。
-
随即出现设备验证设置窗口。选择启用托管设备验证。随即出现附加字段。
字段 描述 MDM 密钥名称(必填) 输入 MDM 密钥名称。 MDM 密钥值(必填) 输入单个 MDM 密钥值。 启用豁免用户 默认禁用。 豁免用户角色(必填) 如果启用启用豁免用户的复选框,则需要指定豁免用户角色。 -
选择保存。
添加详细信息后,将显示新令牌和设置。配置此令牌后,SDK 将读取此信息并在验证期间自动提供令牌。这会增强应用程序的安全性。
配置 IAS 安全¶
当使用 Identity Authentication 服务 (IAS) 支持创建移动应用程序时,会创建 SAP Business Technology Platform Identity Authentication 的服务实例并将其绑定到移动应用程序。
仅当在 SAP Business Technology Platform 子账户和 Identity Authentication 租户之间已建立信任和联合时,Identity Authentication 才可用于子账户空间。有关详细信息,请参阅:
如果 Identity Authentication 租户和 SAP Business Technology Platform 子账户之间尚未建立信任和联合,则只能在子账户空间中创建使用 XSUAA 的移动应用程序。
在 SAP 移动服务主控室 上创建或更新基于 IAS 的移动应用程序时,您可以上传自定义安全配置以用作默认 Identity Authentication 服务实例。有关配置语法,请参阅 SAP BTP 身份服务的参考信息。
移动服务 支持通过使用 Open ID Connect (OIDC) 的 SAP Cloud Identity Services - Identity Authentication 租户来保护移动应用程序。当使用 IAS 支持创建移动应用程序时,会创建 SAP Identity Service 的服务实例并将其绑定到移动应用程序。这会在登录时将移动应用程序用户重定向到 IAS 租户,并在登录完成后从 IAS 租户生成 IAS 令牌。移动客户端还会使用 IAS 令牌访问移动应用程序,并使用 IAS 令牌将用户传播到后端服务。
IAS 令牌是一个标识令牌,不包括权限信息(范围或角色)。SAP Mobile Services 支持使用“组”属性授予用户权限。SAP Mobile Services 将以“SAPMS_”开头的组视为角色,角色名称是删除“SAPMS_”前缀后保留的值。
例如,用户可能会在 IAS 租户中创建“SAPMS_Administrator”组,并将用户分配给该组。授予这些用户访问在 移动服务 中需要“管理员”角色的 API 的权限。移动服务 支持“管理员”和“帮助台”角色,使运行时用户能够访问单一应用程序主控室。“管理员”角色是读写角色,而“帮助台”是只读角色。
请注意,由于 Identity Authentication 服务不支持撤销用户令牌,因此基于 IAS 的移动应用程序不支持撤销用户令牌操作。另请注意,您不能将配置有 XSUAA 的现有移动应用迁移到 IAS。IAS 仅支持新的移动应用。您必须重新创建移动应用并使用 IAS 设置配置新应用。
为应用配置 IAS 安全性:
-
在 SAP 移动服务主控室 中,选择移动应用程序 > 本机/
MDK。 -
选择应用程序,导航到设置标签,然后选择安全性。查看当前安全设置,或选择编辑按钮进行更改。
-
在
IAS设置下,查看或编辑设置。选择编辑按钮以配置设置。将出现编辑IAS设置窗口。有关
IAS服务令牌设置的信息,请参阅应用程序令牌策略配置。IAS设置字段 值 IAS服务选择默认实例或从列表中选择现有服务实例。 Security-config.json 选择定义用于访问您的应用程序的验证方法和权限类型的 JSON文件。有关附加信息,请参阅 SAPBTP身份服务的参考信息。令牌生命周期 以小时数或分钟数输入令牌的生命周期(缺省值为 15 分钟)。值包括 10 分钟到 1 小时。该条目受限于服务器施加的任何限制。 刷新令牌生命周期 以天数、小时数或分钟数输入刷新令牌的生命周期(缺省值为 30 天)。值包括 1 小时到 180 天。该条目受限于服务器施加的任何限制。 -
单击确定以保存更改。
IAS 验证默认配置对于许多移动应用用例而言并非最佳。
请检查以下 IAS 配置默认值:
-
续订后刷新令牌使用情况此高级设置配置刷新令牌的有效性。
IAS在刷新验证令牌时提供新的刷新令牌。Off(默认)在验证令牌刷新后使刷新令牌无效。 移动开发工具包 应用程序和使用 SAP SDK 提供的验证流的应用在验证令牌刷新后更新刷新令牌。Online Scenario在 5 分钟后使使用的刷新令牌失效。Mobile Scenario不会使旧的刷新令牌失效。 当您的应用在验证令牌刷新后不更新刷新令牌时,可以使用此配置。 此行为与XSUAA默认相同。 -
每个用户的最大会话数此
refresh-parallel配置值限制并行用户会话/刷新令牌的最大数量。 每个经过验证的用户设备都算作验证会话。 默认最大并行用户会话数为1。IAS将会使最旧的刷新令牌失效,并且当用户超过此值并创建新的经过验证的用户时,不会刷新验证令牌。 如果您的应用允许多个用户设备(例如手机、平板电脑和浏览器,包括应用内浏览),则必须增加此配置值。refresh-parallel的最大值是10。
配置数字签名二维码¶
配置数字签名二维码,使用户能够扫描二维码并安全登录 移动服务 应用程序。数字签名二维码有助于防止恶意人员获得访问权限。管理员配置用于以 JSON Web 签名 (JWS) 格式对二维码进行签名的公钥和私钥对。使用 移动服务 生成密钥,或添加您自己的密钥。此功能需要 OAuth 安全配置。
启用签名功能时:
-
移动应用程序 > 本机/
MDK> {app_name} > API 标签上的二维码已签名,包括配置、应用程序链接、通用 URI 模式和MDKURI 模式。 -
移动应用程序 > 本机/
MDK> {app_name} > 安全标签上的跨上下文 SSO 也已签名。
要为 OAuth 登录配置数字签名二维码:
-
在 SAP 移动服务主控室 中,选择移动应用程序 > 本机/
MDK。 -
选择应用程序,导航到设置标签,然后选择安全性。查看当前安全设置,或选择编辑按钮以在部分中进行更改。
-
在应用程序设置下,验证安全配置类型是否为 OAuth。
-
向下滚动到二维码签名设置,并选择启用二维码签名。随即出现附加字段。
配置二维码签名设置。
字段 描述 公钥 公钥用于在客户端验证数字签名。 私钥 私钥用于在服务器端对二维码进行签名,不暴露给任何客户端。 您有两种管理密钥对的方法:一种是单击生成密钥对生成新的密钥对;另一种方法是复制并粘贴您自己的公钥并上传私钥。请记住:
-
密钥对算法仅支持
RSA和EC(椭圆曲线)。-
对于
RSA算法,支持的长度为 2048、3072、4096 位。 -
对于
EC算法,支持的长度为 256、384、521 位。
-
-
仅支持
PEM-Encoded PKCS#8非对称密钥格式:-
公钥应以
-----BEGIN PUBLIC KEY-----开头,以-----END PUBLIC KEY-----结尾。 -
私钥应以
-----BEGIN PRIVATE KEY-----开头,以-----END PRIVATE KEY-----结尾。
-
-
当您使用生成密钥对按钮时,会生成一个长度为 3072 位的
RSA密钥对。 -
公钥和私钥应成对出现和更新。
-
已启用二维码签名
- 禁用启用二维码签名将删除公钥值和私钥值。
- 如果您想使用相同的密钥,请确保在禁用此功能之前将其保存在安全的位置。
- 无法导出私钥。生成密钥对时请确保保存它以供将来使用。
- 可以复制和保存公钥。
-
您可以使用第三方工具(例如
OpenSSL)生成您自己的密钥对。示例:-
使用
OpenSSL工具生成RSA密钥对:openssl genrsa -out privkey.pem 4096 openssl rsa -in privkey.pem -pubout -out public.pub openssl pkcs8 -topk8 -inform pem -in privkey.pem -outform pem -nocrypt -out private_pkcs8.pem -
使用
OpenSSL工具生成EC密钥对:openssl ecparam -genkey -name secp521r1 -noout -out ec512-key-pair.pem openssl ec -in ec512-key-pair.pem -pubout -out public.pem openssl pkcs8 -topk8 -inform pem -in ec512-key-pair.pem -outform pem -nocrypt -out ec512-key-pair_private_pkcs8.pem
-
-
-
在二维码签名设置中,单击生成密钥对生成新密钥对。公钥和私钥字段由该密钥填充。(或者,您可以复制并粘贴自己的公钥并上传私钥。)
-
在密钥中,提供至少 八个字符的密钥以生成加密私钥。公钥更改,私钥从服务器下载。
确保将私钥保存在安全位置,并记住密钥,以防需要重新部署该应用。您还可以上传私钥,如果私钥已加密,系统会提示您提供密钥。
-
选择保存并选择确定进行确认。加密的私钥显示为
********。公钥和私钥将保存到 SAP Mobile Services 服务器中,可供 iOS 或 Android 客户端在登录期间验证访问。用户单击登录 URL 或扫描二维码时将使用密钥进行登录。
输入或生成新的密钥对后,不得对其进行更改。密钥对已保存到设备应用程序配置,更改它会影响设备应用程序。
撤销 OAuth 令牌¶
撤销 OAuth 令牌以强制注册用户使用新的 OAuth 令牌登录。
管理员可以撤销注册用户的 OAuth 令牌。此操作将撤销在撤销之前为用户颁发的所有 OAuth 令牌。当用户再次登录时,系统将生成新的 OAuth 令牌,确保使用的是最新的 OAuth 令牌。(同样,如果您按照管理应用用户和设备注册中所述删除用户注册,则所有 OAuth 令牌都将撤销。用户再次登录时会生成新的 OAuth 令牌。
如果没有出现撤销按钮,则配置不支持该功能。
-
在 SAP 移动服务主控室 中,选择移动应用程序 > 本机/
MDK。 -
选择应用程序,导航到用户和设备管理标签。
-
(可选)在已注册用户下,您可以通过设置筛选器(例如用户名、注册时间范围、设备类型或电子邮件地址)并选择执行来缩小要查看的注册用户的范围。选择重置筛选器清除筛选器条目。
随即显示筛选后的注册用户列表。您还可以使用“排序和定制表”列来进一步更改列表。
-
找到您的目标注册用户,然后在操作下选择撤销。
在确认撤销中,选择确定以确认将撤销注册到用户的所有 OAuth 令牌。
-
检查上次撤销 (UTC+0000) 下的日期和时间戳以确认更改。
单击撤消按钮以及用户从设备注销时,日期和时间戳将相应更新。当用户从设备注销时,同一用户名下的所有令牌都将被撤销。
当注册用户登录应用时,系统将生成新的 OAuth 令牌。
配置 Android 认证¶
(仅限本机/MDK)设备认证使开发人员和管理员能够了解尝试连接到企业应用和工作空间的设备的软件和硬件环境。
请记住这些重要的前提条件:
-
确保用户设备上安装了正确版本的 Google Play 服务。
-
确保客户可以访问 Google 服务器。
-
(仅限
SafetyNet)获取 Google API 密钥。需要此密钥以调用SafetyNet认证 API。要创建 API 密钥,请参阅获取 API 密钥。 -
(仅限 Play Integrity)项目编号
-
(仅限 Play Integrity)服务账户私钥文件
-
获取 SHA-256 证书指纹。此值用于验证客户端请求是否来自使用预期密钥库签名的应用。要获取 SHA-256 证书指纹,请通过命令行使用 Java 提供的
keytool实用程序:keytool -list -v -alias <key-alias> -keystore <keystore-path>。系统将提示您输入密钥库密码。从输出中,复制“证书指纹”下的“SHA256”值(它是一个 64 字节的十六进制字符串)。如果需要,您可以添加多个 SHA-256 证书指纹。
认证功能仅适用于 SAP BTP SDK for Android 5.1 及更高版本。不可用于 SAP Mobile Platform SDK。强制执行认证后,来自通过不受支持的 SDK(如 SAP Mobile Platform SDK)构建的应用的任何请求都将被拒绝。
警告
请谨慎开启强制执行。如果您的 移动服务 应用程序不仅仅用于由 BTP SDK for Android 5.1 及更高版本开发的应用程序,我们建议您部署单独的移动服务应用程序以启用 Android 认证。
通过与 移动服务 集成的设备认证,您可以通过在运行时检查设备的软件和硬件环境来保护您的服务器 API,确定您的服务器是否正在与正版应用和设备通信,然后决定是接受还是拒绝客户端的请求。管理员可以监控不合规的 Android 设备和应用,并强制执行合规的运行时检查。
Android 认证实施基于 Play Integrity API。之前其基于 SafetyNet 认证 API。Google 已宣布终止对 SafetyNet 的支持。在准备中,Play Integrity 已与 SAP Mobile Services 集成,并为现有 Android 应用提供了迁移选项。SAP 建议您尽快迁移到 Play Integrity API。
SafetyNet 认证 API:每次客户端调用 SafetyNet 认证 API 时,都会消耗使用配额。每个项目的默认配额是每天 10,000 次。如果您超出配额,则会收到警报。要监控配额使用情况,请参阅:设置配额监控和警报。要根据需要申请更多配额,请参阅 SafetyNet 认证 API - 配额请求。
Play Integrity 认证 API:同样,客户端每次调用 Play Integrity 认证 API 都会消耗使用配额。每个项目的默认配额是每天 10,000 次。如果您超出配额,则会收到警报。要监控配额使用情况,请参阅:设置配额监控和警报。要根据需要申请更多配额,请参阅[请求更高配额] (https://support.google.com/googleplay/android-developer/contact/piaqr)(表单)。
注释
在每种情况下,启用认证时,将自动创建事件日志订阅,如果超出配额,则会通过我的警报通知您。查找类似于 Android attestation quota exceeded 的消息。有关详细信息,请参阅管理我的警报。
要配置 Android 认证:
-
在 移动服务主控室 中,选择移动应用程序 > 本机/
MDK。 -
选择应用程序,导航到设置标签,然后选择认证。
-
在 Android 认证下,选择 ,然后选中已启用复选框。启用认证时,将自动创建事件日志订阅,因此在超出配额时会通过我的警报通知您。
-
在编辑 Android 认证设置中,配置 Android 认证设置,然后选择保存。这些值用于验证 Android 应用的完整性。
Android 验证设置
字段 描述 Google API 密钥(仅限 SafetyNet)(必需)调用 SafetyNet认证 API 所需的访问密钥。项目编号(仅限 Play Integrity) (必需)分配给每个 Google Cloud Platform (GCP) 项目的唯一标识符。项目编号在 Android Play Integrity API 中用于验证和管理项目内的资源。 (仅限 Play Integrity)服务账户私钥文件 (必需)Android Play Integrity 中的服务账户是一种特殊类型的 Google 账户,代表应用程序,而不是单个用户。它用于验证和授权应用程序安全地访问 Play Integrity API,使应用能够验证其完整性并防止篡改或未经授权的修改。您可以上载新文件或移除文件来替换它。 包名称 (必需)应用程序包的名称。包名称用于检查客户端请求是否来自使用预期包名称的应用。 认证令牌生命周期 (必需)认证令牌的有效期,以分钟、小时或天为单位。当客户端通过认证验证时,SAP Mobile Services 颁发令牌。在令牌生命周期内,客户端不需要再次通过认证令牌流程。令牌生命周期最小值为 30 分钟,最大值为 7 天。 调试令牌 启用 Android 认证后,您可以提供调试令牌以进行调试和测试。这使您可以跳过认证检查。为此,请在访问 SAP Mobile Services API 时附加以下标头: x-ms-attestation-token:<debug_token_value>。为了安全起见,请注意不要泄露调试令牌值。您可以选择生成以生成用于调试的新令牌,并选择撤销以撤销令牌。此值将自动屏蔽。SHA-256 证书指纹 (必需)此值用于验证客户端请求是否来自使用预期密钥库签名的应用。提供 keytool生成的 64 字节十六进制字符串。您可以添加多个 SHA-256 证书指纹,并添加或删除值。保存后,会显示认证请求监控器,并开始对所选应用程序进行 Android 证明。移动服务 验证认证令牌并记录每个请求的结果,但不拒绝不包含认证令牌的请求。状态显示为未执行。
-
准备好后(记住上面提供的指导原则),选择执行按钮。然后,只接受通过认证验证的请求,其余的被拒绝。状态更改为已执行。
认证请求监控器提供了一个图表,显示按平台和时间范围划分的特定类别的请求数量。更改筛选器以查看特定信息。
认证请求监控器筛选器
筛选器 描述 时间范围 从列表中选择时间范围,包括过去一小时、过去 24 小时、过去 7 天和上个月。 平台 选择要包含的平台,例如 Android、iOS 或未知。 此图形可能包括以下请求类型:
-
已验证:请求通过了认证验证。
-
过期的客户端:请求无法提供认证令牌。这可能表示较旧的应用程序版本。
-
无效:请求未通过认证令牌检查。
-
未知来源:请求并非来自 Android 设备;例如,它们可能来自浏览器或
Postman平台。
-
-
(可选)在 Android 认证下,选择 更改设置。
-
在
SafetyNet认证 API 配额监控或 Play Integrity 认证 API 配额监控下,点击链接以了解有关设置配额监控和警报以及请求附加配额的详细信息。如果您超出配额,将会看到类似于
Quota exceedance on {number_of_days} of the last 30 days的事件日志消息。如果这种情况经常出现,请考虑请求附加配额。
从 SecurityNet 迁移到 Play Integrity¶
您可以将应用从 Google SecurityNet 迁移到 移动服务主控室 中的面向 Android 验证的 Play Integrity。
由于 Google 即将终止对 Android 认证的 SecurityNet 支持,SAP 建议尽快将现有 Android 应用从 SecurityNet 迁移到 Play Integrity。
-
在 移动服务主控室 中,选择移动应用程序 > 本机/
MDK。 -
选择应用程序,导航到设置标签,然后选择认证。
-
在 Android 认证(
SafetyNet,已弃用)中,选择迁移。 -
在迁移到 Play Integrity中,为这些新的 Play Integrity 属性提供值(其他
SafetyNet值会自动结转)。-
Google Cloud Platform (GCP) 项目编号
-
与服务账户相关联的私钥文件
-
-
仔细检查设置。迁移后,
SafetyNet设置将由 Play Integrity 设置替换,并且无法恢复。迁移后,执行状态更改为未执行。 -
选择保存。成功保存后将显示此消息
Migration successful。-
Android 认证值更改为 Play Integrity 值,并且
SafetyNet认证 API 配额监控部分已重命名为 Play Integrity 认证 API 配额监控。 -
在认证请求监控器中,Play Integrity 值将在您选择 Android 时自动实施。
-
执行状态更改为未执行。准备好后,选择执行按钮以重新启用执行,如配置 Android 认证中所述。然后,只接受通过认证验证的请求,其余的被拒绝。状态更改为已执行。
-
配置 iOS 认证¶
(仅限本机/MDK)设备认证使开发人员和管理员能够了解尝试连接到企业应用和工作空间的设备的软件和硬件环境。
请记住 iOS 认证的重要前提条件:
-
确保在用户设备上安装了正确版本的 App Store 服务。
-
了解应用程序的包标识和团队标识。
认证功能仅适用于 SAP BTP SDK for iOS v9.1 及更高版本。不可用于 SAP Mobile Platform SDK。强制执行认证后,来自通过不受支持的 SDK(如 SAP Mobile Platform SDK)构建的应用的任何请求都将被拒绝。
警告
请谨慎开启强制执行。如果您的 移动服务 应用程序不仅仅用于由 BTP SDK for iOS v9.1 及更高版本开发的应用程序,我们建议您部署单独的移动服务应用程序以启用 iOS 认证。
通过与 移动服务 集成的设备认证,您可以通过在运行时检查设备的软件和硬件环境来保护您的服务器 API,确定您的服务器是否正在与正版应用和设备通信,然后决定是接受还是拒绝客户端的请求。管理员可以监控不合规的 iOS 设备/应用,并强制执行合规的运行时检查。
要配置 iOS 认证:
-
在 移动服务主控室 中,选择移动应用程序 > 本机/
MDK。 -
选择应用程序,导航到设置标签,然后选择认证。
-
在 iOS 认证下,选择 ,然后选中已启用复选框。
-
在编辑 iOS 认证设置中,配置 iOS 认证设置,然后选择保存。这些值用于验证 iOS 应用的完整性。
iOS 验证设置
字段 描述 包标识 特定于您为 iOS 认证设置的 iOS 应用程序的包标识,例如 com.sap.attestationSample。团队标识 用来开发公司应用的 10 字符团队标识。从开发人员账户获取此值。 环境 目标环境,包括开发和生产。 认证令牌生命周期 (必需)认证令牌的有效期,以分钟、小时或天为单位。当客户端通过认证验证时,SAP Mobile Services 颁发令牌。在令牌生命周期内,客户端不需要再次通过认证令牌流程。令牌生命周期最小值为 30 分钟,最大值为 7 天。 调试令牌 启用 iOS 认证后,您可以提供调试令牌以进行调试和测试。这使您可以跳过认证检查。为此,请在访问 SAP Mobile Services API 时附加以下标头: x-ms-attestation-token:<debug_token_value>。为了安全起见,请注意不要泄露调试令牌值。您可以选择生成以生成用于调试的新令牌,并选择撤销以撤销令牌。此值将自动屏蔽。保存后,会显示认证请求监控器,并开始对所选应用程序进行 iOS 证明。移动服务 验证认证令牌并记录每个请求的结果,但不拒绝不包含认证令牌的请求。状态显示为未执行。
-
准备好后(记住上面提供的指导原则),选择执行按钮。然后,只接受通过认证验证的请求,其余的被拒绝。状态更改为已执行。
认证请求监控器提供了一个图表,显示按平台和时间范围划分的特定类别的请求数量。更改筛选器以查看特定信息。
认证请求监控器筛选器
筛选器 描述 时间范围 从列表中选择时间范围,包括过去一小时、过去 24 小时、过去 7 天和上个月。 平台 选择要包含的平台,例如 Android、iOS 或未知。 此图形可能包括以下请求类型:
-
已验证:请求通过了认证验证。
-
过期的客户端:请求无法提供认证令牌。这可能表示较旧的应用程序版本。
-
无效:请求未通过认证令牌检查。
-
未知来源:请求并非来自 iOS 设备;例如,它们可能来自浏览器或
Postman平台。
-
-
(可选)在 iOS 认证下,选择 更改设置。
数据保护和隐私¶
SAP Mobile Services 不会跟踪或存储个人数据,但会跟踪与移动服务和设置详细信息有关的数据。
数据保护与大量的法律要求和隐私问题相关联。除了要符合一般数据隐私条例,还必须要考虑遵循不同国家/地区的行业特定法规。SAP 提供了特定功能以支持遵循包括数据保护在内的相关法律要求。对于这些功能是否是支持公司、行业、地区或国家特定要求的最佳方法,SAP 不提供任何建议。此外,不应将此信息视为与特定 IT 环境中所需的额外功能有关的建议;必须考虑给定的系统架构和适用的法律要求,根据具体情况作出与数据保护有关的决策。
注释
SAP 不提供任何形式的法律咨询。SAP 软件通过提供安全功能和特定数据保护相关功能来支持数据保护合规性,例如简化的个人数据冻结和删除。在许多情况下,产品功能不涵盖适用的数据保护和隐私法律的合规性。此文档中使用的定义及其他术语不来自特定的法律来源。
重要术语¶
| 术语 | 定义 |
|---|---|
| 许可 | 数据主体确认允许出于特定目的使用其个人数据的操作。许可功能允许存储与特定目的有关的许可记录,并显示数据主体是否已授予、撤回或拒绝许可。 |
| 删除 | 个人数据的不可撤销的销毁。 |
| 个人数据 | 与已识别的或可识别的自然人(“数据主体”)有关的任何信息。可识别的自然人是指可以直接或间接地通过诸如姓名、身份证号、地点数据、在线标识符等标识符或特定于该自然人的身体、生理、遗传、精神、经济、文化或社会身份的一个或多个因素识别的人。 |
| SAP Mobile Services 和设置 | 与使用移动服务和设置访问、验证、操作、安全性等有关的任何信息。它可能与“数据主体”有关,但是在处理验证、数据、使用等上下文中。 |
| 目的 | 处理个人数据的法律原因、合同原因或其他形式的正当理由。假定任何目的都有一个通常在其开始时就已经定义的结束。 |
SAP Mobile Services (Cloud Foundry)¶
SAP Mobile Services 和设置详细信息通常包括以下内容。
-
租户数据
租户数据存储在 SAP Business Technology Platform 移动服务提供者账户中。
当客户删除移动应用程序时,将会清除其所有相关数据。如果删除了 sub-account\org\space,我们的计划器最终将会清除其中部署的移动应用程序和相关数据
-
应用程序客户端日志、使用情况报表和故障日志
客户端日志、使用情况数据和故障日志由 SAP Mobile Services 维护,但是不会存储敏感数据。
客户端应用程序开发人员可以使用 SAP BTP SDK for Android 和 SAP BTP SDK for iOS 构建选择加入表单,以便收集其用户的同意进行使用分析。客户可以为每个应用程序定制表单。要收集特定的使用情况报告数据,应用程序用户需从设备提供许可。使用情况报告不包含个人数据,只有关于应用使用情况的匿名信息(例如,打开哪些页面、页面打开的时长等)。服务器记录响应,保留许可表单的最后五个版本以及用于提供许可的版本。
租户开发/运营人员设置计划以清除日志,或者可以使用 SAP 移动服务主控室立即清除。
除非使用自定义日期,否则客户端日志最多保留六个月。要立即清除客户端数据,请发起支持工单。SAP BTP SDK for Android 和 SAP BTP SDK for iOS 可能会收集与发生日志记录的文件相关的源和位置信息。此外,应用开发人员可以传递消息及其严重性。
客户端使用情况数据会保留 365 天。如果需要立即将其清除,请发起支持工单。可能会收集以下使用情况信息(此外,应用开发人员可以传递事件特定的信息,例如视图名称、操作名称、值等):
- 平台和版本(例如 iOS 的“16.6”)
- 环境(例如“模拟器”或“设备”)
- 应用程序标识和版本
- 设备标识和模型名称
故障日志会保留三个月。SAP BTP SDK for Android 和 SAP BTP SDK for iOS 可能会收集以下故障日志信息:
- 平台版本(例如 iOS 的“16.6”)
- 平台体系结构(如“模拟器”或“体系结构”)
- 堆栈跟踪和线程池
- 应用程序标识和版本
- 构建和 SDK 版本
- 设备标识和模型名称
- 设备区域设置和屏幕尺寸
- 故障时戳
- 网络连接
-
网络跟踪
SAP Mobile Services 不直接处理个人数据,而是作为后端的代理。该平台可以选择暂时捕获网络流量到后端进行调试。此网络跟踪信息可能包含从设备交换到后端的个人数据。
审计启用/禁用网络跟踪,并在我们的审计日志表中审计访问网络跟踪(从 SAP 移动服务主控室下载)。网络跟踪会保留 7 天。我们还提供手动清除网络跟踪的功能。
-
导出用户数据
SAP Mobile Services 在 SAP 移动服务主控室中提供了功能,可用于根据每个应用程序中的用户名导出用户数据。此功能可用于导出与应用程序内的用户相关的所有数据。
-
您创建的应用程序
云服务不存储个人数据,只是同步在移动设备和后端之间交换的数据。
开发人员可以创建在离线数据存储中保存敏感数据的应用程序。在此情况下,开发人员应按照定义客户端密码策略中所述设置用于在应用程序初始化时解锁数据存储的客户端密码策略,并且还应使用
storeEncryptionKey方法对离线数据存储的内容进行加密。这可以确保在第一次使用存储时,数据会自动加密。微信微应用应用程序仅在用户提供同意及其微信标识后才会收集用户的昵称和档案照片。目的是帮助用户使用微信(设备上的客户端应用)单点登录登录 移动服务主控室,并帮助 微应用 应用程序访问昵称和档案照片进行个性化设置。
用户取消订阅后,收集的信息将删除。当客户/租户取消 移动服务 或删除微信微应用时,收集的信息将删除。