概述
黑石私有网络支持细化到实例级别的权限管理,您可以为人员分配管理特定 VPC 实例的管理权限。
预设策略
预设策略,能帮助您快速授权,而不需要编写策略,但授权粒度会粗些,以下是黑石私有网络的两个预设策略,分别为:
预设策略名 | 授权范围描述 |
QcloudBMVPCFullAccess | 关联后,获得所有黑石私有网络实例的增、删、改、查操作的权限。 |
QcloudBMVPCReadOnlyAccess | 关联后,只能获得查询黑石私有网络实例列表及基本信息的权限。 |
Action、Resource、Condtion 列表
Action:即操作,对应的是 API。编写策略时,您可以复制表格里内容并粘贴在 Action 字段中。关联该策略后,即可获得特定 API 的调用权限。
Resource:即云资源,当列表中 Action 的鉴权参数不为空时,则表示在调用 API 需要指定云资源,否则不需要指定。编写策略时,您可以复制表格里内容并粘贴在策略生成器的 Resource 字段中,但请记得替换 $unVpcId、$unSubnetId、$NatId、$PeerId 为真实的实例 ID;关联该策略后,即可获得特定资源的操作权限。
注意
部分 API 鉴权时需要两种类型的实例 ID,例如黑石 NAT 网关绑定 EIP,分别需要被绑定的 NAT 网关以及用于绑定的黑石弹性公网 IP 的实例 ID,这时需要把两种云产品的资源描述都写在 Resource 里。
Condition:即生效条件。换句话说 Action 和 Resource 需要在特定的生效条件下,才能鉴权通过。您可以灵活使用 condtion 以做到 VPC 或者 Subnet 粒度的权限管理,例如授权人员管理特定 VPC 内的所有黑石服务器。
注意
Describe 或者 Get 指查询操作,例如拉取多个实例详情等,查询操作鉴权通过后可能会把所有实例信息都返回,而无法区别哪些是有权限哪些是没有权限的实例。但再修改、删除实例时,会再次鉴权。
Action | 鉴权参数 | 功能描述 | 条件密钥 |
bmvpc:SubnetBindBmNatGateway | qcs::bmvpc:::unVpcId/$unVpcIdqcs::bmvpc:::natId/$NatId | 黑石 NAT 网关绑定子网 | - |
bmvpc:SubnetUnBindBmNatGateway | qcs::bmvpc:::unVpcId/$unVpcIdqcs::bmvpc:::natId/$NatId | 黑石网关解绑子网 | - |
bmvpc:EipUnBindBmNatGateway | qcs::bmvpc:::unVpcId/$unVpcIdqcs::bmvpc:::natId/$NatIdxqcs::bmeip:::eipId/$EipId | 黑石网关解绑 EIP | - |
bmvpc:EipBindBmNatGateway | qcs::bmvpc:::unVpcId/$unVpcIdqcs::bmvpc:::natId/$NatIdqcs::bmeip:::eipId/$EipId | 黑石 NAT 网关绑定 EIP | - |
bmvpc:UpgradeBmNatGateway | qcs::bmvpc:::unVpcId/$unVpcIdqcs::bmvpc:::natId/$NatId | 升级黑石 NAT 网关 | - |
bmvpc:DeleteBmNatGateway | qcs::bmvpc:::unVpcId/$unVpcIdqcs::bmvpc:::natId/$NatId | 删除黑石 NAT 网关 | - |
bmvpc:CreateBmNatGateway | qcs::bmvpc:::unVpcId/$unVpcId | 创建黑石 NAT 网关 | - |
bmvpc:UpdateBmNatGateway | qcs::bmvpc:::unVpcId/$unVpcIdqcs::bmvpc:::natId/$NatId | 更新黑石 NAT 网关绑定信息 | - |
bmvpc:UnbindIpsToBmNatGateway | qcs::bmvpc:::unVpcId/$unVpcIdqcs::bmvpc:::natId/$NatId | 黑石 NAT 网关解绑 IP | - |
bmvpc:BindIpsToBmNatGateway | qcs::bmvpc:::unVpcId/$unVpcIdqcs::bmvpc:::natId/$NatId | 黑石 NAT 网关绑定 IP | - |
bmvpc:ModifyBmNatGateway | qcs::bmvpc:::unVpcId/$unVpcIdqcs::bmvpc:::natId/$NatId | 修改黑石 NAT 网关名称 | - |
bmvpc:RegisterBatchIp | qcs::bmvpc:::unVpcId/$unVpcIdqcs::bmvpc:::unSubnetId/$unSubnetId | 指定 VPC 内网 IP 注册 | - |
bmvpc:ApplyIps | qcs::bmvpc:::unVpcId/$unVpcIdqcs::bmvpc:::unSubnetId/$unSubnetId | VPC 内网 IP 申请 | - |
bmvpc:ModifySubnetDhcpRelayFlag | qcs::bmvpc:::unVpcId/$unVpcIdqcs::bmvpc:::unSubnetId/$unSubnetId | 修改子网 Dhcp | - |
bmvpc:ModifyBmSubnetAttribute | qcs::bmvpc:::unVpcId/$unVpcIdqcs::bmvpc:::unSubnetId/$unSubnetId | 修改黑石私有网络中的子网属性 | - |
bmvpc:DeleteBmSubnet | qcs::bmvpc:::unVpcId/$unVpcIdqcs::bmvpc:::unSubnetId/$unSubnetId | 删除黑石私有网络的子网 | - |
bmvpc:ModifyBmVpcPeeringConnection | qcs::bmvpc:::vpcPeerId/$PeerId | 黑石修改对等连接属性 | - |
bmvpc:DeleteBmVpcPeeringConnection | qcs::bmvpc:::vpcPeerId/$PeerId | 黑石删除对等连接 | - |
bmvpc:CreateBmVpcPeeringConnection | qcs::bmvpc:::vpcPeerId/$PeerId | 黑石创建对等连接 | - |
bmvpc:EnableBmVpcPeeringConnection | qcs::bmvpc:::vpcPeerId/$PeerId | 黑石激活对等连接申请 | - |
bmvpc:RejectBmVpcPeeringConnection | qcs::bmvpc:::vpcPeerId/$PeerId | 黑石拒绝对等连接 | - |
bmvpc:AcceptBmVpcPeeringConnection | qcs::bmvpc:::vpcPeerId/$PeerId | 黑石接受对等连接 | - |
bmvpc:ReturnIps | qcs::bmvpc:::unVpcId/$unVpcId | 回收 VPC 子网 IP | - |
bmvpc:ModifyBmRouteTableAttribute | qcs::bmvpc:::unVpcId/$unVpcId | 修改黑石路由表项 | - |
bmvpc:ModifyBmVpcAttribute | qcs::bmvpc:::unVpcId/$unVpcId | 修改黑石 VPC 属性 | - |
bmvpc:CreateBmSubnet | qcs::bmvpc:::unVpcId/$unVpcId | 创建黑石私有网络的子网 | - |
bmvpc:DelBmInterface | qcs::bmvpc:::unVpcId/$unVpcId | 物理机从带 VLANTAG 子网中移除 | - |
bmvpc:DescribeBmNatSubnetEx | - | 查询子网被 NAT 网关使用情况信息 | - |
bmvpc:DescribeBmNatGateway | - | 黑石 NAT 网关列表 | - |
bmvpc:DescribeBmVpcPeeringConnections | - | 查询黑石对等连接 | - |
bmvpc:DescribeBmVpcEx | - | 查询黑石私有网络列表 | - |
bmvpc:DescribeBmSubnetEx | - | 查询黑石私有网络中的子网信息 | - |
bmvpc:DescribeBmSubnetAvailableIp | - | 获取 VPC 子网内可用 IP | - |
bmvpc:DescribeBmNatSubnetBindIps | - | 查看给定 NAT 下子网绑定的 IP | - |
bmvpc:DescribeBmSubnetIpInfo | - | 查看给定子网下的 IP 信息 | - |
bmvpc:DescribeBmSubnetIps | - | 拉取子网已分配的 IP 列表 | - |
bmvpc:DescribeBmSubnetByCpmId | - | 拉取物理机加入的所有子网列表 | - |
bmvpc:DescribeBmCpmBySubnetId | - | 拉取加入子网的所有物理机列表 | - |
bmvpc:DescribeBmRouteTableEx | - | 获取黑石路由表详情 | - |
bmvpc:CreateBmVpc | - | 创建黑石私有网络和子网 | bmvpc:unVpcIdbmvpc:$unSubnetId |
bmvpc:CreateBmInterface | qcs::bmvpc:::unVpcId/$unVpcId | 物理机加入带 VLANTAG 子网 | bmvpc:unVpcIdbmvpc:$unSubnetId |
最佳实践
本章节,我们举例两个场景的策略内容和评估逻辑,帮助您了解如何实现黑石服务器的权限分配。
场景:授权将 eip-b2h2rhs5 绑定到属于 vpc-34cxlz7z 的 NAT 网关:nat-am27agoo 以及解绑权限。
场景
策略如下:
{"version":"2.0","statement":[{"effect":"allow","action":["bmvpc:EipBindBmNatGateway","bmvpc:EipUnBindBmNatGateway"],"resource":["qcs::bmvpc:::natId/nat-am27agoo","qcs::bmvpc:::unVpcId/vpc-34cxlz7z","qcs::bmeip:::eipId/eip-b2h2rhs"]}]}
评估逻辑:
当调用 EipBindBmNatGateway 或者 EipUnBindBmNatGateway 时,CAM 会判断传入的 NatId、EipId、VpcId 是否为 nat-am27agoo、vpc-34cxlz7z、eip-b2h2rhs。【是】则鉴权通过,【否】则鉴权失败。