User's Guide: Quorum Policy

Introduction

A quorum policy is composed of one or more quorum policy rules. A quorum policy rule is composed of:

  • Quorum Group: A set of members in the group that are needed to approve an operation.
  • Administrator: Minimum number of administrators that need to approve the operation.
  • Application: an application that approves a sensitive operation for a specific use case.
  • Using a second-factor security key to approve the request.
  • Password re-entry required to approve the request.

In addition, the quorum policy can establish if “all” or “any” of the quorum policy rules are required to have a quorum and approve the requested operation.

Quorum Policy - Enabling Quorum Approval Policy on Groups

A Group Administrator may enable a quorum approval policy on a group. Doing so mandates that all security-sensitive operations in that group would require approval by a quorum. The list of security-sensitive operations include:

  • Key deletion
  • Key metadata update
  • Key export (only when the key is marked exportable). This includes:
    • Encrypted Export (Key Wrapping)
    • Export as Components.
  • Encryption and decryption
  • Signature generation
  • Mac generation
  • Wrap key
  • Unwrap key
  • Derive key
  • AgreeKey (ECDH)
  • Plugin create and update
  • Get app credential (API Key/Password)
  • Updating group level metadata
  • Update/Delete Quorum Policy
  • Add/Update/Delete Cryptographic Policy
  • Key rotation (3.25 release onwards)
