NerdGraph API を使用して、データ アクセス ポリシーを作成、クエリ、更新、削除できます。データ アクセス ポリシーは、ユーザーがアクセスできるログ パーティションを制御し、ユーザー グループに基づいて機密ログ データへのアクセスを制限できます。
要件
NerdGraph 経由でデータ アクセス ポリシーを管理するには、次のものが必要です。
- ProまたはEnterpriseエディションのNew Relicアカウント
- 認証ドメインマネージャーの役割
- コア ユーザーまたはフル プラットフォーム ユーザーのユーザー タイプ
- 認証用のユーザー キー。
あなたが始める前に
データ アクセス ポリシーに NerdGraph API を使用する前に、データ アクセス制御の仕組みを理解し、 NerdGraphに慣れておいてください。
共通の属性
次の属性は、データ アクセス ポリシーのクエリとミューテーションでよく使用されます。
属性 | 説明 |
|---|---|
| ポリシーに関連付けられている組織の ID。ポリシーをフィルタリングしたり、ポリシー作成の範囲を限定したりするために使用されます。 |
| ポリシーの一意の識別子。特定のポリシーを更新または削除するときに必要です。 |
| データ アクセス ポリシーのユーザーフレンドリな名前。 |
| ポリシーのルールを定義する JSON オブジェクト。含まれるもの:
|
| ロールがアクセスを許可するアカウント ID。 |
| アカウント内のどのデータが許可されるかを定義するデータ アクセス ポリシー ID。 |
| アクセス レベルを定義するロール ID。 |
一般的な操作
データ アクセス ポリシーを管理するための最も一般的な操作は次のとおりです。
このクエリは、組織内のすべてのアクセス許可とそれに関連付けられたデータ アクセス ポリシーを取得します。これを使用して、現在どのポリシーが許可に割り当てられているかを取得します。
サンプルクエリ
{ customerAdministration { grants(filter: { organizationId: { eq: "YOUR_ORG_ID" } }) { items { dataAccessPolicy { id name } } } }}パラメータ | 説明 |
|---|---|
| 必須。助成金が属する組織 ID。フィルタリングするには、等号 ( |
サンプル回答
{ "data": { "customerAdministration": { "grants": { "items": [ { "dataAccessPolicy": { "id": "DATA_ACCESS_POLICY_ID", "name": "DATA_ACCESS_POLICY_NAME" } } ] } } }}応答フィールド | 説明 |
|---|---|
| 組織内の助成金のリスト。 |
| 各許可に関連付けられたデータ アクセス ポリシー。 |
| データ アクセス ポリシーの一意の識別子。 |
| データ アクセス ポリシーの名前。 |
このクエリは、組織内のすべてのデータ アクセス ポリシーを取得します。
サンプルクエリ
{ customerAdministration { dataAccessPolicies(filter: { organizationId: { eq: "YOUR_ORG_ID" } }) { items { id name policy status version } } }}パラメータ | 説明 |
|---|---|
| 必須。ポリシーが属する組織 ID。フィルタリングするには、等号 ( |
サンプル回答
{ "data": { "customerAdministration": { "dataAccessPolicies": { "items": [ { "id": "ddadbdd2-183b-42d9-8a1a-41ec7692fb4c", "name": "Log Operations", "policy": { "rules": [ { "eventTypes": { "allow": ["*"], "except": ["Log_Operations"] }, "operations": ["*"] } ] }, "status": "VALID", "version": "1.0-logs" }, { "id": "bb8efcf5-3127-4a4d-b25f-114505a0a68d", "name": "Restrict Log_Security", "policy": { "rules": [ { "eventTypes": { "allow": ["*"], "except": ["Log_Sec%"] }, "operations": ["*"] } ] }, "status": "VALID", "version": "1.0-logs" } ] } } }}応答フィールド | 説明 |
|---|---|
| 組織内のデータ アクセス ポリシーのリスト。 |
| データ アクセス ポリシーの一意の識別子。 |
| データ アクセス ポリシーの名前。 |
|
|
| ポリシーの現在のステータス (例: |
| ポリシーのバージョン (現在は |
この変更により、ログ パーティションへのアクセスを制御する新しいデータ アクセス ポリシーが作成されます。
サンプル変異
mutation createMyPolicy { dataAccessPolicyCreate( policy: { rules: [ { operations: ["SELECT"] eventTypes: { allow: ["*"], except: ["Log_accessible"] } } ] } name: "Test" organizationId: "YOUR_ORG_ID" ) { dataAccessPolicy { id } }}次の変数も使用できます。
mutation createMyPolicy($policy: DataAccessPolicyRawDocument!) { dataAccessPolicyCreate( policy: $policy name: "Test" organizationId: "YOUR_ORG_ID" ) { dataAccessPolicy { id } }}{ "policy": { "rules": [ { "operations": ["SELECT"], "eventTypes": { "allow": ["*"], "except": [] } } ] }}パラメータ | 説明 |
|---|---|
| 必須。New Relic 組織 ID。 |
| 必須。ポリシーの分かりやすい名前。 |
| 必須。 |
サンプル回答
{ "data": { "dataAccessPolicyCreate": { "dataAccessPolicy": { "id": "YOUR_DATA_POLICY_ID", "name": "Test", "policy": { "rules": [ { "eventTypes": { "allow": ["*"], "except": ["Log"] }, "operations": ["*"] } ] }, "status": "VALID" } } }}応答フィールド | 説明 |
|---|---|
| 新しく作成されたデータ アクセス ポリシーの一意の識別子。 |
| データ アクセス ポリシーの名前。 |
|
|
| ポリシーのステータス (例: |
このミューテーションは、既存のデータ アクセス ポリシーを更新して、そのルールまたは名前を変更します。
サンプル変異
mutation { dataAccessPolicyUpdate( policy: { rules: [ { operations: ["SELECT"] eventTypes: { allow: ["*"], except: ["Log_inaccessible"] } } ] } name: "Test" id: "YOUR_DATA_POLICY_ID" ) { dataAccessPolicy { name id } }}パラメータ | 説明 |
|---|---|
| 必須。更新するポリシーの ID。 |
| オプション。ポリシーの名前が更新されました。 |
| オプション。 |
サンプル回答
{ "data": { "dataAccessPolicyUpdate": { "dataAccessPolicy": { "assigned": "UNASSIGNED", "id": "YOUR_DATA_POLICY_ID", "name": "Test", "policy": { "rules": [ { "eventTypes": { "allow": ["*"], "except": ["Log_inaccessible"] }, "operations": ["SELECT"] } ] }, "status": "VALID" } } }}応答フィールド | 説明 |
|---|---|
| ポリシーがいずれかの許可に割り当てられているかどうかを示します (例: |
| 更新されたデータ アクセス ポリシーの一意の識別子。 |
| データ アクセス ポリシーの名前。 |
|
|
| ポリシーのステータス (例: |
この変更により、既存のデータ アクセス ポリシーが削除されます。
重要
ポリシーを削除すると、割り当てられたすべての許可からそのポリシーが削除されます。これらの権限を持つグループ内のユーザーは、ポリシーで定義されたデータ アクセス制限を失います。
サンプル変異
mutation { dataAccessPolicyDelete(id: "YOUR_DATA_POLICY_ID") { dataAccessPolicy { name id policy status } }}パラメータ | 説明 |
|---|---|
| 必須。削除するポリシーの ID。 |
サンプル回答
{ "data": { "dataAccessPolicyDelete": { "dataAccessPolicy": { "id": "YOUR_DATA_POLICY_ID", "name": "Test", "policy": { "rules": [ { "eventTypes": { "allow": ["*"], "except": ["Log_inaccessible"] }, "operations": ["SELECT"] } ] }, "status": "VALID" } } }}応答フィールド | 説明 |
|---|---|
| 削除されたデータ アクセス ポリシーの一意の識別子。 |
| 削除されたデータ アクセス ポリシーの名前。 |
| 削除されたポリシー ルールを含む JSON オブジェクト。 |
| ポリシーのステータス (例: |
このミューテーションにより、データ アクセス ポリシーを含む新しいアクセス許可が作成され、特定のアカウントとロールに割り当てられます。
サンプル変異
mutation { authorizationManagementGrantAccess( grantAccessOptions: { accountAccessGrants: { accountId: YOUR_ACCOUNT_ID dataAccessPolicyId: "YOUR_DATA_POLICY_ID" roleId: "YOUR_ROLE_ID" } } ) { accessGrants { id } }}パラメータ | 説明 |
|---|---|
| 必須。アクセスを許可するアカウント ID。 |
| 必須。適用するデータ アクセス ポリシー ID。 |
| 必須。権限を定義するロール ID。 |
レスポンス
応答には、新しく作成されたアクセス許可とその ID が表示されます。
このミューテーションは、既存のアクセス許可を更新して、データ アクセス ポリシーを追加または変更します。
サンプル変異
mutation { authorizationManagementUpdateAccess( updateAccessOptions: { accountAccessGrant: { dataAccessPolicyId: "YOUR_DATA_POLICY_ID" } ids: YOUR_GRANT_ID } ) { grants { dataAccessPolicy { id } id } }}パラメータ | 説明 |
|---|---|
| 必須。更新する許可 ID。 |
| 必須。許可に適用するデータ アクセス ポリシー ID。 |
サンプル回答
{ "data": { "authorizationManagementUpdateAccess": { "grants": [ { "dataAccessPolicy": { "id": "YOUR_DATA_POLICY_ID" }, "id": "YOUR_GRANT_ID" } ] } }}応答フィールド | 説明 |
|---|---|
| 更新された助成金のリスト。 |
| 許可に現在割り当てられているデータ アクセス ポリシーの ID。 |
| 更新された許可の ID。 |
この変更により、データ アクセス ポリシーを含むアクセス許可が削除されます。
サンプル変異
mutation { authorizationManagementRevokeAccess( revokeAccessOptions: { accountAccessGrants: { accountId: YOUR_ACCOUNT_ID dataAccessPolicyId: "YOUR_DATA_POLICY_ID" roleId: "YOUR_ROLE_ID" } } ) { accessGrants { id } }}パラメータ | 説明 |
|---|---|
| 必須。取り消す許可のアカウント ID。 |
| 必須。取り消す許可のデータ アクセス ポリシー ID。 |
| 必須。取り消す付与のロール ID。 |
レスポンス
応答には、取り消されたアクセス許可とその ID が表示されます。