NerdGraph API를 사용하면 데이터 액세스 정책을 만들고, 쿼리하고, 업데이트하고, 삭제할 수 있습니다. 데이터 액세스 정책은 사용자가 액세스할 수 있는 로그 파티션을 제어하여 사용자 그룹에 따라 중요한 로그 데이터에 대한 액세스를 제한할 수 있습니다.
요구 사항
NerdGraph를 통해 데이터 액세스 정책을 관리하려면 다음이 필요합니다.
- Pro 또는 Enterprise 에디션 뉴렐릭 계정
- 인증 도메인 관리자 역할
- 사용자 유형의 핵심 사용자 또는 전체 플랫폼 사용자
- 인증을 위한 사용자 키.
시작하기 전에
데이터 액세스 정책에 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": [] } } ] }}매개변수 | 설명 |
|---|---|
| 필수의. 귀하의 뉴렐릭 조직 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와 함께 취소된 액세스 권한이 표시됩니다.