文档首页/ 部署 CodeArts Deploy/ API参考/ API/ 应用权限管理/ 查询应用实例级/项目级权限矩阵
更新时间:2024-11-25 GMT+08:00

查询应用实例级/项目级权限矩阵

功能介绍

查询应用实例级/项目级权限矩阵,传递app_id时,查询应用实例级权限矩阵;未传app_id,传递project_id时,查询应用项目级权限矩阵。

调用方法

请参见如何调用API

URI

GET /v3/applications/permissions

表1 Query参数

参数

是否必选

参数类型

描述

app_id

String

应用id

project_id

String

项目id

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)

响应参数

状态码: 200

表3 响应Body参数

参数

参数类型

描述

result

Array of ApplicationPermissionVO objects

角色应用权限

status

String

请求成功失败状态

表4 ApplicationPermissionVO

参数

参数类型

描述

can_modify

Boolean

是否有编辑权限

can_delete

Boolean

是否有删除的权限

can_view

Boolean

是否有查看权限

can_execute

Boolean

是否有执行权限

can_copy

Boolean

是否有复制权限

can_manage

Boolean

是否有管理权限,包含增删改查执行以及权限修改

can_create_env

Boolean

是否有新建环境权限

can_disable

Boolean

是否有禁用权限

name

String

角色名称

region

String

局点信息

role_id

String

角色id

role_type

String

角色类型, app-creator: 应用创建者; project: 项目管理员;template-customized-inst:系统角色;

template-project-customized、project-customized:自定义角色

请求示例

  • 查询应用项目级权限矩阵

    https://{endpoint}/v3/applications/permissions?project_id=0a38ce9ba3c740c199a0f872b6163661
  • 查询应用实例级权限矩阵

    https://{endpoint}/v3/applications/permissions?app_id=0a38ce9ba3c740c199a0f872b6163661

响应示例

状态码: 200

OK 请求响应成功

{
  "result" : [ {
    "can_copy" : true,
    "can_create_env" : true,
    "can_delete" : true,
    "can_disable" : true,
    "can_execute" : true,
    "can_manage" : true,
    "can_modify" : true,
    "can_view" : true,
    "name" : "应用创建者",
    "region" : "cn-north-7",
    "role_id" : "0",
    "role_type" : "app-creator"
  }, {
    "can_copy" : true,
    "can_create_env" : true,
    "can_delete" : true,
    "can_disable" : true,
    "can_execute" : true,
    "can_manage" : true,
    "can_modify" : true,
    "can_view" : true,
    "name" : "项目管理员",
    "region" : "cn-north-7",
    "role_id" : "2e510051361942a8b7ecea00144172b3",
    "role_type" : "project"
  } ],
  "status" : "success"
}

SDK代码示例

SDK代码示例如下。

Java

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.codeartsdeploy.v2.region.CodeArtsDeployRegion;
import com.huaweicloud.sdk.codeartsdeploy.v2.*;
import com.huaweicloud.sdk.codeartsdeploy.v2.model.*;


public class ListApplicationPermissionsSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");

        ICredential auth = new BasicCredentials()
                .withAk(ak)
                .withSk(sk);

        CodeArtsDeployClient client = CodeArtsDeployClient.newBuilder()
                .withCredential(auth)
                .withRegion(CodeArtsDeployRegion.valueOf("<YOUR REGION>"))
                .build();
        ListApplicationPermissionsRequest request = new ListApplicationPermissionsRequest();
        try {
            ListApplicationPermissionsResponse response = client.listApplicationPermissions(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}

Python

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcodeartsdeploy.v2.region.codeartsdeploy_region import CodeArtsDeployRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkcodeartsdeploy.v2 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]

    credentials = BasicCredentials(ak, sk)

    client = CodeArtsDeployClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(CodeArtsDeployRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ListApplicationPermissionsRequest()
        response = client.list_application_permissions(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

Go

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    codeartsdeploy "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codeartsdeploy/v2"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codeartsdeploy/v2/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codeartsdeploy/v2/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        Build()

    client := codeartsdeploy.NewCodeArtsDeployClient(
        codeartsdeploy.CodeArtsDeployClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ListApplicationPermissionsRequest{}
	response, err := client.ListApplicationPermissions(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

OK 请求响应成功

错误码

请参见错误码