Passive install with FBC
If you store your configuration in JSON files (file-based configuration) you can set up AM with no user interaction when you start the web application container.
The following sections describe the process to install an AM server with (file-based configuration) (FBC).
Before you start, read How AM reads FBC to understand the FBC layers. |
These topics assume you have a DS instance up and running, and that the instance has been installed as an identity store, CTS store, and policy and application store.
You can find information on setting up an evaluation DS server that stores all three data types in Step 2. Prepare your datastore. |
FBC initial startup
A passive FBC installation requires a few mandatory configuration properties set as environment variables on initial startup. These properties specify that it’s a file-based configuration, set the AM server host and port, and set the connection details to the identity and policy stores.
If you don’t explicitly set a mandatory configuration property, its default value is used, as listed in the tables in this section. This lets you get started with FBC with minimal configuration upfront and add the required configuration after startup.
FBC installation writes files to the location specified by the value of com.sun.identity.configuration.directory
. If you don’t set a value for this property, AM uses the location of the application container (for example, /path/to/tomcat/webapps/am) and the application context (for example, /am
) to create a file in ~/openamcfg
with the derived name. That file contains the path to the configuration folder.
Mandatory startup properties
This table lists the minimum environment variables required to install a server with FBC. If you don’t specify a variable listed here, its default value is used on startup.
Environment variable | Description | Valid values | Default |
---|---|---|---|
|
Whether FBC is enabled. |
true, false |
false |
|
Path to the folder that holds the configuration files |
Any writeable folder on the file system |
|
|
The server protocol used for the AM server instance configuration. |
https, http |
http |
|
The fully qualified domain name that will be used for the AM server instance configuration |
Any valid FQDN |
|
|
The port on which this server instance will be available. |
Any valid port number |
8080 |
|
The web application context on which this server instance will be available. |
/web application context |
|
|
The encryption key value that will be used to encrypt passwords and other sensitive FBC configuration. |
An alphanumeric string |
A random secret is generated if not provided |
|
Connection string for the user store in the format host:port. |
A valid server connection string |
|
|
Bind DN to connect to the user store. |
Valid bind DN |
|
|
Bind password for the user store |
Alphanumeric value |
|
|
Connection string for the application and policy stores in the format host:port. |
A valid server connection string |
|
|
Bind password for the user store |
Alphanumeric value |
|
You can’t specify the password of the In production deployments, you must set up a secret store to store the Learn more in Store the amAdmin password in a secret store. |
Additional startup properties
These tables list all the properties you can set as environment variables on startup.
The properties listed in these tables aren’t written to the noninteractive-install.properties file. After an initial startup, you must specify these values in the deployment configuration layer. Otherwise, you’ll need to include them as environment variables for each subsequent startup.
|
General startup properties
Environment variable | Description | Valid values | Default |
---|---|---|---|
|
The location of the debug logs. |
A writeable location on the file system |
|
Startup properties for the identity store
Environment variable | Description | Valid values | Default |
---|---|---|---|
|
Whether AM connects to the identity store over SSL |
true, false |
true |
|
Whether mTLS is enabled for the identity store(1). |
true, false |
false |
(1) This property requires you to configure secrets so you can’t set it on an initial install.
The root suffix for the identity store defaults to ou=identities
.
Startup properties for the CTS store
Environment variable | Description | Valid values | Default |
---|---|---|---|
|
Connection string for the CTS store in the format host:port |
A valid server connection string |
The value of |
|
Bind DN to connect to the CTS store |
Valid bind DN |
|
|
Bind password for the CTS store |
Alphanumeric value |
The value of |
|
Whether AM connects to the CTS store over SSL |
true, false |
The value |
|
Whether mTLS is enabled for the CTS store |
true, false |
false |
The base DN for the CTS store defaults to ou=famrecords,ou=openam-session,ou=tokens
.
Startup properties for the application store
Environment variable | Description | Valid values | Default |
---|---|---|---|
|
Connection string for the application store in the format host:port |
A valid server connection string |
The value of |
|
Bind DN to connect to the application store |
Valid bind DN |
|
|
Bind password for the application store |
Alphanumeric value |
The value of |
|
Whether AM connects to the application store over SSL |
true, false |
The value |
|
Not used for the application store |
– |
– |
The base DN for the application store defaults to ou=services,ou=am-config
.
Startup properties for the policy store
Environment variable | Description | Valid values | Default |
---|---|---|---|
|
Connection string for the policy store in the format host:port |
A valid server connection string |
The value of |
|
Bind DN to connect to the policy store |
Valid bind DN |
|
|
Bind password for the policy store |
Alphanumeric value |
The value of |
|
Whether AM connects to the policy store over SSL |
true, false |
The value |
The base DN for the policy store defaults to ou=services,ou=am-config
.
Startup properties for UMA stores
Environment variable | Description | Valid values | Default |
---|---|---|---|
|
Connection string for the UMA store in the format host:port |
A valid server connection string |
The value of |
|
Bind DN to connect to the UMA store |
Valid bind DN |
|
|
Bind password for the UMA store |
Alphanumeric value |
The value of |
|
Whether AM connects to the UMA store over SSL |
true, false |
The value |
|
Whether mTLS is enabled for the UMA store(1). |
true, false |
The value |
(1) This property requires you to configure secrets so you can’t set it on an initial install.
The root suffix for the UMA store defaults to ou=am-config
.
Start the server with the mandatory FBC properties
The following command assumes you’re running AM in Apache Tomcat. It adds the required settings to the CATALINA_OPTS
variable in the setenv
file. You can also set these properties as JAVA_OPTS
environment variables before you start the application container.
This command sets the following properties:
-
FBC to
true
-
Location of configuration files to
/path/to/am-config
-
Identity and application stores to
ds.example.com:1636
-
Identity and application store connection details to the values set if you install your /pingds/8 servers with the corresponding setup profiles.
-
Location of truststore to
/path/to/truststore
. Learn more in Prepare the truststore. -
Truststore password to
new-password
-
Truststore type to
jks
-
Linux
-
Windows
In $CATALINA_BASE/bin/setenv.sh
:
export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.identity.sm.sms_object_filebased_enabled=true \
-Dcom.sun.identity.configuration.directory=/path/to/am-config \
-Dam.server.fqdn=am.example.com \
-Dam.stores.user.servers=ds.example.com:1636 \
-Dam.stores.user.username=uid=am-identity-bind-account,ou=admins,ou=identities \
-Dam.stores.user.password=5up35tr0ng \
-Dam.stores.application.servers=ds.example.com:1636 \
-Dam.stores.application.password=5up35tr0ng \
-Djavax.net.ssl.trustStore=/path/to/truststore \
-Djavax.net.ssl.trustStorePassword=new-password \
-Djavax.net.ssl.trustStoreType=jks -server -Xmx2g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m"
In $CATALINA_BASE/bin/setenv.bat
:
set "CATALINA_OPTS=%CATALINA_OPTS% -Dcom.sun.identity.sm.sms_object_filebased_enabled=true -
-Dcom.sun.identity.configuration.directory=/path/to/am-config -
-Dam.server.fqdn=am.example.com -
-Dam.stores.user.servers=ds.example.com:1636 -
-Dam.stores.user.username=uid=am-identity-bind-account,ou=admins,ou=identities -
-Dam.stores.user.password=5up35tr0ng -
-Dam.stores.application.servers=ds.example.com:1636 -
-Dam.stores.application.password=5up35tr0ng -
-Djavax.net.ssl.trustStore=/path/to/truststore -
-Djavax.net.ssl.trustStorePassword=new-password -
-Djavax.net.ssl.trustStoreType=jks -server -Xmx2g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m"
-
Start the web application container where AM runs. For example:
$ bin/startup.sh Using CATALINA_BASE: /path/to/tomcat10 Using CATALINA_HOME: /path/to/tomcat10 Using CATALINA_TMPDIR: /path/to/tomcat10/temp Using JRE_HOME: /Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home Using CLASSPATH: /path/to/tomcat10/bin/bootstrap.jar:/path/to/tomcat10/bin/tomcat-juli.jar Using CATALINA_OPTS: -Dcom.sun.identity.sm.sms_object_filebased_enabled=true -Dcom.sun.identity.configuration.directory=/path/to/am-config -Dam.server.fqdn=am.example.com -Dam.stores.user.servers=ds.example.com:1636 -Dam.stores.user.username=uid=am-identity-bind-account,ou=admins,ou=identities -Dam.stores.user.password=5up35tr0ng -Dam.stores.application.servers=ds.example.com:1636 -Dam.stores.application.password=5up35tr0ng -Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=new-password -Djavax.net.ssl.trustStoreType=jks -server -Xmx2g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m Tomcat started.
-
In the configuration file directory, locate the
noninteractive-install.properties
file for the FBC installation.This file reflects the environment variables you provided at startup:
$ more am-config/config/services/noninteractive-install.properties am.server.fqdn=am.example.com am.passwords.dsameuser.encrypted=AQICpxyEaXv0vc5cFxQttsDWoYfqmCqV9Kljs4rByHQ2hHzOTjiF3MdTrUfKNKKyg5ie7FujAhPxWY6unMOpxn8Tj9CJXJ/289YxL04q6pMkxqX9K2tGh55F/um4tv7sqYybySDeAP7UW9X3PpeMB8Ye6e+reEdH9dAmjGcf8gh8rvnZw29hPo0/EA== am.server.protocol=http am.stores.user.password=5up35tr0ng am.server.port=8080 am.stores.application.servers=ds.example.com:1636 am.server.context=/am am.encryption.key=PL2EdksXsEyCh0xrEwgLdRXwXPzCqf36 am.stores.user.username=uid=am-identity-bind-account,ou=admins,ou=identities am.stores.user.servers=ds.example.com:1636 am.stores.application.password=5up35tr0ng
If you don’t explicitly set a variable on startup, the FBC install uses the defaults listed in Mandatory startup properties.
-
Navigate to the AM admin UI at your deployment URL:
am.server.protocol://am.server.fqdn:am.server.port/am.server.context
For example,
http://am.example.com:8080/am
. -
Log in as
amAdmin
with the default password (password
). -
Set up a secret store to store the
amAdmin
password.Learn more in Store the amAdmin password in a secret store.
-
Review and edit the configuration for the following datastores, as required:
-
Configure any required secret stores.
-
Make any additional configuration changes.
Any configuration you update in the AM admin UI is written to the deployment configuration layer (under Any configuration you don’t update uses the baseline layer and requires the relevant environment variables to be set on subsequent startups. |