通过创建子用户方式,缩小OBS场景下上传ak/sk的权限
使用场景
CCI使用OBS时需要上传密钥,用户可通过创建子用户方式,将上传密钥替换为仅有OBS访问权限的子用户密钥。
操作步骤
- 进入云容器实例控制台,上传密钥并导入已有的对象存储卷。
- 登录云容器实例控制台,单击左侧导航栏的“存储管理 > 对象存储卷”,在右侧页面中选择命名空间,单击“上传密钥”。
- 选择本地的密钥文件,单击“确认”。
请添加csv格式的文件,且文件大小不能超过2M。若您在本地没有访问密钥,请前往“我的凭证”的访问密钥新增并下载访问密钥。
需要下载主账号的访问密钥。
- 在“对象存储卷”页面,单击“导入”。
- 从列表里选择要导入的对象存储,单击“导入”。
若无可用的对象存储,请单击“创建并行文件系统”按钮,填写相关参数,然后单击“立即创建”。
创建完成后,进入“导入对象存储”页面,选择新创建的对象存储,然后单击“导入”。
- 创建obs_only用户组,并授权OBS Adminstrator权限。
- 登录“统一身份认证控制台”。
- 在统一身份认证服务,左侧导航窗格中,选择“用户组”页签,单击右上方的“创建用户组”。
图1 创建用户组
- 在“创建用户组”界面,输入用户组名称“obs_only”。
- 单击“确定”,用户组创建完成,用户组列表中显示新创建的用户组。
- 在用户组列表中,单击新建用户组“obs_only”右侧的“授权”。
图2 进入用户组权限设置页面
- 在用户组选择策略页面中,勾选需要授予用户组的“OBS Adminstrator”权限。单击“下一步”。
图3 选择权限
- 选择权限的作用范围。单击“确定”,完成用户组授权。
- 创建子用户“cci-obs”,将子用户加入obs_only用户组并下载访问密钥。
- 在统一身份认证服务,左侧导航窗格中,选择“用户”,单击右上方的“创建用户”。
- 在“创建用户”页面,配置“用户信息”。填写用户名为“cci-obs”。
- 选择“访问方式”为“编程访问”,选择“凭证类型”为“访问密钥”。
图4 创建用户
- 单击“下一步”,勾选要加入的用户组,将用户加入到“用户组obs_only”。加入用户组后,用户将具备用户组的权限。
- 单击“创建用户”,IAM用户创建完成,并在此页面下载访问密钥。
图5 下载访问密钥
- 通过kubectl连接CCI。
使用kubectl连接CCI,请参见kubectl配置指南。
- 替换上传的密钥。
将上传的密钥替换为仅有OBS访问权限的子用户密钥,即步骤3中下载的访问密钥,访问密钥中的ak/sk需进行手动base64编码。
使用如下命令,将secret中data的ak/sk字段替换为base64编码后的子用户ak/sk。
kubectl edit secret -n $上传密钥的命名空间 longaksk -oyaml
- 验证
创建Job类型任务负载,挂载OBS,请参见使用对象存储卷。
负载启动正常,OBS存储卷读写正常,则成功缩小OBS场景下上传ak/sk的权限。