IK.AM

@making's tech note


OIDC ProviderとしてのHashiCorp Vaultを使ってTAP GUIにログインする

🗃 {Dev/CaaS/Kubernetes/TAP}
🏷 Kubernetes 🏷 Cartographer 🏷 Tanzu 🏷 TAP 🏷 Vault 🏷 TAP GUI 
🗓 Updated at 2023-01-12T02:00:05Z  🗓 Created at 2023-01-12T01:58:03Z   🌎 English Page

⚠️ 本記事の内容はVMwareによってサポートされていません。 記事の内容で生じた問題については自己責任で対応し、 VMwareサポート窓口には問い合わせないでください

前の記事でHashiCorp VaultとOpenID Connect Providerとして使う方法を紹介しましたが、 今度はこのOIDC ProviderとしてのVaultを使ってTAP GUIにログインしたいと思います。

VaultにOIDCクライアントの登録をします。

TAP_GUI_URL=https://tap-gui.view.example.com # CHANGEME

vault write identity/oidc/client/tap-gui \
  redirect_uris="${TAP_GUI_URL}/api/auth/oidc/handler/frame" \
  assignments="allow_all"

CLIENT_IDとCLIENT_SECRETは次のように取得できます。

CLIENT_ID=$(vault read -field client_id identity/oidc/client/tap-gui)
CLIENT_SECRET=$(vault read -field client_secret identity/oidc/client/tap-gui)

TAP GUIではemail profileが必須のようなので、前記事と同じようにprofileを追加します。実際の値はemailアドレスでなくても大丈夫です。

MOUNT_ACCESOR=$(vault read -field accessor sys/auth/ldap)
EMAIL_SCOPE_TEMPLATE="{\"email\": {{identity.entity.aliases.$MOUNT_ACCESOR.name}}}"
vault write identity/oidc/scope/email template="$(echo ${EMAIL_SCOPE_TEMPLATE} | base64 -)"
vault write identity/oidc/provider/default scopes_supported=email

email profileがないと次のようなエラーが発生しました。
image

https://docs.vmware.com/en/VMware-Tanzu-Application-Platform/1.4/tap/tap-gui-auth.html#configure-an-authentication-provider-0 を参考に、tap-values.yamlに次の箇所を設定します。

${...}の部分は置き換えてください。

tap_gui:
  # ...
  app_config:
    auth:
      environment: development
      session:
        secret: custom session secret
      providers:
        oidc:
          development:
            metadataUrl: ${VAULT_URL}/v1/identity/oidc/provider/default/.well-known/openid-configuration
            clientId: ${CLIENT_ID}
            clientSecret: ${CLIENT_SECRET}
            tokenSignedResponseAlg: RS256
            scope: "openid email"
            prompt: auto

TAPを更新します。

tanzu package installed update -n tap-install -p tap -f tap-values.yaml

TAP GUIにアクセスするとOIDCによるログインが求められます。

image

"SIGN IN"ボタンを押すとVaultにリダイレクトし、VaultにログインするとTAP GUIに戻ります。

image

✒️️ Edit  ⏰ History  🗑 Delete