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

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

如何Amazon Serverless Application Repository与 IAM 协同工作

在使用 IAM 管理对Amazon Serverless Application Repository,您应了解哪些 IAM 功能可与Amazon Serverless Application Repository.

要了解 IAM 的工作原理,请参阅了解 IAM 的工作方式中的IAM 用户指南. 要获取简要视图,了解如何Amazon Serverless Application Repository和其他Amazon使用 IAM 的服务,请参阅。Amazon使用 IAM 的服务中的IAM 用户指南.

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行动serverlessrepo:CreateApplicationVersion在Amazon资源使用 Amazon 资源名称 (ARN) 对Amazon Serverless Application Repository应用程序. 通过 Resource 值来指定应用程序。

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

对于显示所有Amazon Serverless Application RepositoryAPI 操作和Amazon要适用于的资源,请参阅。Amazon Serverless Application RepositoryAPI 权限:操作和资源参考.

操作

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

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

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

中的策略操作Amazon Serverless Application Repository在操作前使用以下前缀:serverlessrepo:. 例如,授予某人运行Amazon Serverless Application Repository实例使用Amazon Serverless Application Repository SearchApplicationsAPI 操作,你包括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 定义的操作

Resources(资源)

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

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

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

"Resource": "*"

在Amazon Serverless Application Repository主分区Amazon资源是Amazon Serverless Application Repository 应用程序.Amazon Serverless Application Repository应用程序具有关联的唯一 Amazon 资源名称 (ARN),如下表所示。

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

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

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

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

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

对于显示所有Amazon Serverless Application RepositoryAPI 操作和Amazon要适用于的资源,请参阅。Amazon Serverless Application RepositoryAPI 权限:操作和资源参考.

条件键

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

示例

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

Amazon Serverless Application Repository应用程序策

应用程序策略确定指定委托人或 PrincpAlOrgan.org 可以对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 应用程序策略主要由发布者用于向使用者授予部署其应用程序以及执行相关操作(如搜索和查看这些应用程序的详细信息)的权限。发布者可以将应用程序权限设置为以下三个类别:

  • 私密— 使用同一账户创建但尚未与任何其他账户共享的应用程序。您有权部署使用您的Amazonaccount.

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

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

您可以使用Amazon CLI,AmazonSDK,或者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 操作(如 AssumeRoleGetFederationToken)获得临时安全凭证。

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

服务相关角色

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

服务角色

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