개인 재정 속성 기반 액세스 제어 (ABAC) - 보안에 유용한 패턴

속성 기반 액세스 제어 (ABAC) - 보안에 유용한 패턴

비디오: 박승철의정보보호론제32-19강 접근제어 2024

비디오: 박승철의정보보호론제32-19강 접근제어 2024
Anonim

유용한 보안 패턴은 레코드에 별도로 사용 권한을 할당하는 대신 레코드 내의 데이터를 기반으로 사용 권한을 적용하는 것입니다. 메타 데이터, 개별 열 (Bigtable 클론) 또는 요소 (누적 NoSQL 데이터베이스) 값을 기반으로 할 수 있습니다.

좋은 예는 문서 내에 언급 된 고객 이름입니다. 해당 고객을 언급하는 모든 문서에 대한 액세스를이 고객의 정보에 액세스 할 수있는 사용자로만 제한하려고 할 수 있습니다. 문서 내의 데이터를 처리하고 해당 데이터의 값을 기반으로 관련 보안 권한을 적용하여 이러한 문서에 대한 액세스를 제한 할 수 있습니다.

No NoSQL 데이터베이스는 즉시이 기능을 제공합니다. 데이터가 응용 프로그램에 의해 저장되었지만 다른 응용 프로그램이나 사용자가 검색 할 수있게되기 전에 사용 권한을 레코드에 할당해야하기 때문입니다. 따라서이 권한 할당은 트랜잭션 경계 내에서 발생해야합니다.

또한 ACID 준수 트랜잭션 (예: MarkLogic, FoundationDB 및 Neo4j)을 지원하는 NoSQL 데이터베이스는 거의 없습니다. 데이터베이스가 문서 내의 데이터를 기반으로 권한을 즉시 할당하는 것을 지원하지 않지만 ACID 트랜잭션을 지원하고 사전 커밋 트리거를 지원하면 쉬운 해결 방법이 가능합니다.

예를 들어, MarkLogic Server는 완전히 직렬화 가능한 ACID 트랜잭션과 사전 커밋 트리거를 지원합니다. 다음은 속성 기반 액세스 제어를 지원하려는 간단한 XML 문서입니다.

MarkLogic Server의 트리거는 W3C XQuery 언어를 사용합니다. 다음 XQuery 예제는 MarkLogic에 설치 될 때 읽기 및 쓰기 권한을 할당하는 간단한 트리거입니다.

xquery version "1.0-ml"; 가져 오기 모듈 네임 스페이스 trgr = 'http: // marklogic. com / xdmp / at '/ MarkLogic / triggers'를 트리거합니다. xqy '; 변수 $ trgr 선언: uri as xs: string external; 변수 선언 $ trgr: node () external; xdmp: document-set-permissions ($ trgr-uri, (xdmp: permission ("seniorsales", "update"), xdmp: permission ("sales", "read"))) else ()

