Fortanix DSM

Manage Secrets and Protect Confidential Data using Fortanix Data Security Manager.

Identity and Access Management · Fortanix DSM

Details

IDFortanix DSM
ProviderFortanix
CategoryIdentity and Access Management
From Version6.8.0
Docker Imagedemisto/python3:3.12.13.10116658
Supported ModulesAgentix XSIAM

README

Manage Secrets and Protect Confidential Data using Fortanix Data Security Manager (DSM)

Authorize Cortext XSOAR to Fortanix DSM

User/password or Client Certificate Auth Method

These fields accept the Username and Password parameters for a user or App. These credentials may also be used for mutual-TLS using a client key and certificate. The may be signed by a Trusted CA if Fortanix DSM is configured accordingly.

API KEY Auth Method

An easy and quick way to test the integration is to specify the Basic Authentication token parameter from the Fortanix DSM App’s API KEY.

Configure Fortanix DSM in Cortex

Parameter Description Required
Fortanix DSM server endpoint URL e.g., https://amer.smartkey.io True
Username / App UUID / Certificate If Certificate, specify PEM False
Password / App Secret / Private Key Private key cannot be encrypted False
API Key Alternative to Username and Password False
Trust any server certificate (insecure) Ignores TLS, not recommended False
Use system proxy settings Whether to use proxy settings from the Environment False
Group UUID to list secrets from Filter the secrets accessible to a single DSM Group False
Data protection key used for encryption and decryption Also configure the Cipher Mode False
Encryption and decryption mode e.g. FPE, GCM, CBC False

Commands

You can execute these commands from the 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.

fortanix-list-secrets


List secrets from one or more specified group(s)

Base Command

fortanix-list-secrets

Input

Argument Name Description Required
group_id Group UUID to list secrets from (overrides integration settings). Optional
state Current state of the secret (default show all except deleted or destroyed). Possible values are: enabled, disabled, preactive, active, deactivated, compromised, deleted, destroyed. Optional
page Page offset to return (100 results at a time). Optional

Context Output

Path Type Description
Fortanix.Secret.Name string Secret Name
Fortanix.Secret.ID string Secret ID (Key ID or kid)
Fortanix.Secret.Group unknown Group ID

fortanix-get-secret-metadata


Get the secret metadata without exposing its value

Base Command

fortanix-get-secret-metadata

Input

Argument Name Description Required
name Name of the secret (mandatory, unless kid is specified). Optional
kid Secret UUID (unless name is unspecified). Optional

Context Output

Path Type Description
Fortanix.Secret unknown Secret metadata, if successful

fortanix-fetch-secret


Retrieve the secret value

Base Command

fortanix-fetch-secret

Input

Argument Name Description Required
kid Secret UUID (obtained from the list-secrets command). Required

Context Output

Path Type Description
Fortanix.Secret.Value unknown Sensitive value of the secret

fortanix-new-secret


Import a new secret

Base Command

fortanix-new-secret

Input

Argument Name Description Required
name Name of the secret. Required
value Sensitive value of the secret. Required
group_id Group UUID to import the secret into. Optional
metadata List of key-value pairs. Optional

Context Output

Path Type Description
Fortanix.Secret unknown Secret metadata, if successful

fortanix-rotate-secret


Update an existing secret, which will be rotated

Base Command

fortanix-rotate-secret

Input

Argument Name Description Required
name Name of the secret. Required
value Sensitive value of the secret. Required
metadata List of key-value pairs. Optional

Context Output

Path Type Description
Fortanix.Secret unknown Secret metadata, if successful

fortanix-delete-secret


Delete the secret

Base Command

fortanix-delete-secret

Input

Argument Name Description Required
kid Secret UUID. Required

Context Output

Path Type Description
Fortanix.Secret.Result unknown Deletion status

fortanix-invoke-plugin


Invoke a Fortanix Plugin that is executed in a Confidential Computing enclave

Base Command

