tencent cloud

文档反馈

进阶自定义配置

最后更新时间:2024-01-16 17:43:54

    访问管理概述

    如果您在腾讯云中使用到了移动推送(Tencent Push Notification Service)服务,这些服务由不同的人管理,但都共享您的云账号密钥,将存在以下问题:
    您的密钥由多人共享,泄密风险高。
    您无法限制其它人的访问权限,易产生误操作造成安全风险。
    这个时候,您就可以通过子账号实现不同的人管理不同的服务,来规避以上的问题。默认情况下,子账号没有使用移动推送的权利或者移动推送相关资源的权限。因此需要创建策略来允许子账号使用他们所需要的资源或权限。 访问管理(Cloud Access Management,CAM)是腾讯云提供的一套 Web 服务,它主要用于帮助用户安全管理腾讯云账户下的资源的访问权限。通过 CAM,您可以创建、管理和销毁用户(组),并通过身份管理和策略管理控制哪些人可以使用哪些腾讯云资源。 当您使用 CAM 的时候,可以将策略与一个用户或一组用户关联起来,策略能够授权或者拒绝用户使用指定资源完成指定任务。有关 CAM 策略的更多相关基本信息,请参照访问管理 - 语法逻辑。有关 CAM 策略的更多相关使用信息,请参照 策略
    说明:
    若您不需要对子账户进行移动推送相关资源的访问管理,您可以跳过此章节。跳过这部分章节不会影响您对文档中其余部分的理解和使用。

    策略语法说明

    CAM 策略必须授权使用一个或多个移动推送操作或者必须拒绝使用一个或多个移动推送操作。同时还必须指定可以用于操作的资源(可以是全部资源,某些操作也可以是部分资源)。对于移动推送中不支持资源级授权的操作,需要指定为全部资源进行授权。 CAM 策略语法说明:
    {
    "version":"2.0",
    "statement":
    [
    {
    "effect":"effect",
    "action":["action"],
    "resource":["resource"],
    "condition": {"key":{"value"}}
    }
    ]
    }
    参数说明:
    参数名
    是否必需
    描述
    version
    版本号,目前仅允许值为"2.0"。
    statement
    用来描述一条或多条权限的详细信息。该元素包括 effect、action、resource,condition 等多个其他元素的权限或权限集合。一条策略有且仅有一个 statement 元素。操作 action 用来描述允许或拒绝的操作。操作可以是 API (以 name 前缀描述)或者功能集(一组特定的 API,以 permid 前缀描述)。
    resource
    描述授权的具体数据。资源是用六段式描述。每款产品的资源定义详情会有所区别。有关如何指定资源的信息,请参阅您编写的资源声明所对应的产品文档。
    condition
    描述策略生效的约束条件。条件包括操作符、操作键和操作值组成。条件值可包括时间、IP 地址等信息。有些服务允许您在条件中指定其他值。
    effect
    描述声明产生的结果是“允许”还是“显式拒绝”。包括 allow (允许)和 deny (显式拒绝)两种情况。

    创建策略并授权

    我们为您预设了两种系统级策略,方便快速进行授权,您可以进入控制台 - 访问管理 - 策略管理 ,单击【新建自定义策略】,选择按策略语法创建,如下图:
    
    进入“按策略语法创建”页面后,在模板类型中可搜索到移动推送提供的两种预设策略模板,分别为全读写权限和只读访问权限(具体权限列表可在创建策略流程中查看),您也可以在选择其中一个权限后编辑,或者新建一个空白模板。
    
    创建策略后,您可以在控制台 CAM 策略管理 中找到他并将其关联到子用户,完成权限配置。 以下将描述如何在移动推送中进行访问管理(Cloud Access Management,CAM)授权。

    移动推送可授权的资源

    资源级权限是指能够指定用户对哪些资源具有执行操作的能力。移动推送可授权的资源类型为“应用”,意味着您可以以应用为粒度在 CAM 中进行资源级授权,描述方法为:
    qcs::tpns::uin/1000000000:app/*
    其中 * 表示以 App 为粒度的所有资源,可替换为 Access ID,应用的 Access ID 可在控制台移动推送的 产品管理 模块中找到,1000000000 为主账号的腾讯云账号 ID 举例,真实 uin 请在控制台 账号信息 页面中找到账号 ID 并将之替换。
    同时授权多个资源请以逗号(,)分隔。

    移动推送可授权的操作

    在 CAM 策略语句中,您可以从支持 CAM 的任何服务中指定任意的 API 操作。对于移动推送,请使用以 name/tpns: 为前缀的 API,例如:name/tpns:CreateProduct。 如果您要在单个语句中指定多个操作的时候,请使用逗号将它们隔开,如下所示:
    "action":["tpns:action1","tpns:action2"]
    您也可以使用通配符指定多项操作。例如,您可以指定名字以单词 "Describe" 开头的所有操作,如下所示:
    "action":["tpns:Describe*"]
    如果您要指定移动推送中所有操作,请使用 * 通配符,如下所示:
    "action"["tpns:*"]
    可授权操作列表:
    注意:
    仅支持对支持资源级的操作进行应用的授权。
    操作名称
    描述
    是否支持资源级
    AddChannelInfo
    添加厂商通道
    CancelPush
    取消定时推送任务
    CreateApp
    新建应用
    CreateAppTrialRequest
    申请产品试用
    CreateProduct
    创建产品
    DeleteAppInfo
    删除应用
    DeleteProductInfo
    删除产品
    DescribeApnsCertInfo
    查询 apns 证书信息
    DescribeAppAllTags
    查询所有 tag 信息
    DescribeAppInfo
    查询 App 信息
    DescribeAppVipInfo
    查询 Vip 信息
    DescribeChannelInfo
    查询厂商通道信息
    DescribeProductInfo
    查询产品信息
    DescribeTagTokenNums
    查询 tag 下面的设备数量
    DownloadPushPackage
    推送号码包下载
    DescribeAccountByToken
    查询设备上绑定的账号
    DescribeAccountPushStatInfo
    查询账号下总推送量
    DescribeAccountPushStatInfoAllZone
    查询所有集群下各应用的应发消息总量
    DescribeAppSecretInfo
    查询AppSecret信息
    DescribeDeviceStatOverview
    查询应用累积和日活设备概览数
    DescribeProductDeviceStatWithRatioOverview
    查询应用对应的统计信息
    DescribePushPackaDescribeoken
    上传号码包获取 COS 临时 token
    DescribePushTaskGroupStatAllChannel
    查询各通道推送的聚合数据
    DescribePushTaskStatAllChannel
    查询各个推送通道的数据
    DescribeTagsByToken
    查询设备上绑定的标签
    DescribeTokenInfos
    查询 tokenInfo 信息
    DescribePushInfos
    查询推送列表
    ModifyAppInfo
    更新应用信息
    ModifyProductInfo
    更新产品信息
    CreatePush
    创建推送
    UpdateAppStatus
    更新应用状态
    UploadCert
    iOS 证书上传
    UploadPushPackage
    推送号码包上传
    DescribePlanPushInfos
    查询推送计划下任务列表
    DescribePushPlans
    查询推送计划列表信息
    UpdatePushPlan
    修改推送计划
    DeletePushPlan
    删除推送计划
    CreatePushPlan
    创建推送计划

    运营人员策略示例

    假设运营人员主要职责为查看推送记录和创建推送,那么根据可授权操作列表查询到操作权限:
    所有查询操作。
    取消定时推送任务。
    创建推送。
    推送号码包上传接口。
    推送号码包下载。
    假设当前主账号 ID 为1000000000,被授权的应用 Access_id 为1500000000和1500000001; 对应的策略语法则为:
    //
    {
    "version": "2.0",
    "statement": [
    {
    "action": [
    "tpns:Describe*",
    "tpns:CancelPush",
    "tpns:DownloadPushPackage",
    "tpns:CreatePush",
    "tpns:UploadPushPackage"
    ],
    "resource": [
    "qcs::tpns::uin/1000000000:app/1500000000","qcs::tpns::uin/1000000000:app/1500000001"
    ],
    "effect": "allow"
    },
    {
    "action": [
    "tpns:Describe*"
    ],
    "resource": [
    "qcs::tpns::uin/1000000000:other/*"
    ],
    "effect": "allow"
    }
    
    ]
    }
    创建策略完成后,可以在 CAM 策略管理 中找到他并将其关联到子用户,完成权限配置,该策略也可以再次被关联到其他多个子用户。

    开发人员策略示例

    假设开发人员主要职责为接入和测试,我们需要对其授予所有操作权限; 且假设当前主账号 ID 为1000000000,被授权的应用 Access_id 为1500000000和1500000001; 对应的策略语法则为:
    //
    {
    "version": "2.0",
    "statement": [
    {
    "action": "*",
    "resource": [
    "qcs::tpns::uin/1000000000:app/1500000000","qcs::tpns::uin/1000000000:app/1500000001"
    ],
    "effect": "allow"
    },
    {
    "action": [
    "tpns:Describe*"
    ],
    "resource": [
    "qcs::tpns::uin/1000000000:other/*"
    ],
    "effect": "allow"
    }
    
    ]
    }
    创建策略完成后,可以在 CAM 策略管理 中找到他并将其关联到子用户,完成权限配置,该策略也可以再次被关联到其它多个子用户。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持