向 Amplify 应用程序添加服务角色 - AWS Amplify 托管

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

向 Amplify 应用程序添加服务角色

Amplify 需要使用前端部署后端资源的权限。可使用服务角色来实现此目的。服务角色是 Amplify 控制台在代表您调用其他服务时代入的 AWS Identity and Access Management (IAM) 角色。

在本章中,您将了解如何创建一个 Amplify 服务角色,该角色具有账户管理权限,并明确允许直接访问 Amplify 应用程序部署、创建和管理后端所需的资源。

创建服务角色

创建服务角色
  1. 打开 IAM 控制台并从左侧导航栏中选择角色,然后选择创建角色

  2. 选择可信实体页面上,选择 AWS 服务。在使用案例下,选择 Amplify,然后选择下一步

  3. 添加权限页面上,选择下一步

  4. 名称、查看和创建页面中,对于角色名称,输入一个有意义的名称,例如 AmplifyConsoleServiceRole-AmplifyRole

  5. 接受所有默认值,然后选择创建角色

  6. 返回 Amplify 控制台,将该角色附加到您的应用程序。

    • 如果您正在部署新应用程序,请执行以下操作:

      1. 刷新服务角色列表。

      2. 选择您刚刚创建的角色。对于本示例,它应该类似于 AmplifyConsoleServiceRole-AmplifyRole

      3. 选择下一步,然后按照步骤完成应用程序部署。

    • 如果您具备现有应用程序,请执行以下操作:

      1. 在导航窗格中,依次选择应用程序设置常规设置

      2. 常规设置页面上,选择编辑

      3. 编辑常规设置页面上,从服务角色列表中选择您刚刚创建的角色。

      4. 选择保存

  7. Amplify 控制台现在有权为您的应用程序部署后端资源。

编辑角色的信任政策,以防止混淆代理

混淆代理问题是一个安全性问题,即不具有操作执行权限的实体可能会迫使具有更高权限的实体执行该操作。有关更多信息,请参阅 防止跨服务混淆代理

目前,Amplify-Backend Deployment 服务角色的默认信任策略强制执行 aws:SourceArnaws:SourceAccount 全局上下文条件键,以免出现混淆代理。但是,如果您之前曾在账户中创建过 Amplify-Backend Deployment 角色,就可以更新该角色的信任策略以添加这些条件,以免出现混淆代理。

使用以下示例来限制对账户中应用程序的访问。在示例中,将区域和应用程序 ID 替换为您自己的信息。

"Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:amplify:us-east-1:123456789012:apps/*" }, "StringEquals": { "aws:SourceAccount": "123456789012" } }

有关使用 AWS Management Console 编辑角色信任策略的说明,请参阅 IAM 用户指南中的修改角色(控制台)