Kubernetes Authentication

The role specifies which privileges (ie policies) should be associated which tokens generated through successful authentication using a Kubernetes Service Account token.

Create a new kubernetes

SecurityaccessToken
Request
query Parameters
validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
Request Body schema:
name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$
host
required
string

A host string, a host:port pair or a base URL to the API server.

jwks-uri
string

The JWKS uri is usually found by fetching the discovery information found at https:///.well-known/openid-configuration but in rare circumstances when that cannot be fetched, or is incorrect, an explicit URI can be configured.

server-name-indication
string

If the discovery-url is a https URL, then this field can be used to configure which name must be present in the cert presented by the server. By default the host name from the discovery-url will be used.

api-ca-cert
string

CA Cert to use when talking to the Kubernetes API server. PEM encoded. This will default to the content of /var/run/secrets/kubernetes.io/serviceaccount/ca.crt unless disable-local-ca-jwt is set to true.

pem-keys
Array of strings

Keys use to validate the JWTs issued by Kubernetes. Usually these keys can be retreived from the jwks_uri endpoint, but some installations do not expose these keys.

token-review-jwt
string

Token to use when accessing the TokenReview API. If not set it will default to either the content of /var/run/secrets/kubernetes.io/serviceaccount/token (provided the system is run inside a kubernetes cluster and unless disable-local-ca-jwt is set to true), or the service account token under review.

valid-issuers
Array of strings
Default: ["kubernetes/serviceaccount"]

In Kubernetes default tokens use kubernetes/serviceaccount as issuer, however ephemeral tokens use the api-servers service-account-issuer setting, which is often a URL. Both may have to be configured as valid issuers.

disable-iss-validation
boolean
Default: false
disable-local-ca-jwt
boolean
Default: false
to (object) or sites (object) or deployments (object)
Responses
201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

409

Conflict (instance exists)

503

Service Unavailable (strongbox sealed)

post/v1/config/strongbox/authentication/kubernetes
Request samples
name: minikube
host: 192.168.0.147:8443
jwks-uri: https://192.168.0.147:8443/openid/v1/jwks
server-name-indication: kubernetes
api-ca-cert: |
  -----BEGIN CERTIFICATE-----
  MIIDBjCCAe6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQDEwptaW5p
  a3ViZUNBMB4XDTIxMDkyNjA4NTE1NloXDTMxMDkyNTA4NTE1NlowFTETMBEGA1UE
  AxMKbWluaWt1YmVDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALPj
  RABeQOTAY9Vj4IORJ1oeAdHCXRvu6sLWokuX0rZuKj80YIJSiqXOsh2Djp8aD1fG
  EU89+fJNVV/3Ba5pe9NODbp597xAs/wpzmlurM/O99czoOxNsfd6pu0KpsRZgzBv
  UXzc9offqfr+bbFBrb6VD0fZ8q5ZJ+BupQcdc46/pm31AEG3MfmGv0jVU4d/RZTm
  +s4vrjrCEb255XTdWFHMi/bKMRNKRCoTHVAi01FbdHEivzVlFzObgp+UbldZf1v9
  GvqXzSmXLX87nn4Fa3JroPhNCajYiJikEBV5hIAe6RpGg42zr8GDrDj0e5CvpTOu
  F8leq8hjEvknEk3XQBECAwEAAaNhMF8wDgYDVR0PAQH/BAQDAgKkMB0GA1UdJQQW
  MBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
  BBTBXYN94F5bU0shR57gmFiNtyRahDANBgkqhkiG9w0BAQsFAAOCAQEAl9mr8t+M
  FCAsn2ZIuILwZeiOhNXqyftFR2la47jJmYFtV6FZwMG7zNWOZlXYKrfw8mrRsaAB
  a2OvItNipywU54mJaN4OV9PuOadz3KjB3sZ78yXsteXgH3+TxNOwe4LW1mxeyxdL
  2JBCPmgrAt0VqekN1q0RRFyI/5JkU6Q+y1rpFV+cLvJGnX47Icgbgf/BGM4Bo30q
  1U0iTWrfcVUNQwpYtbHYPnbDD3F8E4FuX+G8J2QNgjHXGKHdCkM/s9IBKr/SLgiM
  kv/++NI+D3yABup4kHRnAWPLxAsBVB/v4p8o6yLB3jwIDxHwC3LU4tyQ2n3a/RFR
  ceaTK5VvI8G+xg==
  -----END CERTIFICATE-----
pem-keys: []
token-review-jwt: eyJhbGciOiJSUzI1NiIsImtpZCI6InFZYVBkc1Y3cGtRS1dzd3NwdkVMalRuUS0wRmJCZXBVbDVaM05HMmU2OXMifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6InNib3gtdG9rZW4ta3dxczUiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoic2JveCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjE5ZTZmOGVjLTNlYWItNDFhZS1hNjZiLWZhODhhNzg5NjQxNiIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZWZhdWx0OnNib3gifQ.iqeLKrXak2UkFU3DtK55lylc8TLSDYsQddqoVB5W9CtuF_0ZHrl_lH0Un8Ia7gfEvfQGS-KURhgB6GR7iQcoCjogEfxU11TZ4JD50009lka0BA6973vm5asFlRHV7oVInLDfb7Qfk3JAlVY-bVH1SI59ctlSoxjYsbcCsNO4IYQRqmsFX1VXkW3LtpZqZ3MvpHoO7POw_PdiIvtm_zkm_QGbz3-ORxhHkzLAUmkujIS5Pwki4GdGov8PYu3GqAFAhfafK371N7Yvtb_IomcXSD1-AaMYGRiW1zGb-t3cA6yunKUBjD93PPErnH0sr7jmZRVy56jr-Qj-PwtNMjSW8w
valid-issuers:
  - kubernetes/serviceaccount
  - https://kubernetes.default.svc.cluster.local
disable-iss-validation: false
disable-local-ca-jwt: false
distribute:
  to: inherit

Retrieve the configuration of all kuberneteses

SecurityaccessToken
Request
query Parameters
fields
string

Retrieve only requested fields from the resource

See section fields

validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
keys
string <enumeration>

Retrieve only the keys for the list

Value: "true"
count
string <enumeration>

Retrieve only the number of elements in the list

Value: "true"
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

412

Precondition Failed

503

Service Unavailable (strongbox sealed)

