PagerDuty

PagerDuty + Sym combine to add critical context for automating your approval and access workflows.

Overview

During an incident, responders need a safe and efficient path to break glass access. The Sym platform gives you the tools you need to create developer access flows that are secure and compliance-friendly. Get started by provisioning your workflows with Sym’s Terraform building blocks. Then use On-Call Status, Incidents, and Schedules from PagerDuty to customize your workflow logic with Sym’s Python SDK.

📘

This is an SDK Integration

The Sym integration with PagerDuty exposes information about PagerDuty in the Sym SDK. You can use this information to make better decisions when approving access to sensitive resources.

To get started with Sym, please see:

What this integration does

Once you're set up with Sym, you can add PagerDuty as an SDK integration, and then use it in the Sym Python SDK to:

  • Check On-Call Status and Schedules for the user making a request
  • See whether there is an open Incident

By pulling that context into your Sym Flows, you can easily automate your approval decisions with only a few lines of Python:

from sym.sdk.annotations import hook, reducer
from sym.sdk.integrations import pagerduty, slack
from sym.sdk.templates import ApprovalTemplate

@hook
def on_request(evt):
    """
    If this is a fast-tracked  request, then auto-approve the workflow.
    """
    fvars = evt.flow.vars
    if is_fast_tracked(evt):
        target = evt.payload.fields["target"]
        message = f"{evt.user.email} was fast tracked {target.label} AWS access."
        return ApprovalTemplate.approve(reason=message)


def is_fast_tracked(evt):
    """
    Determine if this request should be fast tracked or go through
    normal approval channels
    """
    return pagerduty.is_on_call(evt.user)

What’s Next