策略管理接口
更新时间:2020-07-13
创建策略
创建权限策略,请参考如下代码:
Java
1public CreatePolicyResponse createPolicy(IamClient client) {
2 CreatePolicyRequest createPolicyRequest = new CreatePolicyRequest();
3 // 设置策略名
4 createPolicyRequest.setName("test_policy_name");
5 // 设置策略描述
6 createPolicyRequest.setDescription("test_policy_description");
7 // 策略内容,ACL格式序列化后得到的String
8 createPolicyRequest.setDocument("{\"accessControlList\": [{\"region\":\"bj\",\"service\":\"bcc\",\"resource\":[\"*\"]," +
9 "\"permission\":[\"*\"],\"effect\":\"Allow\"}]}");
10
11 client.createPolicy(createPolicyRequest);
12}
查询策略
查询权限策略,请参考如下代码:
Java
1public void getPolicy(IamClient client) {
2 // 策略名
3 String policyName = "test_policy_name";
4 // 要查询的策略类型,为System时查询系统策略;为Custom时查询自定义策略
5 String policyType = "System";
6
7 client.getPolicy(policyName, policyType);
8}
删除策略
删除权限策略,请参考如下代码:
Java
1public void deletePolicy(IamClient client) {
2 // 策略名
3 String policyName = "test_policy_name";
4 client.deletePolicy(policyName);
5}
列举策略
列举权限策略,当policyType为System时,可列举系统内置的策略列表,请参考如下代码:
Java
1public void listPolicy(IamClient client) {
2 // 要查询的策略类型,为System时查询系统策略;为Custom时查询自定义策略
3 String policyType = "System";
4
5 client.listPolicy(policyType);
6}
关联用户权限
为用户关联权限策略,请参考如下代码:
Java
1public void attachPolicyToUser(IamClient client) {
2 // 用户名
3 String userName = "test_user_name";
4 // 策略名
5 String policyName = "test_policy_name";
6 // 策略类型
7 String policyType = "System";
8
9 client.attachPolicyToUser(userName, policyName, policyType);
10}
解除用户权限
解除子用户关联的权限策略,请参考如下代码:
Java
1public void detachPolicyFromUser(IamClient client) {
2 // 用户名
3 String userName = "test_user_name";
4 // 策略名
5 String policyName = "test_policy_name";
6 // 策略类型
7 String policyType = "System";
8
9 client.detachPolicyFromUser(userName,policyName, policyType)
10}
列举用户的权限
列举用户关联的权限策略,请参考如下代码:
Java
1public void listPoliciesForUser(IamClient client) {
2 // 用户名
3 String userName = "test_user_name";
4
5 return client.listPoliciesForUser(userName)
6}
关联组权限
为用户组关联权限策略,请参考如下代码:
Java
1public void attachPolicyToGroup(IamClient client) {
2 // 组名
3 String groupName = "test_group_name";
4 // 策略名
5 String policyName = "test_policy_name";
6 // 策略类型
7 String policyType = "System";
8
9 client.attachPolicyToGroup(userName, policyName, policyType);
10}
解除组权限
解除用户组关联的权限策略,请参考如下代码:
Java
1public void detachPolicyFromGroup(IamClient client) {
2 // 组名
3 String groupName = "test_group_name";
4 // 策略名
5 String policyName = "test_policy_name";
6 // 策略类型
7 String policyType = "System";
8
9 client.detachPolicyFromGroup(groupName, policyName, policyType);
10}
列举组关联的权限
列举组关联的权限策略,请参考如下代码:
Java
1public void listPoliciesForGroup(IamClient client) {
2 // 组名
3 String groupName = "test_group_name";
4
5 client.listPoliciesForUser(groupName);
6}
关联角色权限
为角色关联权限策略,请参考如下代码:
Java
1public void attachPolicyToRole(IamClient client) {
2 // 角色名
3 String roleName = "test_role_name";
4 // 策略名
5 String policyName = "test_policy_name";
6 // 策略类型
7 String policyType = "System";
8
9 client.attachPolicyToRole(roleName, policyName, policyType);
10}
解除角色权限
解除角色关联的权限策略,请参考如下代码:
Java
1public void detachPolicyFromRole(IamClient client) {
2 // 角色名
3 String roleName = "test_role_name";
4 // 策略名
5 String policyName = "test_policy_name";
6 // 策略类型
7 String policyType = "System";
8
9 client.detachPolicyFromRole(roleName, policyName, policyType);
10}
列举角色的权限
列举角色关联的权限策略,请参考如下代码:
Java
1public void listPoliciesForRole(IamClient client) {
2 // 角色名
3 String roleName = "test_role_name";
4 client.listPoliciesForRole(roleName);
5}