策略管理接口
更新时间:2021-11-24
创建策略
创建权限策略,请参考如下代码:
                Python
                
            
            1def create_policy():
2
3    iam_client = IamClient(iam_sample_conf.config)
4
5    # 创建策略的请求为dict
6    # 设置策略名name
7    # 设置策略描述description
8    # 设置策略内容document,ACL格式序列化后得到的String
9    create_policy_request = {"name": "test_policy", "description": "create policy: test_policy_1",
10                             "document": '{ "accessControlList": [ { "region": "bj", "resource": [ "*" ], "effect":'
11                                         '"Allow", "service": "bce:bos", "permission": [ "READ" ] } ] } '}
12    response = iam_client.create_policy(create_policy_request)
13
14    print(response)
            查询策略
查询权限策略,请参考如下代码:
                Python
                
            
            1def get_policy():
2
3    iam_client = IamClient(iam_sample_conf.config)
4    
5    # 策略名
6    policy_name = b"test_policy"
7    # 要查询的策略类型,为System时查询系统策略;为Custom时查询自定义策略
8    policy_type = b"Custom"
9    response = iam_client.get_policy(policy_name=policy_name, policy_type=policy_type)
10
11    print(response)
            删除策略
删除权限策略,请参考如下代码:
                Python
                
            
            1def delete_policy():
2
3    iam_client = IamClient(iam_sample_conf.config)
4    
5    # 策略名
6    policy_name = b"test_policy"
7    response = iam_client.delete_policy(policy_name=policy_name)
8
9    print(response)(policyName);
10}
            列举策略
列举权限策略,当policyType为System时,可列举系统内置的策略列表,请参考如下代码:
                Python
                
            
            1def list_policy():
2
3    iam_client = IamClient(iam_sample_conf.config)
4    
5    # 要查询的策略类型,为System时查询系统策略;为Custom时查询自定义策略
6    policy_type = b"Custom"
7    # 关键字过滤
8    name_filter = b"test"
9    response = iam_client.list_policy(policy_type=policy_type, name_filter=name_filter)
10
11    print(response)
            关联用户权限
为用户关联权限策略,请参考如下代码:
                Python
                
            
            1def attach_policy_to_user():
2
3    iam_client = IamClient(iam_sample_conf.config)
4    
5    # 需要关联策略的用户
6    user_name = b"test_user"
7    # 关联的策略
8    policy_name = b"test_policy"
9    # 要查询的策略类型,为System时查询系统策略;为Custom时查询自定义策略
10    policy_type = b"Custom"
11    response = iam_client.attach_policy_to_user(user_name, policy_name, policy_type)
12
13    print(response)
            解除用户权限
解除子用户关联的权限策略,请参考如下代码:
                Python
                
            
            1def detach_policy_from_user():
2
3    iam_client = IamClient(iam_sample_conf.config)
4
5    # 需要关联策略的用户
6    user_name = b"test_user"
7    # 关联的策略
8    policy_name = b"test_policy"
9    # 要查询的策略类型,为System时查询系统策略;为Custom时查询自定义策略
10    policy_type = b"Custom"
11    response = iam_client.detach_policy_from_user(user_name, policy_name, policy_type)
12
13    print(response)
            列举用户的权限
列举用户关联的权限策略,请参考如下代码:
                Python
                
            
            1def list_policies_from_user():
2
3    iam_client = IamClient(iam_sample_conf.config)
4    
5    # 用户名
6    user_name = b"test_user"
7    response = iam_client.list_policies_from_user(user_name)
8
9    print(response)
            关联组权限
为用户组关联权限策略,请参考如下代码:
                Python
                
            
            1def attach_policy_to_group():
2
3    iam_client = IamClient(iam_sample_conf.config)
4
5    # 需要关联策略的用户组
6    group_name = b"test_group"
7    # 关联的策略
8    policy_name = b"test_policy"
9    # 要查询的策略类型,为System时查询系统策略;为Custom时查询自定义策略
10    policy_type = b"Custom"
11    response = iam_client.attach_policy_to_group(group_name, policy_name, policy_type)
12
13    print(response)
            解除组权限
解除用户组关联的权限策略,请参考如下代码:
                Python
                
            
            1def detach_policy_from_group():
2
3    iam_client = IamClient(iam_sample_conf.config)
4
5    # 需要关联策略的用户组
6    group_name = b"test_group"
7    # 关联的策略
8    policy_name = b"test_policy"
9    # 要查询的策略类型,为System时查询系统策略;为Custom时查询自定义策略
10    policy_type = b"Custom"
11    response = iam_client.detach_policy_from_group(group_name, policy_name, policy_type)
12
13    print(response)
            列举组关联的权限
列举组关联的权限策略,请参考如下代码:
                Python
                
            
            1def list_policies_from_group():
2
3    iam_client = IamClient(iam_sample_conf.config)
4
5    # 用户组名
6    group_name = b"test_group"
7    response = iam_client.list_policies_from_group(group_name)
8
9    print(response)
            关联角色权限
为角色关联权限策略,请参考如下代码:
                Python
                
            
            1def attach_policy_to_role():
2
3    iam_client = IamClient(iam_sample_conf.config)
4
5    # 需要关联策略的角色
6    role_name = b"test_role"
7    # 关联的策略
8    policy_name = b"test_policy"
9    # 要查询的策略类型,为System时查询系统策略;为Custom时查询自定义策略
10    policy_type = b"Custom"
11    response = iam_client.attach_policy_to_role(role_name, policy_name, policy_type)
12
13    print(response)
            解除角色权限
解除角色关联的权限策略,请参考如下代码:
                Python
                
            
            1def detach_policy_from_role():
2
3    iam_client = IamClient(iam_sample_conf.config)
4
5    # 需要关联策略的角色
6    role_name = b"test_role"
7    # 关联的策略
8    policy_name = b"test_policy"
9    # 要查询的策略类型,为System时查询系统策略;为Custom时查询自定义策略
10    policy_type = b"Custom"
11    response = iam_client.detach_policy_from_role(role_name, policy_name, policy_type)
12
13    print(response)
            列举角色的权限
列举角色关联的权限策略,请参考如下代码:
                Python
                
            
            1def list_policies_from_role():
2
3    iam_client = IamClient(iam_sample_conf.config)
4
5    # 角色名
6    role_name = b"test_role"
7    response = iam_client.list_policies_from_role(role_name)
8
9    print(response)
            