Creación de una autorización
Función
Esta API se utiliza para crear una autorización. Un concesionario puede realizar operaciones en una clave concedida.
Restricciones
Una Default Master Key (cuyo sufijo de alias es /default) no permite la concesión de permisos.
URI
POST /v1.0/{project_id}/kms/create-grant
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
ID del proyecto. |
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
X-Auth-Token |
Sí |
String |
Token de usuario. El token se puede obtener llamando a la API IAM (valor de X-Subject-Token en el encabezado de respuesta). |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
key_id |
Sí |
String |
CMK ID. Debe tener 36 bytes y coincidir con la expresión regular ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$. Ejemplo: 0d0466b0-e727-4d9c-b35d-f84bb474a37f |
grantee_principal |
Sí |
String |
ID del concesionario, que contiene de 1 a 64 bytes y coincide con la expresión regular ^[a-zA-Z0-9]{1, 64}$. Ejemplo: 0d0466b00d0466b00d0466b00d0466b0 |
operations |
Sí |
Array of strings |
Lista de operaciones concedidas. Valores: create-datakey, create-datakey-without-plaintext, encrypt-datakey, decrypt-datakey, describe-key, create-grant, retire-grant, encrypt-data, decrypt-data. Un valor que contiene sólo create-grant no es válido. |
name |
No |
String |
Nombre de concesión. El valor es una cadena de 1 a 255 caracteres y coincide con la expresión regular ^[a-zA-Z0-9:/_-]{1,255}$. |
retiring_principal |
No |
String |
ID del usuario que puede retirar una concesión. Contiene de 1 a 64 bytes y coincide con la expresión regular ^[a-zA-Z0-9]{1, 64}$. Ejemplo: 0d0466b00d0466b00d0466b00d0466b0 |
grantee_principal_type |
No |
String |
Tipo de concesión. Valores: user, domain. El valor predeterminado es user. |
sequence |
No |
String |
Número de secuencia de 36 bytes de un mensaje de solicitud. Ejemplo: 919c82d4-8046-4722-9094-35c3c6524cff |
Parámetros de respuesta
Código de estado: 200
Parámetro |
Tipo |
Descripción |
---|---|---|
grant_id |
String |
ID de concesión, que contiene 64 bytes. |
Código de estado: 400
Parámetro |
Tipo |
Descripción |
---|---|---|
error |
Object |
Mensaje de error. |
Parámetro |
Tipo |
Descripción |
---|---|---|
error_code |
String |
Código de error. |
error_msg |
String |
Información de error. |
Código de estado: 403
Parámetro |
Tipo |
Descripción |
---|---|---|
error |
Object |
Mensaje de error. |
Parámetro |
Tipo |
Descripción |
---|---|---|
error_code |
String |
Código de error. |
error_msg |
String |
Información de error. |
Código de estado: 404
Parámetro |
Tipo |
Descripción |
---|---|---|
error |
Object |
Mensaje de error. |
Parámetro |
Tipo |
Descripción |
---|---|---|
error_code |
String |
Código de error. |
error_msg |
String |
Información de error. |
Solicitudes de ejemplo
{ "key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "operations" : [ "describe-key", "create-datakey", "encrypt-datakey" ], "grantee_principal" : "13gg44z4g2sglzk0egw0u726zoyzvrs8", "grantee_principal_type" : "user", "retiring_principal" : "13gg44z4g2sglzk0egw0u726zoyzvrs8" }
Ejemplo de respuestas
Código de estado: 200
El procesamiento de la solicitud se ha realizado correctamente.
{ "grant_id" : "7c9a3286af4fcca5f0a385ad13e1d21a50e27b6dbcab50f37f30f93b8939827d" }
Código de estado: 400
Parámetros de solicitud no válidos.
{ "error" : { "error_code" : "KMS.XXX", "error_msg" : "XXX" } }
Código de estado: 403
Error de autenticación.
{ "error" : { "error_code" : "KMS.XXX", "error_msg" : "XXX" } }
Código de estado: 404
La página solicitada no existe o no se encuentra.
{ "error" : { "error_code" : "KMS.XXX", "error_msg" : "XXX" } }
Códigos de estado
Código de estado |
Descripción |
---|---|
200 |
El procesamiento de la solicitud se ha realizado correctamente. |
400 |
Parámetros de solicitud no válidos. |
403 |
Error de autenticación. |
404 |
La página solicitada no existe o no se encuentra. |
Códigos de error
Consulte Códigos de error.