错误:“AccessDeniedException”
场景
尝试共享资源或查看资源共享时,您会收到 Access Denied 异常。
原因
如果您在没有所需权限的情况下尝试创建资源共享,则可能会收到此错误。这可能是由于附加到您的 Amazon Identity and Access Management(IAM)主体的策略权限不足造成的。也可能是因为 Amazon Organizations 服务控制策略(SCP)的限制影响 Amazon Web Services 账户而导致的。
解决方案
要提供访问权限,请为您的用户、组或角色添加权限:
-
通过身份提供商在 IAM 中托管的用户:
创建适用于身份联合验证的角色。按照《IAM 用户指南》中针对第三方身份提供商创建角色(联合身份验证)的说明进行操作。
-
IAM 用户:
-
创建您的用户可以担任的角色。按照《IAM 用户指南》中为 IAM 用户创建角色的说明进行操作。
-
(不推荐使用)将策略直接附加到用户或将用户添加到用户组。按照《IAM 用户指南》中向用户添加权限(控制台)中的说明进行操作。
-
要解决此错误,您需要确保由发出请求的主体所使用的权限策略中的 Allow 语句授予权限。此外,您组织的 SCP 不得阻止这些权限。
要创建资源共享,您需要以下两种权限:
-
ram:CreateResourceShare
-
ram:AssociateResourceShare
要查看资源共享,您需要以下权限:
-
ram:GetResourceShares
要向资源共享附加权限,您需要以下权限:
-
resourceOwningService:PutPolicyAction这是一个占位符。您必须将其替换为拥有您要共享的资源的服务的“PutPolicy”权限(或等效权限)。例如,如果您要共享 Route 53 Resolver 规则,则所需的权限将是:
route53resolver:PutResolverRulePolicy。如果要允许创建包含多种资源类型的资源共享,则必须包括要允许的每种资源类型的相关权限。
下文是此类 IAM 权限策略的示例。