Skip to content

Grants and Access

Decide who reaches which machines on a fleet. Give access to a role, a person or a service, and narrow or take it back the moment you need to.

Summary

A fleet refuses everyone until you say otherwise. A grant names who is allowed and which devices they reach, you write it on the fleet's Access tab, and it takes effect on connections that are already open as well as the next one.

Needs a fleet, which is on the Pro and Enterprise plans. See Fleets to create one.

What a grant is#

A grant is one line of policy on one fleet: this subject may reach these devices. Nothing else is implied, and nothing is allowed that a grant does not name.

A subject is a role, a person or a machine. The devices are named directly, either as one exact name, as a prefix, or as everything on the fleet.

Grants are written against the identity, never against a certificate. A machine that renews its certificate, is rebuilt, or moves to new hardware under the same name keeps the access you gave it, and changing what an identity reaches never means reissuing a certificate.

A grant can also name a machine that does not exist yet. It starts working the moment that machine first connects.

Grants live on one fleet at a time. An identity granted access on one fleet reaches another only once you write a grant there too.

Give access#

Open the fleet, select the Access tab, then Give access. The panel asks three questions in order, and each answer collapses to a single line once you have given it.

Type is Role, Member or Machine.

Who is the specific subject, from a list matching that type. Role offers Everyone in this team, Owners, Admins and Developers, each with the number of people it covers today. Member searches your team directory. Machine searches the identities your team has issued credentials for, marked Active, Pending or Inactive.

Access is the set of devices. A single switch reads All devices, and turning it off gives you a searchable list of the fleet's roster. A running count underneath states the result as you build it, in the form Reaching 14 of 180 devices.

Select Give access to and the grant is live. Nothing has to be restarted or reissued.

Give access: pick the type, pick who, then say which devices they reach here.

The panel flags two cases as you build the grant. A grant naming no devices is refused at save. A role grant nobody currently holds is accepted, and starts working when somebody takes that role.

Choosing a subject#

SubjectCoversUse it for
RoleOwners, Admins or DevelopersGiving a whole group access at once, such as every Developer
MemberIndividual member on teamAccess for an individual, on top of whatever their role already gives them
MachineIndividual machine identityServers, monitoring collectors, CI/CD jobs and downloaded certificates

Everyone in this team sits at the top of the Role list and is the widest grant available. It covers every current member and everyone who joins afterwards.

A role grant is evaluated against whoever holds the role at the time of the connection. Adding a member, removing one or changing a role updates every fleet in the team automatically, so off-boarding is a single action in Members.

Grants add up. A person covered by a Developers grant reaching device* and a personal grant reaching db-01 reaches both sets. There are no deny rules, so an individual grant can only widen what a role grant already gave. To give one person less than their role has, narrow the role grant.

Choosing devices#

A grant names devices in one of three forms:

WrittenReaches
*Every device on the fleet, including ones added later
device*Every device whose name starts with device, including ones added later
device1That one device

A trailing star is the only wildcard, and there are no tags to maintain.

Plan your device names around prefixes. Naming machines device1, device2 and device3 means one grant on device* covers every device added later, with no edit to the grant. Typing in the device list offers the matching prefix as the first row, with a live count of how many devices it reaches.

A device covered by a prefix shows as selected, with the prefix named beside it, and cannot be unticked on its own. To stop reaching one machine inside a prefix, narrow the prefix or name the devices individually.

One grant may name up to 200 devices and prefixes. Use a prefix to cover more.

The grants table#

The Access tab lists every grant on the fleet.

ColumnHolds
IdentityThe person's name, the machine's name, or the role in words
KindMember, Machine, Role, Everyone or External CA
Can reachThe devices, written back in plain language such as anything named device*, plus db-01
The Access tab: one row per identity, what it reaches, and the editor beside it.

Filter by kind to answer a specific question, such as which machines can reach this fleet, or which grants are role-based. Each row also opens Recent access, a live crop of what that subject has actually connected to, and Access log for the full trail. See Access Log.

