데이터베이스 보호하기 > 권한 범위 생성 및 편집하기 > 레코드 접근 권한 편집하기
 
레코드 접근 권한 편집하기
접근 권한접근을 파일의 레코드로 제한할 수 있습니다. 파일에 대해 다음과 같이 설정할 수 있습니다.
모든 테이블의 권한: 권한 범위가 파일의 모든 테이블에서 레코드를 생성, 편집 및 삭제할 수 있는지를 제한할 수 있습니다.
개별 테이블의 사용자 설정 권한: 각 테이블에 대해 개별 레코드 접근 제한을 설정할 수 있습니다. 예를 들어 권한 범위는 다음과 같이 기능을 제한할 수 있습니다.
각 테이블에서 모든 레코드를 보거나 편집하거나 삭제합니다.
각 테이블 내의 특정 레코드를 보고 편집하고 삭제합니다. 권한은 각 레코드에 대해 부울 결과를 반환하는 계산 수단으로 제한됩니다. 계산이 True로 평가되면 특정 활동에 대한 접근이 허용됩니다(예: 레코드 보기). 계산이 False로 평가되면 해당 활동에 대한 접근이 금지됩니다.
각 테이블 내 특정 필드에 접근 또는 수정합니다. 하나 이상의 필드에 대한 접근이 볼 수 있는 테이블로 제한되면 필드 데이터 대신 사용자는 <접근 불가>를 보게 됩니다.
현재 파일에 정의된 테이블에 대해서만 레코드 접근 권한을 설정할 수 있습니다. 보호할 다른 파일의 테이블에 대한 관계가 파일에 포함된 경우 다른 파일에 계정과 권한 범위를 생성해야 이 테이블을 보호할 수 있습니다. 계정, 권한 범위 및 확장 권한 정보를 참조하십시오.
모든 테이블에 대한 레코드 접근 권한 편집하기:
1. 권한 범위 편집 대화상자에서 새로운 또는 기존 권한 범위 편집을 시작합니다.
권한 범위 생성 및 편집하기를 참조하십시오.
2. 데이터 접근 및 디자인 영역에서 레코드에 대해 옵션을 선택합니다.
 
권한 범위 편집
선택
모든 테이블에서 레코드 생성, 편집 및 삭제 허용
모든 테이블에서 생성, 편집 및 삭제
모든 테이블에서 레코드만 생성 및 편집 허용(레코드 삭제 금지)
모든 테이블에서 생성 및 편집
모든 테이블에서 레코드만 보기 허용(레코드 생성, 편집 및 삭제 금지)
모든 테이블에서 보기 전용
모든 테이블에서 레코드 접근 금지
모두 접근 불가
3. 승인을 클릭한 다음 보안 관리 대화상자에서 승인을 클릭합니다.
또는 권한 범위를 하나 이상의 계정으로 지정하려면 계정 생성 및 편집하기를 참조하십시오.
개별 테이블에 대한 레코드 접근 권한 편집하기:
1. 권한 범위 편집 대화상자에서 새로운 또는 기존 권한 범위 편집을 시작합니다.
권한 범위 생성 및 편집하기를 참조하십시오.
2. 데이터 접근 및 디자인 영역에서 레코드에 대해 사용자 설정 권한을 선택합니다.
3. 사용자 설정 레코드 권한 대화상자에서 사용자 설정 권한을 편집할 하나 이상의 테이블을 선택합니다. (또는 임의의 새로운 테이블을 선택하여 나중에 생성한 테이블의 권한을 설정합니다.)
4. 레코드 보기, 편집, 생성삭제를 위한 사용자 설정 권한을 설정하려면 권한 설정 부분의 보기, 편집, 생성 및 삭제 목록에서 다음 옵션 중 하나를 선택합니다.
 
