OS Manuals

/usr/bin/kube-rbac-proxy

Kubernetes RBAC authorizing HTTP proxy for a single upstream.

From kube-rbac-proxy 0.22.0-r5 (os), captured 2026-11-05 by running kube-rbac-proxy --help (exit 0). permalink

Also provided by 2 other package versions
The kube-rbac-proxy is a small HTTP proxy for a single upstream
that can perform RBAC authorization against the Kubernetes API using SubjectAccessReview.

Usage:
  kube-rbac-proxy [flags]

Kube-rbac-proxy flags:

      --allow-paths strings                         Comma-separated list of paths against which kube-rbac-proxy pattern-matches the incoming request. If the request doesn't match, kube-rbac-proxy responds with a 404 status code. If omitted, the incoming request path isn't checked. Cannot be used with --ignore-paths.
      --auth-header-fields-enabled                  When set to true, kube-rbac-proxy adds auth-related fields to the headers of http requests sent to the upstream
      --auth-header-groups-field-name string        The name of the field inside a http(2) request header to tell the upstream server about the user's groups (default "x-remote-groups")
      --auth-header-groups-field-separator string   The separator string used for concatenating multiple group names in a groups header field's value (default "|")
      --auth-header-user-field-name string          The name of the field inside a http(2) request header to tell the upstream server about the user's name (default "x-remote-user")
      --auth-token-audiences strings                Comma-separated list of token audiences to accept. By default a token does not have to have any specific audience. It is recommended to set a specific audience.
      --client-ca-file string                       If set, any request presenting a client certificate signed by one of the authorities in the client-ca-file is authenticated with an identity corresponding to the CommonName of the client certificate.
      --config-file string                          Configuration file to configure kube-rbac-proxy.
      --http2-disable                               Disable HTTP/2 support
      --http2-max-concurrent-streams uint32         The maximum number of concurrent streams per HTTP/2 connection. (default 100)
      --http2-max-size uint32                       The maximum number of bytes that the server will accept for frame size and buffer per stream in a HTTP/2 request. (default 262144)
      --ignore-paths strings                        Comma-separated list of paths against which kube-rbac-proxy pattern-matches the incoming request. If the requst matches, it will proxy the request without performing an authentication or authorization check. Cannot be used with --allow-paths.
      --insecure-listen-address string              [DEPRECATED] The address the kube-rbac-proxy HTTP server should listen on.
      --kube-api-burst int                          kube-api burst value; needed when kube-api-qps is set
      --kube-api-qps float32                        queries per second to the api, kube-client starts client-side throttling, when breached
      --kubeconfig string                           Path to a kubeconfig file, specifying how to connect to the API server. If unset, in-cluster configuration will be used
      --oidc-ca-file string                         If set, the OpenID server's certificate will be verified by one of the authorities in the oidc-ca-file, otherwise the host's root CA set will be used.
      --oidc-clientID string                        The client ID for the OpenID Connect client, must be set if oidc-issuer-url is set.
      --oidc-groups-claim string                    Identifier of groups in JWT claim, by default set to 'groups' (default "groups")
      --oidc-groups-prefix string                   If provided, all groups will be prefixed with this value to prevent conflicts with other authentication strategies.
      --oidc-issuer string                          The URL of the OpenID issuer, only HTTPS scheme will be accepted. If set, it will be used to verify the OIDC JSON Web Token (JWT).
      --oidc-sign-alg stringArray                   Supported signing algorithms, default RS256 (default [RS256])
      --oidc-username-claim string                  Identifier of the user in JWT claim, by default set to 'email' (default "email")
      --oidc-username-prefix string                 If provided, the username will be prefixed with this value to prevent conflicts with other authentication strategies.
      --proxy-endpoints-port int                    The port to securely serve proxy-specific endpoints (such as '/healthz'). Uses the host from the '--secure-listen-address'.
      --secure-listen-address string                The address the kube-rbac-proxy HTTPs server should listen on.
      --tls-cert-file string                        File containing the default x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert)
      --tls-cipher-suites strings                   Comma-separated list of cipher suites for the server. Values are from tls package constants (https://golang.org/pkg/crypto/tls/#pkg-constants). If omitted, the default Go cipher suites will be used
      --tls-min-version string                      Minimum TLS version supported. Value must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants. (default "VersionTLS12")
      --tls-private-key-file string                 File containing the default x509 private key matching --tls-cert-file.
      --tls-reload-interval duration                [DEPRECATED] The interval at which to watch for TLS certificate changes, by default set to 1 minute. (default 1m0s)
      --upstream string                             The upstream URL to proxy to once requests have successfully been authenticated and authorized.
      --upstream-ca-file string                     The CA the upstream uses for TLS connection. This is required when the upstream uses TLS and its own CA certificate
      --upstream-client-cert-file string            If set, the client will be used to authenticate the proxy to upstream. Requires --upstream-client-key-file to be set, too.
      --upstream-client-key-file string             The key matching the certificate from --upstream-client-cert-file. If set, requires --upstream-client-cert-file to be set, too.
      --upstream-force-h2c                          Force h2c to communiate with the upstream. This is required when the upstream speaks h2c(http/2 cleartext - insecure variant of http/2) only. For example, go-grpc server in the insecure mode, such as helm's tiller w/o TLS, speaks h2c only

Global flags:

  -h, --help                     help for kube-rbac-proxy
      --version version[=true]   --version, --version=raw prints version information and quits; --version=vX.Y.Z... sets the reported version
Options (38)
OptionDescriptionSource
--allow-paths stringsComma-separated list of paths against which kube-rbac-proxy pattern-matches the incoming request.help
--auth-header-fields-enabledWhen set to true, kube-rbac-proxy adds auth-related fields to the headers of http requests sent to the upstreamhelp
--auth-header-groups-field-name stringThe name of the field inside a http(2) request header to tell the upstream server about the user's groups (default "x-remote-groups")help
--auth-header-groups-field-separator stringThe separator string used for concatenating multiple group names in a groups header field's value (default "|")help
--auth-header-user-field-name stringThe name of the field inside a http(2) request header to tell the upstream server about the user's name (default "x-remote-user")help
--auth-token-audiences stringsComma-separated list of token audiences to accept.help
--client-ca-file stringIf set, any request presenting a client certificate signed by one of the authorities in the client-ca-file is authenticated with an identity corresponding to the CommonName of the client certificate.help
--config-file stringConfiguration file to configure kube-rbac-proxy.help
--http2-disableDisable HTTP/2 supporthelp
--http2-max-concurrent-streams uint32The maximum number of concurrent streams per HTTP/2 connection.help
--http2-max-size uint32The maximum number of bytes that the server will accept for frame size and buffer per stream in a HTTP/2 request.help
--ignore-paths stringsComma-separated list of paths against which kube-rbac-proxy pattern-matches the incoming request.help
--insecure-listen-address string[DEPRECATED] The address the kube-rbac-proxy HTTP server should listen on.help
--kube-api-burst intkube-api burst value;help
--kube-api-qps float32queries per second to the api, kube-client starts client-side throttling, when breachedhelp
--kubeconfig stringPath to a kubeconfig file, specifying how to connect to the API server.help
--oidc-ca-file stringIf set, the OpenID server's certificate will be verified by one of the authorities in the oidc-ca-file, otherwise the host's root CA set will be used.help
--oidc-clientID stringThe client ID for the OpenID Connect client, must be set if oidc-issuer-url is set.help
--oidc-groups-claim stringIdentifier of groups in JWT claim, by default set to 'groups' (default "groups")help
--oidc-groups-prefix stringIf provided, all groups will be prefixed with this value to prevent conflicts with other authentication strategies.help
--oidc-issuer stringThe URL of the OpenID issuer, only HTTPS scheme will be accepted.help
--oidc-sign-alg stringArraySupported signing algorithms, default RS256 (default [RS256])help
--oidc-username-claim stringIdentifier of the user in JWT claim, by default set to 'email' (default "email")help
--oidc-username-prefix stringIf provided, the username will be prefixed with this value to prevent conflicts with other authentication strategies.help
--proxy-endpoints-port intThe port to securely serve proxy-specific endpoints (such as '/healthz').help
--secure-listen-address stringThe address the kube-rbac-proxy HTTPs server should listen on.help
--tls-cert-file stringFile containing the default x509 Certificate for HTTPS.help
--tls-cipher-suites stringsComma-separated list of cipher suites for the server.help
--tls-min-version stringMinimum TLS version supported.help
--tls-private-key-file stringFile containing the default x509 private key matching --tls-cert-file.help
--tls-reload-interval duration[DEPRECATED] The interval at which to watch for TLS certificate changes, by default set to 1 minute.help
--upstream stringThe upstream URL to proxy to once requests have successfully been authenticated and authorized.help
--upstream-ca-file stringThe CA the upstream uses for TLS connection.help
--upstream-client-cert-file stringIf set, the client will be used to authenticate the proxy to upstream.help
--upstream-client-key-file stringThe key matching the certificate from --upstream-client-cert-file.help
--upstream-force-h2cForce h2c to communiate with the upstream.help
-h, --helphelp for kube-rbac-proxyhelp
--version version[=true--version, --version=raw prints version information and quits;help

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.