New Relicを使用する場合、 APIキーやアプリケーションの認証情報などの機密情報を保存する必要がある場合があります。 New Relic では、これらはシークレットと呼ばれます。Secrets management serviceは、NerdGraph API を通じてこれらの秘密を一元的に保存および取得する安全な方法を提供します。
Secrets management serviceの主な機能は次のとおりです。
秘密の一意のキー : 保存時にそれぞれに一意のキーを割り当てることで、秘密が誤って公開されることを防ぐことができます。キーを使用して秘密を取得および管理します。
アカウントまたは組織レベル で保存されるシークレット : 複数のアカウントにわたってシークレットにアクセスして使用するには、シークレットを組織レベルで保存できます。シークレットが単一のアカウントに固有のものである場合は、アカウント レベルで保存できます。
シークレットのバージョン : 以前のバージョンを失うことなくシークレットを更新できます。Secrets management serviceはシークレットのすべてのバージョンを追跡します。
シークレットの制御された削除と回復 : このサービスでは、シークレットの回復可能な削除が可能です。消去権限を持たないユーザーは、シークレットをソフト削除できます。永久削除は、消去権限を持つユーザーに制限されています。
ロールベースのアクセスを持つ標準シークレット : 標準シークレットには、アカウントまたは組織内の権限を持つすべてのユーザーがアクセスできます。管理者は、 View からPurge までの権限レベルを持つカスタム ロールを割り当てることでアクセスを制御します。
きめ細かなアクセスが可能な共有可能なシークレット : 共有可能なシークレットは、デフォルトでは作成者に対して非公開であり、作成者は個々のユーザー、グループ、またはシステム ID に特定の権限 (読み取り、更新、削除) を付与できます。組織管理者は、監視と管理のためにすべての共有可能な秘密に完全にアクセスできます。
シークレット管理サービスの請求 Secrets management serviceは、アドオン または計算価格モデルの一部として提供される高度な計算製品機能です。 高度なCCU は 、NerdGraph クエリを実行してシークレットを保存、取得、または管理するときに消費されます。
標準シークレットアクセス制御 標準ロール を持つユーザーは、次の権限を使用して、アクセス権を持つアカウントに固有のSecrets management serviceにアクセスできます。
読み取り専用 : ユーザーはシークレットの取得のみ可能です。シークレットを作成、更新、または削除することはできません。
標準ユーザー : ユーザーは、シークレットを作成、更新、取得、および論理的に削除できます。
すべての製品管理者 : ユーザーはSecrets management serviceへのフルアクセス権を持ちます。シークレットのリストを作成、更新、取得、ソフト削除、完全削除、および取得できます。
課金ユーザー : ユーザーはシークレットのリストを取得することしかできません。
非標準のロールを使用してアカウント レベルでシークレットを管理するには、管理者に必要な権限を持つカスタム ロールを作成して もらい、それをユーザー グループに割り当てます。
組織レベルでシークレットを管理するには、管理者にNerdGraph API 経由で組織を対象とするカスタム ロール を作成し、必要な権限を追加して、ユーザー グループに割り当てるように依頼します。組織マネージャーに は組織レベルでのデフォルトの権限がありますが、シークレットの管理を許可するには、管理者に依頼してSecrets management service固有のカスタム ロールを割り当ててもらいます。
重要 組織のポリシーと要件に従って、アカウントおよび組織レベルでユーザー ロール、権限、 Secrets management serviceへのアクセスを設定および構成します。
きめ細かなアクセス権限を持つ共有可能な秘密 標準シークレットはアカウントまたは組織内の権限を持つすべてのユーザーがアクセスできますが、複数のチームを持つ企業では、シークレットを特定の個人に制限する必要があることがよくあります。共有可能な秘密は、このニーズに対応します。
重要 共有可能なシークレットを操作するには、まず、標準シークレットのアクセス制御 で説明されている基本権限をユーザーが持っている必要があります。以下に説明するきめ細かなアクセス権限は、これらの基本要件に加えて必要 となります。
共有可能なシークレットを作成すると、自動的に完全な制御権を持つ所有者になります。個別の権限を割り当てるか、複数の権限をまとめたロールを使用することで、ユーザー、グループ、またはシステム ID にアクセスを許可できます。
個別の権限(基本アクセスに加えて付与されます):
読み取り : 秘密の値を取得する更新 : 秘密の値を変更する削除 : 秘密を削除します定義済みのロール(基本アクセスに加えて付与されます):
シークレット所有者 : フルコントロール (読み取り、更新、削除、付与/取り消し)シークレットリーダー :読み取り専用アクセスニーズに応じて特定の権限を組み合わせたカスタム ロールを作成する こともできます。組織管理者は、監視のためにすべての共有可能な秘密への完全なアクセス権を保持します。
合成モニター、ワークフロー、またはその他の自動化プロセスがシークレットにアクセスする必要がある場合は、そのシステム ID へのアクセスを許可します。システム ID は、New Relic 内の各自動化プロセスに割り当てられる一意の識別子です。New Relic UI を通じてシークレットをモニターまたはワークフローにリンクすると、その自動化プロセスのシステム ID を使用して実行時にアクセスが制御されます。
重要 標準シークレットは共有可能なシークレットに変換できません。既存の標準シークレットを移行するには、同じ値を持つ新しい共有可能なシークレットを作成し、適切なアクセス権を付与し、アプリケーションを更新して、古いシークレットを削除します。
前提条件 Secrets management serviceを使用するには、次のものが必要です。
ユーザーの種類と割り当てられたロールは、NerdGraph の権限に影響を与える可能性があります。詳細については、 「アクセスに影響する要因」 を参照してください。
使用 Secrets management service NerdGraph Explorer から、 ミューテーションとクエリを 使用してSecrets management serviceを操作します。
ミューテーションとクエリで使用する一般的な属性は次のとおりです。
属性名
データ型
説明
description
弦
秘密の簡単な説明。
key
弦
ネームスペース内のシークレットの一意の識別子。 同じキーが異なるネームスペースに存在できます。
namespace
弦
秘密を論理的にグループ化し、整理および分類して管理を強化し、競合を防止します。キーとペアになって、秘密の一意のアドレスを作成します。この属性は、New Relic を使用する複数のチームまたはプロジェクトがある環境で役立ちます。
scope
アクセス可能性の観点から秘密を保存する範囲。定義属性は次のとおりです。
tags
配列
アプリケーション、サービス、ホストなどのエンティティにメタデータを追加するキーの値のペアとして機能します。 タグを使用すると、シークレットを整理、フィルタリング、管理する機能を強化できます。
value
弦
本当の秘密。
purge
ブール値
シークレットのすべてのバージョンを削除します。
version
弦
シークレットの複数のバージョンを保存できるため、シークレットのバージョン番号を表します。
cursor (オプション)
弦
シークレットのリストを取得するときに、応答にnextCursor属性が含まれている場合は、現在の結果ページ以外にも利用可能なシークレットがあることを示します。次の結果ページにアクセスするには、 cursor属性のnextCursor値を使用してクエリを再度実行します。
重要 実際のシークレットのみをvalue属性にコピーします。description 、 key 、 namespaceなどの他の属性で宣言されていないことを確認してください。
オペレーション Secrets management serviceで実行できる操作は、次の 2 つのカテゴリに分類されます。
ヒント 標準シークレットと共有可能なシークレットの選択:
アカウントまたは組織にアクセスできるすべてのユーザーとシークレットを共有する場合は、標準シークレット (secretsManagementCreateSecret) を使用します。 特定のユーザー、グループ、またはシステム ID に権限を付与して、シークレットにアクセスできるユーザーを正確に制御する必要がある場合は、共有可能なシークレット (secretsManagementCreateShareableSecret) を使用します。 秘密を保存する 指定されたアカウントまたは組織の権限を持つすべてのユーザーがアクセスできる標準シークレットを保存するには、次のようなsecretsManagementCreateSecret変異を使用します。
属性名
データ型
説明
description (オプション)
弦
秘密の説明を入力してください。
key (必須)
弦
シークレットに一意のキーを割り当てます。
namespace (オプション)
弦
特定のネームスペースにシークレットを保存したい場合は、名前を割り当てます。
scope (必須)
type: 列挙型id : 文字列
type:役割 と要件に基づいて、 AccountまたはOrganizationを選択します。id: 対応するアカウントまたは組織 ID を入力します。tags (オプション)
配列
キーと値のペアを割り当てます。
value (必須)
弦
実際の秘密を入力します。
サンプルクエリ: secretsManagementCreateSecret (
scope : { id : 1 , type : ACCOUNT }
レスポンス 属性名
説明
description
秘密の説明(提供されている場合)。
key
割り当てられたキー。
latestVersion
秘密のバージョン。新しいシークレットを作成した場合、バージョンは0になります。
metadata
シークレットに関連付けられたメタデータ(存在する場合)。
namespace
シークレットのネームスペース (指定されている場合)。
scope
シークレットに関連付けられたアカウントまたは組織 ID。
tags
シークレットに関連付けられているキーと値のペア(存在する場合)。
サンプル応答: "secretsManagementCreateSecret" : {
共有可能な秘密を保存する secretsManagementCreateShareableSecretミューテーションを使用して、きめ細かなアクセス制御を備えたプライベート シークレットを作成します。共有可能なシークレットを作成すると、自動的に所有者となり、誰がアクセスできるかを完全に制御できるようになります。
属性名
データ型
説明
description (オプション)
弦
秘密の説明を入力してください。
key (必須)
弦
シークレットに一意のキーを割り当てます。
namespace (オプション)
弦
特定のネームスペースにシークレットを保存したい場合は、名前を割り当てます。
scope (必須)
type: 列挙型id : 文字列
type:役割 と要件に基づいて、 AccountまたはOrganizationを選択します。id: 対応するアカウントまたは組織 ID を入力します。tags (オプション)
配列
キーと値のペアを割り当てます。
value (必須)
弦
実際の秘密を入力します。
サンプルクエリ: secretsManagementCreateShareableSecret (
scope : { type : ACCOUNT , id : 1 }
value : " sk_live_abc123xyz "
description : " Private API key for production "
tags : [ { key : "environment" , value : "production" } ]
レスポンス 属性名
説明
description
秘密の説明(提供されている場合)。
key
割り当てられたキー。
latestVersion
秘密のバージョン。新しいシークレットを作成した場合、バージョンは0になります。
metadata
シークレットに関連付けられたメタデータには以下が含まれます。
createdAt: シークレットが作成されたタイムスタンプupdatedAt: シークレットが最後に更新されたときのタイムスタンプnamespace
シークレットのネームスペース (指定されている場合)。
scope
シークレットに関連付けられたアカウントまたは組織 ID。
tags
シークレットに関連付けられているキーと値のペア(存在する場合)。
サンプル応答: "secretsManagementCreateShareableSecret" : {
"namespace" : "production" ,
"description" : "Private API key for production" ,
"createdAt" : "2025-10-30T12:34:56.789Z" ,
"updatedAt" : "2025-10-30T12:34:56.789Z"
ヒント 共有可能な秘密を作成すると、自動的に所有者になります。他のユーザー、グループ、またはシステム ID にアクセスを許可するには、 authorizationManagementGrantAccessミューテーションを使用します。詳細については、「共有可能なシークレットへのアクセスを許可する」 セクションを参照してください。
秘密を取得する {customerAdministration {secret}}クエリを使用して、シークレットとその詳細を取得します。現在のアカウントまたは組織のみにスコープされたシークレットを取得できます。
属性名
データ型
説明
key (必須)
弦
取得したいシークレットのキー。
namespace (オプション)
弦
シークレットのネームスペース (利用可能な場合)。
scope (必須)
type: 列挙型id : 文字列
type: シークレットを保存するレベルaccountまたはorganizationを選択します。id: 対応するアカウントまたは組織 ID を入力します。unlock (オプション)
弦
デフォルト値falseは、シークレットのロックを解除せずにメタデータを返します。シークレットのロックを解除して実際の値を取得する場合は、 trueに設定します。
version (オプション)
整数
取得するシークレットの特定のバージョンを入力します。バージョンを指定しない場合は、最新のバージョンが取得されます。
サンプルクエリ: secret ( key : "Test2" , scope : { id : 1 , type : ACCOUNT } , unlock : true )
レスポンス 属性名
説明
description
秘密の説明。
isSharable
シークレットがきめ細かなアクセス制御を備えた共有可能なシークレット であるかどうかを示します。trueの場合、シークレットはきめ細かい権限を使用し、デフォルトでは作成者に対して非公開になります。falseの場合、アカウントまたは組織内の権限を持つすべてのユーザーがアクセスできる標準シークレットです。
key
秘密の鍵。
metadata
シークレットに関連付けられたメタデータ(存在する場合)。
namespace
シークレットのネームスペース (指定されている場合)。
retrievedValue
value: unlockがtrueに設定されている場合の実際のシークレット値。version: 秘密のバージョン。scope
シークレットに関連付けられたアカウントまたは組織 ID。
tags
シークレットに関連付けられているキーと値のペア(存在する場合)。
サンプル応答: "customerAdministration" : {
シークレットを更新する 既存のシークレットの値を更新するには、 secretsManagementUpdateSecretミューテーションを使用します。
ヒント 更新操作ごとに、シークレットの新しいバージョンが作成されます。最高バージョンは常に秘密の最新バージョンです。古いバージョンのシークレットを取得するには、 {customerAdministration {secretVersions}}クエリを使用できます。詳細については、 「シークレットのすべてのバージョン情報を取得する」 セクションを参照してください。
入力問題 属性名
データ型
説明
description (オプション)
弦
既存のものを更新する場合は説明を追加します。
key (必須)
弦
値を更新するシークレットのキーを入力します。
namespace (オプション)
弦
シークレットのネームスペース (利用可能な場合)。
scope (必須)
type: 列挙型id : 文字列
type: シークレットを保存するレベルAccountまたはOrganizationを選択します。id: 対応するアカウントまたは組織 ID を入力します。value (必須)
弦
シークレットの更新された値。
サンプルクエリ: secretsManagementUpdateSecret (
scope : { id : 1 , type : ACCOUNT }
レスポンス 属性名
説明
description
提供されている場合、シークレットの説明が更新されます。
key
秘密の鍵。
latestVersion
更新後のシークレットの最新バージョン番号。
metadata
シークレットに関連付けられたメタデータ(存在する場合)。
namespace
シークレットのネームスペース (存在する場合)。
scope
シークレットに関連付けられたアカウントまたは組織 ID。
tags
シークレットに関連付けられているキーと値のペア(存在する場合)。
サンプル応答: "secretsManagementUpdateSecret" : {
シークレットのすべてのバージョン情報を取得する {customerAdministration {secretVersions}}クエリを使用して、シークレットの最新バージョンを最大 10 個までとその詳細とともに取得します。現在のアカウントまたは組織のみにスコープされたシークレットを取得できます。
属性名
データ型
説明
fetchDeleted (オプション)
弦
シークレットの削除されていないバージョンのみを取得するには、 falseに設定します。ソフト削除されたものも含め、シークレットのバージョンを取得するには、 trueに設定します。
key (必須)
弦
取得したいシークレットのキー。
namespace (オプション)
弦
シークレットのネームスペース (利用可能な場合)。
scope (必須)
type: 列挙型id : 文字列
type: シークレットを保存するレベルaccountまたはorganizationを選択します。id: 対応するアカウントまたは組織 ID を入力します。
サンプルクエリ: scope : { id : 1 , type : ACCOUNT }
レスポンス 属性名
説明
key
秘密の鍵。
latestVersion
シークレットの最新バージョン番号。
namespace
シークレットのネームスペース (指定されている場合)。
scope
シークレットに関連付けられたアカウントまたは組織 ID。
secretVersions
シークレットの各バージョンの詳細を含むオブジェクトの配列。以下が含まれます。
createdAt: 各バージョンが作成された日時を示すタイムスタンプ。isDeleted: シークレット バージョンが削除されているかどうかを示します。version: シークレットのバージョン番号。
サンプル応答: "customerAdministration" : {
"createdAt" : "2025-05-26T07:52:23.920250Z" ,
"createdAt" : "2025-05-26T07:45:19.395796Z" ,
シークレットを削除する シークレットのすべてのバージョンを削除するには、 secretsManagementDeleteSecretミューテーションを使用します。すべての製品管理者またはpurge権限を持つカスタム ロールを持つユーザーのみが、シークレットを完全に削除することを選択できます。他のユーザーはシークレットを永久に削除することはできません。シークレットを完全に削除していない場合は、 secretsManagementRecoverSecretミューテーションを使用して回復 できます。
入力属性 属性名
データ型
説明
key (必須)
弦
削除するシークレットのキー。
namespace (オプション)
弦
シークレットのネームスペース (利用可能な場合)。
purge (必須)
ブール値
シークレットを完全に削除するには、値をtrueに設定します。ソフト削除の場合は、値をfalseに設定します。
scope (必須)
type: 列挙型id : 文字列
type: シークレットを保存するレベルを選択します。id: 対応するアカウントまたは組織 ID を入力します。
サンプルクエリ: secretsManagementDeleteSecret (
scope : { id : 1 , type : ACCOUNT }
レスポンス 属性名
説明
key
削除されたシークレットのキー。
namespace
削除されたシークレットのネームスペース (利用可能な場合)。
scope
削除されたシークレットに関連付けられているアカウントまたは組織 ID。
サンプル応答: "secretsManagementDeleteSecret" : {
秘密を取り戻す 以前にpurge属性をfalseに設定してsecretsManagementDeleteSecretミューテーションを使用して削除したシークレットを回復するには、 secretsManagementRecoverSecretミューテーションを使用します。シークレットが完全に削除された場合、回復することはできません。
入力属性 属性名
データ型
説明
key (必須)
弦
回復したい秘密の鍵。
namespace (オプション)
弦
削除されたシークレットのネームスペース (利用可能な場合)。
scope (必須)
type: 列挙型id : 文字列
type: シークレットが保存されたレベルAccountまたはOrganizationを選択します。id: アカウントまたは組織の対応する ID を入力します。
サンプルクエリ: secretsManagementRecoverSecret ( key : "Test1" , scope : { id : 1 , type : ACCOUNT } )
レスポンス 属性名
説明
key
回復された秘密のキー。
latestVersion
回復された秘密の最新版。
namespace
回復されたシークレットのネームスペース (利用可能な場合)。
scope
回復されたシークレットに関連付けられたアカウントまたは組織 ID。
サンプル応答: "secretsManagementRecoverSecret" : {
シークレットの特定のバージョンを削除する 特定のバージョンのシークレットを削除するには、 secretsManagementDeleteSecretVersionミューテーションを使用します。すべての製品管理者またはpurge権限を持つカスタム ロールを持つユーザーのみが、それを完全に削除することを選択できます。他のユーザーは秘密バージョンを永久に削除することはできません。シークレット バージョンを完全に削除していない場合は、 secretsManagementDeleteSecretVersionミューテーションを使用して回復 できます。
入力属性 属性名
データ型
説明
key (必須)
弦
いずれかのバージョンを削除するシークレットのキー。
namespace (オプション)
弦
シークレットのネームスペース (利用可能な場合)。
purge (必須)
ブール値
シークレット バージョンを完全に削除するには、値をtrueに設定します。ソフト削除の場合は、値をfalseに設定します。
scope (必須)
type: 列挙型id : 文字列
type: シークレットを保存するレベルを選択します。id: アカウントまたは組織の対応する ID を入力します。version (オプション)
弦
削除するシークレットの特定のバージョン。バージョンを指定しない場合は、最新バージョンが削除され、以前のバージョンが最新バージョンになります。
サンプルクエリ: secretsManagementDeleteSecretVersion (
scope : { id : 1 , type : ACCOUNT }
レスポンス 属性名
説明
key
秘密の鍵。
latestVersion
指定されたバージョンを削除した後に利用できるシークレットの最新バージョン。
namespace
シークレットのネームスペース (利用可能な場合)。
scope
シークレットに関連付けられたアカウントまたは組織 ID。
サンプル応答: "secretsManagementDeleteSecretVersion" : {
秘密のバージョンを復元する secretsManagementRecoverSecretVersionミューテーションを使用してソフト削除したシークレットの特定のバージョンを復元するには、 secretsManagementDeleteSecretVersionミューテーションを使用します。バージョンが完全に削除された場合、復元することはできません。
入力属性 属性名
データ型
説明
key (必須)
弦
いずれかのバージョンを復元するシークレットのキー。
namespace (オプション)
弦
シークレットのネームスペース (利用可能な場合)。
scope (必須)
type: 列挙型id : 文字列
type: シークレットが属するレベルAccountまたはOrganizationを選択します。id: アカウントまたは組織の対応する ID を入力します。version (オプション)
弦
回復するシークレットのバージョン番号を入力します。バージョンを指定しない場合は、ソフト削除されたシークレットの最高バージョンが復元されます。
サンプルクエリ: secretsManagementRecoverSecretVersion (
scope : { id : 1 , type : ACCOUNT }
レスポンス 属性名
説明
key
秘密の鍵。
latestVersion
復旧後のシークレット最新版。
namespace
シークレットのネームスペース (利用可能な場合)。
scope
シークレットに関連付けられたアカウントまたは組織 ID。
サンプル応答: "secretsManagementRecoverSecretVersion" : {
秘密のリストを取得する {customerAdministration {secrets}}クエリを使用して、アカウントまたは組織で使用可能なシークレットのリストを取得します。現在のアカウントまたは組織のみにスコープされたシークレットを取得できます。
ヒント リストには、アクセス権がない可能性のある共有可能なシークレットも含め、スコープ内のすべてのシークレットが含まれます。アクセス権限は、 「シークレットの取得」 操作を使用してシークレット値を取得するときに適用されます。
属性名
データ型
説明
cursor (オプション)
弦
秘密リスト内を移動するには、 cursorを使用します。シークレット リストの最初のページを取得するには、この問題は必要ありません。 次のページにアクセスする場合は、前の応答のNextCursor値を使用します。
filter (必須)
deleted (オプション): ブール値
namespace (オプション): 文字列
scope (必須)
検索条件を適用するには、次のフィルターを追加します。
deleted: ソフト削除されたものも含めたすべてのシークレットを取得するには、 trueに設定します。削除されていないシークレットのみを取得するには、 falseに設定します。namespace: シークレットをネームスペースでフィルターするには、ネームスペース名を指定します。scope: スコープ別にシークレットをフィルタリングするには、レベル (AccountまたはOrganization) と対応する ID を指定します。sort (オプション)
direction (必須): ブール値key (必須): ブール値シークレットのリストを並べ替えるには、次の属性を指定します。
direction: 昇順の場合はASC 、降順の場合はDESCを選択します。key: 使用可能なオプションはCREATED_ATです。これにより、シークレットが作成時間に基づいて並べ替えられます。
サンプルクエリ: scope : { eq : { id : 1 , type : ACCOUNT } }
sort : { direction : DESC , key : CREATED_AT }
レスポンス 属性名
説明
nextCursor
秘密リストの次のページにアクセスするためのカーソル値。他にページがない場合、この値はnullになります。
scope
シークレットに関連付けられたアカウントまたは組織 ID。
secrets
リストされた秘密の詳細には以下が含まれます:
description: シークレットの説明(ある場合)。
isDeleted: シークレットがソフト削除状態にあるかどうかを示します。
isSharable: シークレットがきめ細かなアクセス制御を備えた共有可能なシークレット であるかどうかを示します。
key: 秘密の鍵。
latestVersion: シークレットの最新バージョン番号。
metadata: シークレットに関連付けられているメタデータ(存在する場合)。
createdAt: シークレットが作成された日時を示すタイムスタンプ。updatedAt: シークレットが最後に更新された日時を示すタイムスタンプ。namespace: シークレットのネームスペース (利用可能な場合)。
tags: シークレットに関連付けられているキーと値のペア(存在する場合)。
totalCount
ページ区切りに関係なく、アカウントまたは組織で使用可能なシークレットの合計数。
サンプル応答: "customerAdministration" : {
"nextCursor" : "AAAADJ_Fqig86wFIH6c3ehxxpoFy0vdW2eA4pTkQFYDztd_UIeL91kCElQaCG0iORpmDdDT6KeZAVkByh4ogENST8yjxeZ5tI6vPYnyMW5rhtGwXlgt9zQRGYj1HcdpUHdfUcTC-CSsdQDLexy52XA==" ,
"createdAt" : "2025-05-26T07:45:19.395796Z" ,
"updatedAt" : "2025-05-26T08:08:49.130724Z"
"createdAt" : "2025-05-26T07:26:32.114987Z" ,
"updatedAt" : "2025-05-26T07:26:32.114987Z"
"createdAt" : "2025-05-26T07:15:08.987252Z" ,
"updatedAt" : "2025-05-26T08:05:17.051658Z"
共有可能な秘密へのアクセスを許可する 共有可能なシークレットを作成した後、ユーザー、グループ、システム ID、またはシステム ID グループに特定の権限を付与できます。authorizationManagementGrantAccessミューテーションを使用して、承認されたエンティティと秘密を共有します。
重要 シークレットの所有者 (作成者)、組織管理者、またはsecret.create.grants機能を持つユーザーは、共有可能なシークレットへのアクセスを許可できます。
入力属性 属性名
データ型
説明
grantAccessOptions (必須)
オブジェクト
2 つの主要コンポーネントを含む grant 設定が含まれます。
entityAccessGrants: 付与する秘密とロールを定義しますgrantee: アクセスを許可するユーザーを指定しますentityAccessGrants.entity.id (必須)
弦
シークレットの一意の ID。 形式はnamespace::partition::entry_key_secretです。
たとえば、ネームスペースproductionのアカウント12345にキーprod-api-keyのシークレットを作成した場合、エンティティ ID はproduction::account-12345::prod-api-keyになります。 ネームスペースが指定されていない場合は、空の文字列::account-12345::prod-api-keyを使用します。
entityAccessGrants.entity.type (必須)
弦
エンティティの種類。シークレットの場合、これは常にsecretなります。
entityAccessGrants.roleId (必須)
弦
付与するロールの固有ID。 利用可能なロール ID を見つけるには、NerdGraph API エクスプローラーを使用して、スコープsecretでロールをクエリします。一般的なロールには、シークレット所有者 (フル コントロール) とシークレット リーダー (読み取り専用アクセス) が含まれます。
grantee.id (必須)
弦
アクセスを受信するユーザー、グループ、システム ID、またはシステム ID グループの固有 ID。
grantee.type (必須)
イナム
受給者の種類。有効な値:
USER: 個人ユーザーGROUP: ユーザーグループSYSTEM_IDENTITY: システム ID (自動化プロセス用)SYSTEM_IDENTITY_GROUP: システムIDグループ
サンプルクエリ: authorizationManagementGrantAccess (
entity : { id : "production::account-1::prod-api-key" , type : "secret" }
roleId : "role-id-for-secret-reader"
grantee : { id : "system-identity-id-abc123" , type : SYSTEM_IDENTITY }
レスポンス 属性名
説明
roles
付与操作によって作成されたロール割り当ての配列。以下が含まれます。
id: 助成金の一意の識別子roleId: 付与されたロールID
サンプル応答: "authorizationManagementGrantAccess" : {
"roleId" : "role-id-for-secret-reader"
ヒント 共有可能なシークレットへのアクセスを取り消すには、 authorizationManagementRevokeAccessミューテーションを使用します。
共有可能な秘密へのアクセスを取り消す authorizationManagementRevokeAccessミューテーションを使用して、以前に共有可能なシークレットへのアクセスを許可されたユーザー、グループ、システム ID、またはシステム ID グループからアクセスを削除します。
重要 シークレットの所有者 (作成者)、組織管理者、または適切な取り消し権限を持つユーザーは、共有可能なシークレットへのアクセスを削除できます。
入力属性 属性名
データ型
説明
grantAccessOptions (必須)
オブジェクト
許可操作と同じ構造の取り消し設定が含まれます。
entityAccessGrants.entity.id (必須)
弦
namespace::partition::entry_key_secret形式のシークレットの一意の ID。
entityAccessGrants.entity.type (必須)
弦
エンティティの種類。シークレットの場合、これは常にsecretなります。
entityAccessGrants.roleId (必須)
弦
取り消すロールの一意の ID。
grantee.id (必須)
弦
アクセスを取り消すユーザー、グループ、システム ID、またはシステム ID グループの固有 ID。
grantee.type (必須)
イナム
受給者の種類。有効な値: USER 、 GROUP 、 SYSTEM_IDENTITY 、 SYSTEM_IDENTITY_GROUP 。
サンプルクエリ: authorizationManagementRevokeAccess (
id : " production::account-12345::prod-api-key "
roleId : "role-id-for-secret-reader"
grantee : { id : "system-identity-id-abc123" , type : SYSTEM_IDENTITY }
レスポンス 属性名
説明
roles
取り消された付与に関連するロール情報の配列。
サンプル応答: "authorizationManagementRevokeAccess" : {
"roleId" : "role-id-for-secret-reader"
共有可能な秘密にアクセスできるユーザーをリストする customerAdministration/entityGrantsクエリを使用して、共有可能なシークレットへのアクセスが許可されているユーザー、グループ、システム ID、またはシステム ID グループを確認します。
ヒント このクエリは、シークレットに対して直接行われた明示的な許可のみを返します。親スコープから継承された暗黙のアクセスまたは権限は表示されません。
入力属性 属性名
データ型
説明
iamParent.id (必須)
弦
シークレットが保存されているアカウントまたは組織の ID。
iamParent.scope (必須)
イナム
親スコープ タイプ。有効な値: ACCOUNT 、 ORGANIZATION 。
entity.id (オプション)
弦
namespace::partition::entry_key_secret形式のシークレットの一意の ID。 指定すると、この特定のシークレットの許可のみが返されます。
entity.type (必須)
弦
エンティティの種類。シークレットの場合、これは常にsecretなります。
member.id (オプション)
弦
特定のユーザー、グループ、システム ID、またはシステム ID グループの ID で許可をフィルターします。
member.type (オプション)
イナム
フィルタリングするメンバーのタイプ。有効な値: USER 、 GROUP 、 SYSTEM_IDENTITY 、 SYSTEM_IDENTITY_GROUP 。
サンプルクエリ: iamParent : { id : { eq : "12345" } , scope : { eq : ACCOUNT } }
id : { eq : "production::account-12345::prod-api-key" }
レスポンス 属性名
説明
items
付与オブジェクトの配列。各オブジェクトには次のものが含まれます。
targetEntity.id:シークレットのエンティティIDmember.memberId: ユーザー、グループ、システム ID、またはシステム ID グループの IDmember.memberType: メンバーのタイプ (ユーザー、グループ、SYSTEM_IDENTITY、または SYSTEM_IDENTITY_GROUP)id: 許可の一意の識別子(アクセスを取り消すために使用)role.name: 付与されたロールの名前role.id: ロールの一意の識別子nextCursor
ページ区切りのカーソル値。次のクエリでこの値を使用して、追加の結果を取得します。
サンプル応答: "customerAdministration" : {
"id" : "production::account-12345::prod-api-key"
"memberId" : "system-identity-id-abc123" ,
"memberType" : "SYSTEM_IDENTITY"
"id" : "role-id-for-secret-reader"