Institutional · 2023–2024

Keystone: identity and access across platform and cloud

Architecture and implementation contribution with FAO colleagues; presentation co-author

In 2023–2024, we developed Keystone with Keycloak and Open Policy Agent alongside GCP IAM, integrating a Google Cloud Workforce Identity Pool with Keycloak. My contribution combined identity integration, access-policy architecture and implementation with FAO colleagues.

Problem: identity alone is not resource access

A platform identity and a cloud identity do not automatically grant the same access. Applications, service accounts and administrators need a consistent way to express permissions for platform resources and the associated cloud services.

The inspected twelve-slide presentation frames Keystone around unified identity management, centralized authorization and GCP resource access. It supports this architectural scope; it does not establish a start date, a population served or measured security outcomes.

Architecture: identity provider, gateway and client

We developed Keystone in 2023–2024 with Keycloak and Open Policy Agent (OPA), integrating Keycloak with Google Cloud Workforce Identity Federation and IAM. The twelve-slide presentation also describes OpenID Connect authentication, a FastAPI gateway and a Python client for gateway interactions.

Workforce federation lets externally authenticated users access Google Cloud under IAM permissions. It is user identity federation, distinct from workload identity federation for software workloads. OPA supplies a policy-decision responsibility for application access; gateway/platform enforcement and Google IAM resource permissions are separate scopes.

The diagrams combine the confirmed implemented integration with Google’s documented federation model. The product flow exchanges an external credential through Security Token Service for short-lived access; the particular provider claims, token caches and revocation behavior of this deployment have not been inspected.

Federated user identity and two authorization scopes

Keycloak authenticates users. A workforce identity pool/provider trusts that identity for access governed by Google Cloud IAM. A separate platform policy/gateway lane supports FAO Maps access. These scopes remain distinct; the view does not invent deployment replicas or provider attribute mappings.

Open full-size SVG
Keystone · federated identity, two authorization scopesApplications authenticate through Keycloak. A Google Cloud workforce identity pool/provider federates user identities for IAM resource access. Open Policy Agent provides application decisions for gateway/platform enforcement, separately from Google IAM. Keystone · federated identity, two authorization scopes Implemented with FAO colleagues, 2023–2024 · GCP Workforce Identity Federation AUTHENTICATION RESPONSIBILITY Applications and external identity provider Applications Users / Python client integration Keycloak + OIDC Authenticate the user authenticate GOOGLE CLOUD FEDERATION Workforce identity is for users, not workloads Workforce pool / provider Trust the external identity provider Google Cloud IAM Authorize federated principals federate user identity principal ACCESS RESPONSIBILITIES Platform policy remains distinct from GCP IAM Open Policy Agent Application policy decisions FastAPI gateway Platform enforcement GCP resources Buckets / BigQuery platform call query decision IAM access Workforce federation integration and 2023–2024 development are confirmed in my contribution account. The presentation establishes gateway / client scope; exact provider claims, cache and revocation timing are unspecified. AUTHENTICATION RESPONSIBILITY Applications and external identity provider GOOGLE CLOUD FEDERATION Workforce identity is for users, not workloads ACCESS RESPONSIBILITIES Platform policy remains distinct from GCP IAM Request / integration Message / asynchronous work Persistence / data access

Decisions: central policy with explicit enforcement boundaries

Authentication answers who is requesting access. Authorization answers whether that identity can perform an operation on a resource. The presentation connects both, while naming policy enforcement for buckets and BigQuery and access rules for FAO Maps.

The presentation describes RBAC and ReBAC for platform users and service accounts. The implemented stack also uses OPA. Policy decisions and enforcement should be distinguished: naming OPA does not mean it replaces Google IAM or prove particular Rego rules, decision caching or resource attribute mappings.

A retrospective alternative is to let each application maintain its own identity-to-cloud mapping. That reduces central dependencies, but multiplies permission administration and makes alignment harder. I would evaluate the central gateway against that administrative cost, while measuring its own availability and policy-propagation requirements.

