Vault용 Sentinel 속성
Vault용 Sentinel 속성 (Sentinel properties)
Vault는 실행 중인 Sentinel 환경에 풍부한 데이터 집합을 주입하여 매우 세밀한 제어를 가능하게 합니다. 사용 가능한 속성 집합은 이 페이지에 열거되어 있습니다. 다음 속성을 Sentinel 정책에서 사용할 수 있습니다.
출처: 문서
본문
네임스페이스 속성 (Namespace properties)
namespace(Sentinel) 네임스페이스는 요청이 실행되는 네임스페이스에 대한 정보에 접근할 수 있게 합니다. (요청이 하위 네임스페이스에 도달하면 클라이언트가 선택한 네임스페이스와 일치하지 않을 수 있습니다.)
| 이름 | 유형 | 설명 |
|---|---|---|
| id | string | 네임스페이스 ID |
| path | string | 네임스페이스의 루트 경로 |
요청 속성 (Request properties)
다음 속성은 request 네임스페이스에서 사용할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| connection.remote_addr | string | 클라이언트의 TCP/IP 소스 주소 |
| data | map (string -> any) | 원시 요청 데이터 |
| operation | string | 작업 유형, 예: "read" 또는 "update" |
| path | string | 선행 /가 잘려진 경로 |
| policy_override | bool | soft-mandatory 정책 재정의가 요청되었으면 true |
| unauthenticated | bool | 요청된 경로가 인증되지 않은 경로이면 true |
| wrapping.ttl | duration | 요청된 응답 래핑 TTL(나노초 단위, time import와 함께 사용하기 적합) |
| wrapping.ttl_seconds | int | 요청된 응답 래핑 TTL(초 단위) |
복제 속성 (Replication properties)
다음 속성은 replication 네임스페이스에 존재합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| dr.mode | string | DR 복제 상태. 유효한 값은 "disabled", "bootstrapping", "primary", "secondary" |
| performance.mode | string | 성능 복제 상태. 유효한 값은 "disabled", "bootstrapping", "primary", "secondary" |
토큰 속성 (Token properties)
사용 가능하면 다음 속성은 token 네임스페이스에 있습니다. 요청에 토큰 정보가 연결되어 있지 않으면(예: 로그인 시) 네임스페이스가 존재하지 않습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| creation_time | string | 토큰 생성 타임스탬프(RFC3339 형식) |
| creation_time_unix | int | 토큰 생성 타임스탬프(Unix epoch UTC 기준 초) |
| creation_ttl | duration | 토큰이 처음 생성될 때의 TTL(나노초 단위, time import와 함께 사용하기 적합) |
| creation_ttl_seconds | int | 토큰이 처음 생성될 때의 TTL(초 단위) |
| display_name | string | 토큰에 설정된 표시 이름(있는 경우) |
| entity_id | string | 토큰에 연결된 Identity 엔티티 ID(있는 경우) |
| explicit_max_ttl | duration | 토큰에 명시적 최대 TTL이 있으면 그 TTL 기간(나노초 단위, time import와 함께 사용하기 적합) |
| explicit_max_ttl_seconds | int | 토큰에 명시적 최대 TTL이 있으면 그 TTL 기간(초 단위) |
| metadata | map (string -> string) | 토큰에 설정된 메타데이터 |
| num_uses | int | 사용 횟수 제한 토큰에 남은 사용 횟수. 사용 횟수 제한이 없으면 0 |
| path | string | 이 토큰 생성으로 이어진 요청 경로 |
| period | duration | 토큰에 기간(period)이 있으면 기간(나노초 단위, time import와 함께 사용하기 적합) |
| period_seconds | int | 토큰에 기간이 있으면 기간(초 단위) |
| policies | list (string) | 토큰에 직접 연결된 정책 |
| role | string | 토큰 역할로 생성된 경우 토큰을 만든 역할 |
| type | string | 토큰 유형. 현재 batch 또는 service 중 하나 |
토큰 네임스페이스 속성 (Token namespace properties)
사용 가능하면 다음 속성은 token.namespace 네임스페이스에 있습니다. 요청에 토큰 정보가 연결되어 있지 않으면(예: 로그인 시) (Sentinel) 네임스페이스가 존재하지 않습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| id | string | 네임스페이스 ID |
| path | string | 네임스페이스의 루트 경로 |
ID 속성 (Identity properties)
사용 가능하면 다음 속성은 identity 네임스페이스에 있습니다. 요청에 토큰 정보가 연결되어 있지 않으면 네임스페이스가 존재하지 않을 수 있습니다. 그러나 로그인 시 사용자의 요청 데이터를 사용해 기존 Identity 정보를 찾거나, MFA 함수에 전달할 정보를 만들려 시도합니다.
엔티티 속성 (Entity properties)
다음은 identity.entity 네임스페이스에 존재합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| creation_time | string | 엔티티 생성 시간(RFC3339 형식) |
| id | string | 엔티티의 ID |
| last_update_time | string | 엔티티의 마지막 업데이트(수정) 시간(RFC3339 형식) |
| metadata | map (string -> string) | 엔티티와 관련된 메타데이터 |
| name | string | 엔티티의 이름 |
| merged_entity_ids | list (string) | 이 엔티티에 병합된 엔티티의 ID 목록 |
| aliases | list (alias) | 이 엔티티와 관련된 별칭 목록 |
| policies | list (string) | 이 엔티티에 설정된 정책 목록 |
별칭 속성 (Alias properties)
다음은 identity.entity.aliases에서 가져올 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| creation_time | string | 별칭 생성 시간(RFC3339 형식) |
| id | string | 별칭의 ID |
| last_update_time | string | 별칭의 마지막 업데이트(수정) 시간(RFC3339 형식) |
| metadata | map (string -> string) | 별칭과 관련된 메타데이터 |
| custom_metadata | map (string -> string) | 별칭과 관련된 사용자 지정 메타데이터 |
| merged_from_entity_ids | list (string) | 이 별칭이 하나 이상의 병합을 통해 현재 엔티티에 연결된 경우 원래 엔티티가 이 목록에 있음 |
| mount_accessor | string | 이 별칭을 만든 마운트의 불변 액세서 |
| mount_path | string | 이 별칭을 만든 마운트의 경로. 액세서와 달리 현재 경로가 원래 마운트를 나타낸다는 보장이 없음 |
| mount_type | string | 이 별칭을 만든 마운트의 유형 |
| name | string | 별칭의 이름 |
그룹 속성 (Groups properties)
다음은 identity.groups 네임스페이스에 존재합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| by_id | map (string -> group) | 그룹 ID에서 그룹 정보로의 맵 |
| by_name | map (string -> group) | 그룹 이름에서 그룹 정보로의 맵. 그룹 ID와 달리 현재 이름이 항상 같은 그룹을 나타낸다는 보장이 없음 |
그룹 속성 (Group properties)
다음은 identity.groups 맵에서 가져올 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| creation_time | string | 그룹 생성 시간(RFC3339 형식) |
| id | string | 그룹의 ID |
| last_update_time | string | 그룹의 마지막 업데이트(수정) 시간(RFC3339 형식) |
| metadata | map (string -> string) | 그룹과 관련된 메타데이터 |
| name | string | 그룹의 이름 |
| member_entity_ids | list (string) | 이 그룹에 직접 할당된 엔티티의 ID 목록 |
| parent_group_ids | list (string) | 이 그룹의 부모인 그룹의 ID 목록 |
| policies | list (string) | 이 그룹에 설정된 정책 목록 |
MFA 속성
이러한 속성은 mfa 네임스페이스에 존재합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| methods | map (string -> method) | 메서드 이름에서 메서드 속성으로의 맵 |
MFA 메서드 속성 (MFA method properties)
이러한 속성은 mfa.methods 선택자로 접근할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| valid | bool | 메서드가 성공적으로 검증되었는지 여부. 검증이 시도되지 않았으면 검증 시도를 트리거합니다. 검증 시도 결과는 주어진 요청의 모든 정책에 대해 이 메서드에 사용됩니다. |
컨트롤 그룹 속성 (Control group properties)
이러한 속성은 controlgroup 네임스페이스에 존재합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| time, request_time | string | 원래 요청 시간(RFC3339 형식) |
| authorizations | list (authorization) | 컨트롤 그룹 인증 목록 |
컨트롤 그룹 인증 (Control group authorization)
이러한 속성은 controlgroup.authorizations 선택자로 접근할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| time | string | 인증 시간(RFC3339 형식) |
| entity | identity.entity | 인증자의 ID 엔티티 |
| groups | identity.groups | 인증자와 관련된 ID 그룹의 맵 |