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
|
Parâmetro |
Obrigatoriedade |
Tipo |
Descrição |
|---|---|---|---|
|
project_id |
Sim |
String |
ID do projeto. |
Parâmetros 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). |
|
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
|
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
grant_id |
String |
ID da concessão, que contém 64 bytes. |
Código de status: 400
|
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
error |
Object |
Mensagem de erro. |
|
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
error_code |
String |
Código de erro. |
|
error_msg |
String |
Informação de erro. |
Código de status: 403
|
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
error |
Object |
Mensagem de erro. |
|
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
error_code |
String |
Código de erro. |
|
error_msg |
String |
Informação de erro. |
Código de status: 404
|
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
error |
Object |
Mensagem de erro. |
|
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.