如何Amazon Serverless Application Repository与 IAM 配合使用 - Amazon Serverless Application Repository
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

如何Amazon Serverless Application Repository与 IAM 配合使用

在使用 IAM 管理对的访问之前Amazon Serverless Application Repository,您应了解哪些 IAM 功能可与结合使用Amazon Serverless Application Repository。

要概述 IAM 的工作原理,请参阅 I AM 用户指南中的了解 IAM 的工作原理。要大致了解Amazon Serverless Application Repository和其它Amazon服务如何与 IAM 配合使用,请参阅《IAM 用户指南》中的与 IAM 配合使用的Amazon服务

Amazon Serverless Application Repository 基于身份的策略

通过使用 IAM 基于身份的策略,您可以指定允许或拒绝的操作条件。Amazon Serverless Application Repository 支持特定的操作、资源和条件键。要了解在 JSON 策略中使用的所有元素,请参阅 IAM 用户指南 中的 IAM JSON 策略元素参考

下面介绍权限策略示例。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateApplication", "Effect": "Allow", "Action": [ "serverlessrepo:CreateApplication" ], "Resource": "*" }, { "Sid": "CreateApplicationVersion", "Effect": "Allow", "Action": [ "serverlessrepo:CreateApplicationVersion" ], "Resource": "arn:partition:serverlessrepo:region:account-id:applications/application-name" } ] }

该策略包含两条语句:

  • 第一个语句授予对所有 Amazon Serverless Application Repository 资源执行 Amazon Serverless Application Repository 操作 serverlessrepo:CreateApplication 的权限,通过通配符 (*) 将所有这些资源指定为 Resource 值。

  • 第二条语句使用Amazon Serverless Application Repository应用程序的亚马逊Amazon资源名称 (ARN) 授予对资源进行Amazon Serverless Application Repository操作serverlessrepo:CreateApplicationVersion的权限。通过 Resource 值来指定应用程序。

该策略不指定 Principal 元素,因为在基于身份的策略中,您未指定获取权限的委托人。附加了策略的用户是隐式委托人。向 IAM 角色附加权限策略后,该角色的信任策略中标识的委托人将获取权限。

有关显示所有Amazon Serverless Application Repository API 操作及其适用的Amazon资源的表,请参阅Amazon Serverless Application RepositoryAPI 权限:操作和资源参考

操作

管理员可以使用 Amazon JSON 策略来指定谁有权访问什么内容。也就是说,哪个主体 可以对什么资源 执行操作,以及在什么 条件 下执行。

JSON 策略的 Action 元素描述可用于在策略中允许或拒绝访问的操作。策略操作通常与关联的 Amazon API 操作同名。有一些例外情况,例如没有匹配 API 操作的仅限权限 操作。还有一些操作需要在策略中执行多个操作。这些附加操作称为相关操作

在策略中包含操作以授予执行相关操作的权限。

Amazon Serverless Application Repository 中的策略操作在操作前使用以下前缀:serverlessrepo:。例如,要授予某人使用 Amazon Serverless Application Repository SearchApplications API 操作运行 Amazon Serverless Application Repository 实例的权限,您应将 serverlessrepo:SearchApplications 操作纳入其策略。策略语句必须包含 ActionNotAction 元素。Amazon Serverless Application Repository 定义了一组自己的操作,以描述您可以使用该服务执行的任务。

要在单个语句中指定多项操作,请使用逗号将它们隔开,如下所示:

"Action": [ "serverlessrepo:action1", "serverlessrepo:action2" ]

您也可以使用通配符 (*) 指定多个操作。例如,要指定以单词 List 开头的所有操作,包括以下操作:

"Action": "serverlessrepo:List*"

要查看 Amazon Serverless Application Repository 操作列表,请参阅 IAM 用户指南中的 Amazon Serverless Application Repository 定义的操作

资源

管理员可以使用 Amazon JSON 策略来指定谁有权访问什么内容。也就是说,哪个主体 可以对什么资源 执行操作,以及在什么条件 下执行。

