FortiAuthenticator

This integration allows you to manage the user configuration on FortiAuthenticator.

Authentication & Identity Management · FortiAuthenticator

Details

IDFortiAuthenticator
ProviderFortinet
CategoryAuthentication & Identity Management
From Version6.0.0
Docker Imagedemisto/python3:3.12.12.7090913
Supported ModulesAgentix 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:

  1. Under User Role, select Administrator.
  2. Enable Web service access.
  3. Under User Information, please ensure there’s a valid email address.
  4. Click OK to save the details.
  5. 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

  1. Navigate to Settings > Integrations > Servers & Services.
  2. Search for FortiAuthenticator.
  3. 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
  4. 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
email 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 email 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
email 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 email 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-user

    Get the user details for specific user by email.

  • fortiauthenticator-update-user

    Update 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)