tencent cloud

访问管理

产品简介
CAM 概述
产品功能
应用场景
基本概念
使用限制
用户类型
购买指南
快速入门
创建管理员用户
创建子账号并授权
子账号登录控制台
用户指南
概览
用户
访问密钥
用户组
角色
身份提供商
策略
权限边界
排除故障
下载安全分析报告
支持角色的业务
概览
计算
容器
微服务
基础存储服务
数据处理与分析
数据迁移
关系型数据库
企业级分布式数据库
NoSQL 数据库
数据库 SaaS 工具
数据库 SaaS 服务
网络
CDN与加速
网络安全
数据安全
应用安全
域名与网站
大数据
中间件
互动视频服务
实时互动
媒体点播
媒体处理服务
媒体处理
实时云渲染
游戏服务
云资源管理
管理与审计
开发者工具
监控与运维
其他文档
支持CAM的业务接口
概览
计算
边缘计算
容器
分布式云
微服务
Serverless
基础存储服务
数据处理与分析
数据迁移
关系型数据库
企业级分布式数据库
NoSQL 数据库
数据库 SaaS 工具
网络
CDN与加速
网络安全
终端安全
数据安全
业务安全
应用安全
域名与网站
办公协同
大数据
语音技术
图像创作
腾讯大模型
人工智能平台服务
自然语言处理
文字识别
中间件
通信服务
互动视频服务
实时互动
流媒体服务
媒体点播
媒体处理服务
媒体处理
实时云渲染
游戏服务
教育服务
医疗服务
云资源管理
管理与审计
开发者工具
监控与运维
其他文档
实践教程
安全实践教程
多身份人员权限管理
授予标签下部分操作权限
支持员工间资源隔离访问
企业多账号权限管理
查看员工腾讯云操作记录
使用 ABAC 管理员工资源访问权限
按标签鉴权时支持仅匹配标签键
商用案例
MySQL 相关案例
CLB 相关案例
CMQ 相关案例
COS 相关案例
CVM 相关案例
VPC 相关案例
云点播相关案例
其他案例
API 文档
History
Introduction
API Category
Making API Requests
User APIs
Policy APIs
Role APIs
Identity Provider APIs
Data Types
Error Codes
常见问题
角色相关问题
密钥相关问题
其他问题
CAM 用户与权限问题
词汇表
文档访问管理用户指南策略权限策略 deny 不生效场景

权限策略 deny 不生效场景

PDF
聚焦模式
字号
最后更新时间: 2024-01-23 17:54:33
当权限策略中同时包含允许(allow)和拒绝(deny)的授权语句时,需要根据具体的场景判断 deny 是否生效。
本文通过查询资源列表类的操作、COS 权限 deny 所有用户(匿名用户 anonymous)、计费相关操作三类典型场景,帮助您理解 deny 不生效的逻辑。

查询资源列表类的操作

腾讯云各个服务的操作(action)可以简单划分为增、删、改、查 4 类,其中查询类又可以分为查询单个资源详情和查询某类资源列表,查询某类资源列表的操作。在以下场景中可能存在 deny 不生效,建议对这类操作避免使用 deny,避免使用 string_not_equal、string_like 等条件键

不生效场景列举:

场景1:授权允许(allow)子用户访问 CVM 实例 a、b、c,拒绝(deny)访问实例 d,同时又授予子用户访问绑定标签 T 的资源,其中实例 d 绑定了标签T,此时“拒绝(deny)访问实例 d”的策略不会生效。
例如:授权以下策略,用户在查看 CVM 实例列表的时候仍然能够查看到实例 d。
{
"version": "2.0",
"statement": [
{
"effect": "allow",
"action": [
"*"
],
"resource": "*",
"condition": {
"for_any_value:string_equal": {
"qcs:resource_tag": [
"key&T" //标签 T
]
}
}
},
{
"effect": "allow",
"action": [
"*"
],
"resource": [
"qcs::cvm:ap-guangzhou::instanceid/a", //实例 a
"qcs::cvm:ap-guangzhou::instanceid/b", //实例 b
"qcs::cvm:ap-guangzhou::instanceid/c" //实例 c
]
},
{
"effect": "deny",
"action": [
"*"
],
"resource": [
"qcs::cvm:ap-guangzhou::instanceid/d" //实例 d
]
}
]
}
场景2:授权允许子用户访问绑定标签 T1 的资源,拒绝访问绑定标签 T2 的资源,其中资源 a 既绑定了标签 T1,又绑定了标签 T2,则拒绝访问 a 资源的策略不会生效。
例如:授权以下策略,仍然可以在查看资源列表的时候查看到资源 a。
{
"version": "2.0",
"statement": [
{
"effect": "allow",
"action": [
"*"
],
"resource": "*",
"condition": {
"for_any_value:string_equal": {
"qcs:resource_tag": [
"key&T1" //标签 T1
]
}
}
},
{
"effect": "deny",
"action": [
"*"
],
"resource": "*",
"condition": {
"for_any_value:string_equal": {
"qcs:resource_tag": [
"key&T2" //标签 T2
]
}
}
}
]
}
场景3:权限策略包含 condition 时,支持精确匹配的策略条件键使用 string_equal、ip_equal、ip_not_equal 等才会生效,其他类型条件键(例如 string_not_equal 等)不会生效。
例如:授权以下策略,用户仍然可能看到关联了标签 T 的资源。
{
"version": "2.0",
"statement": [
{
"effect": "allow",
"action": [
"*"
],
"resource": "*",
"condition": {
"for_any_value:string_not_equal": {
"qcs:resource_tag": [
"key&T" //标签 T
]
}
}
}
]
}
场景4:同时授权允许访问所有 resource,以及拒绝访问绑定指定标签的资源时,拒绝访问可能无法生效,即仍然能查看到关联了该标签的资源。
例如:授权以下策略,用户在查看资源列表的时候仍然可能查看到主账号下所有的资源。
{
"version": "2.0",
"statement": [
{
"effect": "allow",
"action": [
"*"
],
"resource": "*"
},
{
"effect": "deny",
"action": [
"*"
],
"resource": "*",
"condition": {
"for_any_value:string_equal": {
"qcs:resource_tag": [
"key&T" //标签 T
]
}
}
}
]
}

COS 权限 deny 所有用户(匿名用户 anonymous)

在 COS 的 Bucket ACL 或 Bucket Policy 中配置 deny 所有用户(匿名用户 anonymous)访问,但如果同时还有另外指定 allow 某个用户,被 allow 的用户仍然可以访问 COS 存储桶。

计费相关操作

如果一个子用户关联了 AdministratorAccess 或 QCloudFinanceFullAccess 策略,同时还关联了一个 deny action finance:xx 的策略,这个子用户在 action finance:xx 仍然可以鉴权通过,不会被拒绝访问。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