「민감한」 데이터 필드 쿼리하기
GraphQL 스키마는 공개 API에서 개인 정보가 노출되지 않도록 공개 필드와 비공개 필드 사이의 균형을 유지해야 합니다.
기본적으로 GraphQL 스키마의 모든 필드는 공개 데이터에만 접근할 수 있습니다. 예를 들어, posts는 상태가 "publish"인 게시물만 가져올 수 있습니다.
또한 스키마에 「민감한」 데이터 필드와 입력 필드를 추가할 수 있습니다. 이는 관리자만 사용하도록 설계되어 있으며, 특정 커스텀 엔드포인트 또는 persisted query에 대해 활성화되고 비공개 데이터도 가져올 수 있습니다.
예를 들어, 필드 인수 posts(filter:)에는 추가 입력 필드 status가 포함되어, 모든 사용자에 대해 미게시 게시물(예: 상태가 "pending", "draft", 또는 "trash"인 게시물)을 가져올 수 있습니다. 마찬가지로, 스키마는 필드 Post.status를 노출하여 이 데이터를 확인할 수 있도록 합니다.
「민감한」 데이터 요소 목록
아래 요소들(외 기타)은 기본적으로 비공개 데이터로 처리됩니다:
User:
emailrolescapabilitiesmetaKeys
Custom Posts:
statuswpAdminEditURLhasPasswordpasswordrawContentrawTitlerawExcerptmetaKeys
Comments:
statusrawContentmetaKeys
Taxonomies:
metaKeys
Custom Post Mutations:
authorBy입력
Menu Items:
rawTitle
기본 설정 재정의
위에 나열된 요소들은 공개로 변경할 수 있습니다.
설정 페이지의 각 해당 탭에는 각 항목을 「민감한」 데이터 또는 「일반」 데이터로 처리할지 설정하는 체크박스가 있습니다:

스키마 인트로스펙션을 통한 「민감한」 데이터 요소 확인
스키마 인트로스펙션을 수행할 때 isSensitiveDataElement 속성이 필드 extensions에 추가됩니다. 스키마에서 「민감한」 데이터 요소를 확인하려면 다음 쿼리를 실행하세요:
query ViewSensitiveDataElements {
__schema {
types {
name
fields {
name
extensions {
isSensitiveDataElement
}
args {
name
extensions {
isSensitiveDataElement
}
}
}
inputFields {
name
extensions {
isSensitiveDataElement
}
}
enumValues {
name
extensions {
isSensitiveDataElement
}
}
}
}
}그런 다음 결과에서 "isSensitiveDataElement": true 항목을 검색하세요.
엔드포인트에 「민감한」 데이터 요소 추가하기
「민감한」 데이터 요소를 스키마에 추가하는 설정은 우선순위 순서로 다음과 같이 구성할 수 있습니다:
✅ 스키마 설정에서 정의된 커스텀 엔드포인트 또는 persisted query의 특정 모드

✅ 설정에서 정의된 기본 모드
스키마 설정 값이 "Default"인 경우, 설정에서 정의된 모드가 사용됩니다:

사용 시기
정적 웹사이트 구축 시 또는 로컬 WordPress 인스턴스에서 데이터를 가져올 때(즉, 공개 API가 아닌 경우)와 같이 비공개 정보 공개가 허용된 경우에 사용하세요.