행 및 컬럼 액세스 제어(RCAC) 개요
Db2® 10.1 에서는 행 및 컬럼 액세스 제어 (RCAC) 를 데이터 보안의 추가 계층으로 소개합니다. 행 및 컬럼 액세스 제어는 세밀한(fine-grained) 액세스 제어 또는 FGAC라고도 합니다. RCAC는 행 레벨, 컬럼 레벨 또는 두 레벨 모두에서 테이블에 대한 액세스를 제어합니다. RCAC는 테이블 특권 모델을 보완하는 데 사용할 수 있습니다.
다양한 정부 규정을 준수하기 위해 정보를 올바르게 보호하기 위한 프로시저와 방법을 구현할 수 있습니다. 조직에 소속된 개인은 자신의 작업 태스크를 수행하는 데 필요한 데이터 서브세트에만 액세스할 수 있습니다. 예를 들어, 해당 지역 정부 규정에 의사가 자신이 담당하는 환자의 의료 레코드만 볼 수 있고 다른 환자의 의료 레코드는 볼 수 없도록 명시될 수 있습니다. 또한 동일한 규정에서 환자가 동의하지 않는 한, 건강 관리 제공자가 환자의 집 전화 번호와 같은 환자의 개인 정보에 액세스하지 못하도록 명시할 수 있습니다.
행 및 컬럼 액세스 제어를 사용하면 사용자가 업무에 필요한 데이터에만 액세스할 수 있도록 제한할 수 있습니다. 예를 들어, Db2 및 RCAC를 실행하는 병원 시스템은 특정 의사에게 필요한 데이터만 포함하도록 환자 정보 및 데이터를 필터링할 수 있습니다. 의사와 관련해서는 다른 환자가 존재하지 않습니다. 마찬가지로, 환자 서비스 담당자가 동일한 병원의 환자 테이블을 쿼리하는 경우 환자 이름 및 전화 번호 컬럼은 볼 수 있지만 의료 기록 컬럼은 마스크 처리됩니다. 데이터를 마스크하면 실제 의료 기록 대신 NULL 또는 대체 값이 표시됩니다.
- 데이터베이스 사용자가 행 및 컬럼 액세스 제어 규칙에서
내재적으로 면제되지 않습니다.
이러한 규칙은 DATAACCESS 권한이 있는 사용자와 같은 상위 권한에도 예외 없이 적용됩니다. 보안 관리자(SECADM) 권한이 있는 사용자만 데이터베이스에서 행 및 컬럼 액세스 제어를 관리할 수 있습니다. 즉, RCAC를 사용하면 DATAACCES 권한이 있는 사용자가 데이터베이스의 모든 데이터에 자유롭게 액세스하지 못하도록 방지할 수 있습니다.
- 테이블 데이터는 SQL을 통한 테이블 액세스 방법에 관계
없이 보호됩니다.
애플리케이션, 즉석 쿼리 도구, 보고서 생성 도구에는 모두 RCAC 규칙이 적용됩니다. 이는 데이터에 따라 강제 실행됩니다.
- 이러한 추가 데이터 보안 계층을 활용하기 위해
애플리케이션을 변경할 필요는 없습니다.
즉, 행 및 컬럼 레벨 액세스 제어는 기존 애플리케이션에 영향을 주지 않는 방식으로 설정 및 제어됩니다. 그러나 RCAC는 더 이상 무엇을 요청하는가가 아닌 누가 무엇을 요청하는가라는 점에서 중요한 패러다임의 전환입니다. 동일한 쿼리의 결과 세트는 쿼리를 요청한 컨텍스트를 기반으로 변경되며 경고 또는 오류가 리턴되지 않습니다. 이 동작은 솔루션의 정확한 의도입니다. 즉, 애플리케이션 설계자와 DBA는 해당 특정 권한이 부여되지 않은 경우 쿼리를 통해 테이블의 데이터 관점에서 전체적인 그림을 파악하지 못함에 유의해야 합니다.