Create the attribute connectors
Attribute connectors link the Policy Decision Point (PDP) to external Policy Information Points (PIPs). They enable the PDP to dynamically retrieve external information, such as a user's role based on their identity, by calling your business services at runtime. Retrieved attribute values can also be cached for improved performance.
An attribute connector consists of two files:
- a deployment descriptor
- a configuration file.
Follow the steps below to create and configure an attribute connector for retrieving external data in your authorization domain:
In the
authorizationDomain/attributeConnectorsdirectory, create a new attribute connector deployment descriptor file.Specify the connector's class name and the attribute(s) it provides.
myConnector.yamlclassName: <classname>
provides:
- user.role
- user.locationThe table below lists the available built-in attribute connectors. If you have developed a custom connector, specify its class name.
Attribute connector Class name LDAP com.axiomatics.acs.plugin.pips.ldap.LdapPipModuleSQL com.axiomatics.acs.plugin.pips.sql.SqlPipModuleTable com.axiomatics.acs.plugin.pips.table.TablePipModuleHTTP com.axiomatics.attributeconnector.http.ConnectorModuleJSON Parser com.axiomatics.attributeconnector.parser.json.ConnectorModuleJWT Parser com.axiomatics.attributeconnector.parser.jwt.ConnectorModuleXML Parser com.axiomatics.attributeconnector.parser.xml.ConnectorModuleHTTP (old version) com.axiomatics.pip.http.HttpPIP(deprecated)Parser (old version) com.axiomatics.pip.parser.ParserPIP(deprecated)tipA common scenario is retrieving attribute values from a remote REST/JSON API. In this case, you will need an HTTP attribute connector linked to a JSON parser attribute connector.
Create the configuration file following the instructions in the Attribute connectors documentationOpens in a new tab.
Name the configuration file after the deployment file by appending
.configurationStringto its name.For example, if your deployment file is named
myConnector.yaml, the configuration file should be namedmyConnector.configurationString.yaml.noteThe file extension can indicate the configuration format the connector supports.
You can use environment variables in all attribute connector configurations. See Variable substitution for details.
Attribute cache
To improve performance, attribute values retrieved from attribute connectors can be stored in a cache. The configuration is stored in src/authorizationDomain/attributeCache.yaml. For more information, see the Attribute cacheOpens in a new tab section of the Access Decision Service (ADS) documentation.