策略管理接口
所有文档

          多用户访问控制

          策略管理接口

          创建策略

          创建权限策略,请参考如下代码:

          public CreatePolicyResponse createPolicy(IamClient client) {
              CreatePolicyRequest createPolicyRequest = new CreatePolicyRequest();
              // 设置策略名
              createPolicyRequest.setName("test_policy_name");
              // 设置策略描述
              createPolicyRequest.setDescription("test_policy_description");
              // 策略内容,ACL格式序列化后得到的String
              createPolicyRequest.setDocument("{\"accessControlList\": [{\"region\":\"bj\",\"service\":\"bcc\",\"resource\":[\"*\"]," +
                          "\"permission\":[\"*\"],\"effect\":\"Allow\"}]}");
                          
              client.createPolicy(createPolicyRequest);
          }

          查询策略

          查询权限策略,请参考如下代码:

          public void getPolicy(IamClient client) {
              // 策略名
              String policyName = "test_policy_name";
              // 要查询的策略类型,为System时查询系统策略;为Custom时查询自定义策略
              String policyType = "System";
              
              client.getPolicy(policyName, policyType);
          }

          删除策略

          删除权限策略,请参考如下代码:

          public void deletePolicy(IamClient client) {
              // 策略名
              String policyName = "test_policy_name";
              client.deletePolicy(policyName);
          }

          列举策略

          列举权限策略,当policyType为System时,可列举系统内置的策略列表,请参考如下代码:

          public void listPolicy(IamClient client) {
              // 要查询的策略类型,为System时查询系统策略;为Custom时查询自定义策略
              String policyType = "System";
              
              client.listPolicy(policyType);
          }

          关联用户权限

          为用户关联权限策略,请参考如下代码:

          public void attachPolicyToUser(IamClient client) {
              // 用户名
              String userName = "test_user_name";
              // 策略名
              String policyName = "test_policy_name";
              // 策略类型
              String policyType = "System";
              
              client.attachPolicyToUser(userName, policyName, policyType);
          }

          解除用户权限

          解除子用户关联的权限策略,请参考如下代码:

          public void detachPolicyFromUser(IamClient client) {
              // 用户名
              String userName = "test_user_name";
              // 策略名
              String policyName = "test_policy_name";
              // 策略类型
              String policyType = "System";
              
              client.detachPolicyFromUser(userName,policyName, policyType)
          }

          列举用户的权限

          列举用户关联的权限策略,请参考如下代码:

          public void listPoliciesForUser(IamClient client) {
              // 用户名
              String userName = "test_user_name";
              
              return client.listPoliciesForUser(userName)
          }

          关联组权限

          为用户组关联权限策略,请参考如下代码:

          public void attachPolicyToGroup(IamClient client) {
               // 组名
              String groupName = "test_group_name";
              // 策略名
              String policyName = "test_policy_name";
              // 策略类型
              String policyType = "System";
              
              client.attachPolicyToGroup(userName, policyName, policyType);
          }

          解除组权限

          解除用户组关联的权限策略,请参考如下代码:

          public void detachPolicyFromGroup(IamClient client) {
              // 组名
              String groupName = "test_group_name";
              // 策略名
              String policyName = "test_policy_name";
              // 策略类型
              String policyType = "System";
              
              client.detachPolicyFromGroup(groupName, policyName, policyType);
          }

          列举组关联的权限

          列举组关联的权限策略,请参考如下代码:

          public void listPoliciesForGroup(IamClient client) {
               // 组名
              String groupName = "test_group_name";
              
              client.listPoliciesForUser(groupName);
          }

          关联角色权限

          为角色关联权限策略,请参考如下代码:

          public void attachPolicyToRole(IamClient client) {
              // 角色名
              String roleName = "test_role_name";
              // 策略名
              String policyName = "test_policy_name";
              // 策略类型
              String policyType = "System";
              
              client.attachPolicyToRole(roleName, policyName, policyType);
          }

          解除角色权限

          解除角色关联的权限策略,请参考如下代码:

          public void detachPolicyFromRole(IamClient client) {
              // 角色名
              String roleName = "test_role_name";
              // 策略名
              String policyName = "test_policy_name";
              // 策略类型
              String policyType = "System";
              
              client.detachPolicyFromRole(roleName, policyName, policyType);
          }

          列举角色的权限

          列举角色关联的权限策略,请参考如下代码:

          public void listPoliciesForRole(IamClient client) {
              // 角色名
              String roleName = "test_role_name";
              client.listPoliciesForRole(roleName);
          }
          上一篇
          角色管理接口
          下一篇
          组管理接口