Security & Access Control

Security & Access Control settings

Grant page URL

URL of consent screen. A consent screen is an interface presented to a user during the authorization code grant flow.

IDsecurity.grant-page-url
TypeString
Default value/auth/grant
Environment variablesBOX_SECURITY_GRANT_PAGE_URL ,
BOX_AUTH_GRANT__PAGE__URL
Sensitivefalse — can be set via Ul and environment variable
Hot reloadtrue — can be changed at runtime

Enable audit log

Aidbox produces audit logs in FHIR AuditEvent format for significant events.

IDsecurity.audit-log.enabled
TypeBool
Default value(no default)
Environment variablesBOX_SECURITY_AUDIT_LOG_ENABLED ,
AIDBOX_SECURITY_AUDIT__LOG_ENABLED
Sensitivefalse — can be set via Ul and environment variable
Hot reloadfalse — requires Aidbox restart

Enable access control for mapping

Enable access control for /Mapping//$apply operation. If enabled, access control will be applied to the resulting transaction. If disabled, only access to $apply endpoints are verified.

IDsecurity.iam.mapping.enable-access-control
TypeBool
Default value(no default)
Environment variablesBOX_SECURITY_IAM_MAPPING_ENABLE_ACCESS_CONTROL ,
BOX_FEATURES_MAPPING_ENABLE__ACCESS__CONTROL
Sensitivefalse — can be set via Ul and environment variable
Hot reloadtrue — can be changed at runtime

Encryption API secret

Secret key for encryption API. Learn more

IDsecurity.encrypt-secret
TypeString
Default value(no default)
Environment variablesBOX_SECURITY_ENCRYPT_SECRET ,
AIDBOX_ENCRYPT_KEY
Sensitivetrue — can be set only via environment variable
Hot reloadtrue — can be changed at runtime

Allow CORS requests

Enable Cross-Origin Resource Sharing (CORS) request handling.

IDsecurity.cors.enabled
TypeBool
Default valuetrue
Environment variablesBOX_SECURITY_CORS_ENABLED ,
BOX_WEB_CORS_ENABLED
Sensitivefalse — can be set via Ul and environment variable
Hot reloadtrue — can be changed at runtime

Allow CORS requests from origins

Comma separated list of origins [schema]://[domain]:[port] Default is wildcard value "*"

IDsecurity.cors.origins
TypeString
Default value*
Environment variablesBOX_SECURITY_CORS_ORIGINS ,
BOX_WEB_CORS_ORIGINS
Sensitivefalse — can be set via Ul and environment variable
Hot reloadtrue — can be changed at runtime

Content security policy header

This configuration defines the Content Security Policy (CSP) header to enhance security by restricting resource loading. It specifies the policies for loading scripts, styles, media, fonts, and other resources.

Refer to the OWASP Content Security Policy Cheat Sheet

Recommended value: `` default-src 'self'; script-src 'report-sample' 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'report-sample' 'self' 'unsafe-inline'; object-src 'none'; base-uri 'self'; connect-src 'self'; font-src 'self'; frame-src 'self'; frame-ancestors 'self'; img-src 'self'; manifest-src 'self'; media-src 'self'; worker-src 'self'; ``

IDsecurity.content-security-policy-header
TypeString
Default value(no default)
Environment variablesBOX_SECURITY_CONTENT_SECURITY_POLICY_HEADER ,
AIDBOX_CONTENT_SECURITY_POLICY_HEADER
Sensitivefalse — can be set via Ul and environment variable
Hot reloadtrue — can be changed at runtime

Skip JWT validation

Skip JWT token validation process.

IDsecurity.skip-jwt-validation
TypeBool
Default value(no default)
Environment variablesBOX_SECURITY_SKIP_JWT_VALIDATION ,
BOX_FEATURES_AUTHENTICATION_SKIP__JWT__VALIDATION
Sensitivefalse — can be set via Ul and environment variable
Hot reloadtrue — can be changed at runtime

JWT public key

RS256 signing algorithm expects providing private key for signing JWT and public key for verifying it.

IDsecurity.auth.keys.public
TypeString
Default value(no default)
Environment variablesBOX_SECURITY_AUTH_KEYS_PUBLIC ,
BOX_AUTH_KEYS_PUBLIC
Sensitivefalse — can be set via Ul and environment variable
Hot reloadfalse — requires Aidbox restart