Three security responsibilities

Authentication establishes the user in Keycloak. Workforce federation represents the external identity in Google Cloud; its documented token exchange uses STS. IAM grants resource permissions, while platform RBAC/ReBAC has its own scope. Google product mechanics are distinguished from uninspected deployment settings.

Open full-size SVG
Keystone · authentication, federation and authorizationKeycloak authenticates users. Google workforce federation trusts that external identity and, through Security Token Service, exchanges a credential for short-lived access. Google IAM controls resource permissions, while Keystone platform policies are a separate scope. Keystone · authentication, federation and authorization Trust-boundary view · Google product flow distinguished from project configuration EXTERNAL IDENTITY PROVIDER Keycloak authenticates the workforce user Workforce user Human identity Keycloak OpenID Connect identity provider sign in GOOGLE FEDERATION TRUST BOUNDARY Pool / provider configuration Workforce identity provider Federated identity trust Security Token Service Google product credential exchange external credential exchange SEPARATE AUTHORIZATION SCOPES Identity federation does not itself grant every permission OPA application policies Policy decisions; gateway enforcement IAM-controlled cloud resources Federated user access + allow policies short-lived access STS and short-lived credentials describe Google’s documented product flow, not inspected deployment settings. Workforce federation concerns user identities. Workload federation and service-account flows are different mechanisms. EXTERNAL IDENTITY PROVIDER Keycloak authenticates the workforce user GOOGLE FEDERATION TRUST BOUNDARY Pool / provider configuration SEPARATE AUTHORIZATION SCOPES Identity federation does not itself grant every permission Request / integration Message / asynchronous work Persistence / data access

Outcomes: a reviewable integration design

We implemented Keystone using Keycloak and OPA alongside GCP IAM, with Workforce Identity Pool integration, in 2023–2024. The architecture presentation documents the FastAPI gateway, Python client, authentication and role/group/policy administration, including an authentication demo section.

This is FAO institutional work delivered with colleagues. The public case describes the evidenced components and my contribution, without asserting user counts, token-lifetime guarantees, particular deployment infrastructure or independent security certification.

Learning: follow the permission all the way to the resource

An identity integration is only as clear as the enforcement boundaries around it. A design review should trace user identity, service-account identity, the policy decision and the final resource operation separately.

The next evidence I would request for an operational review is a resource-specific access trace, including denied access, token revocation and service failure. These are review criteria, not a statement that a particular caching or recovery mechanism was implemented.

Questions & discussion

How do authentication, federation and IAM differ?

Keycloak authenticates the user. Workforce federation lets Google Cloud trust an external user identity. IAM determines allowed cloud operations; the platform’s access policy remains a separate authorization scope.

Read the relevant section
How quickly does revoked access take effect?

The inspected presentation does not establish revocation timing or token caching. A defensible answer requires the implemented token lifetimes, policy refresh behavior and final resource enforcement path.

Read the relevant section
Why a Python client?

The slides explicitly describe a library that simplifies interaction with the FastAPI gateway. It creates an integration surface for applications; the deck does not prove retries, caching or token exchange internals.

Read the relevant section
Does OPA replace Google Cloud IAM?

No such replacement is claimed. OPA is the application policy-decision component; IAM permissions govern Google Cloud resources. The exact gateway decision inputs and enforcement sequence require implementation evidence.

Read the relevant section

Sources & scope

Related documents

Presentation · 2025 edition

Keystone: Unified Identity and Access Control Platform

Complete 12-slide source presentation on identity integration, the FastAPI gateway, permissions, Google Cloud access and Keycloak. Colleague credit and an institutional role identifier are redacted.

Joint presentation by Carlo Cancellieri and a colleague; contributor names omitted from this public copy. Edition dated from source metadata; this does not establish the project start date.

Read the related case study