Cette traduction automatique est fournie pour votre commodité.
En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.
Tutoriel NerdGraph : service de gestion des secrets
Lorsque vous travaillez avec New Relic, vous pouvez avoir besoin de stocker des informations sensibles telles que les clés API et les identifiants d'application. Dans New Relic, on les appelle des secrets. Le Secrets management service offre un moyen sécurisé de stocker et de récupérer ces secrets dans un emplacement centralisé via notre API NerdGraph.
Important
Vous ne pouvez stocker les secrets qu'au format chaîne de caractères.
Les principales fonctionnalités de Secrets management service sont :
Clés uniques pour les secrets: vous pouvez empêcher l’exposition accidentelle des secrets en attribuant une clé unique à chacun d’eux lors du stockage. Utilisez la clé pour récupérer et gérer les secrets.
Secrets stockés au niveau du compte ou de l'organisation: Pour accéder à un secret et l'utiliser sur plusieurs comptes, vous pouvez le stocker au niveau de l'organisation. Si un secret est spécifique à un seul compte, vous pouvez le stocker au niveau du compte.
Versions des secrets: vous pouvez mettre à jour un secret sans perdre la version précédente. Le Secrets management service suit toutes les versions d'un secret.
Suppression et récupération contrôlées des secrets: Le service permet la suppression récupérable des secrets. Les utilisateurs sans l’autorisation Purge peuvent supprimer temporairement des secrets. La suppression permanente est réservée aux utilisateurs disposant de l’autorisation Purge.
Secrets standard avec accès basé sur les rôles: Les secrets standard sont accessibles à tous les utilisateurs disposant d'autorisations dans le compte ou l'organisation. Les administrateurs contrôlent l'accès en attribuant des rôles personnalisés avec des niveaux d'autorisation allant de View à Purge.
Secrets partageables avec un accès précis: Les secrets partageables sont par défaut privés pour le créateur, qui peut accorder des autorisations spécifiques (lecture, mise à jour, suppression) à des utilisateurs, des groupes ou des identités système individuels. Les administrateurs de l’organisation conservent un accès complet à tous les secrets partageables à des fins de supervision et de gestion.
Facturation des services de gestion des secrets
Le Secrets management service est une fonctionnalité Advanced Compute Product proposée en tant que module complémentaire ou dans le cadre du modèle de tarification Compute. Les CCU avancées sont consommées lorsque des requêtes NerdGraph sont exécutées pour stocker, récupérer ou gérer des secrets.
Contrôle d'accès aux secrets standard
Les utilisateurs disposant de rôles standard peuvent accéder aux Secrets management service spécifiques aux comptes auxquels ils ont accès, avec les autorisations suivantes.
Lecture seule: les utilisateurs ne peuvent que récupérer les secrets. Ils ne peuvent pas créer, mettre à jour ou supprimer des secrets.
Utilisateur standard: Les utilisateurs peuvent créer, mettre à jour, récupérer et supprimer temporairement des secrets.
Tous les administrateurs de produits: les utilisateurs ont un accès complet à Secrets management service. Ils peuvent créer, mettre à jour, récupérer, supprimer temporairement, supprimer définitivement et extraire la liste des secrets.
Utilisateur de facturation: les utilisateurs ne peuvent extraire que la liste des secrets.
Pour gérer les secrets au niveau du compte avec un rôle non standard, demandez à votre administrateur de créer un rôle personnalisé avec les autorisations nécessaires et de l’attribuer à votre groupe d’utilisateurs.
Pour gérer les secrets au niveau de l’organisation, demandez à votre administrateur de créer un rôle personnalisé à l’échelle de l’organisation via l’API NerdGraph, d’ajouter les autorisations requises et de l’attribuer au groupe d’utilisateurs. Les Responsables d’organisation disposent d’autorisations par défaut au niveau de l’organisation, mais pour leur permettre de gérer les secrets, demandez à votre administrateur de leur attribuer un rôle personnalisé spécifique au Secrets management service.
Important
Configurez les utilisateurs, les rôles, les autorisations et l’accès au Secrets management service au niveau du compte et de l’organisation, conformément aux politiques et aux exigences de votre organisation.
Secrets partageables avec un accès précis
Alors que les secrets standard sont accessibles à tous les utilisateurs disposant d'autorisations dans un compte ou une organisation, les entreprises avec plusieurs équipes ont souvent besoin de restreindre les secrets à des individus spécifiques. Les secrets partageables répondent à ce besoin.
Important
Pour utiliser des secrets partageables, les utilisateurs doivent d'abord disposer des autorisations de base décrites dans Contrôle d'accès aux secrets standard. Les autorisations d'accès affinées décrites ci-dessous s'ajoutent à ces exigences de base.
Lorsque vous créez un secret partageable, vous en devenez automatiquement le propriétaire avec un contrôle total. Vous pouvez accorder l'accès aux utilisateurs, aux groupes ou aux identités système en attribuant des autorisations individuelles ou en utilisant des rôles qui regroupent plusieurs autorisations.
Autorisations individuelles (accordées en plus de l'accès de base) :
Lecture: Récupérer la valeur du secret
Mettre à jour: modifier la valeur du secret
Supprimer: Supprimer le secret
Rôles prédéfinis (accordés en plus de l’accès de base) :
Propriétaire du secret: Contrôle total (lecture, mise à jour, suppression, octroi/révocation)
Lecteur de secrets: Accès en lecture seule
Vous pouvez également créer des rôles personnalisés qui combinent des autorisations spécifiques en fonction de vos besoins. Les administrateurs d'organisation conservent un accès complet à tous les secrets partageables à des fins de supervision.
Lorsque vous avez besoin d'un moniteur synthétique, d'un workflow ou d'un autre processus automatisé pour accéder à votre secret, vous accordez l'accès à son identité système. Une identité système est un identifiant unique attribué à chaque processus automatisé dans New Relic. Lorsque vous liez un secret à un moniteur ou à un workflow via l'interface utilisateur de New Relic, l'identité système de ce processus automatisé est utilisée pour contrôler l'accès au moment de l'exécution.
Important
Les secrets standard ne peuvent pas être convertis en secrets partageables. Pour migrer un secret standard existant, créez un nouveau secret partageable avec la même valeur, accordez l'accès approprié, mettez à jour vos applications et supprimez l'ancien secret.
Conditions préalables
Pour utiliser le Secrets management service, vous avez besoin de :
Voici les attributs courants que vous utiliserez dans les mutations et les requêtes :
Nom de l'attribut
Type de données
Description
description
Chaîne
Une brève description du secret.
key
Chaîne
Un identifiant unique pour le secret dans un espace de noms. La même clé peut exister dans différents espaces de noms.
namespace
Chaîne
Sert de regroupement logique des secrets, en les organisant et en les catégorisant pour améliorer la gestion et éviter les conflits. Il s’associe à la clé pour créer une adresse unique pour le secret. Cet attribut est utile dans les environnements avec plusieurs équipes ou projets utilisant New Relic.
scope
type: Enum
id: chaîne
La portée du stockage des secrets en termes d’accessibilité. Les attributs de définition sont :
type: Pour utiliser le secret sur plusieurs comptes, sélectionnez Organization. Si le secret est spécifique à un seul compte, sélectionnez Account. Pour stocker un secret au niveau de l'organisation, vous devez disposer du rôle personnalisé à l'échelle de l'organisation avec les autorisations requises. Reportez-vous à la section Contrôle d'accès pour plus de détails.
id: ID de compte ou d’organisation correspondant.
tags
Array
Fonctionne comme des paires clé-valeur qui ajoutent des métadonnées à vos entités, y compris les applications, les services et les hôtes. L’utilisation de balises vous permet d’améliorer la capacité d’organisation, de filtrage et de gestion des secrets.
value
Chaîne
Le secret réel.
purge
Booléen
Supprime toutes les versions du secret.
true: Supprime le secret de façon permanente.
false: Vous pouvez récupérer le secret supprimé avec toutes ses versions.
Seuls les administrateurs de tous les produits ou un utilisateur ayant un rôle personnalisé avec l'autorisation purge peuvent supprimer définitivement les secrets. Pour plus de détails, consultez la section Contrôle d'accès.
version
Chaîne
Comme vous pouvez stocker plusieurs versions d'un secret, il représente le numéro de version du secret.
cursor (Facultatif)
Chaîne
Lors de la récupération d'une liste de secrets, si la réponse contient l'attribut nextCursor, cela indique qu'il y a plus de secrets disponibles au-delà de la page actuelle de résultats. Pour accéder à la page suivante de résultats, utilisez la valeur nextCursor dans l'attribut cursor et exécutez à nouveau la requête.
Important
Copiez votre secret réel uniquement dans l’attribut value. Assurez-vous qu’il n’est déclaré dans aucun autre attribut, tel que description, key ou namespace.
Opérations
Les opérations que vous pouvez effectuer avec Secrets management service sont organisées en deux catégories :
Conseil
Choisir entre des secrets standard et partageables :
Utilisez les secrets standard (secretsManagementCreateSecret) lorsque vous souhaitez partager un secret avec tous les utilisateurs qui ont accès au compte ou à l'organisation.
Utilisez les secrets partageables (secretsManagementCreateShareableSecret) lorsque vous devez contrôler exactement qui peut accéder à un secret en accordant des autorisations à des utilisateurs, des groupes ou des identités système spécifiques.
Utilisez la mutation secretsManagementCreateSecret avec les paramètres suivants pour stocker un secret standard qui sera accessible à tous les utilisateurs disposant d’autorisations dans le compte ou l’organisation spécifié.
Nom de l'attribut
Type de données
Description
description (Facultatif)
Chaîne
Donnez une description du secret.
key (Requis)
Chaîne
Attribuez une clé unique au secret.
namespace (Facultatif)
Chaîne
Attribuez un nom si vous souhaitez stocker le secret dans un espace de noms spécifique.
scope (Requis)
type: Enum id: chaîne
type: En fonction de votre rôle et de vos exigences, sélectionnez Account ou Organization.
id: Saisissez l'ID de compte ou d'organisation correspondant.
tags (Facultatif)
Array
Attribuez une paire clé-valeur.
value (Requis)
Chaîne
Saisissez le secret réel.
Exemple de requête :
mutation{
secretsManagementCreateSecret(
description:"ZXY"
key:"Test2"
scope:{id:1,type:ACCOUNT}
value:"1990@123"
namespace:"Namespace1"
)
}
Réponse
Nom de l'attribut
Description
description
La description du secret, si elle est fournie.
key
La clé attribuée.
latestVersion
La version du secret. Si vous avez créé un nouveau secret, la version sera 0.
metadata
Métadonnées associées au secret, le cas échéant.
namespace
L’espace de noms du secret, s’il est fourni.
scope
L'ID de compte ou d'organisation associé au secret.
tags
La paire clé-valeur associée au secret, le cas échéant.
Exemple de réponse :
{
"data":{
"secretsManagementCreateSecret":{
"description":"ZXY",
"key":"Test2",
"latestVersion":0,
"scope":{
"id":"1",
"type":"ACCOUNT"
}
}
}
Utilisez la mutation secretsManagementCreateShareableSecret pour créer un secret privé avec un contrôle d’accès précis. Lorsque vous créez un secret partageable, vous en devenez automatiquement le propriétaire avec un contrôle total sur les personnes qui peuvent y accéder.
Nom de l'attribut
Type de données
Description
description (Facultatif)
Chaîne
Donnez une description du secret.
key (Requis)
Chaîne
Attribuez une clé unique au secret.
namespace (Facultatif)
Chaîne
Attribuez un nom si vous souhaitez stocker le secret dans un espace de noms spécifique.
scope (Requis)
type: Enum id: chaîne
type: En fonction de votre rôle et de vos exigences, sélectionnez Account ou Organization.
id: Saisissez l'ID de compte ou d'organisation correspondant.
tags (Facultatif)
Array
Attribuez une paire clé-valeur.
value (Requis)
Chaîne
Saisissez le secret réel.
Exemple de requête :
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
}
}
}
Réponse
Nom de l'attribut
Description
description
La description du secret, si elle est fournie.
key
La clé attribuée.
latestVersion
La version du secret. Si vous avez créé un nouveau secret, la version sera 0.
metadata
Métadonnées associées au secret, notamment :
createdAt: Horodatage de la création du secret
updatedAt: Horodatage de la dernière mise à jour du secret
namespace
L’espace de noms du secret, s’il est fourni.
scope
L'ID de compte ou d'organisation associé au secret.
tags
La paire clé-valeur associée au secret, le cas échéant.
Exemple de réponse :
{
"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"
}
}
}
}
Conseil
Après avoir créé un secret partageable, vous en devenez automatiquement le propriétaire. Pour accorder l’accès à d’autres utilisateurs, groupes ou identités système, utilisez la mutation authorizationManagementGrantAccess. Pour plus de détails, consultez la section Accorder l’accès à un secret partageable.
Utilisez la requête {customerAdministration {secret}} pour récupérer les secrets ainsi que leurs détails. Vous pouvez récupérer les secrets qui sont uniquement limités à votre compte ou organisation actuel.
Nom de l'attribut
Type de données
Description
key (Requis)
Chaîne
Clé du secret que vous souhaitez récupérer.
namespace (Facultatif)
Chaîne
L'espace de noms du secret, s'il est disponible.
scope (Requis)
type: Enum id: chaîne
type: Sélectionnez account ou organization au niveau auquel le secret est stocké.
id: Saisissez l'ID de compte ou d'organisation correspondant.
unlock (Facultatif)
Chaîne
La valeur par défaut false renvoie les métadonnées du secret sans le déverrouiller. Si vous souhaitez déverrouiller le secret et récupérer sa valeur réelle, définissez-le sur true.
version (Facultatif)
Entier
Saisissez une version spécifique du secret que vous souhaitez récupérer. Si vous ne fournissez pas de version, la dernière version sera récupérée.
Indique si le secret est un secret partageable avec un contrôle d'accès précis. Si true, le secret utilise des autorisations précises et est privé par défaut pour le créateur. Si false, il s'agit d'un secret standard accessible à tous les utilisateurs disposant d'autorisations dans le compte ou l'organisation.
key
La clé du secret.
metadata
Métadonnées associées au secret, le cas échéant.
namespace
L’espace de noms du secret, s’il est fourni.
retrievedValue
value: La valeur réelle du secret, si unlock est défini sur true.
version: La version du secret.
scope
L'ID de compte ou d'organisation associé au secret.
tags
La paire clé-valeur associée au secret, le cas échéant.
Exemple de réponse :
{
"data":{
"customerAdministration":{
"secret":{
"description":"ZXY",
"isSharable":false,
"key":"Test2",
"namespace":null,
"retrievedValue":{
"value":"1995@123",
"version":1
},
"scope":{
"id":"1",
"type":"ACCOUNT"
}
}
}
}
}
Utilisez la mutation secretsManagementUpdateSecret pour mettre à jour la valeur des secrets existants.
Conseil
Chaque opération de mise à jour crée une nouvelle version du secret. La version la plus élevée est toujours la dernière version du secret. Pour récupérer les anciennes versions du secret, vous pouvez utiliser la requête {customerAdministration {secretVersions}}. Pour plus de détails, reportez-vous à la section Récupérer toutes les informations de version d'un secret.
Paramètres d'entrée
Nom de l'attribut
Type de données
Description
description (Facultatif)
Chaîne
Ajoutez une description si vous souhaitez mettre à jour celle existante.
key (Requis)
Chaîne
Saisissez la clé du secret pour lequel vous souhaitez mettre à jour la valeur.
namespace (Facultatif)
Chaîne
Espace de noms du secret, si disponible.
scope (Requis)
type: Enum id: chaîne
type: Sélectionnez Account ou Organization au niveau auquel le secret est stocké.
id: Saisissez l'ID de compte ou d'organisation correspondant.
value (Requis)
Chaîne
La valeur mise à jour pour le secret.
Exemple de requête :
mutation{
secretsManagementUpdateSecret(
key:"Test2"
scope:{id:1,type:ACCOUNT}
value:"1995@123"
)
}
Réponse
Nom de l'attribut
Description
description
Description mise à jour du secret, le cas échéant.
key
La clé du secret.
latestVersion
Le dernier numéro de version du secret après la mise à jour.
metadata
Métadonnées associées au secret, le cas échéant.
namespace
L'espace de noms du secret, le cas échéant.
scope
L'ID de compte ou d'organisation associé au secret.
tags
La paire clé-valeur associée au secret, le cas échéant.
Exemple de réponse :
{
"data":{
"secretsManagementUpdateSecret":{
"description":"ZXY",
"key":"Test2",
"latestVersion":1,
"scope":{
"id":"1",
"type":"ACCOUNT"
}
}
}
}
Utilisez la requête {customerAdministration {secretVersions}} pour récupérer jusqu’à 10 versions récentes d’un secret ainsi que leurs détails. Vous pouvez récupérer les secrets qui sont uniquement limités à votre compte ou organisation actuel.
Nom de l'attribut
Type de données
Description
fetchDeleted (Facultatif)
Chaîne
Pour obtenir uniquement les versions non supprimées du secret, définissez-le sur false. Pour obtenir les versions du secret, y compris celles qui ont été supprimées de manière réversible, définissez-le sur true.
key (Requis)
Chaîne
Clé du secret que vous souhaitez récupérer.
namespace (Facultatif)
Chaîne
L'espace de noms du secret, s'il est disponible.
scope (Requis)
type: Enum id: chaîne
type: Sélectionnez account ou organization au niveau auquel le secret est stocké.
id: Saisissez l'ID de compte ou d'organisation correspondant.
Exemple de requête :
{
customerAdministration{
secretVersions(
fetchDeleted:true
key:"Test2"
scope:{id:1,type:ACCOUNT}
)
}
}
Réponse
Nom de l'attribut
Description
key
La clé du secret.
latestVersion
Le dernier numéro de version du secret.
namespace
L’espace de noms du secret, s’il est fourni.
scope
L'ID de compte ou d'organisation associé au secret.
secretVersions
Un tableau d'objets contenant les détails de chaque version du secret, notamment :
createdAt: Horodatages indiquant quand chaque version a été créée.
isDeleted: Indique si la version du secret est supprimée ou non.
version: Le numéro de version du secret.
Exemple de réponse :
{
"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
}
]
}
}
}
}
Utilisez la mutation secretsManagementDeleteSecret pour supprimer toutes les versions d’un secret. Seuls les administrateurs de tous les produits ou un utilisateur disposant d’un rôle personnalisé avec l’autorisation purge peuvent choisir de supprimer définitivement des secrets. Les autres utilisateurs ne peuvent pas supprimer définitivement des secrets. Si vous n'avez pas supprimé le secret de façon permanente, vous pouvez le récupérer à l'aide de la mutation secretsManagementRecoverSecret.
Attributs d'entrée
Nom de l'attribut
Type de données
Description
key (Requis)
Chaîne
La clé du secret que vous souhaitez supprimer.
namespace (Facultatif)
Chaîne
Espace de noms du secret, si disponible.
purge (Requis)
Booléen
Pour supprimer le secret de façon permanente, définissez la valeur sur true. Pour une suppression réversible, définissez la valeur sur false.
scope (Requis)
type: Enum id: chaîne
type: Sélectionnez le niveau auquel votre secret est stocké.
id: Saisissez l'ID de compte ou d'organisation correspondant.
Exemple de requête :
mutation{
secretsManagementDeleteSecret(
key:"Test1"
scope:{id:1,type:ACCOUNT}
purge:false
)
}
Réponse
Nom de l'attribut
Description
key
La clé du secret supprimé.
namespace
L'espace de noms du secret supprimé, s'il est disponible.
scope
L’ID du compte ou de l’organisation associé au secret supprimé.
Exemple de réponse :
{
"data":{
"secretsManagementDeleteSecret":{
"key":"Test1",
"namespace":null,
"scope":{
"id":"1",
"type":"ACCOUNT"
}
}
}
}
Utilisez la mutation secretsManagementRecoverSecret pour récupérer les secrets que vous avez supprimés à l’aide de la mutation secretsManagementDeleteSecret auparavant avec l’attribut purge défini sur false. Si un secret est définitivement supprimé, vous ne pouvez pas le récupérer.
Attributs d'entrée
Nom de l'attribut
Type de données
Description
key (Requis)
Chaîne
La clé du secret que vous souhaitez récupérer.
namespace (Facultatif)
Chaîne
L'espace de noms du secret supprimé, s'il est disponible.
scope (Requis)
type: Enum id: chaîne
type: Sélectionnez Account ou Organization au niveau auquel le secret a été stocké.
id: Saisissez l'ID correspondant du compte ou de l'organisation.
L’espace de noms du secret récupéré, le cas échéant.
scope
L'ID du compte ou de l'organisation associé au secret récupéré.
Exemple de réponse :
{
"data":{
"secretsManagementRecoverSecret":{
"key":"Test1",
"latestVersion":1,
"namespace":null,
"scope":{
"id":"1",
"type":"ACCOUNT"
}
}
}
}
Utilisez la mutation secretsManagementDeleteSecretVersion pour supprimer une version spécifique d'un secret. Seuls les administrateurs de tous les produits ou un utilisateur ayant un rôle personnalisé avec l'autorisation purge peuvent choisir de le supprimer définitivement. Les autres utilisateurs ne peuvent pas supprimer définitivement la version du secret. Si vous n'avez pas supprimé définitivement la version du secret, vous pouvez la récupérer en utilisant la mutation secretsManagementDeleteSecretVersion.
Attributs d'entrée
Nom de l'attribut
Type de données
Description
key (Requis)
Chaîne
La clé du secret pour lequel vous souhaitez supprimer l’une des versions.
namespace (Facultatif)
Chaîne
Espace de noms du secret, si disponible.
purge (Requis)
Booléen
Pour supprimer définitivement la version du secret, définissez la valeur sur true. Pour une suppression réversible, définissez la valeur sur false.
scope (Requis)
type: Enum id: chaîne
type: Sélectionnez le niveau auquel votre secret est stocké.
id: Saisissez l'ID correspondant du compte ou de l'organisation.
version (Facultatif)
Chaîne
La version spécifique du secret que vous souhaitez supprimer. Si vous ne fournissez pas de version, la dernière version sera supprimée et la version précédente deviendra la dernière version.
Exemple de requête :
mutation{
secretsManagementDeleteSecretVersion(
key:"Test2"
purge:false
scope:{id:1,type:ACCOUNT}
version:0
)
}
Réponse
Nom de l'attribut
Description
key
La clé du secret.
latestVersion
La dernière version du secret disponible après la suppression de la version spécifiée.
namespace
L'espace de noms du secret, s'il est disponible.
scope
L'ID de compte ou d'organisation associé au secret.
Exemple de réponse :
{
"data":{
"secretsManagementDeleteSecretVersion":{
"key":"Test2",
"latestVersion":1,
"scope":{
"id":"1"
}
}
}
}
Utilisez la mutation secretsManagementRecoverSecretVersion pour récupérer une version spécifique du secret que vous avez supprimée temporairement à l’aide de la mutation secretsManagementDeleteSecretVersion. Si une version est supprimée définitivement, vous ne pouvez pas la récupérer.
Attributs d'entrée
Nom de l'attribut
Type de données
Description
key (Requis)
Chaîne
La clé du secret pour lequel vous souhaitez récupérer l’une des versions.
namespace (Facultatif)
Chaîne
L'espace de noms du secret, s'il est disponible.
scope (Requis)
type: Enum id: chaîne
type: Sélectionnez Account ou Organization dans lequel le secret appartient.
id: Saisissez l'ID correspondant du compte ou de l'organisation.
version (Facultatif)
Chaîne
Saisissez le numéro de version du secret que vous souhaitez récupérer. Si vous ne fournissez pas de version, il récupère la version la plus élevée du secret qui a été supprimée temporairement.
Exemple de requête :
mutation{
secretsManagementRecoverSecretVersion(
key:"Test2"
scope:{id:1,type:ACCOUNT}
version:0
)
}
Réponse
Nom de l'attribut
Description
key
La clé du secret.
latestVersion
La dernière version du secret après la récupération.
namespace
L'espace de noms du secret, s'il est disponible.
scope
L'ID de compte ou d'organisation associé au secret.
Exemple de réponse :
{
"data":{
"secretsManagementRecoverSecretVersion":{
"key":"Test2",
"latestVersion":1,
"namespace":null,
"scope":{
"id":"1",
"type":"ACCOUNT"
}
}
}
}
Utilisez la requête {customerAdministration {secrets}} pour récupérer une liste des secrets disponibles dans le compte ou l’organisation. Vous pouvez récupérer les secrets qui sont uniquement définis pour votre compte ou votre organisation actuel.
Conseil
La liste comprend tous les secrets de la portée, y compris les secrets partageables auxquels vous n'êtes peut-être pas autorisé à accéder. Les autorisations d'accès sont appliquées lorsque vous récupérez la valeur du secret à l'aide de l'opération Récupérer un secret.
Nom de l'attribut
Type de données
Description
cursor (Facultatif)
Chaîne
Utilisez cursor pour naviguer dans les listes de secrets. Pour obtenir la première page de la liste des secrets, ce paramètre n'est pas requis. Si vous souhaitez accéder à la page suivante, utilisez la valeur NextCursor de la réponse précédente.
filter (Requis)
deleted (Facultatif) : Booléen
namespace (Facultatif) : Chaîne de caractères
scope (Requis)
type: Enum
id: chaîne
Ajoutez le filtre suivant pour appliquer les critères de recherche :
deleted: Pour obtenir tous les secrets, y compris ceux qui ont été supprimés temporairement, définissez-le sur true. Pour obtenir uniquement les secrets non supprimés, définissez-le sur false.
namespace: Pour filtrer les secrets par espace de noms, indiquez le nom de l'espace de noms.
scope: Pour filtrer les secrets par portée, indiquez le niveau (Account ou Organization) et l'ID correspondant.
sort (Facultatif)
direction (Obligatoire) : Booléen
key (Obligatoire) : Booléen
Pour trier la liste des secrets, indiquez les attributs suivants :
direction: Sélectionnez ASC pour l'ordre croissant ou DESC pour l'ordre décroissant.
key: L’option disponible est CREATED_AT. Cela trie les secrets en fonction de leur heure de création.
Exemple de requête :
{
customerAdministration{
secrets(
filter:{
deleted:{eq:false}
scope:{eq:{id:1,type:ACCOUNT}}
}
cursor:""
sort:{direction:DESC,key:CREATED_AT}
)
}
}
Réponse
Nom de l'attribut
Description
nextCursor
La valeur du curseur pour accéder à la page suivante de la liste des secrets. S’il n’y a plus de pages, cette valeur sera null.
scope
L'ID de compte ou d'organisation associé au secret.
secrets
Les détails des secrets répertoriés, notamment :
description: La description du secret, si disponible.
isDeleted: Indique si le secret est dans un état de suppression temporaire ou non.
isSharable: Indique si le secret est un secret partageable avec un contrôle d'accès précis.
key: La clé du secret.
latestVersion: Le dernier numéro de version du secret.
metadata: Métadonnées associées au secret, le cas échéant.
createdAt: Horodatages indiquant quand le secret a été créé.
updatedAt: Horodatages indiquant la dernière mise à jour du secret.
namespace: L'espace de noms du secret, s'il est disponible.
tags: La paire clé-valeur associée au secret, le cas échéant.
totalCount
Le nombre total de secrets disponibles dans le compte ou l’organisation, quelle que soit la pagination.
Après avoir créé un secret partageable, vous pouvez accorder des autorisations spécifiques aux utilisateurs, aux groupes, aux identités système ou aux groupes d’identités système. Utilisez la mutation authorizationManagementGrantAccess pour partager votre secret avec les entités autorisées.
Important
Le propriétaire du secret (créateur), les administrateurs d'organisation ou les utilisateurs disposant de la capacité secret.create.grants peuvent accorder l'accès à un secret partageable.
Attributs d'entrée
Nom de l'attribut
Type de données
Description
grantAccessOptions (Requis)
Objet
Contient la configuration des attributions avec deux composants principaux :
entityAccessGrants: Définit le secret et le rôle à attribuer
grantee: Spécifie qui reçoit l’accès
entityAccessGrants.entity.id (Requis)
Chaîne
L’ID unique du secret. : Le format est namespace::partition::entry_key_secret.
Par exemple, si vous avez créé un secret avec la clé prod-api-key dans le compte 12345 avec l’espace de noms production, l’ID d’entité est : production::account-12345::prod-api-key. Si aucun espace de noms n’a été fourni, utilisez une chaîne vide : ::account-12345::prod-api-key.
entityAccessGrants.entity.type (Requis)
Chaîne
Le type d’entité. Pour les secrets, il s’agit toujours de secret.
entityAccessGrants.roleId (Requis)
Chaîne
L'ID unique du rôle à accorder. Pour trouver les ID de rôle disponibles, utilisez l'explorateur d'API NerdGraph pour interroger les rôles avec la portée secret. Les rôles courants incluent Propriétaire du secret (contrôle total) et Lecteur de secret (accès en lecture seule).
grantee.id (Requis)
Chaîne
L’ID unique de l’utilisateur, du groupe, de l’identité système ou du groupe d’identités système recevant l’accès.
grantee.type (Requis)
Énumération
Le type de bénéficiaire. Valeurs valides :
USER: Utilisateur individuel
GROUP: Groupe d’utilisateurs
SYSTEM_IDENTITY: Identité système (pour les processus automatisés)
Un tableau d'affectations de rôles créé par l'opération d'octroi, comprenant :
id: L'identifiant unique de l'octroi
roleId: L'ID du rôle qui a été accordé
Exemple de réponse :
{
"data":{
"authorizationManagementGrantAccess":{
"roles":[
{
"id":"grant-id-xyz789",
"roleId":"role-id-for-secret-reader"
}
]
}
}
}
Conseil
Pour révoquer l’accès à un secret partageable, utilisez la mutation authorizationManagementRevokeAccess.
Utilisez la mutation authorizationManagementRevokeAccess pour supprimer l'accès des utilisateurs, des groupes, des identités système ou des groupes d'identités système auxquels l'accès à votre secret partageable a été précédemment accordé.
Important
Le propriétaire du secret (créateur), les administrateurs de l’organisation ou les utilisateurs disposant de l’autorisation de révocation appropriée peuvent supprimer l’accès à un secret partageable.
Attributs d'entrée
Nom de l'attribut
Type de données
Description
grantAccessOptions (Requis)
Objet
Contient la configuration de révocation avec la même structure que l'opération d'octroi.
entityAccessGrants.entity.id (Requis)
Chaîne
L'ID unique du secret au format namespace::partition::entry_key_secret.
entityAccessGrants.entity.type (Requis)
Chaîne
Le type d’entité. Pour les secrets, il s’agit toujours de secret.
entityAccessGrants.roleId (Requis)
Chaîne
L’ID unique du rôle à révoquer.
grantee.id (Requis)
Chaîne
L'ID unique de l'utilisateur, du groupe, de l'identité système ou du groupe d'identités système auquel révoquer l'accès.
grantee.type (Requis)
Énumération
Le type de bénéficiaire. Valeurs valides : USER, GROUP, SYSTEM_IDENTITY, SYSTEM_IDENTITY_GROUP.
Un tableau d’informations sur les rôles liés à l’octroi révoqué.
Exemple de réponse :
{
"data":{
"authorizationManagementRevokeAccess":{
"roles":[
{
"id":"grant-id-xyz789",
"roleId":"role-id-for-secret-reader"
}
]
}
}
}
Utilisez la requête customerAdministration/entityGrants pour voir quels utilisateurs, groupes, identités système ou groupes d’identités système ont obtenu l’accès à votre secret partageable.
Conseil
Cette requête renvoie uniquement les autorisations explicites accordées directement sur le secret. Elle n'affiche pas l'accès implicite ni les autorisations héritées des étendues parentes.
Attributs d'entrée
Nom de l'attribut
Type de données
Description
iamParent.id (Requis)
Chaîne
L’ID du compte ou de l’organisation où le secret est stocké.
iamParent.scope (Requis)
Énumération
Le type de portée parent. Valeurs valides : ACCOUNT, ORGANIZATION.
entity.id (Facultatif)
Chaîne
L’ID unique du secret au format namespace::partition::entry_key_secret. Lorsqu’il est fourni, seules les autorisations pour ce secret spécifique sont renvoyées.
entity.type (Requis)
Chaîne
Le type d’entité. Pour les secrets, il s’agit toujours de secret.
member.id (Facultatif)
Chaîne
Filtrer les attributions par l’ID d’un utilisateur, d’un groupe, d’une identité système ou d’un groupe d’identités système spécifique.
member.type (Facultatif)
Énumération
Le type de membre à filtrer. Valeurs valides : USER, GROUP, SYSTEM_IDENTITY, SYSTEM_IDENTITY_GROUP.
Exemple de requête :
{
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
}
}
}
Réponse
Nom de l'attribut
Description
items
Un tableau d'objets de subvention, chacun contenant :
targetEntity.id: L'ID d'entité du secret
member.memberId: L’ID de l’utilisateur, du groupe, de l’identité système ou du groupe d’identités système
member.memberType: Le type de membre (USER, GROUP, SYSTEM_IDENTITY ou SYSTEM_IDENTITY_GROUP)
id: L’identifiant unique de l’autorisation (utilisez-le pour révoquer l’accès)
role.name: Le nom du rôle attribué
role.id: L’identifiant unique du rôle
nextCursor
La valeur du curseur pour la pagination. Utilisez cette valeur dans la requête suivante pour récupérer des résultats supplémentaires.