Oracle——限制API权限

Oracle——限制API权限
Alexei目的
为了防止在部署抢鸡脚本时,API被人滥用从而造成盗号等行为,可以通过限制API的权限来达到目的
适用情况
- 部署抢鸡脚本需要API密钥
- 随便借给别人玩玩
- 别人使用VNC救砖
原理
- 创建一个新用户
- 该用户只有
实例、引导卷、网络的权限,而没有其他任何权限 - 如果部署抢鸡脚本,无需用户登录,直接生成API密钥即可
- 如果需要VNC救砖,则需要登录密码
核心步骤
- 创建用户组
- 创建策略
- 创建用户
- 生成API密钥
创建API密钥的方式
- 强烈推荐脚本操作,方便快捷
- 手动操作
脚本创建API
打开Cloud Shell运行下面的语句
1 | wget -N "https://raw.githubusercontent.com/jin-gubang/public/main/oracle_role_apiuser_policy.sh" --no-check-certificate && chmod +x oracle_role_apiuser_policy.sh && bash oracle_role_apiuser_policy.sh |
关于语句的内容及安全性,有能力的可以查看GitHub,以下是网址https://github.com/jin-gubang/public/blob/main/oracle_role_apiuser_policy.sh
运行后的效果如图
然后就会创建出策略、组、用户,接着找到User_for_Api_used创建密钥即可
手动创建API
创建用户组
名称:Group_for_Api_used
说明:这个用户组是给API使用的,权限会受限制以防止API操作用户类权限
创建策略
名称:Policy_for_Api_used
说明:这个用户组是给API使用的,权限会受限制以防止API操作用户类权限
策略构建器:(这里的Group_for_Api_used就是上一步中的用户组名称)
Allow group ‘Default’/‘Group_for_Api_used’ to manage instance-family in tenancy
Allow group ‘Default’/‘Group_for_Api_used’ to manage volume-family in tenancy
Allow group ‘Default’/‘Group_for_Api_used’ to manage virtual-network-family in tenancy
创建用户
名字,姓氏,用户名:User_for_Api_used
电子邮件:xxxxxx@domain.com(由于这个用户根本不用登录,来一个不可能登录的电子邮件就可以,或者用个你自己备用邮件也可以)
用户组:选择Group_for_Api_used
生成API密钥
完成后截图核对
策略如图
组如图















