MuleSoft · Arazzo Workflow

MuleSoft Harden Organization Security

Version 1.0.0

Read an organization, apply MFA and session-timeout settings, then confirm.

1 workflow 1 source API 1 provider
View Spec View on GitHub API GatewayAPI ManagementEnterpriseIntegrationArazzoWorkflows

Provider

mulesoft

Workflows

harden-organization-security
Enforce MFA and a session timeout on an organization and verify it.
Fetches an organization, updates its MFA and session-timeout settings, and re-fetches it to confirm the change.
3 steps inputs: bearerToken, orgId, sessionTimeout outputs: mfaRequired, orgId
1
getOrganization
getOrganization
Read the current organization record to capture its name before applying security settings.
2
updateOrganization
updateOrganization
Update the organization to require MFA and apply the supplied session timeout, preserving its name and owner.
3
confirmSettings
getOrganization
Re-read the organization to confirm the MFA requirement is now in effect.

Source API Descriptions

Arazzo Workflow Specification

mulesoft-harden-organization-security-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: MuleSoft Harden Organization Security
  summary: Read an organization, apply MFA and session-timeout settings, then confirm.
  description: >-
    Tightens the security posture of an Anypoint organization. The workflow
    reads the current organization record, updates it to require multi-factor
    authentication and a shorter session timeout, and then re-reads the
    organization to confirm the settings were applied. Every step spells out its
    request inline so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: anypointPlatformApi
  url: ../openapi/mulesoft-anypoint-platform-openapi.yml
  type: openapi
workflows:
- workflowId: harden-organization-security
  summary: Enforce MFA and a session timeout on an organization and verify it.
  description: >-
    Fetches an organization, updates its MFA and session-timeout settings, and
    re-fetches it to confirm the change.
  inputs:
    type: object
    required:
    - bearerToken
    - orgId
    - sessionTimeout
    properties:
      bearerToken:
        type: string
        description: Anypoint Platform bearer access token.
      orgId:
        type: string
        description: The organization id to harden.
      sessionTimeout:
        type: integer
        description: Session timeout in minutes (15 to 180).
  steps:
  - stepId: getOrganization
    description: >-
      Read the current organization record to capture its name before applying
      security settings.
    operationId: getOrganization
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.bearerToken"
    - name: orgId
      in: path
      value: $inputs.orgId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      orgId: $response.body#/id
      orgName: $response.body#/name
      ownerId: $response.body#/ownerId
  - stepId: updateOrganization
    description: >-
      Update the organization to require MFA and apply the supplied session
      timeout, preserving its name and owner.
    operationId: updateOrganization
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.bearerToken"
    - name: orgId
      in: path
      value: $steps.getOrganization.outputs.orgId
    requestBody:
      contentType: application/json
      payload:
        name: $steps.getOrganization.outputs.orgName
        ownerId: $steps.getOrganization.outputs.ownerId
        sessionTimeout: $inputs.sessionTimeout
        mfaRequired: true
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      mfaRequired: $response.body#/mfaRequired
  - stepId: confirmSettings
    description: >-
      Re-read the organization to confirm the MFA requirement is now in effect.
    operationId: getOrganization
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.bearerToken"
    - name: orgId
      in: path
      value: $steps.getOrganization.outputs.orgId
    successCriteria:
    - condition: $statusCode == 200
    - condition: $response.body#/mfaRequired == true
    outputs:
      mfaRequired: $response.body#/mfaRequired
  outputs:
    orgId: $steps.getOrganization.outputs.orgId
    mfaRequired: $steps.confirmSettings.outputs.mfaRequired