Class SpiffeIdPrincipalExtractor

java.lang.Object
io.confluent.kafka.multitenant.SpiffeIdPrincipalExtractor
All Implemented Interfaces:
org.apache.kafka.common.Configurable

public class SpiffeIdPrincipalExtractor extends Object implements org.apache.kafka.common.Configurable
The SpiffeIdPrincipalExtractor is a component designed to extract Principals from SPIFFE IDs. Configuration is performed at the MultiTenantPrincipalBuilder level. The rules for principal extraction are specified via ConfluentConfigs.SPIFFE_ID_PRINCIPAL_EXTRACTION_RULES. When handling incoming OAuth requests from SPIRE-enabled applications, the Spiffe ID is matched against a set of configured rules. Principals are then extracted based on the matching rules.
  • Field Details

    • log

      public static final org.slf4j.Logger log
  • Constructor Details

    • SpiffeIdPrincipalExtractor

      public SpiffeIdPrincipalExtractor()
    • SpiffeIdPrincipalExtractor

      public SpiffeIdPrincipalExtractor(String spiffeIdPrincipalMappingRules)
  • Method Details

    • configure

      public void configure(Map<String,?> configs)
      Specified by:
      configure in interface org.apache.kafka.common.Configurable
    • fromRules

      public static SpiffeIdPrincipalExtractor fromRules(String spiffeIdPrincipalMappingRules)
    • extractPrincipals

      public List<String> extractPrincipals(String spiffeId)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • principalExtractionRulesCount

      public int principalExtractionRulesCount()