Resource JSON 策略元素指定要向其应用操作的一个或多个对象。语句必须包含 ResourceNotResource 元素。作为最佳实践,请使用其 Amazon 资源名称(ARN)指定资源。对于支持特定资源类型(称为资源级权限)的操作,您可以执行此操作。

对于不支持资源级权限的操作(如列出操作),请使用通配符(*)指示语句应用于所有资源。

"Resource": "*"

在中Amazon Serverless Application Repository,主要Amazon资源是Amazon Serverless Application Repository应用程序。 Amazon Serverless Application Repository应用程序具有与其关联的唯一 Amazon Resource Name (ARN),如下表所示。

Amazon 资源类型 Amazon 资源名称 (ARN) 格式
应用程序

arn:partition:serverlessrepo:region:account-id:applications/application-name

有关 ARN 格式的更多信息,请参阅 Amazon Resource Name(ARN)和 Amazon 服务命名空间

以下是授予对所有Amazon资源执行serverlessrepo:ListApplications操作的权限的示例策略。在当前的实现中,Amazon Serverless Application Repository不支持对某些 API 操作使用AmazonAmazon资源 ARN(也称为资源级权限)来标识特定资源。在这些情况下,您必须指定通配符 (*)。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListExistingApplications", "Effect": "Allow", "Action": [ "serverlessrepo:ListApplications" ], "Resource": "*" } ] }

有关显示所有Amazon Serverless Application Repository API 操作及其适用的Amazon资源的表,请参阅Amazon Serverless Application RepositoryAPI 权限:操作和资源参考

条件键

Amazon Serverless Application Repository 不提供任何特定于服务的条件键,但支持使用某些全局条件键。要查看所有 Amazon 全局条件键,请参阅《IAM 用户指南》中的 Amazon 全局条件上下文键

示例

要查看 Amazon Serverless Application Repository 基于身份的策略的示例,请参阅 Amazon Serverless Application Repository 基于身份的策略示例

Amazon Serverless Application Repository应用程序政策

应用程序策略决定了指定委托人或PrincipalOrg可以对Amazon Serverless Application Repository应用程序执行的操作。

您可以将权限添加到与 Amazon Serverless Application Repository 应用程序关联的策略。附加到Amazon Serverless Application Repository应用程序的权限策略称为应用程序策略应用程序策略是基于 IAM 资源的策略的扩展。主要资源是Amazon Serverless Application Repository应用程序。您可以使用 Amazon Serverless Application Repository 应用程序策略来管理应用程序部署权限。

Amazon Serverless Application Repository 应用程序策略主要由发布者用于向使用者授予部署其应用程序以及执行相关操作(如搜索和查看这些应用程序的详细信息)的权限。发布者可以将应用程序权限设置为以下三个类别:

  • 人 — 使用相同账户创建且未与任何其他账户共享的应用程序。您有权部署使用您的Amazon账户创建的应用程序。

  • 私密共享 — 发布商明确与一组特定Amazon账户或Organizations 共享的Amazon应用程序。您有权部署已与您的Amazon账户或Amazon组织共享的应用程序。

  • 公开共享-发布者与所有人共享的应用程序。您有权部署任何公开共享的应用程序。

您可以使用Amazon CLI、Amazon软件开发工具包或授予权限Amazon Web Services Management Console。

示例

要查看管理Amazon Serverless Application Repository应用程序策略的示例,请参阅Amazon Serverless Application Repository应用程序策略示例

基于 Amazon Serverless Application Repository 标签的授权

Amazon Serverless Application Repository 不支持基于标签控制对资源或操作的访问。

Amazon Serverless Application RepositoryIAM 角色

IAM 角色是 Amazon 账户中具有特定权限的实体。

将临时凭证用于 Amazon Serverless Application Repository

您可以使用临时凭证进行联合身份登录,来担任 IAM 角色或担任跨账户角色。您可以通过调用Amazon STS API 操作(如AssumeRole或)获得临时安全凭证GetFederationToken

Amazon Serverless Application Repository 支持使用临时凭证。

服务相关角色

Amazon Serverless Application Repository 不支持服务相关角色。

服务角色

Amazon Serverless Application Repository 不支持服务角色。