get/v1/config/strongbox/authentication/kubernetes
Response samples
- name: minikube
  host: 192.168.0.147:8443
  jwks-uri: https://192.168.0.147:8443/openid/v1/jwks
  server-name-indication: kubernetes
  api-ca-cert: |
    -----BEGIN CERTIFICATE-----
    MIIDBjCCAe6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQDEwptaW5p
    a3ViZUNBMB4XDTIxMDkyNjA4NTE1NloXDTMxMDkyNTA4NTE1NlowFTETMBEGA1UE
    AxMKbWluaWt1YmVDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALPj
    RABeQOTAY9Vj4IORJ1oeAdHCXRvu6sLWokuX0rZuKj80YIJSiqXOsh2Djp8aD1fG
    EU89+fJNVV/3Ba5pe9NODbp597xAs/wpzmlurM/O99czoOxNsfd6pu0KpsRZgzBv
    UXzc9offqfr+bbFBrb6VD0fZ8q5ZJ+BupQcdc46/pm31AEG3MfmGv0jVU4d/RZTm
    +s4vrjrCEb255XTdWFHMi/bKMRNKRCoTHVAi01FbdHEivzVlFzObgp+UbldZf1v9
    GvqXzSmXLX87nn4Fa3JroPhNCajYiJikEBV5hIAe6RpGg42zr8GDrDj0e5CvpTOu
    F8leq8hjEvknEk3XQBECAwEAAaNhMF8wDgYDVR0PAQH/BAQDAgKkMB0GA1UdJQQW
    MBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
    BBTBXYN94F5bU0shR57gmFiNtyRahDANBgkqhkiG9w0BAQsFAAOCAQEAl9mr8t+M
    FCAsn2ZIuILwZeiOhNXqyftFR2la47jJmYFtV6FZwMG7zNWOZlXYKrfw8mrRsaAB
    a2OvItNipywU54mJaN4OV9PuOadz3KjB3sZ78yXsteXgH3+TxNOwe4LW1mxeyxdL
    2JBCPmgrAt0VqekN1q0RRFyI/5JkU6Q+y1rpFV+cLvJGnX47Icgbgf/BGM4Bo30q
    1U0iTWrfcVUNQwpYtbHYPnbDD3F8E4FuX+G8J2QNgjHXGKHdCkM/s9IBKr/SLgiM
    kv/++NI+D3yABup4kHRnAWPLxAsBVB/v4p8o6yLB3jwIDxHwC3LU4tyQ2n3a/RFR
    ceaTK5VvI8G+xg==
    -----END CERTIFICATE-----
  pem-keys: []
  token-review-jwt: eyJhbGciOiJSUzI1NiIsImtpZCI6InFZYVBkc1Y3cGtRS1dzd3NwdkVMalRuUS0wRmJCZXBVbDVaM05HMmU2OXMifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6InNib3gtdG9rZW4ta3dxczUiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoic2JveCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjE5ZTZmOGVjLTNlYWItNDFhZS1hNjZiLWZhODhhNzg5NjQxNiIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZWZhdWx0OnNib3gifQ.iqeLKrXak2UkFU3DtK55lylc8TLSDYsQddqoVB5W9CtuF_0ZHrl_lH0Un8Ia7gfEvfQGS-KURhgB6GR7iQcoCjogEfxU11TZ4JD50009lka0BA6973vm5asFlRHV7oVInLDfb7Qfk3JAlVY-bVH1SI59ctlSoxjYsbcCsNO4IYQRqmsFX1VXkW3LtpZqZ3MvpHoO7POw_PdiIvtm_zkm_QGbz3-ORxhHkzLAUmkujIS5Pwki4GdGov8PYu3GqAFAhfafK371N7Yvtb_IomcXSD1-AaMYGRiW1zGb-t3cA6yunKUBjD93PPErnH0sr7jmZRVy56jr-Qj-PwtNMjSW8w
  valid-issuers:
    - kubernetes/serviceaccount
    - https://kubernetes.default.svc.cluster.local
  disable-iss-validation: false
  disable-local-ca-jwt: false
  distribute:
    to: inherit
  

Update a kubernetes

SecurityaccessToken
Request
path Parameters
kubernetes-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of kubernetes

query Parameters
validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
Request Body schema:
name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$
host
required
string

A host string, a host:port pair or a base URL to the API server.

jwks-uri
string

The JWKS uri is usually found by fetching the discovery information found at https:///.well-known/openid-configuration but in rare circumstances when that cannot be fetched, or is incorrect, an explicit URI can be configured.

server-name-indication
string

If the discovery-url is a https URL, then this field can be used to configure which name must be present in the cert presented by the server. By default the host name from the discovery-url will be used.

api-ca-cert
string

CA Cert to use when talking to the Kubernetes API server. PEM encoded. This will default to the content of /var/run/secrets/kubernetes.io/serviceaccount/ca.crt unless disable-local-ca-jwt is set to true.

pem-keys
Array of strings

Keys use to validate the JWTs issued by Kubernetes. Usually these keys can be retreived from the jwks_uri endpoint, but some installations do not expose these keys.

token-review-jwt
string

Token to use when accessing the TokenReview API. If not set it will default to either the content of /var/run/secrets/kubernetes.io/serviceaccount/token (provided the system is run inside a kubernetes cluster and unless disable-local-ca-jwt is set to true), or the service account token under review.

valid-issuers
Array of strings
Default: ["kubernetes/serviceaccount"]

In Kubernetes default tokens use kubernetes/serviceaccount as issuer, however ephemeral tokens use the api-servers service-account-issuer setting, which is often a URL. Both may have to be configured as valid issuers.

disable-iss-validation
boolean
Default: false
disable-local-ca-jwt
boolean
Default: false
to (object) or sites (object) or deployments (object)
Responses
204

No Content

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

412

Precondition Failed

503

Service Unavailable (strongbox sealed)

patch/v1/config/strongbox/authentication/kubernetes/{kubernetes-name}
Request samples
name: minikube
host: 192.168.0.147:8443
jwks-uri: https://192.168.0.147:8443/openid/v1/jwks
server-name-indication: kubernetes
api-ca-cert: |
  -----BEGIN CERTIFICATE-----
  MIIDBjCCAe6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQDEwptaW5p
  a3ViZUNBMB4XDTIxMDkyNjA4NTE1NloXDTMxMDkyNTA4NTE1NlowFTETMBEGA1UE
  AxMKbWluaWt1YmVDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALPj
  RABeQOTAY9Vj4IORJ1oeAdHCXRvu6sLWokuX0rZuKj80YIJSiqXOsh2Djp8aD1fG
  EU89+fJNVV/3Ba5pe9NODbp597xAs/wpzmlurM/O99czoOxNsfd6pu0KpsRZgzBv
  UXzc9offqfr+bbFBrb6VD0fZ8q5ZJ+BupQcdc46/pm31AEG3MfmGv0jVU4d/RZTm
  +s4vrjrCEb255XTdWFHMi/bKMRNKRCoTHVAi01FbdHEivzVlFzObgp+UbldZf1v9
  GvqXzSmXLX87nn4Fa3JroPhNCajYiJikEBV5hIAe6RpGg42zr8GDrDj0e5CvpTOu
  F8leq8hjEvknEk3XQBECAwEAAaNhMF8wDgYDVR0PAQH/BAQDAgKkMB0GA1UdJQQW
  MBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
  BBTBXYN94F5bU0shR57gmFiNtyRahDANBgkqhkiG9w0BAQsFAAOCAQEAl9mr8t+M
  FCAsn2ZIuILwZeiOhNXqyftFR2la47jJmYFtV6FZwMG7zNWOZlXYKrfw8mrRsaAB
  a2OvItNipywU54mJaN4OV9PuOadz3KjB3sZ78yXsteXgH3+TxNOwe4LW1mxeyxdL
  2JBCPmgrAt0VqekN1q0RRFyI/5JkU6Q+y1rpFV+cLvJGnX47Icgbgf/BGM4Bo30q
  1U0iTWrfcVUNQwpYtbHYPnbDD3F8E4FuX+G8J2QNgjHXGKHdCkM/s9IBKr/SLgiM
  kv/++NI+D3yABup4kHRnAWPLxAsBVB/v4p8o6yLB3jwIDxHwC3LU4tyQ2n3a/RFR
  ceaTK5VvI8G+xg==
  -----END CERTIFICATE-----
