Skip to content
RunningLake
Contents: Reference

RUNNING

Permissions

What each of the five roles may do in the RunningLake control plane. This page is built from the same file the running system enforces, so it cannot describe a grant the product does not hold.

These are not data permissions

Nothing in this table grants access to a row or a column of a table. Whether someone may SELECT a column is decided by the catalog’s policy, which is a separate system with its own audit trail. Being an owner does not grant data access.

One exception, named rather than implied. volume.preview lets an owner, an admin or an engineer read the first 256 KiB of one uploaded file that is not yet in any table, so that a bad file is caught before it is promoted. There is no catalog policy on that path, because there is no table yet. A restricted layer’s grants still apply: a layer whose grants do not name you hides its volumes from you. Promoting a file copies it, so the uploaded copy stays readable through this permission after its rows are in a table.

One more thing the table cannot show. It lists what a role may do, and certification.set reads owner and admin. The steward or the owner of an asset by assignment may also certify it, in a signed-in session. In the same way metadata.edit reads owner, admin and engineer, and the steward or the owner of an asset by assignment may also write its description, in a signed-in session. In the same way glossary.approve reads owner and admin, and the steward of a term’s domain by assignment may also approve a version, in a signed-in session. An assignment is not a role, and an API token is judged by its own role alone. Stewardship says who may do what.

The matrix

