6.13.2.7 MoonitoringCapabilityEnum
6.13.2.7.1 Purpose¶
The catalog of permissions that Moonitoring roles grant to platform users.
6.13.2.7.2 Values¶
| Value | Risk | Description |
|---|---|---|
access.moonitoring_access.read |
read | See the Moonitoring users and the roles they hold (see MoonitoringAccessControlMembership, MoonitoringUser). |
access.moonitoring_access.manage |
admin | Create and remove Moonitoring users, assign and revoke their roles. |
access.moonitoring_roles.manage |
admin | Create and edit Moonitoring roles: name, capabilities, priority (see MoonitoringRoleAccessControl). |
access.organization_roles.manage |
admin | Create and edit the global Organization roles (see OrganizationRoleAccessControl); a change reaches every Organization at once. Owner and Sync Client are not changed through it. |
releases.releases.read |
read | See the whole release system (ReleaseProject to ReleaseEncryptionKey), including public keys and signed metadata; never the private keys, which stay in the KMS. |
releases.installations.read |
read | See installations and update events (see ReleaseInstallation, ReleaseUpdateEvent). |
releases.release_catalog.manage |
write | Create, edit and archive projects, applications (with their audience, 101.8), platforms and depots, and choose which depots compose an application (ReleaseProject to ReleaseApplicationDepot). |
releases.channels.manage |
write | Create and edit channels and their access rule: listed or not, approval, required capabilities and features, recipient. Organizations, tester groups and their e-mails (see ReleaseChannel, ReleaseChannelAccess, ReleaseTesterGroup). |
releases.builds.upload |
write | Create a build and upload its chunks and manifests until it is ready (see ReleaseBuild); it reaches no client. |
releases.builds.revoke |
write | Mark a build revoked, with a reason; it can no longer be staged, approved or rolled back to. |
releases.releases.stage |
write | Create a Release of a ready build on a channel (see Release); it waits as staged, or becomes active at once on a channel that does not require approval. |
releases.releases.approve |
write | Make a staged release active, or resume a paused one. |
releases.releases.pause |
write | Stop offering an active release; nothing changes on clients that already updated. |
releases.releases.rollback |
write | Make current again a build that was already active on the same channel, without a second approval. |
releases.release_keys.manage |
admin | Register, rotate and revoke signing and encryption keys (see ReleaseSigningKey, ReleaseEncryptionKey); it cannot sign with them. |
releases.release_storage.purge |
admin | Run retention: delete builds, manifests and chunks that no retained release references; it cannot be undone. |
farm.reference_data.manage |
write | Maintain AnimalType, AnimalBreedType, DeathType, ObservationType, ObservationMethod, ObservationContext, BodySite and PeriodType (AnimalType, AnimalBreedType, DeathType, ObservationType, ObservationMethod, ObservationContext, BodySite, PeriodType), and the bull catalog: Animals without Ownership and their identifiers (see Animal, ExternalIdentifier). |
farm.source_origins.manage |
write | Maintain the source origins and channels that belong to no Organization, and their versions (see SourceVersion, SourceOrigin, SourceChannel). |
access.organizations.read |
read | See Organizations, their members and their delegations; no animal data. |
farm.ingestion.read_all |
read | See what every Organization's sources sent and what failed to process (see SourceProducerEntity, RawMetadata, IngestionSkip); no canonical animal data. |
farm.sync_clients.manage_all |
admin | Create sync clients and their enrolment codes, retire them and change their schedules in every Organization, for support (see SyncClient, SyncSchedule); seeing them needs farm.sync_clients.read_all. |
farm.data_issues.read_all |
read | See the DataIssues of every Organization, for support (see DataIssue). |
farm.canonical_data.read_all |
read | Read the canonical data of every Organization to train, score and evaluate models (Moonitoring may use the data of every farm; no per-farm consent is modelled). Every use is recorded as a ModelRun. Meant for MoonitoringServiceAccounts; organization access rules (Ownership) do not apply to this capability. |
farm.entitlements.manage |
write | Grant and revoke what an Organization has (see Entitlement). |
ai-model-platform.models.manage |
write | Register, deploy and retire models and their versions in the model registry; a retired model refuses calls. Seeing them needs ai-model-platform.models.read. |
moochat.agents.manage |
write | Create, pause and archive agents, bind and unbind their tools, set their default model profile (see AgentDefinition, AgentToolBinding). |
moochat.agent_models.manage |
write | Create, edit and retire model profiles: provider, model, region, data classes, tier, parameters (see AgentModelProfile). |
access.audit.read |
read | See who did what and when in the Console and the admin APIs (see PlatformAuditEvent). |
ai-model-platform.datasets.manage |
write | Create, edit, build, archive and delete datasets and their versions (see MlDataset, MlDatasetVersion). |
ai-model-platform.datasets.read |
read | List datasets and read their versions' files from notebooks and pipelines; meant for data scientists in ml-lab and the service accounts of ml-prod. Identified versions (MlDataset.anonymization) are readable only with farm.canonical_data.read_all. |
ai-gateway.usage.read |
read | See the ledger of model calls, never the prompts, and the state of the providers (see FeatureUsage, AgentModelProfile). |
farm.parse_jobs.manage |
write | Ask for a re-parse of a raw file, a run or a feed over a period, and retry failed jobs (see ParseJob); every call is a PlatformAuditEvent. |
farm.reconciliation_rules.manage |
write | Create rule set versions and reliability rankings and re-run resolution (see ReconciliationRuleSet, SourceReliability). |
farm.erasure_requests.manage |
admin | See every erasure request and execute it (see ErasureRequest); held by few. |
grant.calls.manage |
write | Curate funding calls: title, summary, eligibility, status and publication. |
grant.sources.manage |
write | Add and change the sources funding calls are discovered from, and launch discovery and extraction batches. The documents of farmers are seen with grant.documents.read_all, not with this capability. |
access.organizations.approve |
write | Approve a pending Organization created by its owner, or suspend and reactivate one (see Organization, Organization.status); every call is a PlatformAuditEvent. |
access.nations.manage |
write | Maintain the nations, which qualify telephone numbers, fiscal identifiers and national animal identifiers (see Nation); was part of farm.reference_data.manage. |
farm.integration_gaps.read |
read | See the integration gaps, their occurrences and their samples (see IntegrationGap); reading a sample is a PlatformAuditEvent. |
farm.integration_gaps.manage |
write | Assign a gap, change its status and link the adapter that resolves it (see SourceAdapter). |
farm.source_adapters.manage |
write | Register adapters and their version ranges when a client or parser release ships them, and deprecate or withdraw them. |
farm.adapter_mappings.manage |
write | Map detected source versions to adapters, globally, for an Organization or for one feed (see AdapterMapping); every change is a PlatformAuditEvent. |
news.articles.write |
write | Write and edit articles and their translations, upload images, preview, and submit an article for review (see Article). |
news.articles.publish |
write | Publish, schedule, unpublish an article and change a published slug (see Article); every call is a PlatformAuditEvent. |
access.organizations.close |
admin | Close an Organization by staff decision, reject a pending one, hold a closure and cancel one (see OrganizationClosure); every call is a PlatformAuditEvent. |
status.incidents.read |
read | See the components and probes of the status page, its incidents and its maintenances. |
status.incidents.manage |
write | Open and update incidents, post their updates and schedule maintenances; the public status page shows them. |
status.components.manage |
write | Change the components of the status page and their probes. |
farm.sync_clients.read_all |
read | See every sync client, its schedules and its runs, for support (see SyncClient, ReleaseInstallation, SyncSchedule); split from farm.sync_clients.manage_all. |
ai-model-platform.models.read |
read | See the registered models, their versions and scoring batches; split from ai-model-platform.models.manage. |
grant.documents.read_all |
read | See the documents every farmer uploaded for funding applications, for support; split from grant.sources.manage. |
6.13.2.7.3 Relationships¶
Used by
6.13.2.7.4 Rules & constraints¶
- Enum about the capabilities of system users, for the purpose of access control.
- Same naming as OrganizationRoleCapabilityEnum: <system>.<resource>.<action>, prefixed by the system that owns the resource (access, releases, moochat, farm, ai-model-platform, ai-gateway, grant, news, status).
- Signing release metadata is not a capability: the system does it when a release becomes active.
- Every capability declares its risk as in OrganizationRoleCapabilityEnum: read, write, or admin for what changes staff access, Organization roles, signing keys, or removes data or Organizations for good. A MoonitoringServiceAccount never holds an admin capability (MoonitoringServiceAccount).