JWT private key

RS256 signing algorithm expects providing private key for signing JWT and public key for verifying it.

IDsecurity.auth.keys.private
TypeString
Default value(no default)
Environment variablesBOX_SECURITY_AUTH_KEYS_PRIVATE ,
BOX_AUTH_KEYS_PRIVATE
Sensitivetrue — can be set only via environment variable
Hot reloadfalse — requires Aidbox restart

JWT secret

HS256 signing algorithm needs only having a secret for both operations.

IDsecurity.auth.keys.secret
TypeString
Default value(no default)
Environment variablesBOX_SECURITY_AUTH_KEYS_SECRET ,
BOX_AUTH_KEYS_SECRET
Sensitivetrue — can be set only via environment variable
Hot reloadfalse — requires Aidbox restart

Create user for foreign token

Create a user when using foreign JWT access token and the user does not already exist.

IDsecurity.introspection-create-user
TypeBool
Default value(no default)
Environment variablesBOX_SECURITY_INTROSPECTION_CREATE_USER ,
BOX_FEATURES_AUTHENTICATION_INTROSPECTION_CREATE__USER
Sensitivefalse — can be set via Ul and environment variable
Hot reloadtrue — can be changed at runtime

Auth with non-validated JWT

This configuration is used when skip-jwt-validation setting is enabled. It's a string that contains EDN object with :headers and :user-id-paths keys. For example: {:headers #{"authorization" "x-client-token"}, :user-id-paths #{[:authorization :user_id] [:my-client-token :user :id]}}

IDsecurity.auth-with-not-validated-jwt
TypeString
Default value(no default)
Environment variablesBOX_SECURITY_AUTH_WITH_NOT_VALIDATED_JWT ,
BOX_FEATURES_AUTHENTICATION_AUTH__WITH__NOT__VALIDATED__JWT
Sensitivefalse — can be set via Ul and environment variable
Hot reloadfalse — requires Aidbox restart

Enable LBAC

Label-based Access Control engine provides a mechanism to restrict access to bundles, resources, or resource elements depending on permissions associated with a request.

IDsecurity.lbac.enabled
TypeBool
Default value(no default)
Environment variablesBOX_SECURITY_LBAC_ENABLED ,
BOX_FEATURES_SECURITY__LABELS_ENABLE
Sensitivefalse — can be set via Ul and environment variable
Hot reloadtrue — can be changed at runtime

Strip security labels

Remove security labels from the outcome.

IDsecurity.lbac.strip-labels
TypeBool
Default value(no default)
Environment variablesBOX_SECURITY_LBAC_STRIP_LABELS ,
BOX_FEATURES_SECURITY__LABELS_STRIP__LABELS
Sensitivefalse — can be set via Ul and environment variable
Hot reloadtrue — can be changed at runtime

Enable organization-based hierarchical access control

Hierarchical organization-based access control in Aidbox allows for the restriction of access to data based on the organization to which it belongs.

IDsecurity.orgbac.enabled
TypeBool
Default value(no default)
Environment variablesBOX_SECURITY_ORGBAC_ENABLED ,
BOX_FEATURES_ORGBAC_ENABLE
Sensitivefalse — can be set via Ul and environment variable
Hot reloadfalse — requires Aidbox restart

Enable SU header

This setting enables SU header functionality. SU header allows a user to substitute User ID for the duration of the request. Only the administrator is allowed to use the SU header.

IDsecurity.debug-su-enable
TypeBool
Default value(no default)
Environment variablesBOX_SECURITY_DEBUG_SU_ENABLE ,
BOX_DEBUG_SU_ENABLE
Sensitivefalse — can be set via Ul and environment variable
Hot reloadtrue — can be changed at runtime

Enable Aidbox developer mode

Enables _debug=policy for access policy debugging.

IDsecurity.dev-mode
TypeBool
Default value(no default)
Environment variablesBOX_SECURITY_DEV_MODE ,
AIDBOX_DEV_MODE
Sensitivefalse — can be set via Ul and environment variable
Hot reloadtrue — can be changed at runtime