Skip to content

Design user-sponsored agent sessions for Apollo #5627

Description

@nobodyiam

Background

Refs #5573 and #5624.

The first incremental step for agent-facing Apollo workflows is an official OpenAPI-based CLI. The more complex authorization model should be designed separately after the CLI surface and security expectations are clearer.

This issue tracks the later design direction for user-sponsored agent sessions.

Problem

Existing OpenAPI automation is based on Consumer tokens. That works for scripts and platforms, but it is not a complete agent authorization model:

  • Consumer tokens may be too broad for AI-assisted workflows.
  • An agent can be affected by prompt injection or untrusted context.
  • Apollo configuration values may contain sensitive data.
  • Some operations should be proposed or approved rather than executed directly.
  • Audit should distinguish the sponsoring user, the agent/session context, and the actual operation.

Direction

Explore a user-sponsored agent session model:

  • A user explicitly creates or approves a bounded agent session.
  • The session is scoped to selected apps, envs, clusters, namespaces, and action classes.
  • Effective permission is the intersection of the sponsoring user's permission and the session scope.
  • High-risk operations require approval or are disabled by policy.
  • Sensitive reads are redacted, separately approved, or disabled depending on policy.
  • Audit records include user, session, agent/tool metadata, operation, target, and approval state.

Possible scope dimensions

  • App scope: one or more app IDs.
  • Environment scope: selected envs only.
  • Namespace scope: selected namespaces or namespace patterns.
  • Action scope: read, diff/propose, config write, release, rollback, permission/admin.
  • Time scope: short-lived session expiration.
  • Approval scope: operations that require explicit user confirmation.

Open questions

  • Should the first server-side model introduce an Agent principal, or only an AgentSession sponsored by a user?
  • How should Apollo classify sensitive config values for agent access?
  • Which operations can be executed directly, proposed only, approval-required, or disabled by default?
  • How should the CLI switch between Consumer token mode and future agent session mode?
  • Should MCP or other agent protocol adapters call Portal directly, or go through the same governed CLI/OpenAPI semantics?

Out of scope for the first CLI release

  • Implementing the server-side session model.
  • Replacing existing Consumer token OpenAPI flows.
  • Providing MCP before the trust and audit model is clear.

Acceptance criteria for this design issue

  • A concrete trust-boundary proposal is documented.
  • Scope and permission intersection rules are defined.
  • Sensitive-read and mutation approval defaults are defined.
  • Audit metadata requirements are defined.
  • Follow-up implementation issues can be split for apollo-openapi, apollo-portal, CLI integration, and protocol adapters.

Metadata

Metadata

Assignees

No one assigned

    Labels

    agentic-workflowsarea/openapiapollo-openapiarea/securityCategorizes issue or PR as related to securitydiscussionCategorizes issue as related to discussionfeature requestCategorizes issue as related to a new feature.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions