Cisco Secure Firewall · Authentication Profile

Cisco Secure Firewall Authentication

Authentication

Cisco Secure Firewall secures its APIs with http across 1 declared security scheme, as derived from its OpenAPI definitions.

SecurityFirewallNetwork SecurityThreat DefensePolicyEnterpriseFirewall ManagementCloud SecurityNetworkingAutomation
Methods: http Schemes: 1 OAuth flows: API key in:

Security Schemes

bearerAuth http
scheme: bearer

Source

Authentication Profile

Raw ↑
generated: '2026-08-19'
method: searched
docs: https://developer.cisco.com/docs/cisco-security-cloud-control-firewall-manager/authentication/
source: >-
  https://developer.cisco.com/docs/cisco-security-cloud-control-firewall-manager/authentication/,
  https://github.com/CiscoDevNet/scc-public-api-docs/blob/main/cdo/overview/authentication.md,
  openapi/cisco-secure-firewall-cdfmc-openapi.yml,
  openapi/cisco-secure-firewall-scc-firewall-manager-openapi.yml
summary:
  types:
  - http
  model: bearer JWT API token, tenant-scoped, role-based
  oauth2: false
  openid_connect: false
  mutual_tls: false
schemes:
- name: bearerAuth
  type: http
  scheme: bearer
  bearerFormat: JWT
  header: 'Authorization: Bearer $API_TOKEN'
  sources:
  - openapi/cisco-secure-firewall-cdfmc-openapi.yml
  - openapi/cisco-secure-firewall-scc-firewall-manager-openapi.yml
token:
  issuance: >-
    Generated in the Security Cloud Control console under Settings -> User Management. Cisco recommends
    creating a dedicated "API Only User" so scripts are not bound to a person's account.
  format: JWT (RFC 7519)
  claims:
  - name: Roles
    description: The Security Cloud Control roles assigned to the token's user.
  - name: parentId
    description: Unique identifier of the Security Cloud Control tenant the token was issued for.
  - name: exp
    description: Expiry. Absent in API tokens, which do not expire.
  - name: clusterId
    description: Unique identifier of the underlying Security Cloud Control cluster the tenant uses.
  classes:
  - name: API token
    expires: false
    note: >-
      Non-expiring by design. Refresh or revoke is manual and super-admin only, from the User Management
      page. A leaked API token is valid until a human revokes it — there is no TTL backstop.
  - name: access token
    expires: true
    ttl: 1 hour
    note: >-
      Used by the console itself, refreshable via an associated refresh token. Cannot be minted through the
      UI or API by an API user.
  rotation_api:
    generate: POST /v1/users/{apiUserUid}/apiToken/generate
    revoke: POST /v1/users/{apiUserUid}/apiToken/revoke
    read: GET /v1/token
    revoke_current: POST /v1/token/revoke
    note: Token lifecycle IS programmable, which partially offsets the non-expiring default.
  jwks:
    operationId: getJwks
    path: GET /.well-known/jwks.json
    anonymous: false
    probe_status: 401
    note: >-
      Declared in the contract but gated. A JWKS document that requires a bearer token cannot be used by a
      relying party to verify a token it does not yet have.
authorization:
  model: role-based (coarse). No OAuth scopes, no per-resource permissions in the contract.
  roles:
  - id: ROLE_SUPER_ADMIN
    description: Complete access to all aspects of Security Cloud Control.
  - id: ROLE_ADMIN
    description: >-
      Everything a super admin can do except creating user records and changing user roles.
  - id: ROLE_READ_ONLY
    description: Cannot make configuration changes.
  - id: ROLE_EDIT_ONLY
    description: >-
      Can edit and save device configurations, read in out-of-band changes, and use Change Request
      Management. Cannot deploy changes to devices.
  - id: ROLE_DEPLOY_ONLY
    description: Cannot make configuration changes, but can deploy changes already made.
  - id: ROLE_VPN_SESSION_MANAGER
    description: For administrators monitoring remote-access VPN connections.
  note: >-
    Six roles for 1,471 operations. There is no way to issue a token that can read devices but not users, or
    deploy to one device group and not another — which is why scopes/ is intentionally absent from this repo
    rather than empty.
regions:
  note: The token is region-scoped; a token minted in one region does not work against another.
  hosts:
  - region: US
    api: https://api.us.security.cisco.com/firewall
    console: https://www.defenseorchestrator.com or https://us.manage.security.cisco.com
  - region: EU
    api: https://api.eu.security.cisco.com/firewall
    console: https://www.defenseorchestrator.eu or https://eu.manage.security.cisco.com
  - region: APJ
    api: https://api.apj.security.cisco.com/firewall
    console: https://apj.cdo.cisco.com or https://apj.manage.security.cisco.com
  - region: Australia
    api: https://api.au.security.cisco.com/firewall
    console: https://aus.cdo.cisco.com or https://aus.manage.security.cisco.com
  - region: India
    api: https://api.in.security.cisco.com/firewall
    console: https://in.cdo.cisco.com or https://in.manage.security.cisco.com
on_premises:
  note: >-
    The on-premises Secure Firewall Management Center uses its own local authentication (username/password
    exchanged for X-auth-access-token and X-auth-refresh-token against /api/fmc_platform/v1/auth/generatetoken),
    not the Security Cloud Control bearer token. The community FMC MCP connector authenticates that way.