Amazon CloudFront 的操作、资源和条件键
Amazon CloudFront(服务前缀:cloudfront)提供以下服务特定的资源、操作和条件上下文键以在 IAM 权限策略中使用。
参考:
Amazon CloudFront 定义的操作
您可以在 IAM policy 语句的 Action 元素中指定以下操作。可以使用策略授予在 Amazon 中执行操作的权限。您在策略中使用一项操作时,通常使用相同的名称允许或拒绝对 API 操作或 CLI 命令的访问。但在某些情况下,单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。
操作表的资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource 元素中指定策略应用的所有资源(“*”)。通过在 IAM policy 中使用条件来筛选访问权限,以控制是否可以在资源或请求中使用特定标签键。如果操作具有一个或多个必需资源,则调用方必须具有使用这些资源来使用该操作的权限。必需资源在表中以星号 (*) 表示。如果您在 IAM policy 中使用 Resource 元素限制资源访问权限,则必须为每种必需的资源类型添加 ARN 或模式。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种可选资源类型。
操作表的条件键列包括可以在策略语句的 Condition 元素中指定的键。有关与服务资源关联的条件键的更多信息,请参阅资源类型表的条件键列。
有关下表中各列的详细信息,请参阅操作表。
| 操作 | 描述 | 访问级别 | 资源类型(* 为必需) | 条件键 | 相关操作 |
|---|---|---|---|---|---|
| AssociateAlias | 授予权限以将别名与 CloudFront 分配关联 | Write | |||
| CopyDistribution | 授予复制现有分发和创建新 Web 分发的权限 | Write |
cloudfront:CreateDistribution cloudfront:GetDistribution |
||
| CreateCachePolicy | 授予权限以将新的缓存策略添加到 CloudFront | Write | |||
| CreateCloudFrontOriginAccessIdentity | 授予权限以创建新的 CloudFront 来源访问标识 (OAI) | Write | |||
| CreateContinuousDeploymentPolicy | 授予将新的持续部署策略添加到 CloudFront 的权限 | Write | |||
| CreateDistribution | 授予权限以创建新 Web 分配 | Write | |||
| CreateFieldLevelEncryptionConfig | 授予权限以创建新的字段级加密配置 | Write | |||
| CreateFieldLevelEncryptionProfile | 授予权限以创建字段级加密配置文件 | Write | |||
| CreateFunction | 授予权限以创建 CloudFront 函数 | Write | |||
| CreateInvalidation | 授予权限以创建新的失效批处理请求 | Write | |||
| CreateKeyGroup | 授予权限以将新的密钥组添加到 CloudFront | Write | |||
| CreateMonitoringSubscription | 授予权限以对指定的 CloudFront 分配启用其他 CloudWatch 指标。额外指标会产生额外费用 | Write | |||
| CreateOriginAccessControl | 授予权限以创建新的源访问控制 | Write | |||
| CreateOriginRequestPolicy | 授予权限以将新的源请求策略添加到 CloudFront | Write | |||
| CreatePublicKey | 授予权限以将新的公有密钥添加到 CloudFront | Write | |||
| CreateRealtimeLogConfig | 授予权限以创建实时日志配置 | Write | |||
| CreateResponseHeadersPolicy | 授予权限以将新的响应标头策略添加到 CloudFront | Write | |||
| CreateSavingsPlan [仅权限] | 授予权限以创建新的 Savings Plan | Write | |||
| CreateStreamingDistribution | 授予权限以创建新 RTMP 分配 | Write | |||
| CreateStreamingDistributionWithTags | 授予权限以创建带标签的新 RTMP 分配 | Write | |||
| DeleteCachePolicy | 授予权限以删除缓存策略 | Write | |||
| DeleteCloudFrontOriginAccessIdentity | 授予权限以删除 CloudFront 来源访问标识 (OAI) | Write | |||
| DeleteContinuousDeploymentPolicy | 授予删除持续部署策略的权限 | Write | |||
| DeleteDistribution | 授予权限以删除 Web 分配 | Write | |||
| DeleteFieldLevelEncryptionConfig | 授予权限以删除字段级加密配置 | Write | |||
| DeleteFieldLevelEncryptionProfile | 授予权限以删除字段级加密配置文件 | Write | |||
| DeleteFunction | 授予权限以删除 CloudFront 函数 | Write | |||
| DeleteKeyGroup | 授予权限以删除密钥组 | Write | |||
| DeleteMonitoringSubscription | 授予权限以对指定的 CloudFront 分配禁用其他 CloudWatch 指标 | Write | |||
| DeleteOriginAccessControl | 授予权限以删除源访问控制 | Write | |||
| DeleteOriginRequestPolicy | 授予权限以删除源请求策略 | Write | |||
| DeletePublicKey | 授予权限以从 CloudFront 删除公有密钥 | Write | |||
| DeleteRealtimeLogConfig | 授予权限以删除实时日志配置 | Write | |||
| DeleteResponseHeadersPolicy | 授予权限以删除响应标头策略 | Write | |||
| DeleteStreamingDistribution | 授予权限以删除 RTMP 分配 | Write | |||
| DescribeFunction | 授予权限以获取 CloudFront 函数摘要 | Read | |||
| GetCachePolicy | 授予权限以获取缓存策略 | Read | |||
| GetCachePolicyConfig | 授予权限以获取缓存策略配置 | Read | |||
| GetCloudFrontOriginAccessIdentity | 授予权限以获取有关 CloudFront 来源访问标识 (OAI) 信息 | Read | |||
| GetCloudFrontOriginAccessIdentityConfig | 授予权限以获取有关 CloudFront 来源访问标识 (OAI) 配置信息 | Read | |||
| GetContinuousDeploymentPolicy | 授予获取持续部署策略的权限 | Read | |||
| GetContinuousDeploymentPolicyConfig | 授予获取持续部署策略配置的权限 | Read | |||
| GetDistribution | 授予权限以获取有关 Web 分配信息 | Read | |||
| GetDistributionConfig | 授予权限以获取有关分配的配置信息 | Read | |||
| GetFieldLevelEncryption | 授予权限以获取字段级加密配置信息 | Read | |||
| GetFieldLevelEncryptionConfig | 授予权限以获取字段级加密配置信息 | Read | |||
| GetFieldLevelEncryptionProfile | 授予权限以获取字段级加密配置信息 | Read | |||
| GetFieldLevelEncryptionProfileConfig | 授予权限以获取字段级加密配置文件配置信息 | Read | |||
| GetFunction | 授予权限以获取 CloudFront 函数代码 | Read | |||
| GetInvalidation | 授予权限以获取有关失效的信息 | Read | |||
| GetKeyGroup | 授予权限以获取密钥组 | Read | |||
| GetKeyGroupConfig | 授予权限以获取密钥组配置 | Read | |||
| GetMonitoringSubscription | 授予权限以获取有关以下内容的信息:是否为指定的 CloudFront 分配启用其他 CloudWatch 指标 | Read | |||
| GetOriginAccessControl | 授予权限以获取源访问控制 | Read | |||
| GetOriginAccessControlConfig | 授予权限以获取源访问控制配置 | Read | |||
| GetOriginRequestPolicy | 授予权限以获取源请求策略 | Read | |||
| GetOriginRequestPolicyConfig | 授予权限以获取源请求策略配置 | Read | |||
| GetPublicKey | 授予权限以获取公有密钥信息 | Read | |||
| GetPublicKeyConfig | 授予权限以获取公有密钥配置信息 | Read | |||
| GetRealtimeLogConfig | 授予权限以获取实时日志配置 | Read | |||
| GetResponseHeadersPolicy | 授予权限以获取响应标头策略 | Read | |||
| GetResponseHeadersPolicyConfig | 授予权限以获取响应标头策略配置 | Read | |||
| GetSavingsPlan [仅权限] | 授予权限以获取 Savings Plan | Read | |||
| GetStreamingDistribution | 授予权限以获取有关 RTMP 分配信息 | Read | |||
| GetStreamingDistributionConfig | 授予权限以获取有关串流分配的配置信息 | Read | |||
| ListCachePolicies | 授予权限以列出已在 CloudFront 中为此账户创建的所有缓存策略 | List | |||
| ListCloudFrontOriginAccessIdentities | 授予权限以列出您的 CloudFront 来源访问标识 (OAI) | List | |||
| ListConflictingAliases | 授予权限以列出 CloudFront 中与给定别名产生冲突的所有别名 | List | |||
| ListContinuousDeploymentPolicies | 授予列出账户中所有持续部署策略的权限 | List | |||
| ListDistributions | 授予权限以列出与您的 Amazon Web Services 账户 关联的分配 | List | |||
| ListDistributionsByCachePolicyId | 授予权限以列出分配的分配 ID,这些分配具有与指定缓存策略关联的缓存行为 | List | |||
| ListDistributionsByKeyGroup | 授予权限以列出分配的分配 ID,这些分配具有与指定密钥组关联的缓存行为 | List | |||
| ListDistributionsByLambdaFunction [仅权限] | 授予权限以列出与 Lambda 函数关联的分配 | List | |||
| ListDistributionsByOriginRequestPolicyId | 授予权限以列出分配的分配 ID,这些分配具有与指定源请求策略关联的缓存行为 | List | |||
| ListDistributionsByRealtimeLogConfig | 授予权限以获取具有与指定的实时日志配置关联的缓存行为的分配列表 | List | |||
| ListDistributionsByResponseHeadersPolicyId | 授予权限以列出分配的分配 ID,这些分配具有与指定响应标头策略关联的缓存行为 | List | |||
| ListDistributionsByWebACLId | 授予权限以列出与具有指定 Amazon WAF Web ACL 的 Amazon Web Services 账户 关联的分配 | List | |||
| ListFieldLevelEncryptionConfigs | 授予权限以列出已为此账户在 CloudFront 中创建的所有字段级加密配置 | List | |||
| ListFieldLevelEncryptionProfiles | 授予权限以列出已为此账户在 CloudFront 中创建的所有字段级加密配置文件 | List | |||
| ListFunctions | 授予权限以获取 CloudFront 函数列表 | List | |||
| ListInvalidations | 授予权限以列出失效批处理 | List | |||
| ListKeyGroups | 授予权限以列出已在 CloudFront 中为此账户创建的所有密钥组 | List | |||
| ListOriginAccessControls | 授予权限以列出账户中的所有源访问控制 | List | |||
| ListOriginRequestPolicies | 授予权限以列出已在 CloudFront 中为此账户创建的所有源请求策略 | List | |||
| ListPublicKeys | 授予权限以列出已添加到此账户的 CloudFront 中的所有公有密钥 | List | |||
| ListRateCards [仅权限] | 授予权限以列出账户的 CloudFront 速率卡 | List | |||
| ListRealtimeLogConfigs | 授予权限以获取实时日志配置列表 | List | |||
| ListResponseHeadersPolicies | 授予权限以列出已在 CloudFront 中为此账户创建的所有响应标头策略 | List | |||
| ListSavingsPlans [仅权限] | 授予权限以列出账户中的 Savings Plan | List | |||
| ListStreamingDistributions | 授予权限以列出 RTMP 分配 | List | |||
| ListTagsForResource | 授予权限以列出 CloudFront 资源的标签 | Read | |||
| ListUsages [仅权限] | 授予权限以列出 CloudFront 使用情况 | List | |||
| PublishFunction | 授予权限以发布 CloudFront 函数 | Write | |||
| TagResource | 授予权限以将标签添加到 CloudFront 资源中 | Tagging | |||
| TestFunction | 授予权限以测试 CloudFront 函数 | Write | |||
| UntagResource | 授予权限以从 CloudFront 资源中删除标签 | Tagging | |||
| UpdateCachePolicy | 授予权限以更新缓存策略 | Write | |||
| UpdateCloudFrontOriginAccessIdentity | 授予权限以设置 CloudFront 来源访问标识 (OAI) 的配置 | Write | |||
| UpdateContinuousDeploymentPolicy | 授予更新持续部署策略的权限 | Write | |||
| UpdateDistribution | 授予权限以更新 Web 分配的配置 | Write | |||
| UpdateDistributionWithStagingConfig | 授予将暂存分发的配置复制到其相应的主分发的权限 | Write |
cloudfront:GetDistribution cloudfront:UpdateDistribution |
||
| UpdateFieldLevelEncryptionConfig | 授予权限以更新字段级加密配置 | Write | |||
| UpdateFieldLevelEncryptionProfile | 授予权限以更新字段级加密配置文件 | Write | |||
| UpdateFunction | 授予权限以更新 CloudFront 函数 | Write | |||
| UpdateKeyGroup | 授予权限以更新密钥组 | Write | |||
| UpdateOriginAccessControl | 授予权限以更新源访问控制 | Write | |||
| UpdateOriginRequestPolicy | 授予权限以更新源请求策略 | Write | |||
| UpdatePublicKey | 授予权限以更新公有密钥信息 | Write | |||
| UpdateRealtimeLogConfig | 授予权限以更新实时日志配置 | Write | |||
| UpdateResponseHeadersPolicy | 授予权限以更新响应标头策略 | Write | |||
| UpdateSavingsPlan [仅权限] | 授予权限以更新 Savings Plan | Write | |||
| UpdateStreamingDistribution | 授予权限以更新 RTMP 分配的配置 | Write |
Amazon CloudFront 定义的资源类型
以下资源类型是由该服务定义的,可以在 IAM 权限策略语句的 Resource 元素中使用这些资源类型。操作表中的每个操作指定了可以使用该操作指定的资源类型。您也可以在策略中包含条件键,从而定义资源类型。这些键显示在资源类型表的最后一列。有关下表中各列的详细信息,请参阅资源类型表。
| 资源类型 | ARN | 条件键 |
|---|---|---|
| distribution |
arn:${Partition}:cloudfront::${Account}:distribution/${DistributionId}
|
|
| streaming-distribution |
arn:${Partition}:cloudfront::${Account}:streaming-distribution/${DistributionId}
|
|
| origin-access-identity |
arn:${Partition}:cloudfront::${Account}:origin-access-identity/${Id}
|
|
| field-level-encryption-config |
arn:${Partition}:cloudfront::${Account}:field-level-encryption-config/${Id}
|
|
| field-level-encryption-profile |
arn:${Partition}:cloudfront::${Account}:field-level-encryption-profile/${Id}
|
|
| cache-policy |
arn:${Partition}:cloudfront::${Account}:cache-policy/${Id}
|
|
| origin-request-policy |
arn:${Partition}:cloudfront::${Account}:origin-request-policy/${Id}
|
|
| realtime-log-config |
arn:${Partition}:cloudfront::${Account}:realtime-log-config/${Name}
|
|
| function |
arn:${Partition}:cloudfront::${Account}:function/${Name}
|
|
| response-headers-policy |
arn:${Partition}:cloudfront::${Account}:response-headers-policy/${Id}
|
|
| origin-access-control |
arn:${Partition}:cloudfront::${Account}:origin-access-control/${Id}
|
|
| continuous-deployment-policy |
arn:${Partition}:cloudfront::${Account}:continuous-deployment-policy/${Id}
|
Amazon CloudFront 的条件键
Amazon CloudFront 定义了以下条件键,可用于 IAM policy 的 Condition 元素。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅条件键表。
要查看适用于所有服务的全局条件键,请参阅可用的全局条件键。
| 条件键 | 描述 | 类型 |
|---|---|---|
| aws:RequestTag/${TagKey} | 根据在请求中是否具有标签键值对来筛选访问权限 | 字符串 |
| aws:ResourceTag/${TagKey} | 按附加到资源的标签键值对筛选操作 | 字符串 |
| aws:TagKeys | 根据在请求中是否具有标签键来筛选访问 | 字符串数组 |