트리거가 setperms 파일에 일단 설치됩니다.MarkLogic 서버 모듈 데이터베이스에서 xqy를 실행하려면 MarkLogic - Query Console 용 웹 코딩 응용 프로그램에서 다음 코드를 실행하여 트리거를 활성화합니다. 기본 MarkLogic Server 설치에서 URL (http: // localhost: 8000 / qconsole)에서 쿼리 콘솔을 찾을 수 있습니다.


다음은 Query Console을 사용하여 트리거를 설치하는 방법을 보여주는 코드입니다:

xquery version "1. 0-ml"; import module namespace trgr = "http: // marklogic. com / xdmp / triggers"at / MarkLogic / triggers. xqy '; trgr: create-trigger ("setperms", "Set Sales Doc Permissions", trgr: 트리거 데이터 이벤트 (trgr: 수집 범위 ("meetingreports"), trgr: 문서 내용 ("modify"), trgr: pre (), fn: true (), xdmp: default-permissions (), fn: 트리거 (예: -commit ()), trgr: 트리거 모듈 (xdmp: 데이터베이스 ("모듈"), "/ 트리거 /", "setperms.xqy" 거짓 ())
속성 기반 액세스 제어 (ABAC) - 보안에 유용한 패턴

편집자의 선택

Photoshop Elements 14에서의 헤이즈 제거 방법 - 인형

Photoshop Elements 14에서의 헤이즈 제거 방법 - 인형

Photoshop Elements 14는 유용하고 쉬운 사진에서 안개를 빠르게 제거하는 기능입니다. 공기, 먼지, 흙 등에 가벼운 타격 입자로 인한 헤이즈는 날씨와 시간으로 더욱 강화 될 수 있습니다. 때로는 이미지의 대비 및 선명도를 높이면 이미지 품질을 낮추는 데 도움이 될 수 있습니다.

Photoshop Elements 9의 빠른 편집 모드에서 이미지 편집 방법 - Photoshop의 인력

Photoshop Elements 9의 빠른 편집 모드에서 이미지 편집 방법 - Photoshop의 인력

Elements, Edit Quick 모드는 이미지의 전후 미리보기와 같은 몇 가지 고유 한 기능과 함께 기본 수정 도구를 제공하는 편집 전체 모드의 축소 버전입니다. 빠른 수정 모드에서 사진을 복구 할 때 따라갈 수있는 단계별 워크 플로우는 다음과 같습니다. Photoshop Elements에서 하나 이상의 사진을 선택하십시오.

Photoshop Elements 10의 빠른 사진 편집 모드에서 편집하는 방법 - 인형

Photoshop Elements 10의 빠른 사진 편집 모드에서 편집하는 방법 - 인형

빠른 사진 편집 모드 는 전체 사진 편집 모드의 축소 버전으로 기본 고정 도구를 편리하게 제공하고 이미지의 사전 및 사후 미리보기와 같은 몇 가지 고유 한 기능을 토스합니다. 빠른 사진 편집 모드에서 사진을 복구하기 위해 따라갈 수있는 단계별 워크 플로가 있습니다.

편집자의 선택

페이스 북에서 친구가되는 것 - 인형

페이스 북에서 친구가되는 것 - 인형

여러면에서 페이스 북 친구는 실생활 친구와 같은. 이들은 당신과 어울리고, 연락하고, 관심을 가지고 있고, 친구로 공개적으로 인정하고 싶은 사람들입니다. 이들은 Facebook에서 만난 사람들이 아닙니다. 오히려, 그들은 당신이 전화로 부르는 사람들입니다; 멈추고 따라 잡으십시오.

Facebook 메신저는 무엇입니까? - 인형

Facebook 메신저는 무엇입니까? - 인형

Facebook Messenger는 Facebook에 내장 된 인스턴트 메시징 기능입니다. 메신저는 원래 2011 년에 시작되어 그 성공에 힘 입어 2014 년에 등장한 전용 응용 프로그램과 웹 사이트가 생겨났습니다. 응용 프로그램과 웹 사이트는 Facebook 데이터베이스에 연결되고 인앱 Facebook 메시징 서비스를 대신하는 인스턴트 메시징 서비스입니다. 그것은 허용합니다 ...

Aquila Facebook Drone은 무엇입니까? - 인형

Aquila Facebook Drone은 무엇입니까? - 인형

Aquila Drone은 데이터 연결이없는 세계의 외딴 지역에 인터넷을 가져 오려는 Facebook의 시도입니다. 소셜 미디어 거물에 의한이 이니셔티브는 태양열로 가동되는 특수한 무인 항공기를 사용하려고합니다. 무인 항공기는 구역 위를 가리 키도록 설계되어 있으며, 무인 항공기 없이도 웹 연결이 가능합니다. Credit : ...

편집자의 선택

코칭 풋볼 인형 용 치트 시트 - 인형

코칭 풋볼 인형 용 치트 시트 - 인형

코치 풋볼은 당신의 선수들에게 동기를 부여합니다. 연습과 게임을위한 올바른 장비 공급; 축구 경기 전, 경기 중 및 경기 후에 시설과 팀을 준비시켜야합니다.

축구 코치는 다른 시대의 어린이들에게 맞춰져 있습니다 - 인형

축구 코치는 다른 시대의 어린이들에게 맞춰져 있습니다 - 인형

축구 코칭 책임의 일부는 알고 이해하고 있습니다 특정 나이 수준에서 게임을하는 젊은이의 육체적으로나 감정적으로 모두 무엇을 기대해야합니다. 이 연령대의 6 세 이하 아동을 코칭하는 것은 아마도 전에는 축구를 해보지 않았을 것이고, 이번 시즌은 매우 잘할 것입니다.

축구 코치의 하프 타임 팀과의 대화 - 인형

축구 코치의 하프 타임 팀과의 대화 - 인형

터치 다운을 기록하고, 패스를 떨어 뜨리고, 다이빙 태클을 만들고, 공을 더듬는 등 모든 종류의 것들을 볼 수 있습니다. 선수가 하프 타임을 위해 필드에서 벗어날 때, 머리 속에 많은 정보를 갖게되며 많은 시간을 소모하지 않게됩니다 ...