JWT Identity Matcher
JwtIdentityMatcher specifies matching workloads with JWT identities.
For example, the following configuration will match only those workloads that
were authenticated by means of an
OIDC ID Token
issued by https://mycompany.corp
for one of the subjects us-east-datacenter1-vm007
or
us-west-datacenter2-vm008
:
issuer: "https://mycompany.corp"
subjects:
- "us-east-datacenter1-vm007"
- "us-west-datacenter2-vm008"
In those cases where an OIDC ID Token from a given issuer includes a map of fine-grained attributes associated with a workload, it is possible to define rules that match those attributes.
E.g., the following configuration will match a set workloads that
were authenticated by means of an
OIDC ID Token
issued by https://mycompany.corp
and include 1) attribute region
with one of the values
us-east
or us-west
and 2) attribute instance_role
with the value app-ratings
:
issuer: "https://mycompany.corp"
attributes:
- name: "region"
values:
- "us-east"
- "us-west"
- name: "instance_role"
values:
- "app-ratings"
AttributeMatcher
AttributeMatcher specifies a matching attribute.
Field | Description | Validation Rule |
---|---|---|
name | string E.g., | string = { |
values | List of string E.g., Empty list means match any value. | repeated = { |
JwtIdentityMatcher
JwtIdentityMatcher specifies matching workloads with JWT identities.
Field | Description | Validation Rule |
---|---|---|
issuer | string The value must be a case sensitive URL using the https scheme that contains scheme, host, and optionally, port number and path components and no query or fragment components. E.g., See https://openid.net/specs/openid-connect-core-1_0.html#IDToken | string = { |
subjects | List of string The value must consist of ASCII characters. E.g., Empty list means match OIDC ID Tokens with any subject. | repeated = { |
attributes | List of tetrateio.api.onboarding.authorization.jwt.v1alpha1.AttributeMatcher Empty list means match OIDC ID Tokens with any attributes. | repeated = { |