DSL syntax: system authentication store
The scripts that you can use with the SystemAuthenticationControl feature to update the system authentication store are formatted according to a domain-specific language (DSL). You can use the script builders provided in the APIs to create a script to update the system authentication store. However, if you want to create the script by some other method, ensure that it conforms to the DSL.
The following sections each describe the syntax for a single line of the file.
Adding a principal

add principal "user6" "passw0rd" add principal "user13" "passw0rd" ["CLIENT", "TOPIC_CONTROL"]
The password is passed in as plain text, but is stored in the system authentication store as a secure hash.
Removing a principal

remove principal "user25"
Assigning roles to a principal

assign roles "agent77" ["CLIENT", "CLIENT_CONTROL"]
When you use this command to assign roles to a principal, it overwrites any existing roles assigned to that principal. Ensure that all the roles you want the principal to have are listed in the command.
Setting the password for a principal

set password "user1" "passw0rd"
The password is passed in as plain text, but is stored in the system authentication store as a secure hash.
Verifying the password for a principal

verify password "user1" "passw0rd"
The password is passed in as plain text, but is stored in the system authentication store as a secure hash.
Allowing anonymous connections

allow anonymous connections [ "CLIENT" ]
Denying anonymous connections

deny anonymous connections
Abstaining from providing a decision about anonymous connections

abstain anonymous connections
Accepting client-proposed session properties with approved values

trust client proposed property "Foo" if value in ["x", "y", "z"]
Accepting client-proposed session properties matching a regex

trust client proposed property "Foo" if value matches "^\d{3}-?\d{2}-?\d{4}$"
Use Java-style regular expressions. Evaluation uses java.util.regex.Pattern.
Removing a previously-declared trusted client-proposed session property

ignore client proposed property "Foo"
Isolating a path from permissions inheritance

isolate path "foo/bar/baz"