선택
작업
권한을 허용합니다(레코드 보기, 편집, 생성 또는 삭제).
제한됨(단일 테이블이 선택된 경우에만 사용 가능)
테이블 내 특정 레코드에 대한 권한(레코드 보기, 편집 및 삭제)을 허용하거나 금지합니다.
계산 지정 대화상자에서 계산을 입력하고 승인을 클릭합니다. 아래의 레코드별 기본 항목에 대한 제한된 접근 공식 입력하기를 참조하십시오.
아니요
권한을 금지합니다(레코드 보기, 편집, 생성 또는 삭제).
메모  일관성 없는 권한 보기, 편집, 생성 및 삭제의 조합을 생성하지 마십시오. 예를 들어 사용자가 볼 수 없는 레코드 삭제하도록 허용하지 않고자 할 수 있습니다.
5. 테이블 내 특정 필드의 제한이나 수정을 제한하려면 다음 단계를 진행하십시오. 또는 승인을 클릭하고 9단계로 건너뜁니다.
6. 접근을 제한할 필드를 포함하는 테이블을 선택합니다. 그런 다음 필드 접근에서 제한됨을 선택합니다.
7. 사용자 설정 필드 권한 대화상자에서 접근을 제한할 각 필드를 선택합니다(임의의 새로운 필드를 선택하여 나중에 생성한 필드에 대해 사용자 설정 권한을 설정). 이어서 다음 옵션 중 하나를 선택합니다.
 
선택
작업
수정 가능
필드 데이터의 보기 및 편집을 허용합니다.
보기 전용
필드 데이터의 보기를 허용합니다. (필드 데이터 편집은 허용하지 않습니다.)
접근 불가
필드에 대한 접근을 금지합니다.
참고  하나 이상의 필드에 대한 접근이 볼 수 있는 테이블에서 금지되면 사용자는 필드 데이터 대신 <접근 불가>가 나타납니다.
8. 승인을 두 번 클릭합니다.
권한 범위 편집 대화상자가 표시됩니다.
9. 승인을 클릭한 다음 보안 관리 대화상자에서 승인을 클릭합니다.
참고
특정 레코드를 볼 수 없는 사용자는 이 레코드를 열람할 수 있지만 사용자는 각 레코드 내 필드 데이터 대신 <접근 불가>가 나타납니다.
파일 내 레코드, 필드 및 테이블에 대한 접근을 제한하면 FileMaker Pro의 여러 기능이 적용됩니다. 다음 테이블은 일부 기능에 대한 효과를 요약합니다.
 
