Blog → Business automation and AI
AI Agent Permissions: RBAC, MCP Access and Delegation
Give an AI agent permissions like a separate user with a role: least privilege, human approval for risky actions, and an audit log. RBAC, MCP, delegation and local models for companies in Kazakhstan.
In short, in plain words
- In 2026, AI agents already work inside business systems: they create tasks, change statuses and update customer records. That’s why their access is designed before launch.
- This piece is for IT and information security leaders connecting agents to a task tracker, CRM or code repository.
- An agent gets permissions like a new employee on probation, only stricter: a separate account with a role, access only to what it needs, human approval for anything hard to undo, and an action log.
- First step: launch one agent with a ‘reader’ or ‘draft author’ role in one team and review the log once a week.
New to the topic? Start with the basics: What Is an AI Agent and How It Differs from a Chatbot
An AI agent should get permissions the way a new employee on probation does, only stricter. The agent gets a separate account with a role (RBAC), access only to the projects and actions it needs, human approval for anything hard to undo, and a complete log. Connecting through MCP doesn’t change these rules: the MCP server’s token should grant exactly as many permissions as the scenario requires.
This article is for IT leaders, team leads and information security specialists connecting AI agents to a task tracker, CRM or repository. We cover the permission model, an “action → risk → control” table, MCP, delegation, local models and a pre-launch checklist.
Why agent permissions are architecture, not a checkbox
While AI only answered questions in a chat, permissions were barely an issue. In 2026, agents work inside business systems: they create tasks, change statuses, write comments and update customer records. Plane now has AI agents inside the workspace and MCP connectors; Atlassian has Rovo and Jira Automation. The agent has become a participant in the process with access to data.
Agents have three properties that make a permissions mistake more costly than with a person:
- Speed. A person makes a mistake in one task; an agent repeats it across a hundred in a minute.
- Literalness. An agent follows an instruction even if it came from the text of a task or a customer email rather than from its owner.
- Invisibility. If an agent works under someone else’s account, its actions are indistinguishable from the person’s.
There’s also an organizational reason. The security team and lawyers will approve an agent faster if you show them a clear model: which role, which projects, which actions are prohibited, where the log is. Without such a model, the discussion boils down to a vague “AI is unsafe,” and the pilot gets postponed.
That’s why agent permissions are designed before launch. We covered automation levels in our article rules, scripts or AI agents; here we focus on access.
An agent is a user with a role
The basic principle: each agent has its own account or service account, and permissions are granted through a role. Not through an administrator’s personal token, and not through the account of an employee who “set it up and forgot about it.”
What this gives you:
- The agent’s actions show up in the log under its own name.
- Permissions change in one place, by changing the role.
- The agent can be disabled without affecting people.
- The security team sees agents in the shared list of users and roles.
Typical roles we start with:
| Agent role | Can | Cannot | Example scenario |
|---|---|---|---|
| Reader | Read tasks, documents and comments in selected projects | Create or change anything | Project summaries, search, answering questions |
| Draft author | Create draft tasks and comments | Change statuses, assignees, due dates | Tasks from emails and meeting notes |
| Triager | Set labels, type and priority on incoming items | Close or delete tasks | Triage of Intake and bug reports |
| Executor with approval | Change fields and statuses after human approval | Change permissions, delete, message customers directly | Status updates after a review |
An agent is never given the administrator role. If a scenario requires admin rights, that’s a sign the scenario needs to be split up.
Every agent should have a human owner. That person is responsible for the agent’s instructions, reviews the log and decides whether to expand permissions. It helps to name service accounts consistently, for example with an “agent-” prefix and the scenario name: that way they stand out in the user list, in filters and in reports. When a scenario is retired, the account is disabled rather than left hanging with an active token.
Least privilege: action, risk, control
For agents, the principle of least privilege reads like this: the agent gets permissions for one scenario, in one set of projects, for a limited pilot period. Expanding them is a separate decision based on the log.
| Agent action | Risk | Control |
|---|---|---|
| Reading tasks and documents | Data leaking in responses or to an external model | Access only to the necessary projects, check where data goes |
| Creating a task | Noise and duplicates in the backlog | “Created by agent” label, daily cap on the number of tasks |
| Commenting on a task | Inaccurate information looks like the team’s position | Author marking, no mentions of customers |
| Changing status or assignee | Broken process, false picture of progress | Human approval |
| Bulk changes | Hundreds of corrupted tasks in a minute | Prohibited, or approval with a preview |
| Deletion | Data loss | Prohibited |
| Changing permissions and roles | Privilege escalation | Prohibited |
| Message to a customer | Reputational and legal risk | Draft only; a human sends it |
| Changing a deal in the CRM | Wrong amounts and forecasts | Approval by the deal owner |
In Plane, granular permissions (Granular Access Control), LDAP and IdP groups are available on higher plans. In Jira, permissions are set through project permission schemes. In both cases, check which mechanisms your version and plan actually have before promising the security team a specific access model.
Human approval and the log
The approval point goes where an action is hard to undo or where it goes beyond the team. A handy rule: the agent proposes, the human approves. The agent prepares a change, shows exactly what will change and waits for approval from the process owner.
To keep approval from turning into a formality:
- The approver is the person responsible for the outcome, not just any team member.
- Before approving, you can see what will change: fields before and after, the list of tasks.
- Bulk operations are approved as a whole, not one task at a time.
- If there’s no approval within a set time, the action is canceled rather than executed.
What to record in the log
An agent’s action log answers five questions: which agent, on whose behalf, at whose request, what it changed, and who approved it. In practice, that’s a set of fields:
- the agent’s identifier and the version of its instructions;
- the initiator: a person, a rule or a schedule;
- the original request or event that triggered the agent;
- the list of tools called and objects affected;
- field values before and after the change;
- who approved the action and when, or why it was rejected.
Store the log where the rest of your audit data is stored, with the same retention period. During the pilot, review it weekly with the scenario owner: that’s the fastest way to see where the agent lacks permissions and where it has too many.
MCP: access to systems through a standard protocol
MCP (Model Context Protocol) is an open protocol through which an AI client connects to external systems. An MCP server describes a set of tools: “find tasks,” “create a task,” “update a field.” The model decides which tool to call. In 2026, Plane has MCP connectors, which are used to connect the tracker to AI assistants and development environments.
MCP’s convenience lies in standardization. The risk is that connections are often made with a broad token, and the agent gets everything that token can do. Rules for MCP:
- A separate token for each connection. Not a shared administrator key.
- A token from a service account with a role. The MCP server’s permissions are limited to that account’s permissions.
- An allowlist of tools. If the scenario only needs read access, write tools aren’t connected.
- Caution with third-party MCP servers. A server from a public catalog is code with access to your data. Check the source and run it inside your own environment.
- Protection against instructions in data. The text of a task or email may contain instructions for the model. A read-only agent is barely vulnerable to this kind of attack; an agent with write access is dangerous.
Delegation: the agent acts on a person’s behalf
Sometimes an agent needs to act on behalf of a specific person: a developer asks the IDE assistant to close a task after a merge, or a manager asks it to draft a comment for a customer. That’s delegation, and it has its own rules.
- A delegated agent’s permissions are no broader than those of the person who launched it, and usually narrower.
- The log shows both the agent and the person: “agent X at the request of Y.”
- Delegation is limited in time and scope, not granted forever.
- The person can revoke delegation at any time, without needing an administrator.
If the system can’t distinguish between “a person” and “an agent acting on a person’s behalf,” use a separate service account. A clean log matters more than convenience.
Local models and keeping data in-house
Kazakhstan context. When an agent reads tasks and customer records and sends them to an external model, the data leaves your environment and often leaves Kazakhstan. The way the agent processes data should be approved by the security team. If it matters to the company that data doesn’t leave the country, there is an option with no external calls: Plane Airgapped runs entirely without internet and supports a local AI model. Jira Cloud stores data in Atlassian regions, and Kazakhstan isn’t among them.
If the model is external, reduce the amount of data that reaches it. An agent triaging bug reports doesn’t need customers’ phone numbers, and an agent summarizing a sprint doesn’t need attachments. Limit the projects and fields the agent can access, and don’t connect CRM objects containing personal data to an external model without approval.
A local model doesn’t replace RBAC. It removes the risk of sending data to a provider, but an agent with broad permissions inside your environment is still an agent with broad permissions.
Pre-launch checklist for an agent
- The scenario is described in one sentence and has an owner.
- A separate service account with a role for this scenario has been created.
- Access is limited to the necessary projects or CRM objects.
- Deletion, permission changes and bulk operations are prohibited or require approval.
- The agent prepares messages to customers only as drafts.
- A separate token has been issued for MCP, and only the necessary tools are connected.
- It’s clear which model processes the data and where it runs.
- The log records the agent, initiator, change and approval.
- There’s a way to disable the agent within a minute without a developer.
- A pilot review date and criteria for expanding permissions have been set.
How we do it
We start with a diagnostic: which scenarios you want to hand to agents, what data they touch, and what the security team will say. Then we run a pilot with one team and one agent in the “reader” or “draft author” role, review the log, and only after that expand permissions and bring in other teams. If data has to stay in Kazakhstan, we design an environment with a self-hosted tracker and a local model. We described the scenarios themselves in our article on AI agents in task management.
If you want to connect agents without unnecessary risk, see the business automation and AI assistant implementation page. It describes how the work starts and what’s included in the outcome.
Sources. Plane plans and features: plane.so/pricing. Plane repository: github.com/makeplane/plane. Atlassian Cloud data storage regions: Atlassian documentation. Data as of October 2026.
Terms in plain words
- RBAC (Role-Based Access Control)
- Access management through roles: permissions are granted to a role, not to a specific person or agent. To expand or cut an agent’s access, you just change its role.
- MCP (Model Context Protocol)
- An open standard through which an AI client connects to a tracker, CRM or code repository and calls their functions. It is risky if the connection uses a key with overly broad permissions.
- Service account
- An account for a program or agent rather than a person. Its actions show up separately in the log, and it can be disabled without affecting employees.
- Token
- A digital key an agent or MCP server uses to sign in to a system, gaining all of that key’s permissions. That’s why each connection gets its own narrowly scoped token.
- Principle of least privilege
- A security rule: grant only the permissions a scenario can’t work without. For an agent, that means one scenario, the necessary projects and a limited pilot period.
- Privilege escalation
- A situation where an agent or user ends up with more permissions than were granted. To rule it out, agents are forbidden from changing permissions and roles.
- Delegation
- A mode in which an agent acts on behalf of a specific person and gets no more permissions than that person has. The log shows both the agent and whoever launched it.
- Local model
- An AI model that runs inside the company’s environment without calling an external provider. It removes the question of sending data abroad but doesn’t remove the need to limit the agent’s permissions.
FAQ
Quick answers
What permissions should an AI agent get?
The minimum needed for a single scenario. The agent gets a separate account with a role, access only to the projects it needs, and only to the actions it needs. Permissions are expanded based on the pilot results, not in advance.
Can an agent be connected under an employee’s account?
It’s best not to do this by default. Under someone else’s account, the agent’s actions can’t be told apart from the person’s in the log, and an employee’s permissions are almost always broader than the agent needs. The exception is deliberate delegation, where the agent acts on a person’s behalf within narrow limits and this is visible in the log.
What is MCP and what makes it risky?
MCP (Model Context Protocol) is an open protocol through which an AI client connects to external systems: a tracker, a CRM, a repository. An MCP server describes a set of tools the model can call. The risk is that the connection is often made with a broad token, and the agent gets every capability that token has.
Which agent actions should a human approve?
Anything that’s hard to undo or that goes beyond the team: deletions, bulk changes, permission changes, messages to customers, changes to CRM deals and financial fields. Drafts, summaries, search and suggestions can run without approval.
Does an AI agent need its own action log?
Yes. The log should show which agent acted, on whose behalf, at whose request, what it changed and whether there was an approval. Without this, incident analysis turns into guesswork, and the security team won’t be able to approve expanded access.
Can AI agents run without sending data abroad?
Yes, if the model runs inside your own environment. For example, Plane Airgapped supports a local AI model with no internet access. With cloud models, you need to understand what data goes to the provider and in which country it is processed.
How is RBAC for agents different from RBAC for people?
The principle is the same: permissions are granted through a role, not individually. The difference is that an agent works faster and never gets tired, so a permissions mistake scales instantly. Agent roles are made narrower, and human approval is added for risky actions.
Related services
How Gotomarket helps with this
Business automation and AI in Kazakhstan
Business automation in Kazakhstan: Jira and Plane task trackers, CRM implementation, integrations, AI website bots, employee assistants, Chat with Data and support automation.
About the service 02AI assistant for employees in Kazakhstan
AI assistant for employees: search across policies and documents, drafts of emails and materials, role-based access. Implemented in Kazakhstan in Russian and Kazakh.
About the service 03AI support automation with SLA under control
AI support automation: request classification, conversation summaries, agent suggestions and SLA control. Rolled out in Kazakhstan in Russian and Kazakh.
About the service