云服务器 管理实例角色

访问管理(Cloud Access Management,CAM)的角色是拥有一组权限的虚拟身份,用于对角色载体授予腾讯云中服务、操作和资源的访问权限。可以以将 CAM 角色关联到云服务器 CVM 实例,在实例内部基于腾讯云安全凭证服务 STS 临时密钥访问其他云产品的 API(临时密钥将周期性更新)。相比于直接用 SecretKey 进行权限控制,通过此方式可以进一步保证账号下的 SecretKey 安全,也可以借。

相关产品
云服务器 产品页,含版本规格、价格与购买入口。

一、操作场景

这篇说说如何进行实例角色管理,例如绑定、修改及删除实例角色。

二、功能优势

为实例绑定 CAM 角色后,将具备以下功能及优势:

·可使用 STS 临时密钥访问腾讯云其他云服务,详情请参见 STS 相关 API 接口文档。

·可为不同的实例赋予包含不同授权策略的角色,使实例对不同的云资源具有不同的访问权限,实现更精细粒度的权限控制。

·无需自行在实例中保存 SecretKey,通过修改角色的授权即可变更权限,快捷地维护实例所拥有的访问权限。

三、使用说明

·实例仅支持绑定角色载体包含 cvm.qcloud.com 的角色,详情请参见 角色基本概念。如下:

·实例的网络类型需为专有网络 VPC。

·一台实例一次仅支持授予一个 CAM 角色。

·绑定、修改及删除实例角色,不会产生额外的费用。

四、绑定/修改实例角色

绑定/修改单台实例角色绑定/修改多台实例角色

1. 登录 云服务器控制台,选择左侧导航栏中的实例。

2. 在实例的管理页面,根据实际使用的视图模式进行操作:

·列表视图:选择需绑定或修改角色的云服务器所在行右侧的更多 > 实例设置 > 绑定/修改角色。如下:

·页签视图:在云服务器页面中,选择页面右上角的更多操作 > 实例设置 > 绑定/修改角色。如下:

3. 在弹出的绑定/修改角色窗口中,选择要绑定的角色,单击确定即可。

1. 在“实例”列表页面中,勾选需要被绑定或修改角色的云服务器,单击顶部的更多操作 > 实例设置 > 绑定/修改角色。如下:2. 在弹出的绑定/修改角色窗口中,选择要绑定的角色,单击确定即可。说明:通过此方式修改的多台实例,角色均相同。

五、删除实例角色

删除单台实例角色删除多台实例角色

1. 登录 云服务器控制台,选择左侧导航栏中的实例。

2. 在实例的管理页面,根据实际使用的视图模式进行操作:

·列表视图:选择需删除角色的云服务器所在行右侧的更多 > 实例设置 > 删除角色。如下:

·页签视图:在云服务器页面中,选择页面右上角的更多操作 > 实例设置 > 删除角色。如下:

3. 在弹出的删除角色窗口中,单击确定即可。

1. 在实例列表页面中,勾选需删除角色的云服务器,单击顶部的更多操作 > 实例设置 > 删除角色。如下:2. 在弹出的删除角色窗口中,单击确定即可。

六、获取临时密钥

腾讯云云服务器(CVM)提供实例元数据服务,若当前实例绑定了 CAM 角色,用户可以通过访问实例元数据获取临时密钥。具体步骤如下:

1. 登录到云服务器实例。

2. 可以使用 curl 命令访问实例元数据的 URL。

·自定义角色 和 服务角色 的具体路径如下:

curl http://metadata.tencentyun.com/latest/meta-data/cam/security-credentials/<角色名称>

·服务相关角色 的具体路径如下:

curl http://metadata.tencentyun.com/latest/meta-data/cam/service-role-security-credentials/<角色名称>

<角色名称>是你在创建云服务器时绑定的角色名称。 若<角色名称>不确定,可以在控制台实例详情页>基本信息>实例信息>角色查看。

3. 返回的 JSON 数据中包含临时密钥的详细信息,包括:

·TmpSecretId:临时访问密钥ID

·TmpSecretKey:临时访问密钥

·ExpiredTime:临时密钥过期时间戳

·Expiration:临时密钥过期时间

·Token:临时访问密钥令牌

·Code:请求结果返回码

示例:以下示例说明如何获取实例 CAM 角色所生成的临时凭证。CVMas 为示例使用的 rolename。

[qcloud-user]# curl http://metadata.tencentyun.com/latest/meta-data/cam/security-credentials/CVMas{ "TmpSecretId": "************************************", "TmpSecretKey": "********************************", "ExpiredTime": 1615590047, "Expiration": "2021-03-12T23:00:47Z", "Token": "******", "Code": "Success"}

七、使用临时密钥进行操作

1. 配置环境变量

将获取到的临时密钥配置为环境变量,以便 SDK 或 CLI 工具使用:

export TENCENTCLOUD_SECRET_ID="临时TmpSecretId"export TENCENTCLOUD_SECRET_KEY="临时TmpSecretKey"export TENCENTCLOUD_TOKEN="临时Token"

2. 访问资源

使用 SDK 或 CLI 工具访问目标资源。例如,使用 Python SDK 访问 COS:

前置条件:

·已安装 Python COS SDK 包:pip install -U cos-python-sdk-v5。

·角色拥有操作 COS 的相应策略。

from qcloud_cos import CosConfigfrom qcloud_cos import CosS3Client#初始化临时密钥region = 'ap-guangzhou'scheme = 'https'config = CosConfig(Region=region, SecretId="临时密钥的TmpSecretId", SecretKey="临时密钥的TmpSecretKey", Token="临时密钥的Token", Scheme=scheme)client = CosS3Client(config)response = client.list_buckets()print(response)

八、参考链接

腾讯云访问管理 CAM 文档

赞 (0)
上一篇 4天前
下一篇 4天前