Skip to main content

Authorization

This documentation provides an overview of the roles within Massdriver and the corresponding permissions for each role regarding GraphQL operations.

Roles

Organization Viewer

All organization members are granted the organization viewer role, allowing them to:

permissiondescription
acceptGroupInvitationcan accept org group invite
applicationBundleTemplates?
artifactDefinitioncan view artifact type
artifactDefinitions?
artifactcan view metadata of artifact
artifactscan view list of artifacts
cloudDnsZonescan view dns zones
cloud?
compareEnvironmentscan compare project environments ?(shouldn't this be in project-viewer?)
containerRepositories? we don't have this feature, remove?
containerRepository^
createApplicationBundlecan create an application bundle from template
defaultableEnvironmentConnectionGroups?
dnsZones? diff than cloudDnsZones?
environment?
filterArtifactsByTypecan filter artifacts by artifact type
groupcan view group details
groupscan view list of groups
importableResources? import feature gone?
instanceTypes?
manifest? should be in project-viewer?
metricTimeSeries?
organizationcan view organization details
package? should be in project-viewer?
projectcan view authorized project
projectscan list authorized projects
serviceAccountscan view list of service accounts

Organization Admin

In addition to the organization viewer permissions, organization admin can perform:

permissiondescription
addServiceAccountToGroupcan add service account to a group
artifactDefinition? diff than org-viewer?
auditLogscan access audit logs
billingSubscriptioncan access billing
bundle?
connectDnsZonecan connect a cloud DNS zone
createArtifactcan create an artifact
createDnsZonecan create a cloud DNS zone
createGroupInvitationcan invite user to organization
createGroupcan create a group
createManifestcan create a bundle manifest
createSubscriptionManagementSession?
deactivateServiceAccountcan deactivate a service account
deleteArtifactcan delete an artifact
deleteBundlecan delete a bundle
deleteGroupInvitationcan delete a invitation to the organization
deleteGroupMembershipcan remove a user from a group
deleteGroupcan delete a group
deleteOrganizationMembercan remote a user from the organization
deleteServiceAccountcan delete a service account
disconnectDnsZonecan disconnect a cloud DNS zone from Massdriver
grantGroupAccesscan add user to a group
publishArtifactDefinitioncan publish a artifact definition
publishBundlecan publish a bundle
reactivateServiceAccountcan reactivate a service account
removeServiceAccountFromGroupcan remove a service account from a group
updateGroupcan edit group name and description

Project Viewer

Project viewer roles allow views on specific project-related GraphQL operations:

permissiondescription
compareDeploymentscan compare bundle deployment history
deployPreviewEnvironmentcan deploy a preview environment using Mass CLI
deploymentcan view deployment details
deploymentscan view deployment history
environmentcan view environment
getPackageByNamingConventioncan view package name
importResources? should be removed?
importableResources? should be removed?
instanceTypescan view available bundle instance types
manifestcan view manifest details
metricTimeSeries?
packagecan view package details
watchMetriccan view monitoring details

Project Admin

In addition to the project viewer permissions, a project admin can:

permissiondescription
assignRemoteReferencecan assign a remote reference
configurePackagecan change package configuration
createEnvironmentConnection?
createEnvironmentcan create an environment
createImportableManifest? delete?
createManifestcan create a manifest
createProjectcan create a project
createServiceAccountcan create a service account
createWatchedMetricPackageAlarmcan create a new watched metric package alarm
decommissionPackagecan decommission a package
decommissionPreviewEnvironmentcan decommission a preview environment ?(should be doable by project viewer if they can deploy?)
deleteEnvironmentConnection?
deleteEnvironmentcan delete environment
deleteManifestcan delete manifest
deleteProjectcan delete project
deleteWatchedMetricPackageAlarmcan delete watched metric package alarm
deployPackagecan deploy a package
disconnectImportedResources? delete?
downloadArtifactcan download an artifact
linkManifestscan create bundle connection
setDefaultSecretForPreviewEnvironmentscan set default secret for preview environments
setManifestPositioncan set manifest position on the graph
setPackageSecretcan set a package secret
unsetDefaultSecretForPreviewEnvironmentscan unset default secret for preview environments
unsetPackageSecretcan unset a package secret
unlinkManifestscan delete bundle connection
unsetRemoteReferencecan unassign a remote reference
unwatchMetriccan unwatch a bundle metric
updateArtifactcan update artifact name/description
updateEnvironmentcan update environment name/description
updateManifestcan update manifest name/description
updateProjectcan update project name/description
watchMetricAndCreatePackageAlarmcan watch a bundle metric and create a package alarm
createWatchedMetricPackageAlarmcan create a watched metric package alarm

Authorization Rule Details

All resources in Massdriver roll up to either an organizational or project boundary. Specific permissions on GraphQL operations are contingent on the boundary and role of the user in relation to that boundary.