기능
데이터 접근 제한 효과
검색 및 재검색
검색 및 재검색은 3개의 구성요소로 정의되며 셋 다 데이터 접근 권한으로 적용될 수 있습니다.
적어도 관계에서 사용되는 일치 필드에 보기 권한이 있어야 합니다. 또한 이 상황에서 일치가 발생할 수 없기 때문에 원본 및 대상 테이블 모두에서 볼 수 없는 레코드에 대한 검색이 발생됩니다. 다음으로 높거나 낮은 값 복사에 사용된 레코드뿐 아니라 첫 번째 관련 일치 레코드를 포함합니다.
적어도 검색용 원형 필드에 보기 권한이 있어야 합니다.
검색의 대상 필드에 편집 권한이 있어야 합니다.
접근 권한 제한으로 검색 작업이 특정 레코드를 건너뛰는 경우 FileMaker Pro는 오류 메시지를 표시하지 않습니다.
관련 데이터에 접근
적어도 관계의 모든 일치 필드에 보기 권한이 있어야 관계가 동작합니다. 일치 필드를 기반으로 표시할 관련 필드도 보기 권한이 있어야 합니다.
찾기
찾기 세트는 항상 필터링되어 최소한 보기 권한이 있는 레코드만 표시합니다. 접근이 제한되는 경우 Get (찾은 개수) 함수의 결과도 적용됩니다.
값 목록이 필드 콘텐츠를 기반으로 하고 필드에서 보기 권한이 금지되면 값 목록이 값을 표시하지 않습니다. 따라서 사용자는 기밀 정보에 우연히 접근하지 못합니다. 접근이 제한되면 ValueListItems 함수의 결과도 가려집니다.
다중 레코드에서 요약하는 계산 필드뿐 아니라 요약 필드에서 표시된 결과는 보기 권한이 금지한 레코드에서 데이터를 배제합니다.
찾기/대치, 콘텐츠 대치 및 영문 맞춤법 확인
사용자는 이 기능을 사용하여 데이터만 변경할 수 있습니다.
편집 권한이 있는 레코드
수정 가능한 필드
스크립트
전체 접근 권한으로 실행되는 스크립트의 옵션을 설정할 수 있으며 제한된 권한이 있는 사용자가 보통 수행할 수 없는 조작을 스크립트에서 수행할 수 있습니다. 이 옵션을 사용하지 않는 경우 제한된 데이터에 접근하거나 변경하려는 스크립트 단계는 실패합니다. 스크립트 생성 및 편집하기를 참조하십시오.
Apple 이벤트
데이터 접근 권한은 Apple 이벤트를 사용하여 사용자가 데이터를 가져오고, 설정하고 삭제하는 기능에 적용될 수 있습니다. 사용자에게 적절한 접근 권한이 없는 경우 일부 Apple 이벤트 명령이 실패할 수 있습니다.
레코드별 기본 항목에 대한 제한된 접근 공식 입력하기
레코드에서 테이블 내 특정 레코드에 대해 권한 보기, 편집 및 삭제를 허용하거나 금지하려면 권한 허용 여부를 결정하는 부울 계산을 지정해야 합니다. 데이터베이스의 각 레코드에 대해 계산이 True 또는 0(영)이 아닌 결과로 평가되면 접근이 허용되며 계산이 False나 0(영)으로 평가되면 접근이 금지됩니다. 다음은 두 예제입니다.
현재 계정으로 생성된 레코드에 대한 접근만을 제한하려면 다음을 수행합니다. Record_Created_By라는 텍스트 필드를 정의하고 필드의 자동 입력 옵션을 설정하여 레코드 생성 시 계정 이름을 자동으로 입력합니다 (자동 데이터 입력 정의하기를 참조하십시오). 그런 다음 사용자 설정 레코드 접근 권한을 정의할 때 다음 계산을 사용합니다.
Record_Created_By = Get ( 계정 이름 )
사용자는 위의 계산이 True로 평가되는 레코드에 탐색 접근만 있습니다.
현재 날짜에 생성된 레코드에 대한 접근만 제한하려면 다음을 수행합니다. Record_creation_date라는 날짜 필드를 정의하고 필드의 자동 입력 옵션을 설정하여 레코드 생성 시 생성일을 자동으로 입력합니다 (자동 데이터 입력 정의하기를 참조하십시오). 그런 다음 사용자 설정 레코드 접근 권한을 정의할 때 다음 계산을 사용합니다.
Record_creation_date = Get ( 현재 날짜 )
사용자는 위의 계산이 True로 평가되는 레코드에 탐색 접근만 있습니다.
팁  계산을 지정하여 테이블 내 특정 레코드 보기를 금지하는 경우 대부분 동일 계산을 사용하여 동일 유형의 레코드 편집 및 삭제를 금지해야 합니다. 그렇지 않은 경우 실수로 사용자가 볼 수 없는 레코드를 편집하거나 삭제할 수 있습니다.
참고
특히 사용자가 편집 가능한 필드를 기반으로 하는 경우 레코드 접근 권한을 결정하는 부울 계산에 예상치 않은 결과가 있을 수 있습니다. 예를 들어 특정 레코드에 대해서만 접근 권한이 있는 사용자가 편집 후 레코드에 대한 자체 접근을 실수로 거부할 수 있습니다. 사용자는 부울 레코드 접근 계산 결과를 변경하는 레코드의 콘텐츠를 변경할 수 있으므로 False로 평가한 다음 사용자가 해당 레코드를 종료하면 더 이상 레코드를 보거나 편집하거나 삭제할 수 없습니다.
사용자가 레코드를 종료하자 마자 변경사항이 커밋되기 때문에 이 유형을 변경한 사용자는 레코드로 돌아갈 수 없습니다. (대부분의 경우 계정 이름, 생성일 및 수정일을 포함한 자동 입력된 필드와 같이 사용자가 직접 편집할 수 없는 필드에서 레코드 접근 계산을 기반으로 해야 합니다.)
또한 파일이 공유되고 레코드 접근 권한을 결정하는 부울 계산이 하나 이상의 전역 필드를 포함하는 경우 전역 필드를 별도의 테이블로 이동하여 네트워크 성능을 개선할 수 있습니다. 전역 필드(전역 저장 장치로 정의된 필드) 정의하기의 메모 부분을 참조하십시오.
자체 찾기 세트가 있는 여러 윈도우를 지원하려면 요약 값은 찾기 세트의 일부입니다. 레코드는 다중 윈도우에 표시될 수 있으며 각 윈도우에는 자체 찾기 세트 및 정렬 순서가 있습니다. 이러한 이유로 특정 찾기 세트를 사용하여 값에 종속되는 요약 또는 Get 함수에서 권한 계산을 기반으로 하지 마십시오.