라이브러리
[PHP] Zookeeper::getAcl - 노드와 연관된 ACL을 동기적으로 가져옵니다.
Zookeeper ACL (Access Control List) 개요
Zookeeper는 분산 시스템에서 데이터를 관리하기 위한 분산 키-값 저장소입니다. ACL은 Zookeeper의 데이터에 대한 접근 권한을 관리하는 기능입니다. ACL을 사용하면 데이터에 대한 읽기, 쓰기, 삭제 등 다양한 권한을 설정할 수 있습니다.
Zookeeper::getAcl 메서드
Zookeeper::getAcl 메서드는 지정된 노드의 ACL을 반환하는 메서드입니다. 이 메서드는 노드의 ACL을 읽어와서 반환합니다.
예제
#hostingforum.kr
php
use Apacheookeeper;
// Zookeeper 서버의 주소와 포트를 설정합니다.
$zookeeper = new Zookeeper('localhost:2181');
// 노드의 ACL을 읽어와서 반환합니다.
$acl = $zookeeper->getAcl('/my/node');
// ACL을 출력합니다.
print_r($acl);
ACL의 구조
ACL은 배열로 반환됩니다. 각 배열 요소는 ACL 항목을 나타냅니다. ACL 항목은 다음과 같은 구조를 가집니다.
* `scheme`: ACL 항목의 스키마를 나타냅니다. 스키마는 `world`, `auth`, `digest`, `ip`, `sasl` 등이 있습니다.
* `permissions`: ACL 항목의 권한을 나타냅니다. 권한은 `read`, `write`, `create`, `delete` 등이 있습니다.
* `id`: ACL 항목의 ID를 나타냅니다.
예제 (ACL 항목의 구조)
#hostingforum.kr
php
use Apacheookeeper;
// Zookeeper 서버의 주소와 포트를 설정합니다.
$zookeeper = new Zookeeper('localhost:2181');
// 노드의 ACL을 읽어와서 반환합니다.
$acl = $zookeeper->getAcl('/my/node');
// ACL 항목을 출력합니다.
foreach ($acl as $item) {
echo "scheme: $item[scheme]
";
echo "permissions: $item[permissions]
";
echo "id: $item[id]
";
echo "
";
}
ACL의 예
#hostingforum.kr
php
use Apacheookeeper;
// Zookeeper 서버의 주소와 포트를 설정합니다.
$zookeeper = new Zookeeper('localhost:2181');
// 노드의 ACL을 설정합니다.
$zookeeper->setAcl('/my/node', [
['scheme' => 'world', 'permissions' => 'r', 'id' => 'anyone'],
['scheme' => 'auth', 'permissions' => 'w', 'id' => 'user1'],
]);
// 노드의 ACL을 읽어와서 반환합니다.
$acl = $zookeeper->getAcl('/my/node');
// ACL을 출력합니다.
print_r($acl);
이 예에서는 `/my/node` 노드의 ACL을 다음과 같이 설정합니다.
* `world` 스키마의 `r` 권한을 `anyone` ID에게 부여합니다.
* `auth` 스키마의 `w` 권한을 `user1` ID에게 부여합니다.
참고
* Zookeeper ACL은 Zookeeper 3.5.0 버전부터 지원됩니다.
* ACL 항목의 스키마, 권한, ID는 Zookeeper의 ACL 스키마에 따라 달라질 수 있습니다.
* ACL 항목의 ID는 Zookeeper의 인증 메커니즘에 따라 달라질 수 있습니다.
댓글목록
등록된 댓글이 없습니다.