pem-keys: []
token-review-jwt: eyJhbGciOiJSUzI1NiIsImtpZCI6InFZYVBkc1Y3cGtRS1dzd3NwdkVMalRuUS0wRmJCZXBVbDVaM05HMmU2OXMifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6InNib3gtdG9rZW4ta3dxczUiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoic2JveCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjE5ZTZmOGVjLTNlYWItNDFhZS1hNjZiLWZhODhhNzg5NjQxNiIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZWZhdWx0OnNib3gifQ.iqeLKrXak2UkFU3DtK55lylc8TLSDYsQddqoVB5W9CtuF_0ZHrl_lH0Un8Ia7gfEvfQGS-KURhgB6GR7iQcoCjogEfxU11TZ4JD50009lka0BA6973vm5asFlRHV7oVInLDfb7Qfk3JAlVY-bVH1SI59ctlSoxjYsbcCsNO4IYQRqmsFX1VXkW3LtpZqZ3MvpHoO7POw_PdiIvtm_zkm_QGbz3-ORxhHkzLAUmkujIS5Pwki4GdGov8PYu3GqAFAhfafK371N7Yvtb_IomcXSD1-AaMYGRiW1zGb-t3cA6yunKUBjD93PPErnH0sr7jmZRVy56jr-Qj-PwtNMjSW8w
valid-issuers:
  - kubernetes/serviceaccount
  - https://kubernetes.default.svc.cluster.local
disable-iss-validation: false
disable-local-ca-jwt: false
distribute:
  to: inherit

Delete a kubernetes

SecurityaccessToken
Request
path Parameters
kubernetes-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of kubernetes

query Parameters
validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
Responses
204

No Content

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

412

Precondition Failed

503

Service Unavailable (strongbox sealed)

delete/v1/config/strongbox/authentication/kubernetes/{kubernetes-name}

Replace or create a new kubernetes

SecurityaccessToken
Request
path Parameters
kubernetes-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of kubernetes

query Parameters
validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
Request Body schema:
name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$
host
required
string

A host string, a host:port pair or a base URL to the API server.

jwks-uri
string

The JWKS uri is usually found by fetching the discovery information found at https:///.well-known/openid-configuration but in rare circumstances when that cannot be fetched, or is incorrect, an explicit URI can be configured.

server-name-indication
string

If the discovery-url is a https URL, then this field can be used to configure which name must be present in the cert presented by the server. By default the host name from the discovery-url will be used.

api-ca-cert
string

CA Cert to use when talking to the Kubernetes API server. PEM encoded. This will default to the content of /var/run/secrets/kubernetes.io/serviceaccount/ca.crt unless disable-local-ca-jwt is set to true.

pem-keys
Array of strings

Keys use to validate the JWTs issued by Kubernetes. Usually these keys can be retreived from the jwks_uri endpoint, but some installations do not expose these keys.

token-review-jwt
string

Token to use when accessing the TokenReview API. If not set it will default to either the content of /var/run/secrets/kubernetes.io/serviceaccount/token (provided the system is run inside a kubernetes cluster and unless disable-local-ca-jwt is set to true), or the service account token under review.

valid-issuers
Array of strings
Default: ["kubernetes/serviceaccount"]

In Kubernetes default tokens use kubernetes/serviceaccount as issuer, however ephemeral tokens use the api-servers service-account-issuer setting, which is often a URL. Both may have to be configured as valid issuers.

disable-iss-validation
boolean
Default: false
disable-local-ca-jwt
boolean
Default: false
to (object) or sites (object) or deployments (object)
Responses
201

Created

204

No Content

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

412

Precondition Failed

503

Service Unavailable (strongbox sealed)

put/v1/config/strongbox/authentication/kubernetes/{kubernetes-name}
Request samples
name: minikube
host: 192.168.0.147:8443
jwks-uri: https://192.168.0.147:8443/openid/v1/jwks
server-name-indication: kubernetes
api-ca-cert: |
  -----BEGIN CERTIFICATE-----
  MIIDBjCCAe6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQDEwptaW5p
  a3ViZUNBMB4XDTIxMDkyNjA4NTE1NloXDTMxMDkyNTA4NTE1NlowFTETMBEGA1UE
  AxMKbWluaWt1YmVDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALPj
  RABeQOTAY9Vj4IORJ1oeAdHCXRvu6sLWokuX0rZuKj80YIJSiqXOsh2Djp8aD1fG
  EU89+fJNVV/3Ba5pe9NODbp597xAs/wpzmlurM/O99czoOxNsfd6pu0KpsRZgzBv
  UXzc9offqfr+bbFBrb6VD0fZ8q5ZJ+BupQcdc46/pm31AEG3MfmGv0jVU4d/RZTm
  +s4vrjrCEb255XTdWFHMi/bKMRNKRCoTHVAi01FbdHEivzVlFzObgp+UbldZf1v9
  GvqXzSmXLX87nn4Fa3JroPhNCajYiJikEBV5hIAe6RpGg42zr8GDrDj0e5CvpTOu
  F8leq8hjEvknEk3XQBECAwEAAaNhMF8wDgYDVR0PAQH/BAQDAgKkMB0GA1UdJQQW
  MBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
  BBTBXYN94F5bU0shR57gmFiNtyRahDANBgkqhkiG9w0BAQsFAAOCAQEAl9mr8t+M
  FCAsn2ZIuILwZeiOhNXqyftFR2la47jJmYFtV6FZwMG7zNWOZlXYKrfw8mrRsaAB
  a2OvItNipywU54mJaN4OV9PuOadz3KjB3sZ78yXsteXgH3+TxNOwe4LW1mxeyxdL
  2JBCPmgrAt0VqekN1q0RRFyI/5JkU6Q+y1rpFV+cLvJGnX47Icgbgf/BGM4Bo30q
  1U0iTWrfcVUNQwpYtbHYPnbDD3F8E4FuX+G8J2QNgjHXGKHdCkM/s9IBKr/SLgiM
  kv/++NI+D3yABup4kHRnAWPLxAsBVB/v4p8o6yLB3jwIDxHwC3LU4tyQ2n3a/RFR
  ceaTK5VvI8G+xg==
  -----END CERTIFICATE-----
