Skip to content

Commit d7996d3

Browse files
authored
feat(admin-ui): make page UI for cedarling configuration (#2378)
* feat: make cedarling config UI * feat: add other language translation * feat: add admin config api reducer * feat: add form validation * chore: fix format * feat: add config saga * feat: edit config * feat: use react query and remove saga * feat: update translation * feat: add toast and audit log * feat: set remote policy store as default * fix: add code rabbit changes * fix: add code rabbit changes * feat: role to scope mapping and PRP config * refactor: remove add update operation on mapping * chore: update notes * refactor: remove essential scope section * feat: update form and invalidate get query * fix: addressed PR review changes * fix: addressed PR review changes * refactor: update translations * refactor: remove role and capabilities page * feat: add mapping notes in translation * refactor: PR review fixes * docs: add cedarling config doc * docs: add policy store detaisl * docs: rephase sentence * docs: code review fixes * docs: fix spelling mistake * fix: pushed arnab review changes * feat: check remote url empty * fix: fix code review changes * fix: Remove redundant checked props * refactor: remove docs content * refactor: update review doc * fix: arnab review changes
1 parent 9a5927a commit d7996d3

File tree

19 files changed

+470
-1233
lines changed

19 files changed

+470
-1233
lines changed

admin-ui/app/locales/en/translation.json

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -621,7 +621,10 @@
621621
"reloginToViewCedarlingChanges": "Please Re-login to view the cedarling changes.",
622622
"allAvailableHintsSelected": "All available hint options are selected",
623623
"noMatchingOptions": "No matching options",
624-
"nothingToShowInTheList": "Nothing to show in the list"
624+
"nothingToShowInTheList": "Nothing to show in the list",
625+
"auiPolicyStoreUrl": "Admin UI Remote Policy Store",
626+
"configApiPolicyStoreUrl": "Config API Policy Store",
627+
"cedarlingPolicyStoreRetrievalPoint": "Policy Retrieval Point"
625628
},
626629
"languages": {
627630
"french": "French",
@@ -654,7 +657,8 @@
654657
"securityDropdown": {
655658
"adminUiRoles": "Admin UI Roles",
656659
"capabilities": "Capabilities",
657-
"mapping": "Mapping"
660+
"mapping": "Roles and Permissions",
661+
"cedarlingConfig": "Cedarling"
658662
},
659663
"basic_configuration": "Basic Configuration",
660664
"inum_configuration": "Inum Configuration",
@@ -973,6 +977,7 @@
973977
"jwk_keys": "JWK keys",
974978
"jans_json_property": "Properties",
975979
"mapping": "Role/Permission Mapping",
980+
"cedarling_config": "Cedarling Configuration",
976981
"modules_properties": "Module Properties",
977982
"oauth_server_status_title": "OAuth server status",
978983
"oidc_clients": "OpenID Connect Clients",
@@ -1741,6 +1746,18 @@
17411746
"enabled": "SAML functionality enabled.",
17421747
"selectedIdp": "Selected SAML server.",
17431748
"ignoreValidation": "Boolean value to enable/disable SAML validation."
1749+
},
1750+
"cedarlingConfig": {
1751+
"title": "Configure fine-grained control using Cedarling",
1752+
"point1": "1. Create a policy store using Agama Lab. Fork the sample project",
1753+
"point2": "2. Copy PolicyStore URL and apply.",
1754+
"note": "Note: This will help you to create your own cedarling project. You can update the policies using",
1755+
"useRemotePolicyStore": "It is recommended to set it to Default for production. If set to Default, it will use the Admin-UI storage for Cedarling authorization. Enable Default mode and use the refresh button to store or update GitHub policies on the Admin-UI Server.",
1756+
"updateRemotePolicyStoreOnServer": "Click here to update the default policy-store JSON with the version available from the configured remote URL."
1757+
},
1758+
"mappings": {
1759+
"note_prefix": "Configure",
1760+
"note_suffix": "to manage roles and permissions. Once you save the cedarling configuration, roles and permissions will be automatically synced from the policy store."
17441761
}
17451762
}
17461763
}