fortanix-invoke-plugin

Input

Argument Name Description Required
pid Plugin UUID. Required
input Arbitrary user input based on the plugin. Optional

Context Output

Path Type Description
Fortanix.Plugin.Output unknown Plugin invocation output

fortanix-encrypt


Protects data using key configured in Fortanix DSM

Base Command

fortanix-encrypt

Input

Argument Name Description Required
data User data. Required
key Key name used for protection (overrides configured). Optional
mode Encryption mode (overrides configured). Possible values are: FPE, GCM, CBC. Optional

Context Output

Path Type Description
Fortanix.Data.Cipher unknown Encryption output

fortanix-decrypt


Reveal data using key configured in Fortanix DSM

Base Command

fortanix-decrypt

Input

Argument Name Description Required
cipher Protected ciphertext. Required
kid Key UUID for decryption (overrides configured). Optional
mode Decryption mode (overrides configured). Possible values are: FPE, GCM, CBC. Optional
iv Nonce or initialization vector (if any). Optional

Context Output

Path Type Description
Fortanix.Data.Plain unknown Decryption output

Configuration parameters

  • server — Fortanix DSM server endpoint (required)
  • credentials — Username / App UUID / Certificate
  • token — API Key
  • insecure — Trust any certificate (not secure)
  • proxy — Use system proxy settings
  • group_ids — Group UUID to list secrets from
  • protection_key — Data protection key used for encryption and decryption
  • protection_mode — Encryption and decryption mode

Commands (9)

  • fortanix-decrypt

    Reveal data using key configured in Fortanix DSM

  • fortanix-delete-secret

    Delete the secret

  • fortanix-encrypt

    Protects data using key configured in Fortanix DSM

  • fortanix-fetch-secret

    Retrieve the secret value

  • fortanix-get-secret-metadata

    Get the secret metadata without exposing its value

  • fortanix-invoke-plugin

    Invoke a Fortanix Plugin that is executed in a Confidential Computing enclave

  • fortanix-list-secrets

    List secrets from one or more specified group(s)

  • fortanix-new-secret

    Import a new secret

  • fortanix-rotate-secret

    Update an existing secret, which will be rotated

commonfields:
  id: Fortanix DSM
  version: -1
name: Fortanix DSM
display: Fortanix DSM
category: Identity and Access Management
provider: Fortanix
description: Manage Secrets and Protect Confidential Data using Fortanix Data Security Manager.
fromversion: 6.8.0
configuration:
- display: Fortanix DSM server endpoint
  name: server
  defaultvalue: https://amer.smartkey.io
  type: 0
  additionalinfo: URL
  required: true
- display: Username / App UUID / Certificate
  displaypassword: Password / App Secret / Private Key
  name: credentials
  type: 9
  additionalinfo: If Certificate, specify PEM
  required: false
- display: API Key
  name: token
  type: 4
  additionalinfo: Private key cannot be encrypted
  required: false
- display: Trust any certificate (not secure)
  name: insecure
  type: 8
  section: Connect
  advanced: true
  required: false
- display: Use system proxy settings
  name: proxy
  defaultvalue: "false"
  type: 8
  additionalinfo: Whether to use proxy settings from the Environment
  required: false
- display: Group UUID to list secrets from
  name: group_ids
  type: 0
  additionalinfo: Filter the secrets accessible to a single DSM Group
  required: false
- display: Data protection key used for encryption and decryption
  name: protection_key
  type: 0
  additionalinfo: Also configure the Cipher Mode
  required: false
- display: Encryption and decryption mode
  name: protection_mode
  type: 15
  additionalinfo: e.g. FPE, GCM, CBC, None
  options:
  - FPE
  - GCM
  - CBC
  - None
  required: false
