mTLS のみを許可するように Vault を構成したため、クライアントは、Vault API へのアクセスを許可する前に証明書を提供する必要があります。
発行者の cert-manager API ドキュメント ( https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.VaultIssuer ) を確認しましたが、指定できるフィールドはありません。クライアント証明書とキー。これが cert-manager による制限であるかどうかわからないので、mTLS を無効にする必要があります。サーバー側で TLS のみを無効にする必要があります。
私の現在のissuer-vault.yaml
ファイル。clientCert
やclientKey
underなどのキーがあるはずですがspec.vault
、cert-manager CRD で見つかりませんでした。
cat > issuer-vault.yaml <<EOF
apiVersion: cert-manager.io/v1
# use ClusterIssuer so that we don't have to create an Issuer for each namespace.
kind: ClusterIssuer
metadata:
name: vault-issuer
spec:
vault:
# we use FQDN here because vault is deployed in another namespace. Otherwise DNS query will
# just limited to this namespace
server: https://vault.vault.svc.cluster.local:8200
path: pki/sign/fiduciaedge-work
caBundle: $CA_BUNDLE
auth:
kubernetes:
role: cert-manager-issuer
mountPath: /v1/auth/kubernetes
secretRef:
name: $ISSUER_SECRET_REF
key: token
EOF