pem-keys: []
token-review-jwt: eyJhbGciOiJSUzI1NiIsImtpZCI6InFZYVBkc1Y3cGtRS1dzd3NwdkVMalRuUS0wRmJCZXBVbDVaM05HMmU2OXMifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6InNib3gtdG9rZW4ta3dxczUiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoic2JveCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjE5ZTZmOGVjLTNlYWItNDFhZS1hNjZiLWZhODhhNzg5NjQxNiIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZWZhdWx0OnNib3gifQ.iqeLKrXak2UkFU3DtK55lylc8TLSDYsQddqoVB5W9CtuF_0ZHrl_lH0Un8Ia7gfEvfQGS-KURhgB6GR7iQcoCjogEfxU11TZ4JD50009lka0BA6973vm5asFlRHV7oVInLDfb7Qfk3JAlVY-bVH1SI59ctlSoxjYsbcCsNO4IYQRqmsFX1VXkW3LtpZqZ3MvpHoO7POw_PdiIvtm_zkm_QGbz3-ORxhHkzLAUmkujIS5Pwki4GdGov8PYu3GqAFAhfafK371N7Yvtb_IomcXSD1-AaMYGRiW1zGb-t3cA6yunKUBjD93PPErnH0sr7jmZRVy56jr-Qj-PwtNMjSW8w
valid-issuers:
  - kubernetes/serviceaccount
  - https://kubernetes.default.svc.cluster.local
disable-iss-validation: false
disable-local-ca-jwt: false
distribute:
  to: inherit

Retrieve the configuration of a kubernetes

SecurityaccessToken
Request
path Parameters
kubernetes-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of kubernetes

query Parameters
fields
string

Retrieve only requested fields from the resource

See section fields

validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

412

Precondition Failed

503

Service Unavailable (strongbox sealed)

get/v1/config/strongbox/authentication/kubernetes/{kubernetes-name}
Response samples
name: minikube
host: 192.168.0.147:8443
jwks-uri: https://192.168.0.147:8443/openid/v1/jwks
server-name-indication: kubernetes
api-ca-cert: |
  -----BEGIN CERTIFICATE-----
  MIIDBjCCAe6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQDEwptaW5p
  a3ViZUNBMB4XDTIxMDkyNjA4NTE1NloXDTMxMDkyNTA4NTE1NlowFTETMBEGA1UE
  AxMKbWluaWt1YmVDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALPj
  RABeQOTAY9Vj4IORJ1oeAdHCXRvu6sLWokuX0rZuKj80YIJSiqXOsh2Djp8aD1fG
  EU89+fJNVV/3Ba5pe9NODbp597xAs/wpzmlurM/O99czoOxNsfd6pu0KpsRZgzBv
  UXzc9offqfr+bbFBrb6VD0fZ8q5ZJ+BupQcdc46/pm31AEG3MfmGv0jVU4d/RZTm
  +s4vrjrCEb255XTdWFHMi/bKMRNKRCoTHVAi01FbdHEivzVlFzObgp+UbldZf1v9
  GvqXzSmXLX87nn4Fa3JroPhNCajYiJikEBV5hIAe6RpGg42zr8GDrDj0e5CvpTOu
  F8leq8hjEvknEk3XQBECAwEAAaNhMF8wDgYDVR0PAQH/BAQDAgKkMB0GA1UdJQQW
  MBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
  BBTBXYN94F5bU0shR57gmFiNtyRahDANBgkqhkiG9w0BAQsFAAOCAQEAl9mr8t+M
  FCAsn2ZIuILwZeiOhNXqyftFR2la47jJmYFtV6FZwMG7zNWOZlXYKrfw8mrRsaAB
  a2OvItNipywU54mJaN4OV9PuOadz3KjB3sZ78yXsteXgH3+TxNOwe4LW1mxeyxdL
  2JBCPmgrAt0VqekN1q0RRFyI/5JkU6Q+y1rpFV+cLvJGnX47Icgbgf/BGM4Bo30q
  1U0iTWrfcVUNQwpYtbHYPnbDD3F8E4FuX+G8J2QNgjHXGKHdCkM/s9IBKr/SLgiM
  kv/++NI+D3yABup4kHRnAWPLxAsBVB/v4p8o6yLB3jwIDxHwC3LU4tyQ2n3a/RFR
  ceaTK5VvI8G+xg==
  -----END CERTIFICATE-----
pem-keys: []
token-review-jwt: eyJhbGciOiJSUzI1NiIsImtpZCI6InFZYVBkc1Y3cGtRS1dzd3NwdkVMalRuUS0wRmJCZXBVbDVaM05HMmU2OXMifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6InNib3gtdG9rZW4ta3dxczUiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoic2JveCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjE5ZTZmOGVjLTNlYWItNDFhZS1hNjZiLWZhODhhNzg5NjQxNiIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZWZhdWx0OnNib3gifQ.iqeLKrXak2UkFU3DtK55lylc8TLSDYsQddqoVB5W9CtuF_0ZHrl_lH0Un8Ia7gfEvfQGS-KURhgB6GR7iQcoCjogEfxU11TZ4JD50009lka0BA6973vm5asFlRHV7oVInLDfb7Qfk3JAlVY-bVH1SI59ctlSoxjYsbcCsNO4IYQRqmsFX1VXkW3LtpZqZ3MvpHoO7POw_PdiIvtm_zkm_QGbz3-ORxhHkzLAUmkujIS5Pwki4GdGov8PYu3GqAFAhfafK371N7Yvtb_IomcXSD1-AaMYGRiW1zGb-t3cA6yunKUBjD93PPErnH0sr7jmZRVy56jr-Qj-PwtNMjSW8w
valid-issuers:
  - kubernetes/serviceaccount
  - https://kubernetes.default.svc.cluster.local
disable-iss-validation: false
disable-local-ca-jwt: false
distribute:
  to: inherit

Create a new kubernetes role

SecurityaccessToken
Request
path Parameters
kubernetes-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of kubernetes

query Parameters
validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
Request Body schema:
name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$
bound-service-account-names
required
Array of strings

Service account names that are allowed to authenticate using this role. The special value * indicates that all service account names are allowed.

