WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud Foundation
    • VMware Cloud Foundation 9
  • VKS
  • Homelab
    • Hardware Options
    • Hardware Reviews
    • Lab Deployment Scripts
    • Nested Virtualization
    • Homelab Podcasts
  • VMware Nostalgia
  • Apple
You are here: Home / Private AI Services / MS-A2 VCF 9.0 Lab: Configuring Authentik Identity Provider VMware for Private AI Services (PAIS)

MS-A2 VCF 9.0 Lab: Configuring Authentik Identity Provider VMware for Private AI Services (PAIS)

09.26.2025 by William Lam // Leave a Comment

In this blog post, we will walk through the configuration of an Identity Provider (IdP) and create an OIDC Public Application Client, which will be used to grant access to a PAIS deployment. As of this blog post, the instructions for setting up the required IdP will be based on Authentik (which I have blogged about before), which is a free and self-hosted IdP solution.

Note: I am also looking to get this working using Keycloak, but currently I am still debugging some issues, so will provide an updated blog post once I can also use Keycloak as an IdP for PAIS.

Requirements:

  • DNS entry for IdP (e.g. auth2.vcf.lab)
  • DNS placeholder entry for the PAIS deployment instance (e.g. pais.vcf.lab)
  • vSphere environment to deploy the IdP

Step 1 - Install Authentik, which is easy using docker-compose, which you can run in a small dedicated VM and follow the instructions here to grab the YAML manifest. You can customize the configuration including supporting air-gapped configuration as well as port changes (I default to 80/443), which I have done in my own environment. After that, just run docker-compose up -d to start up the application.

If you need to use/generate your own self-signed TLS certificate, please see this blog post for more details.

Step 2 - Once Authentik has initialized, login as the admin user and navigate to Customizations->Property Mappings and create a new Scope Mapping property which will allow us to include the groups scope which is not enabled by default with Authentik. You can choose any name you wish but ensure the scope/expression matches below:

  • Name: pais-group-scope-mapping
  • Scope name: groups
  • Expression:

    return {"groups": [group.name for group in user.ak_groups.all()]}


Step 3 - Navigate to Directory->Groups and create a new group, which you can chose any name that will contain users that will be allowed to access the PAIS service

  • Name: pais-users

Step 4 - Navigate to Directory->Users and create individual users (include Username, Name, Type=Internal, Email) that will be part of the group from the previous step. Once a user has been created, you will need to edit the user to set the desired credentials as well as assign group membership.

Step 5 - Navigate to Applications->Applications and start the Create with Provider workflow which will combine both the OIDC Application and Provider wizards into a single workflow.

  • Name: pais

  • Provider Type: OAuth2/OpenID Provider

  • Name: pais-provider
  • Authorization Flow: default-provider-authorization-explicit-consent
  • Client Type: Public
  • Redirect URLs/Origin:  https://pais.vcf.lab (DNS placeholder entry that we will allocate in DNS once we know the IP Address of accessing PAIS service)
  • Signing key: authentik Self-signed Certificate (do NOT change it to any other certificate)
  • Advanced Flow Settings->Scopes: email, openid, profile and pais-group-scope-mapping (from Step 2)


Create a new Policy/User/Group Binding for Group and select the group that you created in Step 3 and then complete the wizard for creating the required OIDC Application/Provider for PAIS.

  • Name: pais-users

Step 6 - Lastly, we will need to retrieve two pieces of information from our newly created OIDC Application for the PAIS configuration. Navigate to Providers and click on created provider (e.g. pais-provider) and make a note of the Client ID and OpenID Configuration Issuer, these will be referenced in the next blog post for setting up PAIS.

Categories // Private AI Services, VMware Cloud Foundation Tags // VCF 9.0

Thanks for the comment!Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Search

Thank Author

Author

William is Distinguished Platform Engineering Architect in the VMware Cloud Foundation (VCF) Division at Broadcom. His primary focus is helping customers and partners build, run and operate a modern Private Cloud using the VMware Cloud Foundation (VCF) platform.

Connect

  • Bluesky
  • Email
  • GitHub
  • LinkedIn
  • Mastodon
  • Reddit
  • RSS
  • Twitter
  • Vimeo

Recent

  • Improved Workaround for NSX Edge Deployment & Upgrade to VCF 9.0.2 running AMD Ryzen CPUs 01/20/2026
  • Disable HTTP Range Requests on Synology WebStation, Apache or Nginx 01/14/2026
  • Quick Tip - Correlating VCF Component to Bundle ID/Name 01/08/2026
  • TLS Chain of Trust when using SSL Inspection with VCF Download Tool (VCFDT) 01/07/2026
  • Quick Tip - Reset vCenter Server from previously managed VCF Operations for VCF Single Sign-On (SSO) 01/06/2026

Advertisment

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.

To find out more, including how to control cookies, see here: Cookie Policy

Copyright WilliamLam.com © 2026

 

Loading Comments...