FortiAuthenticator
This integration allows you to manage the user configuration on FortiAuthenticator.
Authentication & Identity Management · FortiAuthenticator
Details
| ID | FortiAuthenticator |
|---|---|
| Provider | Fortinet |
| Category | Authentication & Identity Management |
| From Version | 6.0.0 |
| Docker Image | demisto/python3:3.12.12.7090913 |
| Supported Modules | Agentix XSIAM |
README
FortiAuthenticator provides centralized authentication services.
Seamless secure two-factor/OTP authentication across the organization in conjunction with FortiToken.
This integration was integrated and tested with versions 4.0 - 6.3.0 of FortiAuthenticator.
Enable API Access for admin user on FortiAuthenticator
Steps to get the Access Key for the API authentication
** Note: Ensure email routing is working (i.e. the FortiAuthenticator is able to send mail) beforehand as the API Key will be delivered by email.
On the FortiAuthenticator WebUI, create a new user for API or edit an existing one
Under the Authentication > User Management, edit the user:
- Under User Role, select Administrator.
- Enable Web service access.
- Under User Information, please ensure there’s a valid email address.
- Click OK to save the details.
- The Web Service Access Secret Key used to authenticate to the API is emailed to the user.
Supported user types
- Local Users
- LDAP Users
Configure FortiAuthenticator on Cortex XSOAR
- Navigate to Settings > Integrations > Servers & Services.
- Search for FortiAuthenticator.
-
Click Add instance to create and configure a new integration instance.
Parameter Description Required server_url Server URL True credentials Username True credentials Access Key True insecure Trust any certificate (not secure) False proxy Use system proxy settings False - Click Test to validate the URLs, credentials, and connection.
Commands
You can execute these commands from the Cortex XSOAR CLI, as part of an automation, or in a playbook.
After you successfully execute a command, a DBot message appears in the War Room with the command details.
fortiauthenticator-get-user
Input
| Argument Name | Description | Required |
|---|---|---|
| user_type | The user type: localusers (Local Users), ldapuser (Remote Users) | Required |
| The user’s email that is defined in the User Information on FortiAuthenticator | Optional | |
| username | The username that is defined in the User Information on FortiAuthenticator | Optional |
| token_serial | The serial no. of the assigned Token on FortiAuthenticator | Optional |
- Note: You need either an email, username, or token_serial input in order for the command to work.
Context Output
| Path | Type | Description |
|---|---|---|
| FortiAuthenticator.user | Unknown | The user information |
| FortiAuthenticator.user.id | Unknown | The user’s id on FortiAuthenticator |
| FortiAuthenticator.user.username | Unknown | The user’s username |
| FortiAuthenticator.user.email | Unknown | The user’s email address |
| FortiAuthenticator.user.active | Unknown | The user’s active status (true = enabled, false = disabled) |
| FortiAuthenticator.user.token_auth | Unknown | The token auth status |
| FortiAuthenticator.user.token_type | Unknown | The token type |
| FortiAuthenticator.user.token_serial | Unknown | The token serial number |
Command Example
!fortiauthenticator-get-user user_type=localusers email=test_user@example.com
Context Example
{
"FortiAuthenticator": {
"user": {
"active": "true",
"email": "test_user@example.com",
"id": "7",
"username": "test_user",
"token_auth": "true",
"token_type": "ftm",
"token_serial": "FTKMOB123456789A"
}
}
}
Human Readable Output
FortiAuthenticator User Info
| id | username | active | token_auth | token_type | token_serial | |
|---|---|---|---|---|---|---|
| 7 | test_user | test_user@example.com | true | true | ftm | FTKMOB123456789A |
fortiauthenticator-update-user
Input
| Argument Name | Description | Required |
|---|---|---|
| user_type | The user type: localusers (Local Users), ldapuser (Remote Users) | Required |
| The user’s email that is defined in the User Information on FortiAuthenticator | Optional | |
| username | The username that is defined in the User Information on FortiAuthenticator | Optional |
| active | Define user’s active status: false = Disabled, true = enabled | Required |
- Note: You need either an email or username input in order for the command to work.
Context Output
| Path | Type | Description |
|---|---|---|
| FortiAuthenticator.user | Unknown | The user information |
| FortiAuthenticator.user.id | Unknown | The user’s id on FortiAuthenticator |
| FortiAuthenticator.user.username | Unknown | The user’s username |
| FortiAuthenticator.user.email | Unknown | The user’s email address |
| FortiAuthenticator.user.active | Unknown | The user’s active status (true = enabled, false = disabled) |
| FortiAuthenticator.user.token_auth | Unknown | The token auth status |
| FortiAuthenticator.user.token_type | Unknown | The token type |
| FortiAuthenticator.user.token_serial | Unknown | The token serial number |
Command Example
!fortiauthenticator-update-user active=false user_type=localusers email=test_user@example.com
Context Example
{
"FortiAuthenticator": {
"user": {
"active": "false",
"email": "test_user@example.com",
"id": "7",
"username": "test_user",
"token_auth": "true",
"token_type": "ftm",
"token_auth": "FTKMOB123456789A"
}
}
}
Human Readable Output
Updated FortiAuthenticator User Info
| id | username | active | token_auth | token_type | token_serial | |
|---|---|---|---|---|---|---|
| 7 | test_user | test_user@example.com | false | true | ftm | FTKMOB123456789A |
Configuration parameters
server— Server URL (e.g. https://192.168.0.1) (required)credentials— Username (required)unsecure— Trust any certificate (not secure)proxy— Use system proxy settings
Commands (2)
-
fortiauthenticator-get-userGet the user details for specific user by email.
-
fortiauthenticator-update-userUpdate the active status for specific user by email
category: Authentication & Identity Management provider: Fortinet commonfields: id: FortiAuthenticator version: -1 sectionorder: - Connect - Collect configuration: - display: Server URL (e.g. https://192.168.0.1) name: server required: true type: 0 section: Connect - display: Username displaypassword: Access Key name: credentials required: true type: 9 section: Connect - display: Trust any certificate (not secure) name: unsecure type: 8 required: false section: Connect - defaultvalue: 'false' display: Use system proxy settings name: proxy type: 8 section: Connect required: false description: This integration allows you to manage the user configuration on FortiAuthenticator. display: FortiAuthenticator name: FortiAuthenticator script: commands: - arguments: - auto: PREDEFINED defaultValue: localusers description: 'The user type: localusers (Local Users), ldapuser (Remote Users).' name: user_type predefined: - localusers - ldapusers required: true - name: email description: The user's email that is defined in the User Information on FortiAuthenticator. - name: username description: The username that is defined in the User Information on FortiAuthenticator. - name: token_serial description: The serial no. of the assigned Token on FortiAuthenticator. name: fortiauthenticator-get-user description: Get the user details for specific user by email. - arguments: - auto: PREDEFINED defaultValue: 'true' description: 'Define user''s active status: false = Disabled, true = enabled.' name: active predefined: - 'true' - 'false' required: true - auto: PREDEFINED defaultValue: localusers description: 'The user type: localusers (Local Users), ldapuser (Remote Users).' name: user_type predefined: - localusers - ldapusers required: true - name: email description: The user's email that is defined in the User Information on FortiAuthenticator. - name: username description: The username that is defined in the User Information on FortiAuthenticator. name: fortiauthenticator-update-user description: Update the active status for specific user by email dockerimage: demisto/python3:3.12.12.7090913 runonce: false script: '' subtype: python3 type: python fromversion: 6.0.0 tests: - No tests (auto formatted)