Google Cloud 上的 SAP 程序的身份和访问权限管理

任何使用 Google Cloud 资源的应用程序都需要 Google Cloud 身份和权限才能访问这些资源。

IAM 服务帐号

在 Google Cloud 上,Identity and Access Management (IAM) 使用服务帐号为程序建立身份,并使用角色向程序的服务帐号授予权限。

对于在 Compute Engine 虚拟机上运行的 SAP 系统和相关程序,请创建一个仅包含 SAP 系统和其他程序所需角色的虚拟机服务帐号。

未在 Google Cloud 上运行的程序可以在连接到 Google Cloud API 时使用服务帐号,并使用服务帐号密钥进行身份验证。

在 Compute Engine 虚拟机上运行的程序可以使用虚拟机的服务帐号,只要虚拟机服务帐号具有程序所需的角色即可。对于在 Compute Engine 虚拟机上运行的程序,不建议使用服务帐号密钥进行身份验证。

使用 gcloud 命令行工具或 Google Cloud Console 创建虚拟机实例时,您可以指定服务帐号供虚拟机实例使用、接受项目默认服务帐号或者不指定任何服务帐号。

如果您不使用 gcloud 命令行工具或 Google Cloud Console 而是通过直接向 API 发出请求来创建一个实例,则该实例不会启用默认服务帐号。

如果虚拟机服务帐号没有程序所需的角色,您可以向虚拟机服务帐号添加角色,或将服务帐号替换为新的虚拟机服务帐号。

项目的 Compute Engine 默认服务帐号最初会被授予 Editor 角色,该角色在许多企业环境中可能过于宽松。

如需详细了解 Compute Engine 对角色、权限和服务帐号的使用情况,请参阅:

如需更加广泛地了解适用于 Google Cloud 的信息,请参阅 IAM 文档:

Deployment Manager 和服务帐号

如果要使用 Google Cloud 提供的 Deployment Manager 模板来部署 SAP 基础架构,您可以在 template.yaml 配置文件中指定虚拟机服务帐号。

如果您不指定服务帐号,则 Deployment Manager 将使用项目的默认服务帐号来部署虚拟机。

IAM 角色和权限

IAM 会为每个 Google Cloud 资源提供预定义角色。每个角色都包含一组适合该角色级别的资源权限。您可以将这些角色添加到您创建的服务帐号。

如需获得最严格或最精细的控制,您可以创建具有一种或多种权限的自定义角色。

如需查看预定义角色以及每个角色所含权限的列表,请参阅了解角色

如需详细了解自定义角色,请参阅了解自定义角色

如需详细了解 Compute Engine 专用的角色,请参阅 Compute Engine 文档中的 Compute Engine IAM 角色

SAP 系统的 IAM 角色

您的 SAP 程序所需的 IAM 角色取决于这些程序使用的资源以及这些程序执行的任务。

例如,如果您使用 Cloud Deployment Manager 部署 SAP 系统并在 Deployment Manager 配置文件中指定服务帐号,则您指定的服务帐号必须至少包含以下角色:

  • Service Account User - 始终必需。
  • Compute Instance Admin - 始终必需。
  • Storage Object Viewer - 在部署期间从 Cloud Storage 存储分区下载安装媒体时需要。
  • Logs Writer - 将部署消息或其他消息写入 Logging 时需要。

部署 SAP 系统后,主机虚拟机和 SAP 程序可能并不需要部署期间所需的全部权限。您可以修改虚拟机服务帐号以移除角色,也可以更改虚拟机使用的服务帐号。

一些 SAP 或相关程序需要其他角色,如果它们未在 Google Cloud 上运行,则可能需要单独的服务帐号。例如: