Te ofrecemos esta traducción automática para facilitar la lectura.
En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.
Tutorial de NerdGraph: Servicio de gestión de secretos
Cuando trabajas con New Relic, es posible que necesites almacenar información confidencial como claves de API y credenciales de aplicaciones. En New Relic, estos se denominan secretos. El Secrets management service proporciona una forma segura de almacenar y recuperar estos secretos en una ubicación centralizada a través de nuestra API de NerdGraph.
Importante
Puede almacenar secretos solo en formato de cadena.
Las características clave de Secrets management service son:
Claves únicas para secretos: Puede evitar la exposición accidental de secretos asignando una clave única a cada uno al almacenarlos. Utilice la clave para recuperar y administrar los secretos.
Secretos almacenados a nivel de cuenta u organización: Para acceder y usar un secreto en múltiples cuentas, puedes almacenarlo a nivel de organización. Si un secreto es específico de una sola cuenta, puede almacenarlo a nivel de cuenta.
Versiones de secretos: Puedes actualizar un secreto sin perder la versión anterior. El Secrets management service realiza un seguimiento de todas las versiones de un secreto.
Eliminación y recuperación controlada de secretos: El servicio permite la eliminación recuperable de secretos. Los usuarios sin el permiso Purge pueden eliminar secretos de forma temporal. La eliminación permanente está restringida a los usuarios con el permiso Purge.
Secretos estándar con acceso basado en roles: Los secretos estándar son accesibles para todos los usuarios con permisos en la cuenta u organización. Los administradores controlan el acceso asignando roles personalizados con niveles de permiso que van desde View hasta Purge.
Secretos compartibles con acceso detallado: Los secretos compartibles son privados de forma predeterminada para el creador, quien puede otorgar permisos específicos (lectura, actualización, eliminación) a usuarios individuales, grupos o identidades del sistema. Los administradores de la organización conservan acceso completo a todos los secretos compartibles para supervisión y gestión.
Facturación de los servicios de gestión de secretos
Secrets management service es una función de Producto de cómputo avanzado que se ofrece como un complemento o como parte del modelo de precios de cómputo. Los CCU avanzados se consumen cuando se ejecutan consultas de NerdGraph para almacenar, recuperar o administrar secretos.
Control de acceso estándar a secretos
Los usuarios con roles estándar pueden acceder a los Secrets management service específicos de las cuentas a las que tienen acceso, con los siguientes permisos.
Solo lectura: Los usuarios solo pueden recuperar secretos. No pueden crear, actualizar o eliminar secretos.
Usuario estándar: Los usuarios pueden crear, actualizar, recuperar y eliminar de forma temporal secretos.
Todos los administradores de productos: Los usuarios tienen acceso completo al Secrets management service. Pueden crear, actualizar, recuperar, eliminar de forma temporal, eliminar de forma permanente y obtener la lista de secretos.
Usuario de facturación: Los usuarios solo pueden obtener la lista de secretos.
Para administrar secretos a nivel de cuenta con un rol no estándar, pídale a su administrador que cree un rol personalizado con los permisos necesarios y asígnelos a su grupo de usuarios.
Para administrar secretos a nivel de organización, pídale a su administrador que cree un rol personalizado con alcance de organización a través de la API de NerdGraph, agregue los permisos requeridos y asígnelo al grupo de usuarios. Los Administradores de la organización tienen permisos predeterminados a nivel de organización, pero para permitirles administrar secretos, pídale a su administrador que les asigne un rol personalizado específico para el Secrets management service.
Importante
Configure y ajuste los usuarios, roles, permisos y el acceso a Secrets management service a nivel de cuenta y organización, de acuerdo con las políticas y requisitos de su organización.
Secretos compartibles con acceso detallado
Si bien los secretos estándar son accesibles para todos los usuarios con permisos en una cuenta u organización, las empresas con múltiples equipos a menudo necesitan restringir los secretos a individuos específicos. Los secretos compartibles abordan esta necesidad.
Importante
Para trabajar con secretos compartibles, los usuarios primero deben tener los permisos básicos descritos en Control de acceso a secretos estándar. Los permisos de acceso detallados que se describen a continuación son adicionales a esos requisitos básicos.
Cuando crea un secreto compartible, automáticamente se convierte en su propietario con control total. Puede otorgar acceso a usuarios, grupos o identidades del sistema asignando permisos individuales o utilizando roles que agrupan múltiples permisos.
Permisos individuales (otorgados además del acceso base):
Leer: Recuperar el valor del secreto
Actualizar: Cambiar el valor del secreto
Eliminar: Eliminar el secreto
Roles predefinidos (otorgados además del acceso base):
Propietario del secreto: Control total (leer, actualizar, eliminar, otorgar/revocar)
Lector de secretos: Acceso de solo lectura
También puede crear roles personalizados que combinen permisos específicos según sus necesidades. Los administradores de la organización conservan acceso completo a todos los secretos compartibles para supervisión.
Cuando necesita un monitor sintético, un workflow u otro proceso automatizado para acceder a su secreto, otorga acceso a su identidad del sistema. Una identidad del sistema es un identificador único asignado a cada proceso automatizado en New Relic. Cuando vincula un secreto a un monitor o workflow a través de la interfaz de usuario de New Relic, la identidad del sistema para ese proceso automatizado se utiliza para controlar el acceso en tiempo de ejecución.
Importante
Los secretos estándar no se pueden convertir en secretos compartibles. Para migrar un secreto estándar existente, cree un nuevo secreto compartible con el mismo valor, otorgue el acceso apropiado, actualice sus aplicaciones y elimine el secreto anterior.
Requisitos previos
Para usar el Secrets management service, necesita:
Estos son los atributos comunes que utilizará en las mutaciones y consultas:
Nombre del atributo
Tipo de datos
Descripción
description
Cadena
Una breve descripción del secreto.
key
Cadena
Un identificador único para el secreto dentro de un espacio de nombres. La misma clave puede existir en diferentes espacios de nombres.
namespace
Cadena
Sirve como una agrupación lógica de secretos, organizándolos y clasificándolos para mejorar la gestión y evitar conflictos. Se empareja con la clave para crear una dirección única para el secreto. Este atributo es beneficioso en entornos con múltiples equipos o proyectos que utilizan New Relic.
scope
type: Enum
id: cadena
El alcance del almacenamiento de los secretos en términos de su accesibilidad. Los atributos definitorios son:
type: Para usar el secreto en múltiples cuentas, seleccione Organization. Si el secreto es específico de una sola cuenta, seleccione Account. Para almacenar un secreto a nivel de organización, debe tener el rol personalizado con alcance de organización con los permisos requeridos. Consulte la sección Control de acceso para obtener más detalles.
id: ID de cuenta u organización correspondiente.
tags
Matriz
Funciona como pares clave-valor que agregan metadatos a sus entidades, incluidas aplicaciones, servicios y hosts. Usando etiquetas, puede mejorar la capacidad de organizar, filtrar y administrar secretos.
value
Cadena
El secreto real.
purge
Booleano
Elimina todas las versiones del secreto.
true: Elimina el secreto permanentemente.
false: Puede recuperar el secreto eliminado con todas sus versiones.
Solo los administradores de todos los productos o un usuario que tenga un rol personalizado con el permiso purge pueden eliminar secretos de forma permanente. Para obtener más detalles, consulte la sección Control de acceso.
version
Cadena
Como puede almacenar múltiples versiones de un secreto, representa el número de versión del secreto.
cursor (Opcional)
Cadena
Al recuperar una lista de secretos, si la respuesta contiene el atributo nextCursor, indica que hay más secretos disponibles más allá de la página actual de resultados. Para acceder a la siguiente página de resultados, use el valor nextCursor en el atributo cursor y ejecute la consulta nuevamente.
Importante
Copie su secreto real solo en el atributo value. Asegúrese de que no esté declarado en ningún otro atributo, como description, key o namespace.
Operaciones
Las operaciones que puede realizar con el Secrets management service se organizan en dos categorías:
Sugerencia
Elegir entre secretos estándar y secretos compartibles:
Utilice secretos estándar (secretsManagementCreateSecret) cuando desee compartir un secreto con todos los usuarios que tienen acceso a la cuenta u organización.
Use secretos compartibles (secretsManagementCreateShareableSecret) cuando necesite controlar exactamente quién puede acceder a un secreto otorgando permisos a usuarios, grupos o identidades del sistema específicos.
Utilice la mutación secretsManagementCreateSecret con los siguientes parámetros para almacenar un secreto estándar que estará accesible para todos los usuarios con permisos en la cuenta u organización especificada.
Nombre del atributo
Tipo de datos
Descripción
description (Opcional)
Cadena
Proporcione una descripción para el secreto.
key (Requerido)
Cadena
Asigne una clave única para el secreto.
namespace (Opcional)
Cadena
Asigne un nombre si desea almacenar el secreto en un espacio de nombres específico.
scope (Requerido)
type: Enum id: string
type: Según su rol y sus requisitos, seleccione Account o Organization.
id: Ingrese la ID de cuenta u organización correspondiente.
tags (Opcional)
Matriz
Asigne un par clave-valor.
value (Requerido)
Cadena
Ingrese el secreto real.
Consulta de ejemplo:
mutation{
secretsManagementCreateSecret(
description:"ZXY"
key:"Test2"
scope:{id:1,type:ACCOUNT}
value:"1990@123"
namespace:"Namespace1"
)
}
Respuesta
Nombre del atributo
Descripción
description
La descripción del secreto, si se proporciona.
key
La clave asignada.
latestVersion
La versión del secreto. Si ha creado un nuevo secreto, la versión será 0.
metadata
Metadatos asociados con el secreto, si los hay.
namespace
El espacio de nombres del secreto, si se proporciona.
scope
El ID de la cuenta u organización asociado con el secreto.
tags
El par clave-valor asociado con el secreto, si lo hay.
Respuesta de ejemplo:
{
"data":{
"secretsManagementCreateSecret":{
"description":"ZXY",
"key":"Test2",
"latestVersion":0,
"scope":{
"id":"1",
"type":"ACCOUNT"
}
}
}
}
Utilice la mutación secretsManagementCreateShareableSecret para crear un secreto privado con control de acceso detallado. Cuando crea un secreto compartible, se convierte automáticamente en el propietario con control total sobre quién puede acceder a él.
Nombre del atributo
Tipo de datos
Descripción
description (Opcional)
Cadena
Proporcione una descripción para el secreto.
key (Requerido)
Cadena
Asigne una clave única para el secreto.
namespace (Opcional)
Cadena
Asigne un nombre si desea almacenar el secreto en un espacio de nombres específico.
scope (Requerido)
type: Enum id: string
type: Según su rol y sus requisitos, seleccione Account o Organization.
id: Ingrese la ID de cuenta u organización correspondiente.
tags (Opcional)
Matriz
Asigne un par clave-valor.
value (Requerido)
Cadena
Ingrese el secreto real.
Consulta de ejemplo:
mutation{
secretsManagementCreateShareableSecret(
scope:{type:ACCOUNT,id:1}
key:"prod-api-key"
value:"sk_live_abc123xyz"
namespace:"production"
description:"Private API key for production"
tags:[{key:"environment",value:"production"}]
){
scope{
type
id
}
key
namespace
latestVersion
description
tags{
key
value
}
metadata{
createdAt
updatedAt
}
}
}
Respuesta
Nombre del atributo
Descripción
description
La descripción del secreto, si se proporciona.
key
La clave asignada.
latestVersion
La versión del secreto. Si ha creado un nuevo secreto, la versión será 0.
metadata
Metadatos asociados con el secreto, incluyendo:
createdAt: Marca de tiempo cuando se creó el secreto
updatedAt: Marca de tiempo de la última actualización del secreto
namespace
El espacio de nombres del secreto, si se proporciona.
scope
El ID de la cuenta u organización asociado con el secreto.
tags
El par clave-valor asociado con el secreto, si lo hay.
Respuesta de ejemplo:
{
"data":{
"secretsManagementCreateShareableSecret":{
"scope":{
"type":"ACCOUNT",
"id":"1"
},
"key":"prod-api-key",
"namespace":"production",
"latestVersion":0,
"description":"Private API key for production",
"tags":[
{
"key":"environment",
"value":"production"
}
],
"metadata":{
"createdAt":"2025-10-30T12:34:56.789Z",
"updatedAt":"2025-10-30T12:34:56.789Z"
}
}
}
}
Sugerencia
Después de crear un secreto compartible, usted se convierte en el propietario automáticamente. Para otorgar acceso a otros usuarios, grupos o identidades del sistema, use la mutación authorizationManagementGrantAccess. Para obtener más detalles, consulte la sección Otorgar acceso a un secreto compartible.
Utilice la consulta {customerAdministration {secret}} para recuperar secretos junto con sus detalles. Puede recuperar secretos que solo están dentro del alcance de su cuenta u organización actual.
Nombre del atributo
Tipo de datos
Descripción
key (Requerido)
Cadena
Clave del secreto que desea recuperar.
namespace (Opcional)
Cadena
El espacio de nombres del secreto, si está disponible.
scope (Requerido)
type: Enum id: string
type: Seleccione account o organization en el nivel en el que se almacena el secreto.
id: Ingrese la ID de cuenta u organización correspondiente.
unlock (Opcional)
Cadena
El valor predeterminado false devuelve los metadatos del secreto sin desbloquearlo. Si desea desbloquear el secreto y recuperar su valor real, configúrelo en true.
version (Opcional)
Entero
Ingrese una versión específica del secreto que desea recuperar. Si no proporciona una versión, se recuperará la última versión.
Indica si el secreto es un secreto compartible con control de acceso detallado. Si true, el secreto usa permisos detallados y es privado para el creador de forma predeterminada. Si false, es un secreto estándar accesible para todos los usuarios con permisos en la cuenta u organización.
key
La clave del secreto.
metadata
Metadatos asociados con el secreto, si los hay.
namespace
El espacio de nombres del secreto, si se proporciona.
retrievedValue
value: El valor real del secreto, si unlock está configurado en true.
version: La versión del secreto.
scope
El ID de la cuenta u organización asociado con el secreto.
tags
El par clave-valor asociado con el secreto, si lo hay.
Respuesta de ejemplo:
{
"data":{
"customerAdministration":{
"secret":{
"description":"ZXY",
"isSharable":false,
"key":"Test2",
"namespace":null,
"retrievedValue":{
"value":"1995@123",
"version":1
},
"scope":{
"id":"1",
"type":"ACCOUNT"
}
}
}
}
}
Utilice la mutación secretsManagementUpdateSecret para actualizar el valor de los secretos existentes.
Sugerencia
Cada operación de actualización crea una nueva versión del secreto. La versión más alta es siempre la última versión del secreto. Para recuperar versiones anteriores del secreto, puede usar la consulta {customerAdministration {secretVersions}}. Para obtener más detalles, consulte la sección Recuperar toda la información de la versión de un secreto.
Parámetros de entrada
Nombre del atributo
Tipo de datos
Descripción
description (Opcional)
Cadena
Agregue una descripción si desea actualizar el existente.
key (Requerido)
Cadena
Ingrese la clave del secreto cuyo valor desea actualizar.
namespace (Opcional)
Cadena
Espacio de nombres del secreto, si está disponible.
scope (Requerido)
type: Enum id: string
type: Seleccione Account o Organization en el nivel en el que se almacena el secreto.
id: Ingrese la ID de cuenta u organización correspondiente.
value (Requerido)
Cadena
El valor actualizado para el secreto.
Consulta de ejemplo:
mutation{
secretsManagementUpdateSecret(
key:"Test2"
scope:{id:1,type:ACCOUNT}
value:"1995@123"
)
}
Respuesta
Nombre del atributo
Descripción
description
Descripción actualizada del secreto, si se proporciona.
key
La clave del secreto.
latestVersion
El número de versión más reciente del secreto después de la actualización.
metadata
Metadatos asociados con el secreto, si los hay.
namespace
El espacio de nombres del secreto, si lo hay.
scope
El ID de la cuenta u organización asociado con el secreto.
tags
El par clave-valor asociado con el secreto, si lo hay.
Respuesta de ejemplo:
{
"data":{
"secretsManagementUpdateSecret":{
"description":"ZXY",
"key":"Test2",
"latestVersion":1,
"scope":{
"id":"1",
"type":"ACCOUNT"
}
}
}
}
Utilice la consulta {customerAdministration {secretVersions}} para recuperar hasta 10 versiones recientes de un secreto junto con sus detalles. Puede recuperar secretos que solo están dentro del alcance de su cuenta u organización actual.
Nombre del atributo
Tipo de datos
Descripción
fetchDeleted (Opcional)
Cadena
Para obtener solo las versiones no eliminadas del secreto, configúrelo en false. Para obtener versiones del secreto, incluidas las eliminadas temporalmente, configúrelo en true.
key (Requerido)
Cadena
Clave del secreto que desea recuperar.
namespace (Opcional)
Cadena
El espacio de nombres del secreto, si está disponible.
scope (Requerido)
type: Enum id: string
type: Seleccione account o organization en el nivel en el que se almacena el secreto.
id: Ingrese la ID de cuenta u organización correspondiente.
Consulta de ejemplo:
{
customerAdministration{
secretVersions(
fetchDeleted:true
key:"Test2"
scope:{id:1,type:ACCOUNT}
)
}
}
Respuesta
Nombre del atributo
Descripción
key
La clave del secreto.
latestVersion
El número de versión más reciente del secreto.
namespace
El espacio de nombres del secreto, si se proporciona.
scope
El ID de la cuenta u organización asociado con el secreto.
secretVersions
Una matriz de objetos que contiene los detalles de cada versión del secreto, que incluye:
createdAt: Marcas de tiempo que indican cuándo se creó cada versión.
isDeleted: Indica si la versión del secreto está eliminada o no.
version: El número de versión del secreto.
Respuesta de ejemplo:
{
"data":{
"customerAdministration":{
"secretVersions":{
"key":"Test2",
"latestVersion":1,
"namespace":null,
"scope":{
"id":"1",
"type":"ACCOUNT"
},
"secretVersions":[
{
"createdAt":"2025-05-26T07:52:23.920250Z",
"isDeleted":false,
"version":1
},
{
"createdAt":"2025-05-26T07:45:19.395796Z",
"isDeleted":false,
"version":0
}
]
}
}
}
}
Utilice la mutación secretsManagementDeleteSecret para eliminar todas las versiones de un secreto. Solo los administradores de todos los productos o un usuario que tenga un rol personalizado con el permiso purge pueden optar por eliminar secretos de forma permanente. Otros usuarios no pueden eliminar secretos de forma permanente. Si no ha eliminado el secreto de forma permanente, puede recuperarlo utilizando la mutación secretsManagementRecoverSecret.
Atributos de entrada
Nombre del atributo
Tipo de datos
Descripción
key (Requerido)
Cadena
La clave del secreto que desea eliminar.
namespace (Opcional)
Cadena
Espacio de nombres del secreto, si está disponible.
purge (Requerido)
Booleano
Para eliminar el secreto permanentemente, establezca el valor en true. Para la eliminación temporal, establezca el valor en false.
scope (Requerido)
type: Enum id: string
type: Seleccione el nivel en el que se almacena su secreto.
id: Ingrese la ID de cuenta u organización correspondiente.
Consulta de ejemplo:
mutation{
secretsManagementDeleteSecret(
key:"Test1"
scope:{id:1,type:ACCOUNT}
purge:false
)
}
Respuesta
Nombre del atributo
Descripción
key
La clave del secreto eliminado.
namespace
El espacio de nombres del secreto eliminado, si está disponible.
scope
: El ID de cuenta u organización asociado con el secreto eliminado.
Respuesta de ejemplo:
{
"data":{
"secretsManagementDeleteSecret":{
"key":"Test1",
"namespace":null,
"scope":{
"id":"1",
"type":"ACCOUNT"
}
}
}
}
Utilice la mutación secretsManagementRecoverSecret para recuperar secretos que haya eliminado utilizando la mutación secretsManagementDeleteSecret antes con el atributo purge establecido en false. Si un secreto se elimina permanentemente, no puede recuperarlo.
Atributos de entrada
Nombre del atributo
Tipo de datos
Descripción
key (Requerido)
Cadena
La clave del secreto que desea recuperar.
namespace (Opcional)
Cadena
El espacio de nombres del secreto eliminado, si está disponible.
scope (Requerido)
type: Enum id: string
type: Seleccione Account o Organization en qué nivel se almacenó el secreto.
idIngrese el ID correspondiente de la cuenta u organización.
El espacio de nombres del secreto recuperado, si está disponible.
scope
El ID de la cuenta u organización asociado con el secreto recuperado.
Respuesta de ejemplo:
{
"data":{
"secretsManagementRecoverSecret":{
"key":"Test1",
"latestVersion":1,
"namespace":null,
"scope":{
"id":"1",
"type":"ACCOUNT"
}
}
}
}
Utilice la mutación secretsManagementDeleteSecretVersion para eliminar una versión específica de un secreto. Solo los administradores de todos los productos o un usuario que tenga un rol personalizado con el permiso purge pueden optar por eliminarlo permanentemente. Otros usuarios no pueden eliminar la versión del secreto de forma permanente. Si no ha eliminado la versión del secreto de forma permanente, puede recuperarla utilizando la mutación secretsManagementDeleteSecretVersion.
Atributos de entrada
Nombre del atributo
Tipo de datos
Descripción
key (Requerido)
Cadena
La clave del secreto para el que desea eliminar una de las versiones.
namespace (Opcional)
Cadena
Espacio de nombres del secreto, si está disponible.
purge (Requerido)
Booleano
Para eliminar la versión del secreto de forma permanente, establezca el valor en true. Para la eliminación temporal, establezca el valor en false.
scope (Requerido)
type: Enum id: string
type: Seleccione el nivel en el que se almacena su secreto.
idIngrese el ID correspondiente de la cuenta u organización.
version (Opcional)
Cadena
La versión específica del secreto que desea eliminar. Si no proporciona una versión, se eliminará la última versión y la versión anterior se convertirá en la última versión.
Consulta de ejemplo:
mutation{
secretsManagementDeleteSecretVersion(
key:"Test2"
purge:false
scope:{id:1,type:ACCOUNT}
version:0
)
}
Respuesta
Nombre del atributo
Descripción
key
La clave del secreto.
latestVersion
La última versión del secreto disponible después de la eliminación de la versión especificada.
namespace
El espacio de nombres del secreto, si está disponible.
scope
El ID de la cuenta u organización asociado con el secreto.
Respuesta de ejemplo:
{
"data":{
"secretsManagementDeleteSecretVersion":{
"key":"Test2",
"latestVersion":1,
"scope":{
"id":"1"
}
}
}
}
Use la mutación secretsManagementRecoverSecretVersion para recuperar una versión específica del secreto que ha eliminado temporalmente usando la mutación secretsManagementDeleteSecretVersion. Si una versión se elimina permanentemente, no puede recuperarla.
Atributos de entrada
Nombre del atributo
Tipo de datos
Descripción
key (Requerido)
Cadena
La clave del secreto para el que desea recuperar una de las versiones.
namespace (Opcional)
Cadena
El espacio de nombres del secreto, si está disponible.
scope (Requerido)
type: Enum id: string
type: Seleccione Account o Organization en qué nivel pertenece el secreto.
idIngrese el ID correspondiente de la cuenta u organización.
version (Opcional)
Cadena
Ingrese el número de versión del secreto que desea recuperar. Si no proporciona una versión, recupera la versión más alta del secreto que se eliminó temporalmente.
Consulta de ejemplo:
mutation{
secretsManagementRecoverSecretVersion(
key:"Test2"
scope:{id:1,type:ACCOUNT}
version:0
)
}
Respuesta
Nombre del atributo
Descripción
key
La clave del secreto.
latestVersion
La última versión del secreto después de la recuperación.
namespace
El espacio de nombres del secreto, si está disponible.
scope
El ID de la cuenta u organización asociado con el secreto.
Respuesta de ejemplo:
{
"data":{
"secretsManagementRecoverSecretVersion":{
"key":"Test2",
"latestVersion":1,
"namespace":null,
"scope":{
"id":"1",
"type":"ACCOUNT"
}
}
}
}
Utilice la consulta {customerAdministration {secrets}} para recuperar una lista de secretos disponibles en la cuenta u organización. Puede recuperar secretos que solo están dentro del alcance de su cuenta u organización actual.
Sugerencia
La lista incluye todos los secretos en el alcance, incluidos los secretos compartibles a los que es posible que no tenga permiso para acceder. Los permisos de acceso se aplican cuando recupera el valor del secreto utilizando la operación Recuperar un secreto.
Nombre del atributo
Tipo de datos
Descripción
cursor (Opcional)
Cadena
Use el cursor para navegar por las listas de secretos. Para obtener la primera página de la lista de secretos, este parámetro no es obligatorio. Si desea acceder a la página siguiente, utilice el valor NextCursor de la respuesta anterior.
filter (Requerido)
deleted (Opcional): Booleano
namespace (Opcional): Cadena
scope (Requerido)
type: Enum
id: cadena
Agregue el siguiente filtro para aplicar los criterios de búsqueda:
deleted: Para obtener todos los secretos, incluidos los eliminados temporalmente, configúrelo en true. Para obtener solo los secretos no eliminados, configúrelo en false.
namespace: Para filtrar secretos por espacio de nombres, proporcione el nombre del espacio de nombres.
scope: Para filtrar secretos por alcance, proporcione el nivel (Account o Organization) y el ID correspondiente.
sort (Opcional)
direction (Obligatorio): Booleano
key (Obligatorio): Booleano
Para ordenar la lista de secretos, proporcione los siguientes atributos:
direction: Seleccione ASC para orden ascendente o DESC para orden descendente.
key: La opción disponible es CREATED_AT. Esto ordena los secretos según su tiempo de creación.
Consulta de ejemplo:
{
customerAdministration{
secrets(
filter:{
deleted:{eq:false}
scope:{eq:{id:1,type:ACCOUNT}}
}
cursor:""
sort:{direction:DESC,key:CREATED_AT}
)
}
}
Respuesta
Nombre del atributo
Descripción
nextCursor
El valor del cursor para acceder a la siguiente página de la lista de secretos. Si no hay más páginas, este valor será null.
scope
El ID de la cuenta u organización asociado con el secreto.
secrets
Los detalles de los secretos enumerados, que incluyen:
description: La descripción del secreto, si está disponible.
isDeleted: Indica si el secreto está en un estado de eliminación temporal o no.
isSharable: Indica si el secreto es un secreto compartible con control de acceso detallado.
key: La clave del secreto.
latestVersion: El número de versión más reciente del secreto.
metadata: Metadatos asociados con el secreto, si los hay.
createdAt: Marcas de tiempo que indican cuándo se creó el secreto.
updatedAt: Marcas de tiempo que indican cuándo se actualizó por última vez el secreto.
namespace: El espacio de nombres del secreto, si está disponible.
tags: El par clave y valor asociado con el secreto, si lo hay.
totalCount
El número total de secretos disponibles en la cuenta u organización, independientemente de la paginación.
Después de crear un secreto compartible, puede otorgar permisos específicos a usuarios, grupos, identidades del sistema o grupos de identidades del sistema. Utilice la mutación authorizationManagementGrantAccess para compartir su secreto con las entidades autorizadas.
Importante
El propietario del secreto (creador), los administradores de la organización o los usuarios con la capacidad secret.create.grants pueden otorgar acceso a un secreto compartible.
Atributos de entrada
Nombre del atributo
Tipo de datos
Descripción
grantAccessOptions (Requerido)
Objeto
Contiene la configuración de otorgamiento con dos componentes principales:
entityAccessGrants: Define el secreto y el rol a otorgar
grantee: Especifica quién recibe acceso
entityAccessGrants.entity.id (Requerido)
Cadena
El ID único del secreto. El formato es namespace::partition::entry_key_secret.
Por ejemplo, si creó un secreto con la clave prod-api-key en la cuenta 12345 con el espacio de nombres production, el ID de la entidad es: production::account-12345::prod-api-key. Si no se proporcionó ningún espacio de nombres, use una cadena vacía: ::account-12345::prod-api-key.
entityAccessGrants.entity.type (Requerido)
Cadena
El tipo de entidad. Para los secretos, esto es siempre secret.
entityAccessGrants.roleId (Requerido)
Cadena
El ID único del rol a otorgar. Para encontrar los ID de rol disponibles, utilice el explorador de la API de NerdGraph para consultar los roles con el alcance secret. Los roles comunes incluyen Propietario del secreto (control total) y Lector del secreto (acceso de solo lectura).
grantee.id (Requerido)
Cadena
El ID único del usuario, grupo, identidad del sistema o grupo de identidad del sistema que recibe acceso.
grantee.type (Requerido)
Enumeración
El tipo de beneficiario. Valores válidos:
USER: Usuario individual
GROUP: Grupo de usuarios
SYSTEM_IDENTITY: Identidad del sistema (para procesos automatizados)
SYSTEM_IDENTITY_GROUP: Grupo de identidad del sistema
Una matriz de asignaciones de roles creadas por la operación de otorgamiento, que incluye:
id: El identificador único de la concesión
roleId: El ID de rol que se otorgó
Respuesta de ejemplo:
{
"data":{
"authorizationManagementGrantAccess":{
"roles":[
{
"id":"grant-id-xyz789",
"roleId":"role-id-for-secret-reader"
}
]
}
}
}
Sugerencia
Para revocar el acceso a un secreto compartible, use la mutación authorizationManagementRevokeAccess.
Use la mutación authorizationManagementRevokeAccess para revocar el acceso de usuarios, grupos, identidades del sistema o grupos de identidades del sistema a los que se les otorgó acceso previamente a su secreto compartible.
Importante
El propietario del secreto (creador), los administradores de la organización o los usuarios con el permiso de revocación adecuado pueden eliminar el acceso a un secreto compartible.
Atributos de entrada
Nombre del atributo
Tipo de datos
Descripción
grantAccessOptions (Requerido)
Objeto
Contiene la configuración de revocación con la misma estructura que la operación de otorgamiento.
entityAccessGrants.entity.id (Requerido)
Cadena
El ID único del secreto en el formato namespace::partition::entry_key_secret.
entityAccessGrants.entity.type (Requerido)
Cadena
El tipo de entidad. Para los secretos, esto es siempre secret.
entityAccessGrants.roleId (Requerido)
Cadena
El ID único del rol a revocar.
grantee.id (Requerido)
Cadena
El ID único del usuario, grupo, identidad del sistema o grupo de identidad del sistema al que se le revocará el acceso.
grantee.type (Requerido)
Enumeración
El tipo de beneficiario. Valores válidos: USER, GROUP, SYSTEM_IDENTITY, SYSTEM_IDENTITY_GROUP.
Una matriz de información de roles relacionada con la concesión revocada.
Respuesta de ejemplo:
{
"data":{
"authorizationManagementRevokeAccess":{
"roles":[
{
"id":"grant-id-xyz789",
"roleId":"role-id-for-secret-reader"
}
]
}
}
}
Use la consulta customerAdministration/entityGrants para ver qué usuarios, grupos, identidades del sistema o grupos de identidades del sistema han recibido acceso a su secreto compartible.
Sugerencia
Esta consulta devuelve solo las concesiones explícitas realizadas directamente en el secreto. No muestra el acceso implícito ni los permisos heredados de los ámbitos principales.
Atributos de entrada
Nombre del atributo
Tipo de datos
Descripción
iamParent.id (Requerido)
Cadena
El ID de la cuenta u organización donde se almacena el secreto.
iamParent.scope (Requerido)
Enumeración
El tipo de ámbito principal. Valores válidos: ACCOUNT, ORGANIZATION.
entity.id (Opcional)
Cadena
El ID único del secreto en el formato namespace::partition::entry_key_secret. Cuando se proporciona, solo se devuelven las concesiones para este secreto específico.
entity.type (Requerido)
Cadena
El tipo de entidad. Para los secretos, esto es siempre secret.
member.id (Opcional)
Cadena
Filtrar las concesiones por el ID de un usuario, grupo, identidad del sistema o grupo de identidades del sistema específicos.
member.type (Opcional)
Enumeración
El tipo de miembro por el que filtrar. Valores válidos: USER, GROUP, SYSTEM_IDENTITY, SYSTEM_IDENTITY_GROUP.
Consulta de ejemplo:
{
customerAdministration{
entityGrants(
filter:{
iamParent:{id:{eq:"12345"},scope:{eq:ACCOUNT}}
entity:{
id:{eq:"production::account-12345::prod-api-key"}
type:{eq:"secret"}
}
}
cursor:""
){
items{
targetEntity{
id
}
member{
memberId
memberType
}
id
role{
name
id
}
}
nextCursor
}
}
}
Respuesta
Nombre del atributo
Descripción
items
Una matriz de objetos de concesión, cada uno de los cuales contiene:
targetEntity.id: El ID de entidad del secreto
member.memberId: El ID del usuario, grupo, identidad del sistema o grupo de identidad del sistema
member.memberType: El tipo de miembro (USUARIO, GRUPO, IDENTIDAD_DEL_SISTEMA o GRUPO_DE_IDENTIDAD_DEL_SISTEMA)
id: El identificador único de la concesión (utilice esto para revocar el acceso)
role.name: El nombre del rol otorgado
role.id: El identificador único del rol
nextCursor
El valor del cursor para la paginación. Use este valor en la siguiente consulta para recuperar resultados adicionales.