Source code for ska_aaa_authhelpers.roles

from enum import Enum


[docs] class Role(str, Enum): """ Enum containing the IDs of special role-granting Groups defined in MS Entra ID. """ ANY = "ANY" """ Generic role automatically granted to all requests in addition to any specific roles derived from the access token. """ APP2APP = "APP2APP" """ Role for apps using the OAuth2 client credentials grant to make automated requests, rather than acting on behalf of the user. """ # Entra ID group name: obs-integrationenvs-oauth2role-sweng SW_ENGINEER = "2d650a1e-dc34-4452-ab3b-15175d59e5d0" """ Develops, maintains, and debugs software applications within SKAO. Member of any of the software development teams. """ # Entra ID group name: obs-aa05-oauth2role-sweng PROD_SW_ENGINEER = "69d67c05-f536-481e-98b2-35c7f2254592" """ Responsible for debugging issues live in a production environment """ # Entra ID group name: low-aa05-oauth2role-teloperator LOW_TELESCOPE_OPERATOR = "47a4523e-6fbe-441d-914c-14c6ca01922e" """ Schedules and executes an observing session on SKA-Low and ensure the correctness of science experiment data by controlling and monitoring telescope subsystems. """ # Entra ID group name: mid-aa05-oauth2role-teloperator MID_TELESCOPE_OPERATOR = "405e6fd0-a361-447f-bb5e-9f6d03b2b474" """ Schedules and executes an observing session on SKA-Mid and ensure the correctness of science experiment data by controlling and monitoring telescope subsystems. """ # Entra ID group name: obs-integrationenvs-oauth2role-opsscientist OPERATIONS_SCIENTIST = "bdc4b862-882c-461a-a2a4-6f0ac89910c4" """ Oversees the creation of the Project and SBDefinitions to achieve the Science aim. """ # obs-oauth2role-opsproposaladmin OPS_PROPOSAL_ADMIN = "ce3627de-8ec2-4a35-ab1e-300eec6a0a50" """ Individual who is able to perform all activities associated with proposals """ # obs-oauth2role-opsreviewersci OPS_REVIEWER_SCIENCE = "05883c37-b723-4b63-9216-0a789a61cb07" """ Individual who is able to provide a review of the science behind a proposal """ # obs-oauth2role-opsreviewertec OPS_REVIEWER_TECHNICAL = "4c45b2ea-1b56-4b2d-b209-8d970b4e39dc" """ Individual who is able to validate the feasibility of the technical aspects required for a proposal """ def __str__(self): return self.value def __repr__(self): return f"{self.name}/gid:{self.value}"