-
Notifications
You must be signed in to change notification settings - Fork 404
PSA: k8s 1.21 Vault Service Account Issuer #721
Comments
Hej @dirtycajunrice, thanks for reporting, i've pinned this issue! |
I'm using Bank Vaults and facing the same problem. Have to disable ISS claim validation. |
Same problem, |
Im no vault user by any means but if i understand it correctly: the fix is to securely serve the jwt validation endpoint (so that the service account jwts can be validated by vault). Either make the endpoint public readable ( From the above mentioned banzai cloud writeup: // allow unauthenticated users read acces to oidc-issuer-discovery and jwks public key
kubectl create clusterrolebinding oidc-reviewer --clusterrole=system:service-account-issuer-discovery --group=system:unauthenticated
// then you should be able to see the oidc config
curl -k "https://my-api-server/.well-known/openid-configuration"
{
"issuer": "https://my-api-server",
"jwks_uri": "https://my-api-server/openid/v1/jwks",
"response_types_supported": [
"id_token"
],
"subject_types_supported": [
"public"
],
"id_token_signing_alg_values_supported": [
"RS256"
]
}
// and the public key
curl -k "https://my-api-server/openid/v1/jwks"
{
"keys": [
{
"use": "sig",
"kty": "RSA",
"kid": "...",
"alg": "RS256",
"n": "...",
"e": "AQAB"
}
]
} *edit* I don't this we can fix the issue in the controller. If someone knows it please point me in the right direction. |
Testing encrypted PVCs does not work anymore since Kubernetes v1.21. It seems that disabling the iss validation in Hashicorp Vault is a relatively simple workaround that we can use instead of the more complex securing of the environment like should be done in production deployments. Updates: ceph#1963 See-also: external-secrets/kubernetes-external-secrets#721 Signed-off-by: Niels de Vos <[email protected]>
Testing encrypted PVCs does not work anymore since Kubernetes v1.21. It seems that disabling the iss validation in Hashicorp Vault is a relatively simple workaround that we can use instead of the more complex securing of the environment like should be done in production deployments. Updates: ceph#1963 See-also: external-secrets/kubernetes-external-secrets#721 Signed-off-by: Niels de Vos <[email protected]>
Testing encrypted PVCs does not work anymore since Kubernetes v1.21. It seems that disabling the iss validation in Hashicorp Vault is a relatively simple workaround that we can use instead of the more complex securing of the environment like should be done in production deployments. Updates: ceph#1963 See-also: external-secrets/kubernetes-external-secrets#721 Signed-off-by: Niels de Vos <[email protected]>
Testing encrypted PVCs does not work anymore since Kubernetes v1.21. It seems that disabling the iss validation in Hashicorp Vault is a relatively simple workaround that we can use instead of the more complex securing of the environment like should be done in production deployments. Updates: ceph#1963 See-also: external-secrets/kubernetes-external-secrets#721 Signed-off-by: Niels de Vos <[email protected]>
Testing encrypted PVCs does not work anymore since Kubernetes v1.21. It seems that disabling the iss validation in Hashicorp Vault is a relatively simple workaround that we can use instead of the more complex securing of the environment like should be done in production deployments. Updates: ceph#1963 See-also: external-secrets/kubernetes-external-secrets#721 Signed-off-by: Niels de Vos <[email protected]>
Testing encrypted PVCs does not work anymore since Kubernetes v1.21. It seems that disabling the iss validation in Hashicorp Vault is a relatively simple workaround that we can use instead of the more complex securing of the environment like should be done in production deployments. Updates: ceph#1963 See-also: external-secrets/kubernetes-external-secrets#721 Signed-off-by: Niels de Vos <[email protected]>
Testing encrypted PVCs does not work anymore since Kubernetes v1.21. It seems that disabling the iss validation in Hashicorp Vault is a relatively simple workaround that we can use instead of the more complex securing of the environment like should be done in production deployments. Updates: ceph#1963 See-also: external-secrets/kubernetes-external-secrets#721 Signed-off-by: Niels de Vos <[email protected]>
Testing encrypted PVCs does not work anymore since Kubernetes v1.21. It seems that disabling the iss validation in Hashicorp Vault is a relatively simple workaround that we can use instead of the more complex securing of the environment like should be done in production deployments. Updates: ceph#1963 See-also: external-secrets/kubernetes-external-secrets#721 Signed-off-by: Niels de Vos <[email protected]>
Testing encrypted PVCs does not work anymore since Kubernetes v1.21. It seems that disabling the iss validation in Hashicorp Vault is a relatively simple workaround that we can use instead of the more complex securing of the environment like should be done in production deployments. Updates: ceph#1963 See-also: external-secrets/kubernetes-external-secrets#721 Signed-off-by: Niels de Vos <[email protected]>
Testing encrypted PVCs does not work anymore since Kubernetes v1.21. It seems that disabling the iss validation in Hashicorp Vault is a relatively simple workaround that we can use instead of the more complex securing of the environment like should be done in production deployments. Updates: #1963 See-also: external-secrets/kubernetes-external-secrets#721 Signed-off-by: Niels de Vos <[email protected]>
Testing encrypted PVCs does not work anymore since Kubernetes v1.21. It seems that disabling the iss validation in Hashicorp Vault is a relatively simple workaround that we can use instead of the more complex securing of the environment like should be done in production deployments. Updates: #1963 See-also: external-secrets/kubernetes-external-secrets#721 Signed-off-by: Niels de Vos <[email protected]> (cherry picked from commit fd9fee7)
Testing encrypted PVCs does not work anymore since Kubernetes v1.21. It seems that disabling the iss validation in Hashicorp Vault is a relatively simple workaround that we can use instead of the more complex securing of the environment like should be done in production deployments. Updates: #1963 See-also: external-secrets/kubernetes-external-secrets#721 Signed-off-by: Niels de Vos <[email protected]> (cherry picked from commit fd9fee7)
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 30 days. |
Fixed the problem by explicitly configuring JWT issuer for the vault like this (rest of arguments are from vault documentation):
Alternatively that may be set via UI. |
Disabling ISS validation while configuring Kubernetes Auth for HashiCorp Vault is not very nice. It seems that passing the 'issuer' option should make it possible to keep ISS validation enabled. See-also: external-secrets/kubernetes-external-secrets#721 (comment) Signed-off-by: Niels de Vos <[email protected]>
It would be nice to specify from what version of Vault "disable_iss_validation=true" is supported. I can see here it was added in June 2020: |
For anyone still bumping into this issue, ensure To get authentication working without enabling Example: The service account: ---
apiVersion: v1
automountServiceAccountToken: false
kind: ServiceAccount
metadata:
name: secret-sa
namespace: example The secret: apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:
name: sa-token
annotations:
kubernetes.io/service-account-name: secret-sa Modify helm chart: values.yaml serviceAccount:
create: false
name: secret-sa
filesFromSecret:
sa-secret:
secret: sa-token
mountPath: /var/run/secrets/kubernetes.io/serviceaccount This will create a fixed token in the secret Note that if you do not create your own service account secret, a fresh token will be requested from the kube-api server through the use of projected volumes. This token is NOT stored in a secret. This can be confusing when troubleshooting. |
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 30 days. |
This issue was closed because it has been stalled for 30 days with no activity. |
Looks like there are a few people running into the
ISS claim invalid
when bumping to 1.21.Starting k8s v1.21, Service Account Issuer Discovery feature gate is now stable and enabled by default. You have 2 methods of resolving the issue.
Secure
Configure your cluster to securely serve validation. I there are too many unique environments to give an appropriate configuration example, but banzai cloud has a nice writeup to get you started.
Insecure
If you want to continue using kubernetes-external-secrets the prior way, you need to disable issuer validation.
CLI Example
The text was updated successfully, but these errors were encountered: