함수 작성과 실행의 권한
함수의 작성 저장소, 라이브 미리보기와 게시 함수의 실행 사용자는 서로 다른 권한 검사를 받습니다. 개인 계정에 접근 권한이 있다는 사실만으로 저장소가 코드 바인딩을 만들거나 미리보기에서 데이터를 읽을 수 있는 것은 아닙니다.
저장소와 프로젝트 가져오기
저장소에는 온톨로지 정의를 읽어 바인딩을 생성할 권한과 미리보기의 객체 로드 권한이 필요합니다. 온톨로지, 온톨로지 브랜치, 객체 유형과 링크 유형의 가져오기 상태에 따라 사용할 정의를 정합니다.
저장소의 Settings > Ontology에서 필요한 유형을 프로젝트로 가져오는 구성을 할 수 있습니다.
여러 온톨로지에 접근하는 사용자는 사용할 온톨로지를 선택합니다. 이 프로젝트의 온톨로지 가져오기 설정에는 여러 온톨로지를 동시에 넣을 수 없습니다.
이 인터페이스는 저장소 안에 있지만 가져오는 리소스의 권한 범위는 프로젝트입니다. 같은 프로젝트의 한 저장소에서 바꾼 가져오기가 다른 저장소에도 영향을 줄 수 있습니다. 서로 다른 온톨로지 엔터티 집합에 의존해야 하면 프로젝트를 나눕니다.
Live Preview의 데이터 권한
라이브 미리보기는 Code Assist에서 컴파일하고 실행합니다. 저장소 권한을 사용하므로 사용할 객체 유형의 기반 데이터소스도 프로젝트에 가져와야 합니다. 누락되면 미리보기에서 가져오기를 요청하는 경고가 나타납니다.
일반 유형은 데이터셋을, 제한 뷰 기반 행 보안 유형은 해당 제한 뷰를 가져오도록 안내합니다. 리소스 선택과 로컬 코드 생성은 로컬 OSDK와 함께 확인합니다.
게시 함수의 실행 권한
일반적으로 실행자는 함수를 게시한 저장소의 Viewer여야 합니다. 최종 앱과 관련 함수 저장소를 같은 프로젝트에 두면 접근 범위를 함께 관리하기 쉽습니다.
| 오류 | 확인할 대상 |
|---|---|
ReadFunctionsPermissionDenied | 함수 저장소를 읽을 수 있는지 확인합니다. |
PERMISSION_DENIED와 FunctionRegistry:ReadOntologyFunctionPermissionDenied | 보통 Developer Console에 함수가 등록되어 사용할 수 있는지 확인해야 합니다. 폴더나 저장소 권한만으로 그 등록을 대체할 수 없습니다. |
Check access 패널로 Workshop이나 Slate 앱 및 의존 함수에 대한 특정 사용자의 접근을 조사할 수도 있습니다.
함수 기반 액션은 예외입니다. 액션 구성자는 해당 함수를 읽을 권한이 필요하지만, 구성한 뒤의 최종 사용자는 함수의 직접 읽기 권한 없이도 액션 권한을 충족하여 실행할 수 있습니다.
객체 로드와 출력
게시 함수가 인수나 검색으로 객체를 로드할 때는 실행 사용자의 데이터 권한을 적용합니다. 같은 함수라도 행 보안에 따라 사용자별 결과가 달라집니다.
행과 열 조건은 함수가 실행 중 읽을 수 있는 데이터를 필터링합니다. 그 세부 조건 자체가 반환 결과에 자동 전파되지는 않습니다. 파생 출력을 보호하려면 보안 표지나 분류 기반 통제를 함께 구성해야 하며, 객체 및 속성 정책에 포함된 필수 통제의 전파와 세부 필터를 구분합니다.
확장 실행
함수에서 액션을 호출하거나 최대 4시간 TTL의 인증 토큰을 얻는 확장 기능에는 별도 허용 목록이 있습니다. 게시 저장소, 실행 함수와 Marketplace 설치 프로젝트 각각의 요건을 Functions settings에서 확인합니다. 게시, 실행이나 설치의 어느 단계에서 오류가 났는지에 맞춰 관리자가 해당 목록을 확인해야 합니다.