Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2023-02-28 GMT+08:00

Criação de uma concessão

Função

Esta API é usada para criar uma concessão. Um beneficiário pode executar operações em uma chave concedida.

Restrições

Uma chave principal padrão (cujo sufixo de alias é /default) não permite a concessão de permissão.

URI

POST /v1.0/{project_id}/kms/create-grant

Tabela 1 Parâmetros de caminho

Parâmetro

Obrigatoriedade

Tipo

Descrição

project_id

Sim

String

ID do projeto.

Parâmetros de solicitação

Tabela 2 Parâmetros de cabeçalho de solicitação

Parâmetro

Obrigatoriedade

Tipo

Descrição

X-Auth-Token

Sim

String

Token do usuário. O token pode ser obtido chamando a API do IAM (valor de X-Subject-Token no cabeçalho de resposta).

Tabela 3 Parâmetros de corpo de solicitação

Parâmetro

Obrigatoriedade

Tipo

Descrição

key_id

Sim

String

ID de CMK. Deve ter 36 bytes e corresponder à expressão regular ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$. Exemplo: 0d0466b0-e727-4d9c-b35d-f84bb474a37f

grantee_principal

Sim

String

ID do beneficiário, que contém de 1 a 64 bytes e corresponde à expressão regular ^[a-zA-Z0-9]{1, 64}$. Exemplo: 0d0466b00d0466b00d0466b00d0466b0

operations

Sim

Array of strings

Lista de operações concedidas. Valores: create-datakey, create-datakey-without-plaintext, encrypt-datakey, decrypt-datakey, describe-key, create-grant, retire-grant, encrypt-data, decrypt-data. Um valor que contém apenas create-grant é inválido.

name

Não

String

Nome de concessão. O valor é uma cadeia de 1 a 255 caracteres e corresponde à expressão regular ^[a-zA-Z0-9:/_-]{1,255}$.

retiring_principal

Não

String

ID do usuário que pode retirar uma concessão. Ele contém de 1 a 64 bytes e corresponde à expressão regular ^[a-zA-Z0-9]{1, 64}$. Exemplo: 0d0466b00d0466b00d0466b00d0466b0

grantee_principal_type

Não

String

Tipo de concessão. Valores: user, domain. O valor padrão é user.

sequence

Não

String

Número de sequência de 36-byte de uma mensagem de solicitação. Exemplo: 919c82d4-8046-4722-9094-35c3c6524cff

Parâmetros de resposta

Código de status: 200

Tabela 4 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

grant_id

String

ID da concessão, que contém 64 bytes.

Código de status: 400

Tabela 5 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

error

Object

Mensagem de erro.

Tabela 6 ErrorDetail

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Informação de erro.

Código de status: 403

Tabela 7 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

error

Object

Mensagem de erro.

Tabela 8 ErrorDetail

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Informação de erro.

Código de status: 404

Tabela 9 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

error

Object

Mensagem de erro.

Tabela 10 ErrorDetail

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Informação de erro.

Exemplo de solicitações

{
  "key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
  "operations" : [ "describe-key", "create-datakey", "encrypt-datakey" ],
  "grantee_principal" : "13gg44z4g2sglzk0egw0u726zoyzvrs8",
  "grantee_principal_type" : "user",
  "retiring_principal" : "13gg44z4g2sglzk0egw0u726zoyzvrs8"
}

Exemplo de respostas

Código de status: 200

Processamento da solicitação bem-sucedido.

{
  "grant_id" : "7c9a3286af4fcca5f0a385ad13e1d21a50e27b6dbcab50f37f30f93b8939827d"
}

Código de status: 400

Parâmetros de solicitação inválidos.

{
  "error" : {
    "error_code" : "KMS.XXX",
    "error_msg" : "XXX"
  }
}

Código de status: 403

Autenticação falhou.

{
  "error" : {
    "error_code" : "KMS.XXX",
    "error_msg" : "XXX"
  }
}

Código de status: 404

O recurso solicitado não existe ou não foi encontrado.

{
  "error" : {
    "error_code" : "KMS.XXX",
    "error_msg" : "XXX"
  }
}

Códigos de status

Código de status

Descrição

200

Processamento da solicitação bem-sucedido.

400

Parâmetros de solicitação inválidos.

403

Autenticação falhou.

404

O recurso solicitado não existe ou não foi encontrado.

Códigos de erro

Consulte Códigos de erro.