Every action in the file, in the file’s own order. Each action’s name is its own link target.
Action OwnerAdminEngineerAnalystViewer Fresh sign-in Enforced
org.billing.manage YesNoNoNoNo No Declared only
org.tier.change YesNoNoNoNo No Declared only
org.delete YesNoNoNoNo Yes Declared only
org.transfer YesNoNoNoNo Yes Declared only
org.idp.manage YesNoNoNoNo Yes Yes
org.idp.join.widen YesNoNoNoNo Yes Yes
org.idp.join.narrow YesYesNoNoNo No Yes
org.member.manage YesYesNoNoNo No Yes
org.member.promote YesNoNoNoNo Yes Yes
org.member.read YesYesYesYesYes No Yes
org.notice.read YesNoNoNoNo No Yes
org.adhocengine.manage YesYesNoNoNo Yes Yes
org.adhocengine.read YesYesYesYesYes No Yes
org.adhocengine.review YesYesNoNoNo No Yes
org.settingsproject.read YesYesNoNoNo No Yes
org.settingsproject.set YesNoNoNoNo Yes Yes
project.create YesYesNoNoNo No Yes
project.delete YesYesNoNoNo Yes Yes
project.member.manage YesYesNoNoNo No Declared only
project.read YesYesYesYesYes No Yes
project.adhocsql.manage YesYesNoNoNo No Declared only
env.create YesYesNoNoNo No Yes
env.delete YesYesNoNoNo Yes Declared only
env.spendcap.set YesYesNoNoNo Yes Yes
env.changepolicy.set YesYesNoNoNo No Yes
env.plane.set YesYesNoNoNo No Yes
env.rename YesYesNoNoNo No Yes
quota.set YesYesNoNoNo No Declared only
dataplane.create YesYesNoNoNo Yes Yes
dataplane.delete YesYesNoNoNo Yes Yes
dataplane.read YesYesYesNoNo No Yes
dataplane.upgrade YesYesNoNoNo No Declared only
dataplane.supportsession.grant YesYesNoNoNo Yes Yes
dataplane.supportsession.end YesYesNoNoNo No Yes
dataplane.supportsession.read YesYesYesYesYes No Yes
dataplane.preflight.record YesYesYesNoNo No Yes
config.propose YesYesYesNoNo No Yes
config.apply.nonprod YesYesYesNoNo No Yes
config.apply.prod YesYesNoNoNo No Yes
config.approve YesYesNoNoNo No Yes
config.read YesYesYesYesYes No Yes
config.withdraw YesYesYesNoNo No Yes
repo.connect YesYesNoNoNo Yes Yes
source.connect YesYesYesNoNo No Yes
source.sync YesYesYesNoNo No Yes
source.slot.drop YesYesNoNoNo Yes Declared only
secret.write YesYesYesNoNo No Declared only
migration.analyse YesYesYesNoNo No Yes
migration.export YesYesYesNoNo No Yes
migration.manage YesYesYesNoNo No Yes
migration.read YesYesYesYesYes No Yes
volume.write YesYesYesNoNo No Yes
volume.preview YesYesYesNoNo No Yes
secret.read NoNoNoNoNo No Declared only
secret.reads.list YesYesYesNoNo No Yes
key.manage YesYesNoNoNo Yes Yes
storagerule.replay YesYesYesNoNo No Declared only
storagerule.backfill YesYesYesNoNo No Declared only
storagerule.breaker.reset YesYesNoNoNo Yes Declared only
pipeline.run YesYesYesNoNo No Yes
pipeline.backfill YesYesYesNoNo No Declared only
run.cancel YesYesYesNoNo No Yes
run.hold YesYesYesNoNo No Yes
run.hold.release YesYesYesNoNo Yes Yes
run.hold.manage YesYesNoNoNo No Yes
run.read YesYesYesYesYes No Yes
pipeline.file.read YesYesYesNoNo No Yes
run.logs.delete YesYesNoNoNo Yes Declared only
run.parameters.erase YesYesNoNoNo Yes Yes
python.execute YesYesYesNoNo No Yes
authoring.draft YesYesYesYesNo No Yes
design.approve YesYesYesNoNo No Yes
query.execute YesYesYesYesNo No Yes
query.save YesYesYesYesNo No Yes
query.share YesYesYesYesNo No Yes
sql.credential.create YesYesYesYesNo No Yes
sql.credential.manage YesYesNoNoNo No Yes
query.cancelothers YesYesNoNoNo No Yes
query.removeothers YesYesNoNoNo No Yes
ai.ask YesYesYesYesNo No Declared only
board.edit YesYesNoNoNo No Declared only
catalog.read YesYesYesYesYes No Yes
lineage.read YesYesYesYesYes No Yes
table.drop YesYesYesNoNo Yes Declared only
classification.set YesYesYesNoNo No Yes
routing.read YesYesYesYesYes No Yes
routing.org.read YesYesYesYesYes No Yes
routing.shadow.set YesYesNoNoNo No Yes
policy.propose YesYesYesNoNo No Yes
policy.approve YesYesNoNoNo No Yes
cost.read YesYesYesYesYes No Yes
cost.export YesYesYesNoNo No Yes
audit.read YesYesNoNoNo No Yes
audit.export YesYesNoNoNo No Yes
audit.delivery.read YesYesNoNoNo No Yes
audit.delivery.manage YesYesNoNoNo No Yes
audit.delivery.enable YesYesNoNoNo Yes Yes
org.agreement.read YesYesNoNoNo No Declared only
org.agreement.accept YesYesNoNoNo Yes Declared only
org.agreement.request YesYesNoNoNo No Declared only
org.subprocessor.read YesYesYesYesYes No Declared only
org.incident.read YesYesYesYesYes No Yes
metadata.generate YesYesYesNoNo No Declared only
metadata.edit YesYesYesNoNo No Yes
metadata.review YesYesNoNoNo No Declared only
glossary.propose YesYesYesYesNo No Yes
glossary.approve YesYesNoNoNo No Yes
stewardship.assign YesYesNoNoNo No Yes
certification.set YesYesNoNoNo No Yes
access.request YesYesYesYesYes No Declared only
agent.autonomy.set YesYesNoNoNo Yes Declared only
agent.autonomy.revoke YesYesNoNoNo No Declared only
model.calls.read YesYesYesNoNo No Yes
model.prompt.read YesYesNoNoNo No Declared only
model.prompt.store YesYesNoNoNo Yes Yes
model.budget.set YesYesNoNoNo No Yes
model.release.promote YesYesNoNoNo Yes Declared only
model.endpoint.test YesYesYesNoNo No Declared only
ai.policy.set YesYesNoNoNo No Yes
access.signal.acknowledge YesYesNoNoNo No Declared only
model.provider.manage YesYesNoNoNo Yes Yes
token.create.project YesYesYesNoNo No Yes
token.create.org YesYesNoNoNo No Yes
token.read YesYesYesNoNo No Yes
token.revoke YesYesYesNoNo No Yes
principal.read YesYesYesNoNo No Yes
principal.manage YesYesNoNoNo Yes Yes
principal.credential.create YesYesNoNoNo Yes Yes
principal.revoke YesYesYesNoNo No Yes
principal.webhook.test YesYesYesNoNo No Yes

Declared only means the action is recorded in the file and nothing in the product checks it yet. Read it as a decision recorded, not a control in force.

No role holds secret.read. That is deliberate, not an oversight.

Fresh sign-in

An action marked Fresh sign-in requires that you confirmed it is you within the last five minutes, through your identity provider. Signing in is not a confirmation: right after you sign in, the first of these actions asks you to confirm once, and your session may then take any of them for five minutes. An API token never does, because a token carries no sign-in time, so these actions need a person in a browser session.

Roles, today

Roles are assigned to a person across the whole organisation. A role on a single project that overrides the organisation’s is part of the model, and nothing in the product assigns one yet, so today everyone holds the same role in every project. An environment is not a scope for a role: whether it is production, its change policy and whether it needs approval limit what any role may do there.