Modificação de uma política personalizada para serviços de nuvem
Função
Essa API é fornecida para que o administrador modifique uma política personalizada para serviços em nuvem.
A API pode ser chamada usando o ponto de extremidade global e pontos de extremidade da região específica. Para pontos de extremidade do IAM, consulte Regiões e pontos de extremidade.
URI
PATCH /v3.0/OS-ROLE/roles/{role_id}
| 
        Parâmetro  | 
      
        Obrigatório  | 
      
        Tipo  | 
      
        Descrição  | 
     
|---|---|---|---|
| 
        role_id  | 
      
        Sim  | 
      
        String  | 
      
        ID de política personalizada. Para obter detalhes sobre como obter um ID de política personalizada, consulte ID de política personalizada.  | 
     
Parâmetros de solicitação
| 
        Parâmetro  | 
      
        Obrigatório  | 
      
        Tipo  | 
      
        Descrição  | 
     
|---|---|---|---|
| 
        Content-Type  | 
      
        Sim  | 
      
        String  | 
      
        Preencha application/json;charset=utf8 nesse campo.  | 
     
| 
        X-Auth-Token  | 
      
        Sim  | 
      
        String  | 
      
        Token de acesso emitido para um usuário para suportar sua identidade e permissões. Para obter detalhes sobre as permissões exigidas pelo token, consulte Ações.  | 
     
| 
       Parâmetro  | 
     
       Obrigatório  | 
     
       Tipo  | 
     
       Descrição  | 
    
|---|---|---|---|
| 
       Sim  | 
     
       Object  | 
     
       Informações de políticas personalizadas.  | 
    
| 
       Parâmetro  | 
     
       Obrigatório  | 
     
       Tipo  | 
     
       Descrição  | 
    
|---|---|---|---|
| 
       display_name  | 
     
       Sim  | 
     
       String  | 
     
       Nome de exibição da política personalizada.  | 
    
| 
       type  | 
     
       Sim  | 
     
       String  | 
     
       Modo de exibição. 
        NOTA: 
        
  | 
    
| 
       description  | 
     
       Sim  | 
     
       String  | 
     
       Descrição da política personalizada.  | 
    
| 
       description_cn  | 
     
       Não  | 
     
       String  | 
     
       Descrição da política personalizada em chinês.  | 
    
| 
       Sim  | 
     
       Object  | 
     
       Conteúdo da política personalizada.  | 
    
| 
       Parâmetro  | 
     
       Obrigatório  | 
     
       Tipo  | 
     
       Descrição  | 
    
|---|---|---|---|
| 
       Version  | 
     
       Sim  | 
     
       String  | 
     
       Versão da política. Ao criar uma política personalizada, defina esse parâmetro como 1.1. 
        NOTA: 
        
  | 
    
| 
       Sim  | 
     
       Array of objects  | 
     
       Declaração da política. Uma política pode conter um máximo de oito declarações.  | 
    
| 
       Parâmetro  | 
     
       Obrigatório  | 
     
       Tipo  | 
     
       Descrição  | 
    
|---|---|---|---|
| 
       Action  | 
     
       Sim  | 
     
       Array of strings  | 
     
       Permissões de operações específicas em um recurso. Para obter detalhes sobre as ações suportadas, consulte "Permissões e ações suportadas" na Referência de API de serviços em nuvem. 
        NOTA: 
        
  | 
    
| 
       Effect  | 
     
       Sim  | 
     
       String  | 
     
       Efeito da permissão. O valor pode ser Allow ou Deny. Se as declarações Allow e Deny forem encontradas em uma política, a autenticação começará a partir das declarações Deny. Opções: 
  | 
    
| 
       Condition  | 
     
       Não  | 
     
       Map<String,Map<String,Array<String>>>  | 
     
       Condições para que a permissão entre em vigor. Para obter detalhes, consulte Criação de uma política personalizada. 
        NOTA: 
        Tome a condição na solicitação de exemplo como um exemplo, os valores da chave de condição (obs:prefix) e cadeia (public) devem ser iguais (StringEquals).  "Condition": {
              "StringEquals": {
                "obs:prefix": [
                  "public"
                ]
              }
            }
        | 
    
| 
       Resource  | 
     
       Não  | 
     
       Array of strings  | 
     
       Recursos em nuvem. 
        NOTA: 
        
  | 
    
Parâmetros de resposta
| 
        Parâmetro  | 
      
        Tipo  | 
      
        Descrição  | 
     
|---|---|---|
| 
        Object  | 
      
        Informações de políticas personalizadas.  | 
     
| 
        Parâmetro  | 
      
        Tipo  | 
      
        Descrição  | 
     
|---|---|---|
| 
        catalog  | 
      
        String  | 
      
        Catálogo de serviços.  | 
     
| 
        display_name  | 
      
        String  | 
      
        Nome de exibição da política personalizada.  | 
     
| 
        description  | 
      
        String  | 
      
        Descrição da política personalizada.  | 
     
| 
        Object  | 
      
        Link de recurso da política personalizada.  | 
     |
| 
        Object  | 
      
        Conteúdo da política personalizada.  | 
     |
| 
        description_cn  | 
      
        String  | 
      
        Descrição da política personalizada em chinês.  | 
     
| 
        domain_id  | 
      
        String  | 
      
        ID da conta.  | 
     