NOTE
Plugins by default do not honor the quorum policy set on a group. Use function require_approval_for to make plugin execution follow quorum approval flow (see https://support.fortanix.com/hc/en-us/articles/360018084432-Lua-Plugins-Reference#Thefunction'require_approval_for ).

Group Quorum Policy

Create a Quorum Policy for a Group

  1. Go to the detailed view of a group, and in the INFO tab, in the Quorum approval policy section click the ADD POLICY. Quorum1.png Figure 1: Add quorum policy
  2. In the Quorum approval policy form, fill the details such as the number/name of administrators or applications that need to approve sensitive operations with keys and plugins.
  3. Click the Advanced button to add more combinations for the quorum policy.
  4. There are two optional check boxes:
    • Using a second-factor security key is required to approve requests - This option will be automatically enabled if second-factor authentication is enabled by the user at the account level, from the Authentication tab in the Account Settings page. The user cannot edit this option.
    • Password re-entry is required to approve request: Enable this option if you want a re-entry of the password to approve a request.
  5. The Operations that require Quorum approval section allows configuring which operations in the group will require a quorum approval. The following operations are selected by default and cannot be altered as these operations mandatorily require a quorum approval.
    • Add, Update Plugin
      • Includes any changes to plugin code.
    • Update Group Configuration (Cryptographic and Quorum Policy)
      • Adding/Updating Cryptographic Policy for a group.
      • Any changes to the existing Quorum Policy for a group.
      NOTE
      Adding/Updating Users and Apps to a group is not included

      Group Admins can configure the following operations for quorum approval:

    • Destroy Key, Update Key, Rotate Key
      • Any changes to security object metadata or state.
    • Cryptographic Operations
      • Cryptographic operations with security objects in the group.
       
    Quorum2a.png
    Figure 2: Choose operations that require quorum approval
  6. Click the SAVE POLICY In the QUORUM POLICY window, review the quorum approval details and click the SAVE button. This window will show a summary of the values that were added to the Quorum approval policy screen. Quorum3a.png
    Figure 3: Confirm quorum policy details

Update Group Quorum Policy

To update a group quorum policy:

  1. Go to the detailed view of a group and in the INFO tab, in the Quorum approval policy section click the EDIT POLICY button. Quorum4a.png
    Figure 4: Update quorum policy details
  2. In the Quorum approval policy form, make the required changes, and click the SAVE POLICY button. Quorum5a.png
    Figure 5: Update the quorum policy

Account Quorum Policy

Create a Quorum Policy for an Account

To set a quorum policy at the account level:

  1. Go to the Account Settings page in Fortanix Data Security Manager (DSM). Click the QUORUM POLICY tab.
  2. In the Quorum approval policy page, click the ADD POLICY FOR THE ACCOUNT button to edit the Account Quorum Policy. Quorum8.png
    Figure 6: Edit account level quorum policy
  3. In the Quorum approval policy form, fill the details such as the number/name of administrators that need to approve sensitive operations with keys and plugins.
  4. Click the Advanced button to add more combinations for the quorum policy.
  5. There are two optional check boxes:
    • Using a second-factor security key is required to approve requests:  This option will be automatically enabled if second-factor authentication is enabled by the user at the account level, from the Authentication tab in the Account Settings page. The user cannot edit this option.
    • Password re-entry is required to approve the request: Enable this option if you want a re-entry of the password to approve a request.
  6. The Operations that require Quorum approval section allows you to configure which operations in the account will require a quorum approval. The operation listed below is selected by default and cannot be altered as this operation mandatorily requires a quorum approval. Quorum6a.png
    Figure 7: Choose operation that requires approval
    • Quorum policy update: Any updates to the Account Quorum Policy except Approval requests expiration time will generate a Quorum Approval request. This also includes deleting an Account Quorum Policy.

    A user can configure the following operations for quorum approval.

    • Update authentication methods: Any updates to the Account Authentication Settings will generate a Quorum Approval request. This includes:
      • All operations under SINGLE SIGN-ON (SSO) configuration: Creating or Updating third-party SSO integrations. QP-Account.png
        Figure 8: SSO Configuration
      • Configuring two-factor authentication using a password at the Account level. QP-Account1.png
        Figure 9: 2F authentication at account level
      • Configuring two-factor authentication using a password at User/System level. QP-Account2.png
        Figure 10: 2F authentication at user/system level
    • Cryptographic policy update: Any updates to Account level Cryptographic policy will generate a Quorum Approval request. This includes creating, updating, or deleting a Cryptographic policy. QP-Account3.png
      Figure 11: Cryptographic policy
    • Log Management: Any updates to Account level Log Management settings except Logging invalid API requests will generate a Quorum Approval request. This includes adding, editing, or deleting custom log management integrations with Splunk, Google Stackdriver, and Syslog. QP-Account4.png
      Figure 12: Custom log management integrations
  7. Click the SAVE POLICY button. In the Quorum policy window, review the quorum approval details and click the SAVE button. This window will show a summary of the values that were added to the Quorum approval policy screen. Quorum7a.png
    Figure 13: Review and save account quorum policy

Update Account Quorum Policy

To edit an account quorum policy:

  1. Click the EDIT POLICY button on the Quorum Approval Policy page. Quorum9.png
    Figure 14: Edit account policy
  2. To set the approval request expiration time, click the EDIT button for the Approval requests expiration time field.

Quorum Approval

Modifying the quorum approval policy would also require quorum approval.

  • The quorum approval policy may be defined simply as the minimum number of approvals required among the total number of group administrators or applications for the group.
  • A policy may also include the specific identity of users or applications who form the quorum, and not just the size of the quorum.
  • An advanced policy could be a combination of quorum rules. For example, a quorum could be defined as “one out of users A and B”; “three out of users C, D, E, F, and G”, and "two out of Apps H, I, J, K".
  • A quorum policy may also include optional authentication methods for approval:
    • Two-Factor authentication for approval: This option can be enabled for prompting using additional authentication methods such as Yubikey or other U2F supported services during approval.
    • Password re-entry for approval: This option can be enabled for prompting the user to re-enter the password during quorum approval. 

Workflow for Quorum Approval

Whenever a sensitive operation is performed in a group enabled for quorum approval, a workflow for quorum approval is triggered.

  • This involves sending a notification to all users who can grant approval. This is done by sending an email to each quorum member, as well as generating a task in the approvers’ accounts, which they see on the dashboard as soon as they log in to their Fortanix DSM account.
  • The users can then grant approvals from the UI. The sensitive operation is blocked until the quorum is met.
  • Once the quorum is met, the operation is performed, and the event is logged including the names of users who approved the request.

Quorum10.png Figure 15: Approving quorum request

Quorum Approval Request to Update Group Quorum Policy

Since updating a quorum policy is a sensitive operation, this change in quorum policy should be approved by the administrators/applications who were part of the policy before the update. So, the original approvers/administrators will receive the following approval request to approve the new policy. The window shows what was the old policy in the Existing column and what update was made in the New column.
Click the APPROVE or DECLINE button to approve or decline the policy.

Quorum11.png Figure 16: Quorum approval for Group Policy update - diff view

In the approval window, the Existing column shows the existing state of the security object and the New column shows the updates made to the security object. A user can APPROVE or DECLINE the request.

Quorum Approval Request for Security Object Updates

When a Security Object (SO) is updated such as changing the SO name, changing the permitted SO permissions, updating the expiry date for SO, or deleting/deactivating an SO, such operations will trigger a quorum approval request such as the following:

Quo7.1.png Figure 17: Quorum approval for Group Policy update - diff view

In the approval window, the Existing column shows the existing state of the security object and the New column shows the updates made to the security object. A user can APPROVE or DECLINE the request.

Quorum Approval Request for Cryptographic Policy Updates

When a cryptographic policy is updated, it triggers the following Quorum Approval request:

Quorum13.png Figure 18: Quorum approval for Cryptographic Policy update - diff view

In the approval window, the Existing column shows the existing state of the security object and the New column shows the updates made to the security object. A user can APPROVE or DECLINE the request.

Quorum Approval Request for Plugin Code Change

When you update the code for a Fortanix DSM plugin, it triggers the following quorum approval request:

Quorum14.png Figure 19: Quorum approval for Plugin code change - diff view

In the approval window, the Existing column shows the existing state of the security object and the New column shows the updates made to the security object. A user can APPROVE or DECLINE the request.

Was this article helpful?
0 out of 0 found this helpful