文档中心>人脸识别>操作指南>子账号访问管理

子账号访问管理

最近更新时间:2024-10-11 15:25:01

我的收藏
人脸识别已经接入了腾讯云云资源访问管理系统 CAM(Cloud Access Management),您可以在 访问管理控制台 进行用户组、用户、角色、策略等一系列相关管理操作。
通过设置 CAM 策略, 您可以控制哪些子用户或协作者账号拥有人脸识别 API 和控制台的查看和操作权限。
目前人脸识别支持服务级、接口级和资源级授权三种方式:
服务级授权:您可以将预设全读写策略 QcloudFRFullAccess 授予子账户,其将能够和您一样访问人脸识别所有功能。如果您只授予预设只读策略 QcloudFRReadOnlyAccess,其将只能执行只读操作。全局预设只读策略 ReadOnlyAccess 不⽀持授予⼦账户⼈脸识别的控制台只读操作权限。
接口级授权:您可以在 CAM 控制台中按接口维度给子账户授权,子账户将只能使用您已授权的接口。可参考使用示例中授予单个接口权限的操作 授予单个接口权限
资源级授权:您可以在 CAM 控制台中按人员库资源维度给子账户授权,子账户将只能操作您已授权的人员库。可参考 支持资源级授权的接口列表

支持资源级授权的接口列表