admin-ui/app/locales/es/translation.json

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -621,7 +621,10 @@
621621
"reloginToViewCedarlingChanges": "Por favor, vuelve a iniciar sesión para ver los cambios de Cedarling.",
622622
"allAvailableHintsSelected": "Todas las opciones de sugerencia disponibles están seleccionadas",
623623
"noMatchingOptions": "No hay opciones coincidentes",
624-
"nothingToShowInTheList": "Nada que mostrar en la lista"
624+
"nothingToShowInTheList": "Nada que mostrar en la lista",
625+
"auiPolicyStoreUrl": "Almacén de políticas remotas de la interfaz de administración",
626+
"configApiPolicyStoreUrl": "Almacén de políticas de la API de configuración",
627+
"cedarlingPolicyStoreRetrievalPoint": "Punto de recuperación de políticas"
625628
},
626629
"languages": {
627630
"french": "Frances",
@@ -654,7 +657,8 @@
654657
"securityDropdown": {
655658
"adminUiRoles": "Roles de la Interfaz de Administración",
656659
"capabilities": "Capacidades",
657-
"mapping": "Mapeo"
660+
"mapping": "Mapeo",
661+
"cedarlingConfig": "Cedarling"
658662
},
659663
"basic_configuration": "Configuración Básica",
660664
"inum_configuration": "Configuración Inum",
@@ -966,6 +970,7 @@
966970
"jwk_keys": "Claves JWK",
967971
"jans_json_property": "Propiedades",
968972
"mapping": "Mapeo Rol/Permiso",
973+
"cedarling_config": "Configuración de Cedarling",
969974
"modules_properties": "Propiedades del módulo",
970975
"oauth_server_status_title": "Estado del servidor OAuth",
971976
"oidc_clients": "Clientes OpenID Connect",
@@ -1734,6 +1739,18 @@
17341739
"enabled": "Funcionalidad SAML habilitada",
17351740
"selectedIdp": "Servidor SAML seleccionado",
17361741
"ignoreValidation": "Valor booleano para habilitar/deshabilitar validación SAML"
1742+
},
1743+
"cedarlingConfig": {
1744+
"title": "Configurar un control detallado mediante Cedarling",
1745+
"point1": "1. Crear un almacén de políticas con Agama Lab. Bifurcar proyecto.",
1746+
"point2": "2. Copie la URL de PolicyStore y configúrela.",
1747+
"note": "Nota: Esto te ayudará a crear tu propio proyecto de Cedarling. Puedes actualizar roles y permisos a través de Agama Lab.",
1748+
"useRemotePolicyStore": "Se recomienda establecerlo en Predeterminado para producción. Si se establece en Predeterminado, utilizará el almacenamiento de la interfaz de administración para la autorización de Cedarling. Active el modo Predeterminado y utilice el botón de actualización para guardar o actualizar las políticas de GitHub en el servidor de la interfaz de administración.",
1749+
"updateRemotePolicyStoreOnServer": "Haga clic aquí para actualizar el JSON del almacén de políticas predeterminado con la versión disponible en la URL remota configurada."
1750+
},
1751+
"mappings": {
1752+
"note_prefix": "Configurar",
1753+
"note_suffix": "Para administrar roles y permisos. Una vez que guarde la configuración de Cedarling, los roles y permisos se sincronizarán automáticamente desde el almacén de políticas."
17371754
}
17381755
},
17391756
"validations": {

admin-ui/app/locales/fr/translation.json

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@
6161
"securityDropdown": {
6262
"adminUiRoles": "Rôles de l'interface utilisateur d'administration",
6363
"capabilities": "Capacités",
64-
"mapping": "Mapping"
64+
"mapping": "Mapping",
65+
"cedarlingConfig": "Cedarling"
6566
},
6667
"lock": "Verrouillage",
6768
"cache": "Cacher",
@@ -654,7 +655,10 @@
654655
"noMatchingOptions": "Aucune option correspondante",
655656
"nothingToShowInTheList": "Rien à montrer dans la liste",
656657
"disable_logger_timer": "Désactiver le Minuteur du Journal",
657-
"skip_defined_password_validation": "Ignorer la Validation du Mot de Passe Défini"
658+
"skip_defined_password_validation": "Ignorer la Validation du Mot de Passe Défini",
659+
"auiPolicyStoreUrl": "Magasin de politiques à distance de l'interface d'administration",
660+
"configApiPolicyStoreUrl": "Magasin de politiques de configuration de l'API",
661+
"cedarlingPolicyStoreRetrievalPoint": "Point de récupération des politiques"
658662
},
659663
"messages": {
660664
"add_permission": "Ajouter une autorisation",
@@ -864,6 +868,7 @@
864868
"loading_database_information": "Chargement des informations de la base de données...",
865869
"jans_json_property": "Propriétés",
866870
"all_oidc_clients": "Tous les clients OIDC",
871+
"cedarling_config": "Configuration Cedarling",
867872
"jans_kc_link": "Lien KC Jans",
868873
"all_scopes": "Toutes les portées",
869874
"idp": "IDP",
@@ -1589,6 +1594,18 @@
15891594
"description": "Description de la permission",
15901595
"tag": "Nom-de-la-balise pour identifier l'autorisation à inclure dans le jeton d'accès à l'API.",
15911596
"default_permission_in_token": "Si défini sur vrai, l'autorisation sera disponible par défaut dans le jeton d'autorisation pour accéder à l'API (avant l'authentification)."
1597+
},
1598+
"cedarlingConfig": {
1599+
"title": "Configurer un contrôle précis à l'aide de Cedarling",
1600+
"point1": "1. Créer un magasin de politiques avec Agama Lab. Dupliquez le projet",
1601+
"point2": "2. Copiez l'URL de PolicyStore et configurez-la.",
1602+
"note": "Remarque : Ceci vous aidera à créer votre propre projet Cedarling. Vous pouvez mettre à jour les rôles et les autorisations via le bouton d'actualisation ou Agama Lab.",
1603+
"useRemotePolicyStore": "Il est recommandé de définir cette option sur « Par défaut » en production. Si cette option est définie, le stockage de l’interface d’administration sera utilisé pour l’autorisation Cedarling. Activez le mode « Par défaut » et utilisez le bouton d’actualisation pour enregistrer ou mettre à jour les politiques GitHub sur le serveur de l’interface d’administration.",
1604+
"updateRemotePolicyStoreOnServer": "Cliquez ici pour mettre à jour le fichier JSON du magasin de politiques par défaut avec la version disponible à partir de l'URL distante configurée."
1605+
},
1606+
"mappings": {
1607+
"note_prefix": "Configure",
1608+
"note_suffix": "Pour gérer les rôles et les permissions. Une fois la configuration Cedarling enregistrée, les rôles et les permissions seront automatiquement synchronisés à partir du référentiel de stratégies."
15921609
}
15931610
},
15941611
"script": {

admin-ui/app/locales/pt/translation.json

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@
6262
"securityDropdown": {
6363
"adminUiRoles": "Funções da interface do administrador",
6464
"capabilities": "Capacidades",
65-
"mapping": "Mapeamento"
65+
"mapping": "Mapeamento",
66+
"cedarlingConfig": "Cedarling"
6667
},
6768
"lock": "Trancar",
6869
"cache": "Cache",
@@ -649,7 +650,10 @@
649650
"noMatchingOptions": "Nenhuma opção correspondente",
650651
"nothingToShowInTheList": "Nada a mostrar na lista",
651652
"disable_logger_timer": "Desativar Temporizador de Logs",
652-
"skip_defined_password_validation": "Pular Validação de Senha Definida"
653+
"skip_defined_password_validation": "Pular Validação de Senha Definida",
654+
"auiPolicyStoreUrl": "Repositório de políticas remotas da interface de administração",
655+
"configApiPolicyStoreUrl": "Política de armazenamento da API de configuração",
656+
"cedarlingPolicyStoreRetrievalPoint": "Ponto de Recuperação de Políticas"
653657
},
654658
"messages": {
655659
"add_permission": "Adicionar permissão",
@@ -852,6 +856,7 @@
852856
"all_attributes": "Todos os Atributos",
853857
"all_custom_scripts": "Todos os scripts personalizados",
854858
"jans_json_property": "Propriedades",
859+
"cedarling_config": "Configuração Cedarling",
855860
"jans_lock": "Trava Jans",
856861
"config_api_configuration": "Configuração da API de Configuração",
857862
"database_information": "Informações do Banco de Dados",
@@ -1583,6 +1588,18 @@
15831588
},
15841589
"authn": {
15851590
"acr": "Référence de classe de contexte d'authentification"
1591+
},
1592+
"cedarlingConfig": {
1593+
"title": "Configurar o controlo refinado usando Cedarling",
1594+
"point1": "1. Crie um repositório de políticas utilizando o Agama Lab. Duplique o projeto",
1595+
"point2": "2.º Copie o URL do PolicyStore e configure.",
1596+
"note": "Nota: isto irá ajudá-lo a criar o seu próprio projeto cedarling. Pode atualizar funções e permissões através do Agama Lab.",
1597+
"useRemotePolicyStore": "Recomenda-se definir como Padrão para a produção. Se definido como Padrão, será utilizado o armazenamento da interface administrativa para a autorização do Cedarling. Ative o modo Padrão e utilize o botão de atualização para armazenar ou atualizar as políticas do GitHub no servidor da interface administrativa.",
1598+
"updateRemotePolicyStoreOnServer": "Clique aqui para atualizar o JSON do repositório de políticas padrão com a versão disponível no URL remoto configurado."
1599+
},
1600+
"mappings": {
1601+
"note_prefix": "Configurar",
1602+
"note_suffix": "Para gerir funções e permissões. Depois de guardar a configuração do Cedarling, as funções e permissões serão sincronizadas automaticamente a partir do repositório de políticas."
15861603
}
15871604
},
15881605
"script": {

admin-ui/plugins/admin/__tests__/components/Roles/UiRoleDetailPage.test.js

Lines changed: 0 additions & 22 deletions
This file was deleted.

admin-ui/plugins/admin/__tests__/components/Roles/UiRoleListPage.test.js

Lines changed: 0 additions & 38 deletions
This file was deleted.

0 commit comments

Comments
 (0)