SQL API에 대한 접근 제어 목록(ACL) 생성

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 3분
  • egress_sql 및 읽기 작업을 사용하여 테이블 수준의 액세스 제어를 구성하여 서비스 계정에 특정 테이블 SQL API에 대한 쿼리 액세스 권한을 부여합니다.

    시작하기 전에

    다음 전제 조건이 충족되는지 확인합니다.

    • 서비스 계정을 생성하고 해당 계정에 sn_odbc_rest_access 및/또는 sn_jdbc_rest_access 역할을 할당했습니다.
    • 를 통해 SQL API액세스할 수 있어야 하는 테이블을 식별했습니다ServiceNow.

    필요한 역할: security_admin

    이 태스크 정보

    를 통한 SQL API 테이블에 대한 액세스 권한은 전역적으로 부여되지 않습니다. 서비스 계정이 쿼리해야 하는 각 테이블에 대해 두 개의 ACL(접근 제어 목록)을 만들어야 합니다. egress_sql 작업(데이터 익스포트 제어 SQL API )용으로 하나씩 만들고 읽기 작업(기록 수준 액세스 제어)용으로 하나씩 만듭니다. 서비스 계정은 두 ACL이 모두 명시적으로 구성된 테이블에만 쿼리할 수 있습니다.

    기본적으로 SQL API 모든 쿼리는 테이블, 행 및 필드 수준에서 액세스를 검사합니다. 이는 의 안전한 기본 접근 방식을 따릅니다 ServiceNow. SQL API 인스턴스 레코드의 모든 ACL을 레코드별로 확인합니다. 이로 인해 응답시간이 길어질 수 있습니다. 이는 예상된 사항입니다.

    사용 사례에 행 및 필드 수준 검사가 필요하지 않은 경우 서비스 계정에 sn_sql_api_privileged_mode 역할을 할당하여 이를 끌 수 있습니다. 비즈니스 인텔리전스 통합을 예로 들 수 있습니다. 테이블 수준 ACL 검사는 계속 유효하며 끌 수 없습니다.

    액세스가 필요한 SQL API 각 테이블 및 역할 조합에 대해 이 절차를 반복합니다. 역할이 다른 서비스 계정이 여러 개 있는 경우 각 역할 및 테이블 조합에 대해 별도의 ACL을 생성합니다.

    프로시저

    1. 다음으로 이동 모두 > 시스템 보안 > 접근 통제(ACL).
    2. 새로 만들기를 선택합니다.
    3. 접근 제어 양식에서 egress_sql 작업에 대한 첫 번째 ACL을 구성합니다.
      필드
      운영 드롭다운 목록에서 egress_sql 선택합니다. 이 작업은 데이터를 통해 데이터를 익스포트할 수 있는지 여부를 제어합니다 SQL API.
      결정 유형 충족 시 허용
      이름 액세스 권한을 부여할 테이블을 선택합니다. 예를 들어 인시던트 [incident] 또는 cmdb_ci입니다.
      역할 필요 서비스 계정에 할당된 역할(예: sn_odbc_rest_access, sn_jdbc_rest_access)을 입력합니다.

      역할 sn_sql_api_privileged_mode 을 추가하여 서비스 계정 수준에서 행 및 필드 수준 검사를 끕니다.

      필수 역할이 있는 접근 제어 정의 구성을 보여주는 UI 화면 예입니다.
    4. 양식 헤더를 길게 누르거나 마우스 오른쪽 버튼으로 클릭하고 저장을 선택합니다.
    5. 새로 만들기를 선택하여 동일한 테이블에 대해 두 번째 ACL을 만듭니다.
    6. 접근 제어 양식에서 읽기 작업을 위한 두 번째 ACL을 구성합니다.
      필드 설명
      운영 드롭다운 목록에서 읽기를 선택합니다. 이 운영은 테이블에 대한 기록 수준 액세스를 제어합니다.
      결정 유형 충족 시 허용
      이름 egress_sql ACL에서 지정한 동일한 테이블을 선택합니다.
      역할 필요 egress_sql ACL에서 지정한 것과 동일한 역할을 입력합니다.
    7. 양식 헤더를 길게 누르거나 마우스 오른쪽 버튼으로 클릭하고 저장을 선택합니다.
    8. 액세스가 필요한 SQL API 각 추가 테이블에 대해 2-7단계를 반복합니다.
      각 테이블에 대해 필요한 ACL(egress_sql 및 읽기)을 모두 생성했습니다.

    결과

    에 대한 테이블 수준 액세스 제어를 성공적으로 구성했습니다.SQL API 서비스 계정은 지정한 역할 요구 사항에 따라 egress_sql 및 읽기 ACL이 모두 생성된 테이블을 쿼리할 수 있습니다.

    접근 권한은 테이블별로 부여된다는 점을 기억하십시오. 추가 테이블에 대한 액세스 권한을 부여하거나 역할이 다른 서비스 계정을 추가하는 경우 이 절차를 반복하여 적절한 ACL을 만듭니다.