| 
        type  | 
      
        String  | 
      
        Modo de exibição. 
         NOTA: 
         
  | 
     
| 
        id  | 
      
        String  | 
      
        ID de política personalizada.  | 
     
| 
        name  | 
      
        String  | 
      
        Nome da política personalizada.  | 
     
| 
        updated_time  | 
      
        String  | 
      
        Hora em que a política personalizada foi atualizada pela última vez. 
         NOTA: 
         O valor é uma hora UTC no formato AAAA-MM-DDTHH:mm:ss.ssssssZ, por exemplo, 2023-06-28T08:56:33.710000Z. Para obter detalhes sobre os formatos de data e carimbo de data/hora, consulte ISO-8601.  | 
     
| 
        created_time  | 
      
        String  | 
      
        Hora em que a política personalizada foi criada. 
         NOTA: 
         O valor é uma hora UTC no formato AAAA-MM-DDTHH:mm:ss.ssssssZ, por exemplo, 2023-06-28T08:56:33.710000Z. Para obter detalhes sobre os formatos de data e carimbo de data/hora, consulte ISO-8601.  | 
     
| 
        references  | 
      
        String  | 
      
        Número de referências.  | 
     
| 
        Parâmetro  | 
      
        Tipo  | 
      
        Descrição  | 
     
|---|---|---|
| 
        Version  | 
      
        String  | 
      
        Versão da política. 
         NOTA: 
         
  | 
     
| 
        Array of objects  | 
      
        Declaração da política.  | 
     
| 
        Parâmetro  | 
      
        Obrigatório  | 
      
        Tipo  | 
      
        Descrição  | 
     
|---|---|---|---|
| 
        Action  | 
      
        Sim  | 
      
        Array of strings  | 
      
        Permissões de operações específicas em um recurso. Para obter detalhes sobre as ações suportadas, consulte "Permissões e ações suportadas" na Referência de API de serviços em nuvem. 
         NOTA: 
         
  | 
     
| 
        Effect  | 
      
        Sim  | 
      
        String  | 
      
        Efeito da permissão. O valor pode ser Allow ou Deny. Se as declarações Allow e Deny forem encontradas em uma política, a autenticação começará a partir das declarações Deny. Opções: 
  | 
     
| 
        Condition  | 
      
        Não  | 
      
        Map<String,Map<String,Array<String>>>  | 
      
        Condições para que a permissão entre em vigor. Para obter detalhes, consulte Criação de uma política personalizada. 
         NOTA: 
         Tome a condição na solicitação de exemplo como um exemplo, os valores da chave de condição (obs:prefix) e cadeia (public) devem ser iguais (StringEquals).  "Condition": {
              "StringEquals": {
                "obs:prefix": [
                  "public"
                ]
              }
            }
         | 
     
| 
        Resource  | 
      
        Não  | 
      
        Array of strings  | 
      
        Recursos em nuvem. 
         NOTA: 
         
  | 
     
Exemplo de solicitação
Solicitação para modificar a política personalizada IAMCloudServicePolicy para permitir que apenas os projetos cujos nomes começam com ap-southeast-1 obtenham informações de ACL sobre todos os buckets.
PATCH https://iam.myhuaweicloud.com/v3.0/OS-ROLE/roles/{role_id}
{
    "role": {
        "display_name": "IAMCloudServicePolicy",
        "type": "AX",
        "description": "IAMDescription",
        "description_cn": "Description in Chinese",
        "policy": {
            "Version": "1.1",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "obs:bucket:GetBucketAcl"
                    ],
                    "Condition": {
                        "StringStartWith": {
                            "g:ProjectName": [
                                "ap-southeast-1"
                            ]
                        }
                    },
                    "Resource": [
                        "obs:*:*:bucket:*"
                    ]
                }
            ]
        }
    }
}
 Exemplo de resposta
Código de status: 200
A solicitação foi bem-sucedida.
{
    "role": {
        "catalog": "CUSTOMED",
        "display_name": "IAMCloudServicePolicy",
        "description": "IAMDescription",
        "links": {
            "self": "https://iam.myhuaweicloud.com/v3/roles/93879fd90f1046f69e6e0b31c94d2615"
        },
        "policy": {
            "Version": "1.1",
            "Statement": [
                {
                    "Action": [
                        "obs:bucket:GetBucketAcl"
                    ],
                    "Resource": [
                        "obs:*:*:bucket:*"
                    ],
                    "Effect": "Allow",
                    "Condition": {
                        "StringStartWith": {
                            "g:ProjectName": [
                                "ap-southeast-1"
                            ]
                        }
                    }
                }
            ]
        },
        "description_cn": "Description in Chinese",
        "domain_id": "d78cbac186b744899480f25bd0...",
        "type": "AX",
        "id": "93879fd90f1046f69e6e0b31c94d2615",
        "name": "custom_d78cbac186b744899480f25bd022f468_1"
    }
}
 Códigos de status
| 
        Código de status  | 
      
        Descrição  | 
     
|---|---|
| 
        200  | 
      
        A solicitação foi bem-sucedida.  | 
     
| 
        400  | 
      
        Parâmetros inválidos.  | 
     
| 
        401  | 
      
        Falha na autenticação.  | 
     
| 
        403  | 
      
        Acesso negado.  | 
     
| 
        500  | 
      
        Erro de servidor interno.  | 
     
Códigos de erro
Nenhum