AWS RAM 如何与 IAM 协同工作 - AWS Resource Access Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

AWS RAM 如何与 IAM 协同工作

默认情况下,IAM 用户没有创建或修改 AWS RAM 资源的权限。要允许 IAM 用户创建或修改资源并执行任务,您必须创建 IAM 策略来授予使用特定资源和 API 操作的权限。然后,将这些策略附加到需要这些权限的 IAM 用户或组。

主题

策略结构

策略是一个 JSON 文档,其中包含以下语句:IAM 效果、操作、资源和条件。策略通常采用以下形式:IAM

{ "Statement":[{ "Effect":"effect", "Action":"action", "Resource":"arn", "Condition":{ "condition":{ "key":"value" } } }] }

Effect

Effect 语句指示策略是允许还是拒绝用户执行操作的权限。可能值包括:AllowDeny

Action

Action 语句指定策略为其允许或拒绝权限的 API 操作。AWS RAM有关允许的操作的完整列表,请参阅 AWS Resource Access Manager 中的 定义的操作。IAM 用户指南

Resource

资源语句指定受策略影响的 资源。AWS RAM要在语句中指定资源,您需要使用其唯一 Amazon 资源名称 (ARN)。有关所允许资源的完整列表,请参阅 AWS Resource Access Manager 中的 定义的资源。IAM 用户指南

Condition

条件语句是可选的。它们可用于进一步优化应用策略的条件。AWS RAM 支持以下条件键:

  • aws:RequestTag/${TagKey} — 指定在创建或标记资源共享时必须使用的标签键值对。

  • aws:ResourceTag/${TagKey} — 表示只能对具有指定标签键值对的资源执行操作。

  • aws:TagKeys — 指定可在创建或标记资源共享时使用的标签键。

  • ram:AllowsExternalPrincipals — 表示只能对允许或拒绝与外部委托人共享的资源共享执行该操作。外部委托人是 AWS 组织外部的 AWS 账户

  • ram:Principal — 表示只能对指定的委托人执行该操作。

  • ram:RequestedResourceType — 表示只能对指定的资源类型执行该操作。必须按以下格式指定资源类型:

    • aws:RequestTag/${TagKey} — 指定在创建或标记资源共享时必须使用的标签键值对。

    • aws:ResourceTag/${TagKey} — 表示只能对具有指定标签键值对的资源执行操作。

    • aws:TagKeys — 指定可在创建或标记资源共享时使用的标签键。

    • ram:AllowsExternalPrincipals — 表示只能对允许或拒绝与外部委托人共享的资源共享执行该操作。外部委托人是 AWS 组织外部的 AWS 账户

    • ram:Principal — 表示只能对指定的委托人执行该操作。

    • ram:RequestedResourceType — 表示只能对指定的资源类型执行该操作。必须按以下格式指定资源类型:

      • AWS App Mesh

        • appmesh:Mesh

      • Amazon Aurora

        • rds:Cluster

      • AWS Certificate Manager 私有证书颁发机构

        • acm-pca:CertificateAuthority

      • AWS CodeBuild

        • codebuild:Project

        • codebuild:ReportGroup

      • Amazon EC2

        • ec2:CapacityReservation

        • ec2:DedicatedHost

      • Amazon EC2 映像生成器

        • imagebuilder:Component

        • imagebuilder:Image

        • imagebuilder:ImageRecipe

      • AWS 粘合

        • glue:Catalog

        • glue:Database

        • glue:Table

      • AWS License Manager

        • license-manager:LicenseConfiguration

      • AWS Outposts

        • outposts:Outpost

      • AWS 资源组

        • resource-groups:Group

      • Amazon Route 53

        • route53resolver:ResolverRule

        • route53resolver:ResolverQueryLogConfig

      • Amazon VPC

        • ec2:PrefixList

        • ec2:Subnet

        • ec2:TrafficMirrorTarget

        • ec2:TransitGateway

        • ec2:LocalGatewayRouteTable

    • ram:ResourceArn — 表示只能对具有指定 ARN 的资源执行该操作。

    • ram:ResourceShareName — 表示只能对具有指定名称的资源共享执行该操作。

    • ram:ShareOwnerAccountId — 表示只能对特定账户拥有的资源共享执行该操作。

  • ram:ResourceArn — 表示只能对具有指定 ARN 的资源执行操作。

  • ram:ResourceShareName — 表示只能对具有指定名称的资源共享执行该操作。

  • ram:ShareOwnerAccountId — 表示只能对特定账户拥有的资源共享执行该操作。