bound-service-account-namespaces
required
Array of strings

Service account namespaces that are allowed to authenticate using this role. The special value * indicates that all service account namespaces are allowed.

audience
string

If set, the JWT audience (aud) claim must match this value.

verbose-logging
boolean
Default: false
token-ttl
string <duration>

A duration in years, days, hours, minutes and seconds.

Format is [<digits>y][<digits>d][<digits>m][<digits>s].

Examples: 1y2d5h, 5h or 10m30s

TTL of token. The lifetime can be extended using the renew operation.

token-max-ttl
string <duration>

A duration in years, days, hours, minutes and seconds.

Format is [<digits>y][<digits>d][<digits>m][<digits>s].

Examples: 1y2d5h, 5h or 10m30s

Max TTL a token can have before renewal is required.

token-policies
Array of strings <name>

These policies are associated with the token that results from successful login, in addition to any policies specified in the entity-alias and the entity.

token-auto-bound-cidrs
string <enumeration>
  • enumeration: - none: Do not set bound-cidrs automatically. (default) - host: Set bound-cidrs to the host address when token is created. - network: Set bound-cidrs to the network from where the token was created. The prefix defaults to 24, unless the subnet is specified in the token-bound-cidrs setting, in which case the same network prefix is used as in token-bound-cidrs.

Automatically set bound-cidrs of token to the host or network from where the token was created.

token-bound-cidrs
Array of strings <ip-address-and-prefix-length>
  • ipv4-address-and-prefix-length: The ipv4-address-and-prefix-length type represents a combination of an IPv4 address and a prefix length. The prefix length is given by the number following the slash character and must be less than or equal to 32. For example 192.168.131.0/24.
  • ipv6-address-and-prefix-length: The ipv6-address-and-prefix-length type represents a combination of an IPv6 address and a prefix length. The prefix length is given by the number following the slash character and must be less than or equal to 128. For example fe80::42:b6ff:feff:2f3/64. The ip-address-and-prefix-length type represents a combination of an IP address and a prefix length and is IP version neutral. The format of the textual representations implies the IP version.

Limit the use of the token to specific subnets. The token will be invalid if the src ip address originates from a subnet not listed in the token-bound-cidrs. All subnets are accepted if the list is empty.

token-explicit-max-ttl
string <duration>
Default: "0s"

A duration in years, days, hours, minutes and seconds.

Format is [<digits>y][<digits>d][<digits>m][<digits>s].

Examples: 1y2d5h, 5h or 10m30s

Limits the possible lifetime of a token and will override ttl and max-ttl, as well as the lifetime of a periodic token.

token-no-default-policy
boolean
Default: false

Do not add the default policy to the token if this is set to true.

token-num-uses
integer <uint32>

Limit the number of times the token can be used.

token-period
string <duration>
Default: "0s"

A duration in years, days, hours, minutes and seconds.

Format is [<digits>y][<digits>d][<digits>m][<digits>s].

Examples: 1y2d5h, 5h or 10m30s

It allows a token to have an unlimited lifetime if renewed within the period. The default renewal TTL will be the period. A periodic token can still have a maximum life time if explicit-max-ttl is set. The renewable property needs to be true as well.

token-type
string <token-type>
Default: "default"
  • service
  • default
token-renewable
boolean
Default: true

Should the refresh operation be allowed for this token or not.

to (object) or sites (object) or deployments (object)
Responses
201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

409

Conflict (instance exists)

503

Service Unavailable (strongbox sealed)

post/v1/config/strongbox/authentication/kubernetes/{kubernetes-name}/roles
Request samples
name: default
bound-service-account-names:
  - sbox
  - nginx-sa
bound-service-account-namespaces:
  - default
audience: https://kubernetes.default.svc.cluster.local
verbose-logging: false
token-ttl: 32d
token-max-ttl: 32d
token-policies:
  - user
token-auto-bound-cidrs: host
token-bound-cidrs:
  - 192.168.1.0/24
token-explicit-max-ttl: 0s
token-no-default-policy: false
token-num-uses: 0
token-period: 0s
token-type: default
token-renewable: true
distribute:
  to: inherit

Retrieve the configuration of all kubernetes roles

SecurityaccessToken
Request
path Parameters
kubernetes-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of kubernetes

query Parameters
fields
string

Retrieve only requested fields from the resource

See section fields

validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
keys
string <enumeration>

Retrieve only the keys for the list

Value: "true"
count
string <enumeration>

Retrieve only the number of elements in the list

Value: "true"
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

412

Precondition Failed

503

Service Unavailable (strongbox sealed)

get/v1/config/strongbox/authentication/kubernetes/{kubernetes-name}/roles
Response samples
- name: default
  bound-service-account-names:
    - sbox
    - nginx-sa
  bound-service-account-namespaces:
    - default
  audience: https://kubernetes.default.svc.cluster.local
  verbose-logging: false
  token-ttl: 32d
  token-max-ttl: 32d
  token-policies:
    - user
  token-auto-bound-cidrs: host
  token-bound-cidrs:
    - 192.168.1.0/24
  token-explicit-max-ttl: 0s
  token-no-default-policy: false
  token-num-uses: 0
  token-period: 0s
  token-type: default
  token-renewable: true
  distribute:
    to: inherit
  

Update a kubernetes role

SecurityaccessToken
Request
path Parameters
kubernetes-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of kubernetes

kubernetes-role-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of kubernetes-role

query Parameters
validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
Request Body schema:
name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$
bound-service-account-names
required
Array of strings

Service account names that are allowed to authenticate using this role. The special value * indicates that all service account names are allowed.

bound-service-account-namespaces
required
Array of strings

Service account namespaces that are allowed to authenticate using this role. The special value * indicates that all service account namespaces are allowed.

audience
string

If set, the JWT audience (aud) claim must match this value.

verbose-logging
boolean
Default: false
token-ttl
string <duration>

A duration in years, days, hours, minutes and seconds.

Format is [<digits>y][<digits>d][<digits>m][<digits>s].

Examples: 1y2d5h, 5h or 10m30s

TTL of token. The lifetime can be extended using the renew operation.

token-max-ttl
string <duration>

A duration in years, days, hours, minutes and seconds.

Format is [<digits>y][<digits>d][<digits>m][<digits>s].

Examples: 1y2d5h, 5h or 10m30s

Max TTL a token can have before renewal is required.

token-policies
Array of strings <name>

These policies are associated with the token that results from successful login, in addition to any policies specified in the entity-alias and the entity.

token-auto-bound-cidrs
string <enumeration>
  • enumeration: - none: Do not set bound-cidrs automatically. (default) - host: Set bound-cidrs to the host address when token is created. - network: Set bound-cidrs to the network from where the token was created. The prefix defaults to 24, unless the subnet is specified in the token-bound-cidrs setting, in which case the same network prefix is used as in token-bound-cidrs.

