Namespace
Namespace (네임스페이스) 참조
네임스페이스는 HTTP API와 Consul CLI를 통해서만 관리돼요. HTTP API는 JSON 형식 정의만 허용하는 반면 CLI는 JSON 또는 HCL을 모두 구문 분석할 수 있어요.
출처: 문서
본문
네임스페이스는 HTTP API와 Consul CLI를 통해서만 관리됩니다. HTTP API는 JSON 형식 정의만 허용하는 반면 CLI는 JSON 또는 HCL을 모두 구문 분석합니다.
필드 (Fields)
Name(string: <required>)- 네임스페이스 이름은 유효한 DNS 호스트 이름 레이블이어야 합니다.Description(string: "")- 이 필드는 네임스페이스의 목적에 대한 사람이 읽을 수 있는 설명으로 의도된 것입니다. 내부적으로 사용되지 않습니다.ACLs(object: <optional>)- 이 필드는 네임스페이스의 ACL 구성을 포함하는 중첩 JSON/HCL 객체입니다.PolicyDefaults(array<ACLLink>)- 이 네임스페이스에서 생성된 모든 토큰에 적용할 기본 정책 목록. ACLLink 객체는ID및/또는Name필드를 포함할 수 있습니다. 정책의 ID가 생략되면 Consul은 네임스페이스 정의를 내부적으로 작성하기 전에 이름을 ID로 해석합니다. 네임스페이스 정의에 연결된 모든 정책은default네임스페이스 내에 정의되어야 하며, 네임스페이스를 만들거나 편집하는 데 사용되는 ACL 토큰은 연결된 정책에 대해acl:write액세스가 있어야 합니다.RoleDefaults(array<ACLLink>)- 이 네임스페이스에서 생성된 모든 토큰에 적용할 기본 역할 목록. ACLLink 객체는ID및/또는Name필드를 포함할 수 있습니다. 역할의 ID가 생략되면 Consul은 네임스페이스 정의를 내부적으로 작성하기 전에 이름을 ID로 해석합니다. 네임스페이스 정의에 연결된 모든 역할은default네임스페이스 내에 정의되어야 하며, 네임스페이스를 만들거나 편집하는 데 사용되는 ACL 토큰은 연결된 역할에 대해acl:write액세스가 있어야 합니다.
Meta(map<string|string>: <optional>)- 이 네임스페이스와 연결할 임의의 KV 메타데이터를 지정합니다.
예시 (Examples)
예시 네임스페이스 정의는 다음 형식을 갖습니다.
{
"Name": "team-1",
"Description": "Namespace for Team 1",
"ACLs": {
"PolicyDefaults": [
{
"ID": "77117cf6-d976-79b0-d63b-5a36ac69c8f1"
},
{
"Name": "node-read"
}
],
"RoleDefaults": [
{
"ID": "69748856-ae69-d620-3ec4-07844b3c6be7"
},
{
"Name": "ns-team-2-read"
}
]
},
"Meta": {
"foo": "bar"
}
}