script:
  script: ''
  type: python
  commands:
  - name: fortanix-list-secrets
    arguments:
    - name: group_id
      description: Group UUID to list secrets from (overrides integration settings).
    - name: state
      auto: PREDEFINED
      predefined:
      - enabled
      - disabled
      - preactive
      - active
      - deactivated
      - compromised
      - deleted
      - destroyed
      description: Current state of the secret (default show all except deleted or destroyed).
    - name: page
      description: Page offset to return (100 results at a time).
    outputs:
    - contextPath: Fortanix.Secret.Name
      description: Secret Name.
      type: string
    - contextPath: Fortanix.Secret.ID
      description: Secret ID (Key ID or kid).
      type: string
    - contextPath: Fortanix.Secret.Group
      description: Group ID.
      type: string
    description: List secrets from one or more specified group(s)
  - name: fortanix-get-secret-metadata
    arguments:
    - name: name
      description: Name of the secret (mandatory, unless kid is specified).
    - name: kid
      description: Secret UUID (unless name is unspecified. can be obtained from the list-secrets command).
    outputs:
    - contextPath: Fortanix.Secret
      description: Secret metadata, if successful.
    description: Get the secret metadata without exposing its value
  - name: fortanix-fetch-secret
    arguments:
    - name: kid
      required: true
      description: Secret UUID (obtained from the list-secrets command).
    outputs:
    - contextPath: Fortanix.Secret.Value
      description: Sensitive value of the secret.
    description: Retrieve the secret value
  - name: fortanix-new-secret
    arguments:
    - name: name
      required: true
      description: Name of the secret.
    - name: value
      required: true
      description: Sensitive value of the secret.
    - name: group_id
      description: Group UUID to import the secret into.
    - name: metadata
      description: List of key-value pairs.
      type: keyValue
    outputs:
    - contextPath: Fortanix.Secret
      description: Secret metadata, if successful.
    description: Import a new secret
  - name: fortanix-rotate-secret
    arguments:
    - name: name
      required: true
      description: Name of the secret.
    - name: value
      required: true
      description: Sensitive value of the secret.
    - name: metadata
      description: List of key-value pairs.
      type: keyValue
    outputs:
    - contextPath: Fortanix.Secret
      description: Secret metadata, if successful.
    description: Update an existing secret, which will be rotated
  - name: fortanix-delete-secret
    arguments:
    - name: kid
      description: Secret UUID (obtained from the list-secrets command).
      required: true
    outputs:
    - contextPath: Fortanix.Secret.Result
      description: Deletion status.
    description: Delete the secret
  - name: fortanix-invoke-plugin
    arguments:
    - name: pid
      required: true
      description: Plugin UUID.
    - name: input
      description: Arbitrary user input based on the plugin.
      type: keyValue
    outputs:
    - contextPath: Fortanix.Plugin.Output
      description: Plugin invocation output.
    description: Invoke a Fortanix Plugin that is executed in a Confidential Computing enclave
  - name: fortanix-encrypt
    arguments:
    - name: data
      required: true
      description: User data.
    - name: key
      description: Key name used for protection (overrides configured).
    - name: mode
      auto: PREDEFINED
      predefined:
      - FPE
      - GCM
      - CBC
      description: Encryption mode (overrides configured).
    outputs:
    - contextPath: Fortanix.Data.Cipher
      description: Encryption output.
    description: Protects data using key configured in Fortanix DSM
  - name: fortanix-decrypt
    arguments:
    - name: cipher
      required: true
      description: Protected ciphertext.
    - name: kid
      description: Key UUID for decryption (overrides configured).
    - name: mode
      auto: PREDEFINED
      predefined:
      - FPE
      - GCM
      - CBC
      description: Decryption mode (overrides configured).
    - name: iv
      description: Nonce or initialization vector (if any).
    outputs:
    - contextPath: Fortanix.Data.Plain
      description: Decryption output.
    description: Reveal data using key configured in Fortanix DSM
  dockerimage: demisto/python3:3.12.13.10116658
  runonce: true
  subtype: python3
tests:
- No tests (auto formatted)