云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

中间件_装服务器系统_哪家好

小七 141 0

在我们最近的项目中,我们需要从asabap系统连接到Google云平台appengine上发布的API。API是通过Googles Identity Aware Proxy(IAP)和Google Cloud Identity&Access Management(IAM)服务帐户进行身份验证的,以防止未经授权的使用。

此博客介绍了如何解决ABAP端的问题,以使用通过Google IAP保护的GCP应用引擎资源。这包括如何使用RS256加密生成使用服务帐户凭据签名的Json Web令牌(JWT),如何将JWT交换为Google签名的OpenID(OIDC)令牌,以及如何使用OIDC令牌请求Google App Engine上受IAP保护的资源,思考如何防止未经授权使用。本课题的研究为appengine上发布的端点安全提供了两种不同的解决方案:云端点和身份感知代理。这使您可以定义如何使用角色保护端点,以及哪些用户或技术用户(服务帐户)能够访问不同的端点。我不会在这个博客中详细介绍云端点,如果您有兴趣了解更多信息,可以在这里继续:https://cloud.google.com/endpoints/docs/。

对于我们的项目来说,云端点的一个主要缺点是,云端点只支持在Google App上发布的环境参数设置为flex的应用程序引擎。系统中的柔性环境参数附录yaml描述google应该如何设置应用程序运行的环境,flexible使用docker容器作为应用程序的包装器。对于我们的用例,我们不希望使用Docker,因为这需要应用程序的额外安全步骤。

第二个选项是使用身份感知代理。云身份感知代理(cloudiap)控制对运行在Google云平台上的云应用程序和vm的访问。云IAP通过验证用户身份和请求的上下文来确定是否应该允许用户访问应用程序或VM。它不像云端点那样通用,但更易于使用。它还支持在GCP应用程序引擎的标准环境中部署的应用程序。

第一步是创建一个新的IAP安全Web应用程序用户。导航到IAM&Admin->服务帐户并创建一个新的服务帐户。键入姓名和描述,返利平台有哪些,然后按create。在下一个屏幕上,您必须选择一个角色。在搜索中键入IAP,然后选择角色IAP secured Web App User.

在下一个窗口中,您可以授予用户访问服务帐户的权限,这在场景中不是必需的。按"创建键"按钮并选择选项P12。当ABAP导入到STRUST时,这是需要的。

P12文件下载应该开始到您的本地机器。服务帐户允许访问云资源,因此安全地存储它。请注意显示的秘密以备以后使用。

下一步是激活应用程序引擎的IAP。导航到"安全->身份感知代理"

列表中显示所有可用的HTTP资源。在那里,您可以通过向右移动开关来打开appengine的IAP。下面列出了在应用程序引擎中运行的所有应用程序。

在列表中选择要添加服务帐户验证的应用程序,并在右侧面板上添加新创建的服务帐户。选择"IAP secured Web App User"作为角色。

稍后,我们还需要OAUTH客户端ID作为ABAP进行通信。要获取ID,请导航到IAP并单击"App Engine App"右侧的三点按钮,然后从菜单中选择"Edit OAuth Client"。

在下一个窗口中,您可以在顶部找到OAuth客户端的客户端ID。记下ID以备以后使用。

通过此操作,我们创建了一个新的技术用户(服务帐户),并为我们的应用程序引擎HTTP资源启用了身份感知代理。现在,每当调用资源时,IAP都会请求身份验证,物联网开发,并检查用户是否有权使用该资源。我们已经完成了谷歌方面的工作。现在我们需要实现从AS ABAP实例的访问。

本章介绍如何将ABAP配置为访问GCP,以及如何在ABAP中编写一个访问处理程序类,该类将与GCP应用引擎上部署的HTTP资源进行通信。

在继续之前,我们需要了解IAP的身份验证过程是如何工作的。此流程图显示了访问受保护资源所需的步骤:

(来源:https://bravenwgeek.com/api-authentication-with-gcp-identity-aware-proxy/)

API使用者是ABAP AS。首先,需要创建一个jsonweb令牌,并使用服务帐户私钥进行签名。私钥可以在创建服务帐户时下载的P12文件中找到。签名需要RS256加密。接下来,我们需要将签名的JWT与openid令牌(OIDC)交换。Google为JWT提供了一个到OIDC交换的服务。对于返回,服务提供了可以用来访问IAP保护资源的OIDC。

3.1将服务帐户证书导入STRUST

在我们可以编写ABAP代码和使用我们的应用引擎资源之前,我们必须确保两件事:第一,我们需要将P12文件导入AS ABAP系统,大数据使用,第二,我们必须确保,google是一个可靠的通信源。

在ABAP中,虚拟主机,证书是在SSF应用程序中组织的。建议为每个新用例创建一个新的SSF应用程序。让我们在SSFAPPLIC表中创建一个新条目。转到事务SE11并打开表。进入数据浏览器并创建一个新条目。