HTTP 라우트 인증 필터 참조

HTTP 라우트 인증 필터 참조 (RouteAuthFilter)

Kubernetes 오케스트레이션 네트워크의 Consul 서비스 메시에서 특정 라우트에 대한 승인 필터 구성을 정의하는 HTTP 라우트 인증 필터 리소스에 대한 참조 정보를 제공하는 문서예요.

출처: 문서

본문

이 주제는 Kubernetes 오케스트레이션 네트워크의 Consul 서비스 메시에서 특정 라우트에 대한 승인 필터 구성을 정의하는 HTTP 라우트 인증 필터 리소스에 대한 참조 정보를 제공합니다.

구성 모델 (Configuration model)

다음 목록은 HTTP 라우트 인증 필터 리소스에서 필드 계층 구조, 데이터 타입, 요구 사항을 설명합니다.

사양 (Specification)

이 섹션은 HTTP 라우트 인증 필터 리소스에서 구성할 수 있는 필드에 대한 세부 사항을 제공합니다.

apiVersion

Kubernetes와 통합하기 위한 Consul API의 버전을 지정합니다. 값은 consul.hashicorp.com/v1alpha1이어야 합니다.

  • 기본값: 없음
  • 이 필드는 필수입니다.
  • consul.hashicorp.com/v1alpha1로 설정해야 하는 문자열 값입니다.

kind

구현할 구성 항목의 유형을 지정합니다. RouteAuthFilter로 설정해야 합니다.

  • 기본값: 없음
  • 이 필드는 필수입니다.
  • RouteAuthFilter로 설정해야 하는 문자열 값입니다.

metadata

리소스의 임의 이름과 적용되는 네임스페이스를 포함하는 맵입니다.

  • 기본값: 없음
  • 데이터 타입: 맵

metadata.name

리소스의 이름을 지정합니다. 이 이름은 특정 클러스터에 리소스를 적용하는 것과 같은 Consul 작업을 수행할 때 리소스를 참조하는 데 사용할 수 있는 메타데이터입니다.

  • 기본값: 없음
  • 이 필드는 필수입니다.
  • 데이터 타입: 문자열

metadata.namespace

구성이 적용되는 네임스페이스를 지정합니다. 자세한 내용은 Namespaces를 참조하세요.

  • 기본값: default
  • 데이터 타입: 문자열

spec

HTTP 라우트 인증 필터에 대한 세부 사항을 포함하는 맵입니다. apiVersion, kind, metadata 필드는 spec 필드의 형제이며, 다른 모든 구성은 하위 항목입니다.

  • 기본값: 없음
  • 이 필드는 필수입니다.
  • 데이터 타입: 맵

spec.jwt

필터가 라우트에 연결될 때 리스너에 적용할 JWT 검증 구성을 포함하는 맵입니다. 이러한 라우트별 설정은 GatewayPolicy 리소스에 정의된 default 구성보다 우선하지만 override JWT 구성보다는 우선하지 않습니다.

  • 기본값: 없음
  • 데이터 타입: 맵

spec.jwt.providers

필터가 라우트에 연결될 때 리스너에 적용할 JWT 프로바이더 구성 목록을 지정합니다. 프로바이더 구성에는 프로바이더의 이름과 클레임(claim)이 포함됩니다. 라우트별 설정은 GatewayPolicy 리소스에 정의된 default 구성보다 우선하지만 override 구성보다는 우선하지 않습니다. 추가 정보는 Use JWTs to verify requests to API gateways on Kubernetes를 참조하세요.

  • 기본값: 없음
  • 데이터 타입: 맵 목록

providers 목록의 멤버에서 지정할 수 있는 매개변수는 다음 표와 같습니다.

매개변수 설명 데이터 타입 기본값
name 프로바이더의 이름을 지정합니다. 문자열 없음
verifyClaims 클레임을 정의하는 경로와 값 목록을 지정합니다. Consul은 리스너 JWT 구성에 선언된 클레임과 일치하는 요청을 검증하고 게이트웨이를 통해 요청을 허용합니다. VerifyClaims 맵은 다음 설정을 지정합니다: path: 등록되거나 사용자 정의된 하나 이상의 클레임 목록을 지정합니다. value: 클레임의 기대 값을 지정합니다. 맵 없음

spec.extAuthz (Enterprise)

이 필터를 참조하는 HTTP 라우트에 대해 게이트웨이 전체 기본 동작인 외부 승인(ext_authz)을 재정의하는 맵입니다. Consul http-route ExtAuthz 필터에 매핑되며 게이트웨이 전체 토글보다 우선합니다. 이 필드는 ProxyType = "api-gateway"인 builtin/ext-authz Envoy 확장이 게이트웨이에 적용된 경우에만 효과가 있습니다.

  • 기본값: 없음
  • 데이터 타입: 맵

spec.extAuthz.enabled (Enterprise)

Envoy가 이 필터를 참조하는 HTTP 라우트에 대한 요청에 대해 외부 승인 검사(server authorization check)를 실행할지 여부를 지정합니다. 게이트웨이 전체 기본값과 관계없이 이 라우트에서 외부 승인을 강제로 켜려면 true로, 건너뛰려면 false로 설정합니다.

  • 기본값: 없음
  • 데이터 타입: Boolean

예시 구성 (Example configuration)

다음 예시에서 필터에 연결된 HTTP 라우트로 보내지는 요청은 admin 권한이 있어야 합니다.

apiVersion: consul.hashicorp.com/v1alpha1
kind: RouteAuthFilter
metadata:
    name: example-route-jwt-filter
    namespace: default
spec:
    JWT:
      Providers:
        - Name: "okta"
          VerifyClaims:
          - Path:
            - "roles"
            - "perm"
            Value: "admin"

다음 예시에서는 필터가 게이트웨이 전체 기본값을 재정의하여, 이를 참조하는 HTTP 라우트에 대한 외부 승인을 비활성화합니다.

apiVersion: consul.hashicorp.com/v1alpha1
kind: RouteAuthFilter
metadata:
    name: example-route-extauthz-filter
    namespace: default
spec:
    extAuthz:
      enabled: false

더 알아보기 (Learn more)