本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
向 Amplify 应用添加服务角色
Amplify 需要使用前端部署后端资源的权限。可使用服务角色来实现此目的。服务角色是 Amplify 在代表您调用其他服务时扮演的 AWS Identity and Access Management (IAM) 角色。
在本章中,您将学习如何创建一个 Amplify 服务角色,该角色具有账户管理权限,并明确允许直接访问 Amplify 应用程序部署、创建和管理后端所需的资源。
创建服务角色
创建服务角色
-
打开IAM控制台
并从左侧导航栏中选择 “角色”,然后选择 “创建角色”。 -
在选择可信实体页面上,选择 AWS 服务。在 “用例” 中,选择 Amplify,然后选择 “下一步”。
-
在添加权限页面上,选择下一步。
-
在 “名称、查看和创建” 页面上,在 “角色名称” 中输入一个有意义的名称,例如
AmplifyConsoleServiceRole-AmplifyRole
。 -
接受所有默认值,然后选择 “创建角色”。
-
返回 Amplify 控制台,将角色附加到您的应用程序。
-
如果您正在部署新应用程序,请执行以下操作:
-
刷新服务角色列表。
-
选择您刚刚创建的角色。在这个例子中,它应该看起来像 AmplifyConsoleServiceRole-AmplifyRole
-
选择 “下一步”,然后按照步骤完成应用程序部署。
-
-
如果您已有应用程序,请执行以下操作:
-
在导航窗格中,选择应用程序设置,然后选择常规设置。
-
在 “常规设置” 页面上,选择 “编辑”。
-
在编辑常规设置页面上,从服务角色列表中选择您刚刚创建的角色。
-
选择保存。
-
-
-
Amplify 控制台现在有权为您的应用程序部署后端资源。
编辑角色的信任政策以防止副手感到困惑
混淆代理问题是一个安全性问题,即不具有操作执行权限的实体可能会迫使具有更高权限的实体执行该操作。有关更多信息,请参阅 防止跨服务混淆代理。
目前,Amplify-Backend Deployment
服务角色的默认信任策略强制执行 aws:SourceArn
和 aws: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用户指南中的修改角色(控制台)。