要使用户可调用 API 管理服务或 API 执行服务,您必须创建 IAM policy,该策略控制对 API Gateway 实体的访问。
使用 JSON 策略编辑器创建策略
登录AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在左侧的导航窗格中,选择策略。
如果这是您首次选择策略,则会显示欢迎访问托管式策略页面。选择开始使用。
-
在页面的顶部,选择创建策略。
-
在策略编辑器部分,选择 JSON 选项。
-
输入以下 JSON 策略文档:
{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "action-statement" ], "Resource" : [ "resource-statement" ] }, { "Effect" : "Allow", "Action" : [ "action-statement" ], "Resource" : [ "resource-statement" ] } ] }
-
选择下一步。
注意
您可以随时在可视化和 JSON 编辑器选项卡之间切换。不过,如果您进行更改或在可视化编辑器中选择下一步,IAM 可能会调整策略结构以针对可视化编辑器进行优化。有关更多信息,请参阅《IAM 用户指南》中的调整策略结构。
-
在查看并创建页面上,为您要创建的策略输入策略名称和描述(可选)。查看此策略中定义的权限以查看策略授予的权限。
-
选择创建策略可保存新策略。
在此语句中,根据需要替换 action-statement
和 resource-statement
,然后添加其他语句以指定您要让用户管理的 API Gateway 实体,以及让用户可以调用的 API 方法,或者两者。原定设置情况下,用户没有权限,除非有明确的对应 Allow
语句。
您刚刚创建了一个 IAM 策略。在您附加它之前,它不会有任何效果。
要提供访问权限,请为您的用户、组或角色添加权限:
-
AWS IAM Identity Center 中的用户和群组:
创建权限集合。按照《AWS IAM Identity Center 用户指南》中创建权限集的说明进行操作。
-
通过身份提供商在 IAM 中托管的用户:
创建适用于身份联合验证的角色。按照《IAM 用户指南》中针对第三方身份提供商创建角色(联合身份验证)的说明进行操作。
-
IAM 用户:
-
创建您的用户可以担任的角色。按照《IAM 用户指南》中为 IAM 用户创建角色的说明进行操作。
-
(不推荐使用)将策略直接附加到用户或将用户添加到用户组。按照《IAM 用户指南》中向用户添加权限(控制台)中的说明进行操作。
-
将 IAM 策略文档附加到 IAM 组
-
从主导航窗格中选择组。
-
在所选组下选择权限选项卡。
-
选择 Attach policy。
-
选择您之前创建的策略文档,然后选择 Attach policy (挂载策略)。
要让 API Gateway 代表您调用其他AWS服务,请创建 Amazon API Gateway 类型的 IAM 角色。
创建 Amazon API Gateway 类型的角色
-
从主导航窗格中选择角色。
-
选择 Create New Role。
-
键入 Role name (角色名称) 的名称,然后选择 Next Step (下一步)。
-
在 Select Role Type (选择角色类型) 下的 AWS Service Roles (服务角色) 中,选择 Amazon API Gateway 旁边的 Select (选择)。
-
在附加策略下,选择一个可用的托管 IAM 权限策略(例如,如果您想让 API Gateway 在 CloudWatch 中记录指标,则选择 AmazonAPIGatewayPushToCloudWatchLog),然后选择下一步。
-
在 Trusted Entities (可信任的实体) 下,验证 apigateway.amazonaws.com 已作为条目列出,然后选择 Create Role (创建角色)。
-
在新创建的角色中,选择权限选项卡,然后选择 Attach Policy (挂载策略)。
-
选择先前创建的自定义 IAM 策略文档,然后选择附加策略。