Automatically set bound-cidrs of token to the host or network from where the token was created.

token-bound-cidrs
Array of strings <ip-address-and-prefix-length>
  • ipv4-address-and-prefix-length: The ipv4-address-and-prefix-length type represents a combination of an IPv4 address and a prefix length. The prefix length is given by the number following the slash character and must be less than or equal to 32. For example 192.168.131.0/24.
  • ipv6-address-and-prefix-length: The ipv6-address-and-prefix-length type represents a combination of an IPv6 address and a prefix length. The prefix length is given by the number following the slash character and must be less than or equal to 128. For example fe80::42:b6ff:feff:2f3/64. The ip-address-and-prefix-length type represents a combination of an IP address and a prefix length and is IP version neutral. The format of the textual representations implies the IP version.

Limit the use of the token to specific subnets. The token will be invalid if the src ip address originates from a subnet not listed in the token-bound-cidrs. All subnets are accepted if the list is empty.

token-explicit-max-ttl
string <duration>
Default: "0s"

A duration in years, days, hours, minutes and seconds.

Format is [<digits>y][<digits>d][<digits>m][<digits>s].

Examples: 1y2d5h, 5h or 10m30s

Limits the possible lifetime of a token and will override ttl and max-ttl, as well as the lifetime of a periodic token.

token-no-default-policy
boolean
Default: false

Do not add the default policy to the token if this is set to true.

token-num-uses
integer <uint32>

Limit the number of times the token can be used.

token-period
string <duration>
Default: "0s"

A duration in years, days, hours, minutes and seconds.

Format is [<digits>y][<digits>d][<digits>m][<digits>s].

Examples: 1y2d5h, 5h or 10m30s

It allows a token to have an unlimited lifetime if renewed within the period. The default renewal TTL will be the period. A periodic token can still have a maximum life time if explicit-max-ttl is set. The renewable property needs to be true as well.

token-type
string <token-type>
Default: "default"
  • service
  • default
token-renewable
boolean
Default: true

Should the refresh operation be allowed for this token or not.

to (object) or sites (object) or deployments (object)
Responses
204

No Content

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

412

Precondition Failed

503

Service Unavailable (strongbox sealed)

patch/v1/config/strongbox/authentication/kubernetes/{kubernetes-name}/roles/{kubernetes-role-name}
Request samples
name: default
bound-service-account-names:
  - sbox
  - nginx-sa
bound-service-account-namespaces:
  - default
audience: https://kubernetes.default.svc.cluster.local
verbose-logging: false
token-ttl: 32d
token-max-ttl: 32d
token-policies:
  - user
token-auto-bound-cidrs: host
token-bound-cidrs:
  - 192.168.1.0/24
token-explicit-max-ttl: 0s
token-no-default-policy: false
token-num-uses: 0
token-period: 0s
token-type: default
token-renewable: true
distribute:
  to: inherit

Delete a kubernetes role

SecurityaccessToken
Request
path Parameters
kubernetes-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of kubernetes

kubernetes-role-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of kubernetes-role

query Parameters
validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
Responses
204

No Content

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

412

Precondition Failed

503

Service Unavailable (strongbox sealed)

delete/v1/config/strongbox/authentication/kubernetes/{kubernetes-name}/roles/{kubernetes-role-name}

Replace or create a new kubernetes role

SecurityaccessToken
Request
path Parameters
kubernetes-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of kubernetes

kubernetes-role-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of kubernetes-role

query Parameters
validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
Request Body schema:
name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$
bound-service-account-names
required
Array of strings

Service account names that are allowed to authenticate using this role. The special value * indicates that all service account names are allowed.

bound-service-account-namespaces
required
Array of strings

Service account namespaces that are allowed to authenticate using this role. The special value * indicates that all service account namespaces are allowed.

audience
string

If set, the JWT audience (aud) claim must match this value.

verbose-logging
boolean
Default: false
token-ttl
string <duration>

A duration in years, days, hours, minutes and seconds.

Format is [<digits>y][<digits>d][<digits>m][<digits>s].

Examples: 1y2d5h, 5h or 10m30s

TTL of token. The lifetime can be extended using the renew operation.

token-max-ttl
string <duration>

A duration in years, days, hours, minutes and seconds.

Format is [<digits>y][<digits>d][<digits>m][<digits>s].

Examples: 1y2d5h, 5h or 10m30s

Max TTL a token can have before renewal is required.

token-policies
Array of strings <name>

These policies are associated with the token that results from successful login, in addition to any policies specified in the entity-alias and the entity.

token-auto-bound-cidrs
string <enumeration>
  • enumeration: - none: Do not set bound-cidrs automatically. (default) - host: Set bound-cidrs to the host address when token is created. - network: Set bound-cidrs to the network from where the token was created. The prefix defaults to 24, unless the subnet is specified in the token-bound-cidrs setting, in which case the same network prefix is used as in token-bound-cidrs.

Automatically set bound-cidrs of token to the host or network from where the token was created.

token-bound-cidrs
Array of strings <ip-address-and-prefix-length>
  • ipv4-address-and-prefix-length: The ipv4-address-and-prefix-length type represents a combination of an IPv4 address and a prefix length. The prefix length is given by the number following the slash character and must be less than or equal to 32. For example 192.168.131.0/24.
  • ipv6-address-and-prefix-length: The ipv6-address-and-prefix-length type represents a combination of an IPv6 address and a prefix length. The prefix length is given by the number following the slash character and must be less than or equal to 128. For example fe80::42:b6ff:feff:2f3/64. The ip-address-and-prefix-length type represents a combination of an IP address and a prefix length and is IP version neutral. The format of the textual representations implies the IP version.

Limit the use of the token to specific subnets. The token will be invalid if the src ip address originates from a subnet not listed in the token-bound-cidrs. All subnets are accepted if the list is empty.

token-explicit-max-ttl
string <duration>
Default: "0s"

A duration in years, days, hours, minutes and seconds.

Format is [<digits>y][<digits>d][<digits>m][<digits>s].

Examples: 1y2d5h, 5h or 10m30s

Limits the possible lifetime of a token and will override ttl and max-ttl, as well as the lifetime of a periodic token.

token-no-default-policy
boolean
Default: false

Do not add the default policy to the token if this is set to true.

token-num-uses
integer <uint32>

Limit the number of times the token can be used.

token-period
string <duration>
Default: "0s"

A duration in years, days, hours, minutes and seconds.

Format is [<digits>y][<digits>d][<digits>m][<digits>s].

Examples: 1y2d5h, 5h or 10m30s

It allows a token to have an unlimited lifetime if renewed within the period. The default renewal TTL will be the period. A periodic token can still have a maximum life time if explicit-max-ttl is set. The renewable property needs to be true as well.

