You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Garm uses the same server certificate for /authn and /authz.
If server.tls.ca is not set, garm will not verify the client certificate of kube-apiserver.
Athenz n-token
Related configuration
athenz.auth_headerathenz.token.*
Note
N-token is for identifying a service (i.e. garm) in Athenz. Athenz then use the pre-configurated policy to check whether the requested access is authenticated.
N-token is sent to Athenz on every authentication request on the HTTP header with name athenz.auth_header.
If athenz.token.ntoken_path is set (Copper Argos), garm will use the n-token in the file directly.
It is better to set athenz.token.validate_token: true in this case.
If athenz.token.ntoken_path is NOT set, garm will handle the token generation and update automatically.
As the token is signed by athenz.token.private_key, please make sure that the corresponding public key is configurated in Athenz with the same athenz.token.key_version.
Garm can map kube-apiserver requests using a separate admin domain in Athenz.
If the request matches any rules in map_rule.tld.platform.admin_access_list, garm will use map_rule.tld.platform.admin_athenz_domain.
Garm will send 1 more request than the number of map_rule.tld.service_athenz_domains to Athenz. The kube-apiserver request is allowed if any 1 is allowed in Athenz (OR logic).
If service_domain_a and service_domain_b are specified in map_rule.tld.service_athenz_domains, it is requested 3 times.
Athenz resource withservice_domain_a (One of those specified in map_rule.tld.service_athenz_domains)
Athenz resource withservice_domain_b (One of those specified in map_rule.tld.service_athenz_domains)
If the request not matches any rules in map_rule.tld.platform.admin_access_list, garm will use map_rule.tld.service_athenz_domains.
Garm will send request number of map_rule.tld.service_athenz_domains to Athenz. The kube-apiserver request is allowed if any 1 is allowed in Athenz (OR logic).
If service_domain_a and service_domain_b are specified, garm will be requested twice.
spec.resourceAttributes.subresource is appended to spec.resourceAttributes.resource before mapping as spec.resourceAttributes.resource with format ${resource}.${subresource}.
Garm will only map spec.resourceAttributes.group and spec.resourceAttributes.name in kube-apiserver request body when map_rule.tld.platform.*_control is true. Else, they will be treated as "" during mapping.