
기능:
액세스 제어
액세스 제어
GraphQL 엔드포인트는 스키마를 통해 액세스 가능한 모든 데이터를 반환할 수 있으므로, 악의적인 행위자가 비공개 정보를 가져갈 수 있는 가능성이 있습니다. 따라서 데이터를 보호하기 위한 보안 조치를 구현해야 합니다.
액세스 제어
액세스 제어 목록을 사용하면 스키마의 각 오퍼레이션, 필드, 디렉티브에 액세스할 수 있는 사용자를 정의할 수 있습니다.
- 모든 사용자의 액세스 비활성화
- 사용자가 로그인 상태 또는 로그아웃 상태인 경우 액세스 허용
- 사용자가 특정 역할을 가진 경우 액세스 허용
- 사용자가 특정 권한을 가진 경우 액세스 허용
- 방문자가 특정 IP 또는 IP 범위에서 접근하는 경우 액세스 허용

공개/비공개 스키마
스키마의 특정 필드나 디렉티브에 대한 액세스 권한이 없는 사용자가 해당 항목에 액세스를 시도하면 어떻게 되어야 할까요?
공개/비공개 API 모드를 사용하면 원하는 동작을 제어할 수 있습니다.
공개 API에서는 스키마의 필드가 노출되어 있으며, 권한이 충족되지 않으면 사용자는 권한이 거부된 이유에 대한 설명이 담긴 오류 메시지를 받게 됩니다.
비공개 API에서는 스키마가 각 사용자에 맞게 커스터마이즈되어 해당 사용자가 이용 가능한 필드만 포함됩니다. 따라서 금지된 필드에 액세스하려고 하면 해당 필드가 존재하지 않는다는 오류 메시지가 표시됩니다.