token-type
string <token-type>
Default: "default"
  • service
  • default
token-renewable
boolean
Default: true

Should the refresh operation be allowed for this token or not.

to (object) or sites (object) or deployments (object)
Responses
201

Created

204

No Content

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

412

Precondition Failed

503

Service Unavailable (strongbox sealed)

put/v1/config/strongbox/authentication/kubernetes/{kubernetes-name}/roles/{kubernetes-role-name}
Request samples
name: default
bound-service-account-names:
  - sbox
  - nginx-sa
bound-service-account-namespaces:
  - default
audience: https://kubernetes.default.svc.cluster.local
verbose-logging: false
token-ttl: 32d
token-max-ttl: 32d
token-policies:
  - user
token-auto-bound-cidrs: host
token-bound-cidrs:
  - 192.168.1.0/24
token-explicit-max-ttl: 0s
token-no-default-policy: false
token-num-uses: 0
token-period: 0s
token-type: default
token-renewable: true
distribute:
  to: inherit

Retrieve the configuration of a kubernetes role

SecurityaccessToken
Request
path Parameters
kubernetes-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of kubernetes

kubernetes-role-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of kubernetes-role

query Parameters
fields
string

Retrieve only requested fields from the resource

See section fields

validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

412

Precondition Failed

503

Service Unavailable (strongbox sealed)

get/v1/config/strongbox/authentication/kubernetes/{kubernetes-name}/roles/{kubernetes-role-name}
Response samples
name: default
bound-service-account-names:
  - sbox
  - nginx-sa
bound-service-account-namespaces:
  - default
audience: https://kubernetes.default.svc.cluster.local
verbose-logging: false
token-ttl: 32d
token-max-ttl: 32d
token-policies:
  - user
token-auto-bound-cidrs: host
token-bound-cidrs:
  - 192.168.1.0/24
token-explicit-max-ttl: 0s
token-no-default-policy: false
token-num-uses: 0
token-period: 0s
token-type: default
token-renewable: true
distribute:
  to: inherit

Retrieve the state of all kuberneteses

SecurityaccessToken
Request
query Parameters
fields
string

Retrieve only requested fields from the resource

See section fields

site
string

Send the request to the specfifed site

content
string <enumeration>

Filter descendant nodes in the response

Enum: "config" "nonconfig"
keys
string <enumeration>

Retrieve only the keys for the list

Value: "true"
count
string <enumeration>

Retrieve only the number of elements in the list

Value: "true"
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

503

Service Unavailable (strongbox sealed)

get/v1/state/strongbox/authentication/kubernetes
Response samples
- name: minikube
  host: 192.168.0.147:8443
  jwks-uri: https://192.168.0.147:8443/openid/v1/jwks
  server-name-indication: kubernetes
  api-ca-cert: |
    -----BEGIN CERTIFICATE-----
    MIIDBjCCAe6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQDEwptaW5p
    a3ViZUNBMB4XDTIxMDkyNjA4NTE1NloXDTMxMDkyNTA4NTE1NlowFTETMBEGA1UE
    AxMKbWluaWt1YmVDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALPj
    RABeQOTAY9Vj4IORJ1oeAdHCXRvu6sLWokuX0rZuKj80YIJSiqXOsh2Djp8aD1fG
    EU89+fJNVV/3Ba5pe9NODbp597xAs/wpzmlurM/O99czoOxNsfd6pu0KpsRZgzBv
    UXzc9offqfr+bbFBrb6VD0fZ8q5ZJ+BupQcdc46/pm31AEG3MfmGv0jVU4d/RZTm
    +s4vrjrCEb255XTdWFHMi/bKMRNKRCoTHVAi01FbdHEivzVlFzObgp+UbldZf1v9
    GvqXzSmXLX87nn4Fa3JroPhNCajYiJikEBV5hIAe6RpGg42zr8GDrDj0e5CvpTOu
    F8leq8hjEvknEk3XQBECAwEAAaNhMF8wDgYDVR0PAQH/BAQDAgKkMB0GA1UdJQQW
    MBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
    BBTBXYN94F5bU0shR57gmFiNtyRahDANBgkqhkiG9w0BAQsFAAOCAQEAl9mr8t+M
    FCAsn2ZIuILwZeiOhNXqyftFR2la47jJmYFtV6FZwMG7zNWOZlXYKrfw8mrRsaAB
    a2OvItNipywU54mJaN4OV9PuOadz3KjB3sZ78yXsteXgH3+TxNOwe4LW1mxeyxdL
    2JBCPmgrAt0VqekN1q0RRFyI/5JkU6Q+y1rpFV+cLvJGnX47Icgbgf/BGM4Bo30q
    1U0iTWrfcVUNQwpYtbHYPnbDD3F8E4FuX+G8J2QNgjHXGKHdCkM/s9IBKr/SLgiM
    kv/++NI+D3yABup4kHRnAWPLxAsBVB/v4p8o6yLB3jwIDxHwC3LU4tyQ2n3a/RFR
    ceaTK5VvI8G+xg==
    -----END CERTIFICATE-----
  pem-keys: []
  token-review-jwt: eyJhbGciOiJSUzI1NiIsImtpZCI6InFZYVBkc1Y3cGtRS1dzd3NwdkVMalRuUS0wRmJCZXBVbDVaM05HMmU2OXMifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6InNib3gtdG9rZW4ta3dxczUiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoic2JveCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjE5ZTZmOGVjLTNlYWItNDFhZS1hNjZiLWZhODhhNzg5NjQxNiIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZWZhdWx0OnNib3gifQ.iqeLKrXak2UkFU3DtK55lylc8TLSDYsQddqoVB5W9CtuF_0ZHrl_lH0Un8Ia7gfEvfQGS-KURhgB6GR7iQcoCjogEfxU11TZ4JD50009lka0BA6973vm5asFlRHV7oVInLDfb7Qfk3JAlVY-bVH1SI59ctlSoxjYsbcCsNO4IYQRqmsFX1VXkW3LtpZqZ3MvpHoO7POw_PdiIvtm_zkm_QGbz3-ORxhHkzLAUmkujIS5Pwki4GdGov8PYu3GqAFAhfafK371N7Yvtb_IomcXSD1-AaMYGRiW1zGb-t3cA6yunKUBjD93PPErnH0sr7jmZRVy56jr-Qj-PwtNMjSW8w
  valid-issuers:
    - kubernetes/serviceaccount
    - https://kubernetes.default.svc.cluster.local
  disable-iss-validation: false
  disable-local-ca-jwt: false
  distribute:
    to: inherit
  distribution-status:
    to: none
  

Retrieve the state of a kubernetes

SecurityaccessToken
Request
path Parameters
kubernetes-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of kubernetes

