access-policy

Converts Slack access requests into least-privilege GitHub and AWS IAM grants with approval gating.

20.2k|3.4k|Updated Oct 5, 2024
One-click install
npx skills add https://github.com/kortix-ai/suna --skill access-policy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: access-policy
Source: https://github.com/kortix-ai/suna/tree/main/packages/starter/templates/marketplace/runtime/skills/access-policy
Command: npx skills add https://github.com/kortix-ai/suna --skill access-policy

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Informal "I need access to X" messages in Slack often turn into over-broad, untracked permission grants. This Skill turns each request into a scoped, policy-checked GitHub or AWS IAM grant that is held until an authorized approver signs off, and logs every applied grant for audit.

Core Features & Use Cases

  • Policy-checked grant sizing: Looks up the requester's role, team, and manager in Okta (read-only) and maps the ask against a role-to-grant policy table, never defaulting to admin-level access.
  • Approval handshake with guardrails: Posts the prepared grant in the request thread and applies it only after a fresh-verified approval from an authorized approver — never the requester themselves.
  • Extra-scrutiny routing: Flags sensitive asks (admin permissions, AdministratorAccess, production data stores, off-role requests) and addresses them to a security lead or the requester's manager.
  • Audit logging: Records every applied grant with requester, scope, policy check, approver, and timestamp in the thread and an optional audit channel.
  • Use Case: An engineer posts "need access to the billing repo" in the requests channel; the sweep verifies their team in Okta, prepares a push grant on that repo, gets approval from a listed approver, applies it, and logs the full trail.

Quick Start

Ask the agent to sweep the access-request channel, check each new request against the role-to-grant policy, and prepare the pending GitHub or AWS IAM grants for approval.

Frequently Asked Questions about access-policy

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate Slack access requests into GitHub or AWS IAM grants?

Run a periodic sweep that reads the request channel, parses each ask, checks the requester's role in Okta, and prepares the narrowest GitHub permission or AWS IAM policy. The grant is posted in the thread and applied only after an authorized approver replies.

How does the skill enforce least-privilege access grants?

It maps each request against a role-to-grant policy table and sizes the grant to the stated task, never defaulting to admin or AdministratorAccess. Requests for broad permissions are flagged for extra scrutiny and routed to a security lead or the requester's manager.

Can a requester approve their own access request?

No. The skill explicitly rejects self-approval even if the requester appears on the authorized approvers list. Approval must come from a different authorized approver, or from the requester's manager for extra-scrutiny cases, verified fresh on the applying sweep.

Does the skill write to Okta or modify identity provider settings?

No. Okta is strictly read-only in this workflow; it is used only to look up the requester's role, team, manager, and group memberships for sizing the grant. All writes are limited to the GitHub permission change or AWS IAM policy attach.

What happens if an access request is too vague to scope?

The skill replies in the thread asking one clarifying question and stops processing that request for the current sweep. It does not guess a grant scope or prepare a permission change without a clear system and stated task.

How are applied access grants logged for audit?

Each applied grant gets a log entry in the request thread with requester, system, exact grant, policy check result, approver, and timestamp. If an audit channel is configured, the same entry is posted there as the durable record of who has what access and why.