Amazon CloudFront 的操作、资源和条件键
Amazon CloudFront(服务前缀:cloudfront)提供以下服务特定的资源、操作和条件上下文键以在 IAM 权限策略中使用。
参考:
Amazon CloudFront 定义的操作
您可以在 Action 策略语句的 IAM 元素中指定以下操作。可以使用策略授予在 Amazon 中执行操作的权限。您在策略中使用一项操作时,通常使用相同的名称允许或拒绝对 API 操作或 CLI 命令的访问。但在某些情况下,单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。
资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource 元素中指定所有资源(“*”)。如果该列包含一种资源类型,则可以在含有该操作的语句中指定该类型的 ARN。必需资源在表中以星号 (*) 表示。如果在使用该操作的语句中指定资源级权限 ARN,则它必须属于该类型。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种类型而不使用其他类型。
有关下表中各列的详细信息,请参阅操作表。
| 操作 | 描述 | 访问级别 | 资源类型(* 为必需) | 条件键 | 相关操作 |
|---|---|---|---|---|---|
| AssociateAlias | 授予权限以将别名与 CloudFront 分配关联 | Write | |||
| CreateCachePolicy | 授予权限以将新的缓存策略添加到 CloudFront | Write | |||
| CreateCloudFrontOriginAccessIdentity | 授予权限以创建新的 CloudFront 来源访问标识 (OAI) | Write | |||
| CreateDistribution | 授予权限以创建新 Web 分配 | 写入 | |||
| CreateFieldLevelEncryptionConfig | 授予权限以创建新的字段级加密配置 | Write | |||
| CreateFieldLevelEncryptionProfile | 授予权限以创建字段级加密配置文件 | Write | |||
| CreateFunction | 授予权限以创建 CloudFront 函数 | Write | |||
| CreateInvalidation | 授予权限以创建新的失效批处理请求 | Write | |||
| CreateKeyGroup | 授予权限以将新的密钥组添加到 CloudFront | Write | |||
| CreateMonitoringSubscription | 授予权限以对指定的 CloudFront 分配启用其他 CloudWatch 指标。额外指标会产生额外费用 | Write | |||
| CreateOriginRequestPolicy | 授予权限以将新的源请求策略添加到 CloudFront | Write | |||
| CreatePublicKey | 授予权限以将新的公有密钥添加到 CloudFront | Write | |||
| CreateRealtimeLogConfig | 授予权限以创建实时日志配置 | 写入 | |||
| CreateResponseHeadersPolicy | 授予权限以将新的响应标头策略添加到 CloudFront | 写入 | |||
| CreateStreamingDistribution | 授予权限以创建新 RTMP 分配 | Write | |||
| CreateStreamingDistributionWithTags | 授予权限以创建带标签的新 RTMP 分配 | 写入 | |||
| DeleteCachePolicy | 授予权限以删除缓存策略 | Write | |||
| DeleteCloudFrontOriginAccessIdentity | 授予权限以删除 CloudFront 来源访问标识 (OAI) | Write | |||
| DeleteDistribution | 授予权限以删除 Web 分配 | Write | |||
| DeleteFieldLevelEncryptionConfig | 授予权限以删除字段级加密配置 | Write | |||
| DeleteFieldLevelEncryptionProfile | 授予权限以删除字段级加密配置文件 | Write | |||
| DeleteFunction | 授予权限以删除 CloudFront 函数 | Write | |||
| DeleteKeyGroup | 授予权限以删除密钥组 | Write | |||
| DeleteMonitoringSubscription | 授予权限以对指定的 CloudFront 分配禁用其他 CloudWatch 指标 | Write | |||
| DeleteOriginRequestPolicy | 授予权限以删除源请求策略 | Write | |||
| DeletePublicKey | 授予权限以从 CloudFront 删除公有密钥 | Write | |||
| DeleteRealtimeLogConfig | 授予权限以删除实时日志配置 | 写入 | |||
| DeleteResponseHeadersPolicy | 授予权限以删除响应标头策略 | 写入 | |||
| DeleteStreamingDistribution | 授予权限以删除 RTMP 分配 | Write | |||
| DescribeFunction | 授予权限以获取 CloudFront 函数摘要 | Read | |||
| GetCachePolicy | 授予权限以获取缓存策略 | Read | |||
| GetCachePolicyConfig | 授予权限以获取缓存策略配置 | Read | |||
| GetCloudFrontOriginAccessIdentity | 授予权限以获取有关 CloudFront 来源访问标识 (OAI) 信息 | Read | |||
| GetCloudFrontOriginAccessIdentityConfig | 授予权限以获取有关 CloudFront 来源访问标识 (OAI) 配置信息 | 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 | |||
| GetOriginRequestPolicy | 授予权限以获取源请求策略 | Read | |||
| GetOriginRequestPolicyConfig | 授予权限以获取源请求策略配置 | Read | |||
| GetPublicKey | 授予权限以获取公有密钥信息 | Read | |||
| GetPublicKeyConfig | 授予权限以获取公有密钥配置信息 | Read | |||
| GetRealtimeLogConfig | 授予权限以获取实时日志配置 | 读取 | |||
| GetResponseHeadersPolicy | 授予权限以获取响应标头策略 | 读取 | |||
| GetResponseHeadersPolicyConfig | 授予权限以获取响应标头策略配置 | 读取 | |||
| GetStreamingDistribution | 授予权限以获取有关 RTMP 分配信息 | Read | |||
| GetStreamingDistributionConfig | 授予权限以获取有关串流分配的配置信息 | Read | |||
| ListCachePolicies | 授予权限以列出已在 CloudFront 中为此账户创建的所有缓存策略 | List | |||
| ListCloudFrontOriginAccessIdentities | 授予权限以列出您的 CloudFront 来源访问标识 (OAI) | List | |||
| ListConflictingAliases | 授予权限以列出 CloudFront 中与给定别名产生冲突的所有别名 | List | |||
| ListDistributions | 授予权限以列出与您的 Amazon Web Services 账户 关联的分配 | List | |||
| ListDistributionsByCachePolicyId | 授予权限以列出分配的分配 ID,这些分配具有与指定缓存策略关联的缓存行为 | List | |||
| ListDistributionsByKeyGroup | 授予权限以列出分配的分配 ID,这些分配具有与指定密钥组关联的缓存行为 | 列表 | |||
| ListDistributionsByLambdaFunction [仅权限] | 授予权限以列出与 Lambda 函数关联的分配 | 列表 | |||
| ListDistributionsByOriginRequestPolicyId | 授予权限以列出分配的分配 ID,这些分配具有与指定源请求策略关联的缓存行为 | List | |||
| ListDistributionsByRealtimeLogConfig | 授予权限以获取具有与指定的实时日志配置关联的缓存行为的分配列表 | 列表 | |||
| ListDistributionsByResponseHeadersPolicyId | 授予权限以列出分配的分配 ID,这些分配具有与指定响应标头策略关联的缓存行为 | 列表 | |||
| ListDistributionsByWebACLId | 授予权限以列出与具有指定 Amazon WAF Web ACL 的 Amazon Web Services 账户 关联的分配 | List | |||
| ListFieldLevelEncryptionConfigs | 授予权限以列出已为此账户在 CloudFront 中创建的所有字段级加密配置 | List | |||
| ListFieldLevelEncryptionProfiles | 授予权限以列出已为此账户在 CloudFront 中创建的所有字段级加密配置文件 | List | |||
| ListFunctions | 授予权限以获取 CloudFront 函数列表 | List | |||
| ListInvalidations | 授予权限以列出失效批处理 | List | |||
| ListKeyGroups | 授予权限以列出已在 CloudFront 中为此账户创建的所有密钥组 | List | |||
| ListOriginRequestPolicies | 授予权限以列出已在 CloudFront 中为此账户创建的所有源请求策略 | List | |||
| ListPublicKeys | 授予权限以列出已添加到此账户的 CloudFront 中的所有公有密钥 | List | |||
| ListRealtimeLogConfigs | 授予权限以获取实时日志配置列表 | 列表 | |||
| ListResponseHeadersPolicies | 授予权限以列出已在 CloudFront 中为此账户创建的所有响应标头策略 | 列表 | |||
| ListStreamingDistributions | 授予权限以列出 RTMP 分配 | List | |||
| ListTagsForResource | 授予权限以列出 CloudFront 资源的标签 | Read | |||
| PublishFunction | 授予权限以发布 CloudFront 函数 | Write | |||
| TagResource | 授予权限以将标签添加到 CloudFront 资源中 | Tagging | |||
| TestFunction | 授予权限以测试 CloudFront 函数 | Write | |||
| UntagResource | 授予权限以从 CloudFront 资源中删除标签 | Tagging | |||
| UpdateCachePolicy | 授予权限以更新缓存策略 | Write | |||
| UpdateCloudFrontOriginAccessIdentity | 授予权限以设置 CloudFront 来源访问标识 (OAI) 的配置 | Write | |||
| UpdateDistribution | 授予权限以更新 Web 分配的配置 | Write | |||
| UpdateFieldLevelEncryptionConfig | 授予权限以更新字段级加密配置 | Write | |||
| UpdateFieldLevelEncryptionProfile | 授予权限以更新字段级加密配置文件 | Write | |||
| UpdateFunction | 授予权限以更新 CloudFront 函数 | Write | |||
| UpdateKeyGroup | 授予权限以更新密钥组 | Write | |||
| UpdateOriginRequestPolicy | 授予权限以更新源请求策略 | Write | |||
| UpdatePublicKey | 授予权限以更新公有密钥信息 | Write | |||
| UpdateRealtimeLogConfig | 授予权限以更新实时日志配置 | 写入 | |||
| UpdateResponseHeadersPolicy | 授予权限以更新响应标头策略 | 写入 | |||
| 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 |
arn:${Partition}:cloudfront::${Account}:field-level-encryption/${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}
|
Amazon CloudFront 的条件键
Amazon CloudFront 定义了以下条件键,可用于 IAM 策略的 Condition 元素。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅条件键表。
要查看适用于所有服务的全局条件键,请参阅可用的全局条件键。
| 条件键 | 描述 | 类型 |
|---|---|---|
| aws:RequestTag/${TagKey} | 根据在请求中是否具有标签键值对来筛选访问权限 | 字符串 |
| aws:ResourceTag/${TagKey} | 按附加到资源的标签键值对筛选操作 | 字符串 |
| aws:TagKeys | 根据在请求中是否具有标签键来筛选访问 | 字符串数组 |