query Parameters
fields
string

Retrieve only requested fields from the resource

See section fields

site
string

Send the request to the specfifed site

content
string <enumeration>

Filter descendant nodes in the response

Enum: "config" "nonconfig"
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

503

Service Unavailable (strongbox sealed)

get/v1/state/strongbox/authentication/kubernetes/{kubernetes-name}
Response samples
name: minikube
host: 192.168.0.147:8443
jwks-uri: https://192.168.0.147:8443/openid/v1/jwks
server-name-indication: kubernetes
api-ca-cert: |
  -----BEGIN CERTIFICATE-----
  MIIDBjCCAe6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQDEwptaW5p
  a3ViZUNBMB4XDTIxMDkyNjA4NTE1NloXDTMxMDkyNTA4NTE1NlowFTETMBEGA1UE
  AxMKbWluaWt1YmVDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALPj
  RABeQOTAY9Vj4IORJ1oeAdHCXRvu6sLWokuX0rZuKj80YIJSiqXOsh2Djp8aD1fG
  EU89+fJNVV/3Ba5pe9NODbp597xAs/wpzmlurM/O99czoOxNsfd6pu0KpsRZgzBv
  UXzc9offqfr+bbFBrb6VD0fZ8q5ZJ+BupQcdc46/pm31AEG3MfmGv0jVU4d/RZTm
  +s4vrjrCEb255XTdWFHMi/bKMRNKRCoTHVAi01FbdHEivzVlFzObgp+UbldZf1v9
  GvqXzSmXLX87nn4Fa3JroPhNCajYiJikEBV5hIAe6RpGg42zr8GDrDj0e5CvpTOu
  F8leq8hjEvknEk3XQBECAwEAAaNhMF8wDgYDVR0PAQH/BAQDAgKkMB0GA1UdJQQW
  MBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
  BBTBXYN94F5bU0shR57gmFiNtyRahDANBgkqhkiG9w0BAQsFAAOCAQEAl9mr8t+M
  FCAsn2ZIuILwZeiOhNXqyftFR2la47jJmYFtV6FZwMG7zNWOZlXYKrfw8mrRsaAB
  a2OvItNipywU54mJaN4OV9PuOadz3KjB3sZ78yXsteXgH3+TxNOwe4LW1mxeyxdL
  2JBCPmgrAt0VqekN1q0RRFyI/5JkU6Q+y1rpFV+cLvJGnX47Icgbgf/BGM4Bo30q
  1U0iTWrfcVUNQwpYtbHYPnbDD3F8E4FuX+G8J2QNgjHXGKHdCkM/s9IBKr/SLgiM
  kv/++NI+D3yABup4kHRnAWPLxAsBVB/v4p8o6yLB3jwIDxHwC3LU4tyQ2n3a/RFR
  ceaTK5VvI8G+xg==
  -----END CERTIFICATE-----
pem-keys: []
token-review-jwt: eyJhbGciOiJSUzI1NiIsImtpZCI6InFZYVBkc1Y3cGtRS1dzd3NwdkVMalRuUS0wRmJCZXBVbDVaM05HMmU2OXMifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6InNib3gtdG9rZW4ta3dxczUiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoic2JveCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjE5ZTZmOGVjLTNlYWItNDFhZS1hNjZiLWZhODhhNzg5NjQxNiIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZWZhdWx0OnNib3gifQ.iqeLKrXak2UkFU3DtK55lylc8TLSDYsQddqoVB5W9CtuF_0ZHrl_lH0Un8Ia7gfEvfQGS-KURhgB6GR7iQcoCjogEfxU11TZ4JD50009lka0BA6973vm5asFlRHV7oVInLDfb7Qfk3JAlVY-bVH1SI59ctlSoxjYsbcCsNO4IYQRqmsFX1VXkW3LtpZqZ3MvpHoO7POw_PdiIvtm_zkm_QGbz3-ORxhHkzLAUmkujIS5Pwki4GdGov8PYu3GqAFAhfafK371N7Yvtb_IomcXSD1-AaMYGRiW1zGb-t3cA6yunKUBjD93PPErnH0sr7jmZRVy56jr-Qj-PwtNMjSW8w
valid-issuers:
  - kubernetes/serviceaccount
  - https://kubernetes.default.svc.cluster.local
disable-iss-validation: false
disable-local-ca-jwt: false
distribute:
  to: inherit
distribution-status:
  to: none

Retrieve the state of all kubernetes roles

SecurityaccessToken
Request
path Parameters
kubernetes-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of kubernetes

query Parameters
fields
string

Retrieve only requested fields from the resource

See section fields

site
string

Send the request to the specfifed site

content
string <enumeration>

Filter descendant nodes in the response

Enum: "config" "nonconfig"
keys
string <enumeration>

Retrieve only the keys for the list

Value: "true"
count
string <enumeration>

Retrieve only the number of elements in the list

Value: "true"
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

503

Service Unavailable (strongbox sealed)

get/v1/state/strongbox/authentication/kubernetes/{kubernetes-name}/roles
Response samples
- name: default
  bound-service-account-names:
    - sbox
    - nginx-sa
  bound-service-account-namespaces:
    - default
  audience: https://kubernetes.default.svc.cluster.local
  verbose-logging: false
  token-ttl: 32d
  token-max-ttl: 32d
  token-policies:
    - user
  token-auto-bound-cidrs: host
  token-bound-cidrs:
    - 192.168.1.0/24
  token-explicit-max-ttl: 0s
  token-no-default-policy: false
  token-num-uses: 0
  token-period: 0s
  token-type: default
  token-renewable: true
  distribute:
    to: inherit
  distribution-status:
    to: none
  

Retrieve the state of a kubernetes role

SecurityaccessToken
Request
path Parameters
kubernetes-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of kubernetes

kubernetes-role-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of kubernetes-role

query Parameters
fields
string

Retrieve only requested fields from the resource

See section fields

site
string

Send the request to the specfifed site

content
string <enumeration>

Filter descendant nodes in the response

Enum: "config" "nonconfig"
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

503

Service Unavailable (strongbox sealed)

get/v1/state/strongbox/authentication/kubernetes/{kubernetes-name}/roles/{kubernetes-role-name}
Response samples
name: default
bound-service-account-names:
  - sbox
  - nginx-sa
bound-service-account-namespaces:
  - default
audience: https://kubernetes.default.svc.cluster.local
verbose-logging: false
token-ttl: 32d
token-max-ttl: 32d
token-policies:
  - user
token-auto-bound-cidrs: host
token-bound-cidrs:
  - 192.168.1.0/24
token-explicit-max-ttl: 0s
token-no-default-policy: false
token-num-uses: 0
token-period: 0s
token-type: default
token-renewable: true
distribute:
  to: inherit
distribution-status:
  to: none