임대 수 쿼터 강제하기

임대 수 쿼터 강제하기 (Lease Count Quotas)

Vault는 리소스 쿼터의 확장으로, 생성되는 임대(lease) 수에 상한을 강제하는 기능을 제공합니다. 클러스터의 임대 수가 구성된 한도(max_leases)에 도달하면, 운영자가 한도를 수정하거나 임대가 취소·만료되기 전까지 모든 클라이언트에 대한 추가 임대 생성을 금지합니다.

출처: 문서

본문

임대 수 쿼터는 임대 폭발(lease explosion) 을 막아줍니다.

루트 토큰

임대 수 쿼터는 루트 토큰에는 적용되지 않습니다. 클러스터의 임대 수가 구성된 한도(max_leases)에 도달해도 운영자는 여전히 루트 토큰을 생성하고 클러스터에 접근해 복구를 시도할 수 있습니다.

배치 토큰

임대 수 쿼터를 초과하면 배치(batch) 토큰 생성은 차단되지만, 배치 토큰 자체는 쿼터에 집계되지 않습니다.

Vault 클러스터의 모든 노드는 임대 쿼터 규칙을 공유합니다. 즉 임대 생성 요청을 받는 노드가 어느 쪽이든 임대 카운터는 공유됩니다. 임대 쿼터는 Vault API 전체에 적용할 수도 있고, 특정 네임스페이스나 특정 마운트에 해당하는 API로 범위를 좁힐 수도 있습니다.

임대 수 쿼터 상속

경로가 지정되지 않은 루트 네임스페이스에 정의된 쿼터는 모든 네임스페이스에 상속됩니다. 이런 유형의 쿼터를 전역 쿼터(global quota) 라고 합니다. 더 구체적인(우선순위가 높은) 쿼터가 정의되지 않는 한, 전역 쿼터는 전체 Vault API에 적용됩니다.

임대 수 쿼터 우선순위

임대 수 쿼터 우선순위는 구체성(specificity)이 높은 순에서 낮은 순으로 결정됩니다. 규칙은 다음과 같습니다.

  • 전역 임대 수 쿼터는 다른 더 구체적인 네임스페이스가 정의되지 않은 경우에만 모든 마운트와 네임스페이스에 적용됩니다.
  • 네임스페이스에 정의된 임대 수 쿼터가 전역 쿼터보다 우선합니다.
  • 마운트에 정의된 임대 수 쿼터가 전역·네임스페이스 쿼터보다 우선합니다.
  • 특정 경로에 정의된 임대 수 쿼터가 전역·네임스페이스·마운트 쿼터보다 우선합니다.
  • 특정 인증 마운트의 로그인 역할(login role)로 정의된 임대 수 쿼터는, 그 인증 방식을 사용하는 로그인 요청과 지정된 역할에 적용될 때 다른 모든 쿼터보다 우선합니다.

쿼터 한도는 늘리거나 줄일 수 있습니다. 우선순위가 낮은 쿼터가 매우 제한적일 때 한 네임스페이스나 특정 마운트에서 한도를 완화하고 싶다면, 또 그 반대로 우선순위가 낮은 쿼터가 매우 느슨할 때 특정 네임스페이스·마운트의 사용을 더 제한하고 싶다면 이 우선순위 모델을 사용하면 됩니다.

기본 임대 수 쿼터

Vault 1.16.0부터 Vault Enterprise의 새 설치에는 max_leases 값이 300000인 기본 전역 쿼터가 포함됩니다. 이 값은 의도적으로 낮게 잡은 한도로, 다른 임대 수 쿼터가 지정되지 않았을 때 임대가 폭주하는 것을 막기 위한 것입니다.

이 한도는 기존 구성이 없는 모든 새 클러스터에 영향을 줍니다. 다른 쿼터와 마찬가지로 기본값은 lease-count-quotas 엔드포인트를 사용해 직접 늘리거나 줄이거나 제거할 수 있습니다.

기본값은 위 "임대 수 쿼터 우선순위" 섹션에서 설명한 대로 우선순위가 더 높은 쿼터(네임스페이스·마운트·경로·역할에 지정된)로 덮어쓸 수도 있습니다.

쿼터 검사

Vault는 다양한 메트릭과 선택적 감사 로깅 활성화를 통해 Vault 클러스터의 임대 수 쿼터 상태를 검사하도록 허용합니다.

임대 수 쿼터 초과

새 임대 요청이 쿼터 한도를 위반하면 Vault는 429 - Too Many Requests 응답을 반환합니다. 이 오류에 대한 자세한 내용은 오류 문서를 참고하세요.

튜토리얼

단계별 튜토리얼은 Protecting Vault with Resource Quotas를 참고하세요.

API

임대 수 쿼터는 HTTP API로 관리할 수 있습니다. 자세한 내용은 Lease Count Quotas API를 참고하세요.

더 알아보기 (Learn more)