API 名
API 描述
资源类型
资源六段式示例
GetGroupInfo
获取人员库信息
人员库 ID
qcs::iai:$region:$account:groupid/* qcs::iai:$region:$account:groupid/$groupId
GetGroupList
获取人员库列表
人员库 ID
qcs::iai:$region:$account:groupid/* qcs::iai:$region:$account:groupid/$groupId
GetLargePersonList
获取大人员列表
人员库 ID
qcs::iai:$region:$account:groupid/* qcs::iai:$region:$account:groupid/$groupId
GetPersonList
获取人员库列表
人员库 ID
qcs::iai:$region:$account:groupid/* qcs::iai:$region:$account:groupid/$groupId
GetPersonListNum
获取人员库列表数量
人员库 ID
qcs::iai:$region:$account:groupid/* qcs::iai:$region:$account:groupid/$groupId
SearchFaces
人脸搜索
人员库 ID
qcs::iai:$region:$account:groupid/* qcs::iai:$region:$account:groupid/$groupId
SearchFacesReturnsByGroup
人脸搜索按库返回
人员库 ID
qcs::iai:$region:$account:groupid/* qcs::iai:$region:$account:groupid/$groupId
SearchPersons
人员搜索
人员库 ID
qcs::iai:$region:$account:groupid/* qcs::iai:$region:$account:groupid/$groupId
SearchPersonsReturnsByGroup
人员搜索按库返回
人员库 ID
qcs::iai:$region:$account:groupid/* qcs::iai:$region:$account:groupid/$groupId
ConsoleSearchFaces
控制台人脸搜索
人员库 ID
qcs::iai:$region:$account:groupid/ *qcs::iai:$region:$account:groupid/$groupId
ConsoleSearchPersons
控制台人员搜索
人员库 ID
qcs::iai:$region:$account:groupid/* qcs::iai:$region:$account:groupid/$groupId
ConsoleGetGroupList
控制台分页获取人员库列表
人员库 ID
qcs::iai:$region:$account:groupid/* qcs::iai:$region:$account:groupid/$groupId
ConsoleGetPersonList
控制台获取人员列表
人员库 ID
qcs::iai:$region:$account:groupid/* qcs::iai:$region:$account:groupid/$groupId
ConsoleModifyPersonInfo
控制台修改人员信息
人员库 ID
qcs::iai:$region:$account:groupid/* qcs::iai:$region:$account:groupid/$groupId
注意
文档上的其他接口均为接口级。

使用示例

服务级、接口级和资源级均需要在 访问管理控制台 中进行授权。创建自定义策略的方式可参考 创建自定义策略
在接口级和资源级接口均可以按照以下的方式给子账户授权。如果 resource 字段填 * ,相当于授予 action 里的接口所有的权限。接口级接口必须授予 * 才可使用,资源级可授予 * 或资源六段式。高级策略会覆盖低级策略,若资源级接口授予了 * ,则其他资源六段式不会生效。

授予单个接口权限

以下为给子账户授予五官定位(AnalyzeFace)和稠密关键点(AnalyzeDenseLandmarks)授权。在 action 中填入对应的接口名:
{
"version": "2.0",
"statement": [
{
"effect": "allow",
"resource": [
"*"
],
"action": [
"name/iai:AnalyzeDenseLandmarks",
"name/iai:AnalyzeFace"
]
}
]
}
其中 action 可以指定多个接口和支持通配符 * 。上述的授权方式也可以简化为以下的方式:
{
"version": "2.0",
"statement": [
{
"effect": "allow",
"resource": [
"*"
],
"action": [
"name/iai:Analyze*"
]
}
]
}

授予某些人员库的所有操作权限

人员库管理相关接口较多,部分接口为接口级,部分为资源级。只有资源级接口能做到人员库粒度化控制,接口级接口暂时只能全量授权。若想给某个子账户授予特定人员库的所有操作权限,则资源级接口可以限制为特定人员库的资源六段式,接口级暂时只能授予*。
以下示例中第一个 statement 为给子账户授予 test * 的人员库资源级接口操作权限,第二个 statement 为授予子账户所有人员库接口级接口操作权限。可参考我们的官网文档对部分接口进行微调:
{
"version": "2.0",
"statement": [
{
"effect": "allow",
"resource": [
"qcs::iai:::groupid/test*"
],
"action": [
"name/iai:CheckSimilarPerson",
"name/iai:CopyPerson",
"name/iai:CreatePerson",
"name/iai:Delete*",
"name/iai:Get*",
"name/iai:ConsoleGet*"
"name/iai:Modify*",
"name/iai:ConsoleModify*",
"name/iai:Search*",
"name/iai:ConsoleSearch*",
"name/iai:UpgradeGroupFaceModelVersion"
]
},
{
"effect": "allow",
"resource": [
"*"
],
"action": [
"name/iai:CreateGroup",
"name/iai:CreateFace",
"name/iai:CreateFaceWithFaceRect",
"name/iai:DeleteFace",
"name/iai:DeletePerson",
"name/iai:EstimateCheckSimilarPersonCostTime",
"name/iai:GetCheckSimilarPersonJobIdList",
"name/iai:GetPersonBaseInfo",
"name/iai:GetPersonGroupInfo",
"name/iai:GetSimilarPersonResult",
"name/iai:GetUpgradeGroupFaceModelVersionJobList",
"name/iai:GetUpgradeGroupFaceModelVersionResult",
"name/iai:ModifyPersonBaseInfo",
"name/iai:RevertGroupFaceModelVersion"
]
}
]
}

授予控制台权限

授予子账户所有控制台权限

控制台绝大部分接口是可以直接访问的,有部分涉及服务使用和计费变更的接口需要授权才可以使用。通过以下方式给这些接口授予 * 后子账户就可以使用所有控制台权限。
{
"version": "2.0",
"statement": [
{
"effect": "allow",
"resource": [
"*"
],
"action": [
"name/iai:ConsoleGetGroupList",
"name/iai:ConsoleGetPersonList",
"name/iai:ConsoleSearchFaces",
"name/iai:ConsoleSearchPersons",
"name/iai:ConsoleModifyPersonBaseInfo",
"name/iai:ActivateService",
"name/iai:SetRenewFlag",
"name/iai:SwitchQpsCountMode"
]
}
]
}

授予某些人员库的控制台权限

如果只想给子账户授予某些人员库的使用权限,可以参照以下示例,给资源级接⼝ ConsoleGetGroupList、ConsoleGetPersonList、ConsoleSearchFaces、ConsoleSearchPersons 授予⼈员库 test * 权限。
{
"version": "2.0",
"statement": [
{
"effect": "allow",
"resource": [
"qcs::iai:::groupid/test*"
],
"action": [
"name/iai:ConsoleGetGroupList",
"name/iai:ConsoleGetPersonList",
"name/iai:ConsoleSearchFaces",
"name/iai:ConsoleSearchPersons"
]
},
{
"effect": "allow",
"resource": [
"*"
],
"action": [
"name/iai:ModifyPersonBaseInfo",
"name/iai:ActivateService",
"name/iai:SetRenewFlag",
"name/iai:SwitchQpsCountMode"
]
}
]
}