Set Self-Service Actions RBAC
Port provides granular control to make sure every user can only execute and invoke the actions that are relevant for them.
This section covers the self-service actions section of Port's RBAC functionality, while it is not a prerequisite, it is highly recommended you also go over Port's permission controls.
In order to manage who can view which pages in Port, check out page permissions.
๐ก Common Self-service actions RBAC usageโ
Self-service actions RBAC allows admins to finely control which users can execute which self-service actions, for example:
- Let a developer provision a database only to his microservice or developer environment;
- Specify that a new cluster provision request requires manual approval by the DevOps team;
- etc.
Configure manual approval for actions & give approval permissionsโ
You have the ability to set up manual approval steps for your actions.
This feature is particularly useful in situations where an action has the potential to be dangerous, destructive, expensive, or when organizational policy mandates an additional level of review before proceeding.
When a user clicks on the execute
button of an action that requires approval, a new run
object will be created in Port. The run
object will have the status WAITING_FOR_APPROVAL
and will be visible in the Runs
tab of the action.
When a new request requires approval, Port will send a notification via email to users that have the permissions to approve it, or it will send a notification to a configured url via a web request.
To configure a manual approval step, add the requiredApproval
field to your action:
[
{
...
"invocationMethod": {
"type": "WEBHOOK",
"url": "https://example.com"
},
"trigger": "CREATE",
"requiredApproval": true,
...
}
]
To configure which users can approve the action, see Managing permissions.
Configuring approval notificationsโ
by default manual approval notifications are sent via email to users who have approval permissions.
It is also possible to configure a webhook URL which the approval notification will be sent to.
This allows you to receive notifications in a format of your choice, either as a plain JSON object or as a Slack message.
To send an approval notification to a URL, add the approvalNotification
field to your action configuration:
{
...
"requiredApproval": true,
"approvalNotification": {
"type": "webhook",
"format": "json / slack",
"url": "https://my-slack-webhook.com"
},
...
}
Click here to learn how to send manual approval requests to Slack.
Self-service actions RBAC examplesโ
Refer to the examples page for practical examples of Port's RBAC.