使用 CloudFront 的服务相关角色 - Amazon CloudFront
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 CloudFront 的服务相关角色

Amazon CloudFront 使用 Amazon Identity and Access Management(IAM)服务相关角色。服务相关角色是一种独特类型的 IAM 角色,直接与 CloudFront 相关联。服务相关角色由 CloudFront 预定义,并包含该服务代表您调用其他 Amazon 服务所需的一切权限。

服务相关角色可让您更轻松地设置 CloudFront,因为您不必手动添加必要的权限。CloudFront 定义其服务相关角色的权限,除非另外定义,否则只有 CloudFront 可以代入该角色。定义的权限包括信任策略和权限策略,以及不能附加到任何其他 IAM 实体的权限策略。

只有在首先删除相关资源后,您才能删除服务相关角色。这可以保护您的 CloudFront 资源,因为您不会无意中删除对资源的访问权限。

有关支持服务相关角色的其他服务的信息,请参阅与 IAM 配合使用的 Amazon 服务,并查找服务相关角色列中显示为的服务。选择和链接,查看该服务的服务相关角色文档。

CloudFront VPC 源的服务相关角色权限

CloudFront VPC 源使用名为 AWSServiceRoleForCloudFrontVPCOrigin 的服务相关角色 – 允许 CloudFront 代表您管理 EC2 弹性网络接口和安全组。

AWSServiceRoleForCloudFrontVPCOrigin 服务相关角色信任以下服务代入该角色:

  • vpcorigin.cloudfront.amazonaws.com

名为 AWSCloudFrontVPCOriginServiceRolePolicy 的角色权限策略允许 CloudFront VPC 源对指定资源完成以下操作:

  • 操作:arn:aws:ec2:*:*:network-interface/* 上的 ec2:CreateNetworkInterface

  • 操作:arn:aws:ec2:*:*:subnet/*arn:aws:ec2:*:*:security-group/* 上的 ec2:CreateNetworkInterface

  • 操作:arn:aws:ec2:*:*:security-group/* 上的 ec2:CreateSecurityGroup

  • 操作:ec2:CreateSecurityGroup 上的 arn:aws:ec2:*:*:vpc/*

  • 操作:all Amazon resources that the actions support 上的 ec2:ModifyNetworkInterfaceAttributeec2:DeleteNetworkInterfaceec2:DeleteSecurityGroupec2:AssignIpv6Addressesec2:UnassignIpv6Addresses

  • 操作:all Amazon resources that the actions support 上的 ec2:DescribeNetworkInterfacesec2:DescribeSecurityGroupsec2:DescribeInstancesec2:DescribeInternetGatewaysec2:DescribeSubnetsec2:DescribeRegionsec2:DescribeAddresses

  • 操作:arn:aws:ec2:*:*:security-group/*arn:aws:ec2:*:*:network-interface/* 上的 ec2:CreateTags

  • 操作:elasticloadbalancing:DescribeLoadBalancerselasticloadbalancing:DescribeListeners、以及在 all Amazon resources that the actions support 中的 elasticloadbalancing:DescribeTargetGroups

您必须配置使用户、组或角色能够创建、编辑或删除服务相关角色的权限。有关更多信息,请参阅《IAM 用户指南》中的服务相关角色权限

为 CloudFront VPC 源创建服务相关角色

您无需手动创建服务相关角色。当您使用 Amazon Web Services Management Console、Amazon CLI 或 Amazon API 创建 VPC 源时,CloudFront VPC 源会为您创建服务相关角色。

如果您删除该服务相关角色,然后需要再次创建,您可以使用相同流程在账户中重新创建此角色。当您创建 VPC 源时,CloudFront VPC 源会为您再次创建服务相关角色。

编辑 CloudFront VPC 源的服务相关角色

CloudFront VPC 源不允许您编辑 AWSServiceRoleForCloudFrontVPCOrigin 服务相关角色。创建服务相关角色后,您将无法更改角色的名称,因为可能有多种实体引用该角色。但是可以使用 IAM 编辑角色描述。有关更多信息,请参阅《IAM 用户指南》中的编辑服务相关角色

删除 CloudFront VPC 源的服务相关角色

如果不再需要使用某个需要服务相关角色的功能或服务,我们建议您删除该角色。这样就没有未被主动监控或维护的未使用实体。但是,必须先清除服务相关角色的资源,然后才能手动删除它。

注意

如果在您试图删除资源时 CloudFront 服务正在使用该角色,则删除操作可能会失败。如果发生这种情况,请等待几分钟后重试。

删除 AWSServiceRoleForCloudFrontVPCOrigin 使用的 CloudFront VPC 源的资源
  • 删除您账户中 VPC 源的资源。

    • CloudFront 可能需要一些时间来完成从账户中删除资源的操作。如果您无法立即删除服务相关角色,请稍后重试。

使用 IAM 手动删除服务相关角色

使用 IAM 控制台,即 Amazon CLI 或 Amazon API 来删除 AWSServiceRoleForCloudFrontVPCOrigin 服务相关角色。有关更多信息,请参阅《IAM 用户指南》中的删除服务相关角色

支持 CloudFront VPC 源服务相关角色的区域

CloudFront VPC 源并非在提供该服务的每个区域中都支持使用服务相关角色。您可以在以下区域中使用 AWSServiceRoleForCloudFrontVPCOrigin 角色。

区域名称 区域标识 CloudFront 支持
美国东部(弗吉尼亚州北部) us-east-1
美国东部(俄亥俄州) us-east-2
美国西部(加利福尼亚北部) us-west-1(可用区 usw1-az2 除外)
美国西部(俄勒冈州) us-west-2
非洲(开普敦) af-south-1
亚太地区(香港) ap-east-1
亚太地区(雅加达) ap-southeast-3
亚太地区(墨尔本) ap-southeast-4
亚太地区(孟买) ap-south-1
亚太地区(海得拉巴) ap-south-2
亚太地区(大阪) ap-northeast-3
Asia Pacific (Seoul) ap-northeast-2
亚太地区(新加坡) ap-southeast-1
亚太地区(悉尼) ap-southeast-2
亚太地区(东京) ap-northeast-1(可用区 apne1-az3 除外)
加拿大(中部) ca-central-1(可用区 cac1-az3 除外)
加拿大西部(卡尔加里) ca-west-1
欧洲(法兰克福) eu-central-1
欧洲地区(爱尔兰) eu-west-1
欧洲地区(伦敦) eu-west-2
欧洲(米兰) eu-south-1
欧洲(巴黎) eu-west-3
欧洲(西班牙) eu-south-2
欧洲地区(斯德哥尔摩) eu-north-1
欧洲(苏黎世) eu-central-2
以色列(特拉维夫) il-central-1
中东(巴林) me-south-1
中东(阿联酋) me-central-1
南美洲(圣保罗) sa-east-1