To see it from the other direction, open a device's menu on the Devices tab and choose Who can reach. That lists everything reaching that one machine and says why each entry does, whether the device was named outright or swept up by a prefix.

Change or take back access#

Edit on a grant row reopens the device list. The panel states the result as a sentence before you save, and flags a change that removes access. When it does, the button reads Save and disconnect, and every connection the grant covered closes as soon as you save.

Narrowing counts as removing. Tightening a grant from device* to device1 drops every other device it covered and cuts those connections, even though nothing was deleted from the list.

Remove access in the row menu deletes the grant entirely. That subject stops reaching the fleet, and its open connections close.

Widening disturbs nothing. Adding a device to a grant leaves every open connection running.

Removing a grant does not touch the certificate. The credential stays valid and keeps working wherever else it is granted. Use it to trim one fleet without off-boarding the machine. To stop a credential everywhere at once, revoke the certificate instead. See Certificates.

Writing, editing and removing grants needs the admin or owner role. Members with the developer role can read the Access tab without changing it.

What a refused caller sees#

The connection is refused during the TLS handshake, so nothing reaches your device and nothing is proxied.

Under TLS 1.3 the client sends its certificate after the server has finished, so the connection appears to open and the refusal arrives on the first read. The agent reports it and names what the holder can check:

device1-example.eu.localport.dev refused the certificate presented for this connection.
  Check in the dashboard that this identity has been given access to the device you are reaching,
  and that its certificate is still valid and has not been revoked.
  `localport identity list` shows what this machine holds

The message does not say which of the three it was. The exact reason is in the access log, where only your team can read it.


Frequently asked questions#

What happens if someone has a certificate but no grant?

They reach nothing. A certificate proves identity and carries no access of its own, so a valid, unrevoked, correctly issued certificate is refused at every device until a grant on that fleet names its identity. This is the default state of every credential the moment it is issued.

Do I have to reissue certificates when access changes?

No. A grant is stored against the identity, not the certificate, and it is evaluated at connection time. Changing what somebody reaches takes effect straight away on a credential they are already holding, and reissuing that credential changes nothing about their access.

How do I give access to a whole group of devices?

Name a prefix. A grant on device* reaches every device whose name starts with device, including machines you deploy afterwards, so a fleet that grows does not need its policy edited each time. The device picker offers the matching prefix as you type and shows how many devices it currently covers.

What happens to open connections when I remove access?

They close immediately. Narrowing a grant, removing one, revoking a certificate and removing a device all cut sessions that are running at that moment, on every protocol. Access that only applied to the next connection would leave a long-lived SSH session or database connection running for hours after it was withdrawn.

Should I grant access to people or to roles?

Grant to roles wherever access should follow the org chart. A grant on Developers covers whoever holds that role today, so joiners and leavers are handled by changing team membership, with no edit on any fleet. Name an individual when one person needs something the rest of their role should not have.

Can I give one person less access than their role has?

No. Grants union together and there are no deny rules, so an individual grant can only add to what a role grant already gave. If one person should reach less than their colleagues, narrow the role grant and give the wider access to the people who need it.

Can I write a grant before the machine exists?

Yes, and it is the usual way to provision hardware. Create the device on the fleet's Devices tab, or name the identity when you create its setup key, then write the grant. The machine arrives already authorised and reaches exactly what you decided while it was still in a box.

Can I give access to someone outside my team?

Yes, through their organisation's certificate authority. Register it and the identities it signs resolve inside a namespace of their own, written corp.example/build-agent, so a partner's machine can never collide with one of yours carrying the same name. See Certificate Authorities.

Are grants shared between my fleets?

No. A grant belongs to one fleet, and a certificate reaches only the fleets that have granted it. Credentials are team-wide, so one machine or one person needs only one credential no matter how many fleets they end up reaching, and each fleet decides separately what that identity gets.

Who can change grants?

Admins and owners. Members with the developer role can see the Access tab and read who has access, without editing or removing anything. Every change is recorded in the team audit log with the person who made it.