Role
Mapuj użytkowników i grupy na role i ustalaj, co każda rola może robić.
Atrybut roles
Lista roles najwyższego poziomu w config.yaml:
| Atrybut | Komentarze |
|---|---|
| roles array | Roles
The roles provide RBAC. Each role has a name and 1 or more groups (local, ldap or entraid). The
When options are not set, the admin role will have all options. The Przykłady: 1) Roles |
Rola default
Każdy zalogowany użytkownik ma rolę default, więc formularz z roles: [default] jest dostępny dla każdego, kto może się zalogować. Nie ma dostępu anonimowego: nikt nie dostaje tej roli bez zalogowania.
Rola nie zawiera grup ani użytkowników, bo i tak obowiązuje wszystkich. Jej options są wartościami domyślnymi dla wszystkich, jak opisano niżej w Opcje ról. config.yaml musi mieć rolę admin i rolę default, a strona ról pokazuje obie jako Wymagane.
Przed wersją 7.0.0 default nazywała się public, a stara nazwa nadal działa:
- W formularzu
roles: [public]nadal pasuje do każdego użytkownika, więc formularze w Twoich repozytoriach nie wymagają zmian. - W
config.yamlrola o nazwiepublicjest przy wczytywaniu konfiguracji przemianowywana w pliku nadefault. Zmienia się tylko nazwa, najpierw tworzona jest kopia zapasowa konfiguracji, a konfiguracja trzymana w repozytorium ma potem zmianę do wypchnięcia. - W szablonie ytt szablon nie jest przepisywany: przemianowywana jest konfiguracja, którą generuje, a ostrzeżenie w dzienniku prosi o zmianę nazwy roli także w szablonie. Wersja 8 odrzuci tam rolę
public.
Konfiguracja z rolą default i rolą public jednocześnie jest odrzucana, bo to ta sama rola.
Obiekt Role
Każdy wpis listy roles:
A role allows RBAC. Each role has 1 or more groups (local or ldap). Except the default role (public its old name), which has no groups.
The default and admin roles are mandatory.
| Atrybut | Komentarze |
|---|---|
| name string / required / unique | The name of the role
The name of a role has to be unique. The |
| groups array / required | Groups
A list of groups. They must be in the format of A Microsoft Entra ID group can be named by its object id,
|
| users array / required added in version 4.0.10 | User
A list of local or ldap users. They must be in the format of |
| credentials array added in version 7.0.0 | The credentials this role may use
Limits the credentials a user of this role may use: those a job passes to a playbook or a template (the form’s A user none of whose roles lists credentials may use every credential, as before. Once one of their roles lists them, they may use what any of the roles that list them allows. The |
| secretStores array added in version 7.0.0 | The secret stores this role may read inline
Limits the secret stores a user of this role may read through an inline reference ( |
| runners array added in version 7.0.0 | The runners this role may run jobs on
Limits the runners a job of a user of this role may run on: the form’s |
| options object added in version 5.0.8 | Role options
Since version 5.0.8 you can add specific role options. The options are used to enable or disable certain features for a role.
When options are not set, the admin role will have all options. |
| Examples | |
| 1) Roles | |
Opcje ról
options roli włączają lub wyłączają funkcje dla jej członków. Od wersji 7.3.0 strona roli pokazuje je w czterech grupach, każdą opcję z (i), które mówi, co daje, tym samym tekstem, który pokazuje widok Uprawnienia w profilu:
| Opcja | Pozwala użytkownikowi | Domyślnie |
|---|---|---|
| Ustawienia | ||
showSettings | Widzieć i zmieniać każdą stronę ustawień; dziennik serwera i kopie zapasowe mają własne opcje | Tylko admini |
showAppearanceSettings | Zmieniać ustawienia wyglądu, bez pozostałych ustawień (od 7.3.0) | Wyłączona |
showConnectionsSettings | Zarządzać ustawieniami połączeń (poświadczenia, runnery i inne), bez pozostałych ustawień (od 7.3.0) | Wyłączona |
showLogs | Widzieć dziennik serwera | Tylko admini |
showAuditLog | Widzieć dziennik audytu, bez pozostałych ustawień (od 7.3.0) | Tylko admini |
allowBackupOps | Tworzyć kopię zapasową bazy danych i ją przywracać | Tylko admini |
| Projektant | ||
showDesigner | Widzieć projektanta i z niego korzystać | Tylko admini |
allowFormDesign | Edytować konfigurację formularzy w projektancie: kategorie, stałe i formularze. Bez niej tylko do odczytu (od 7.3.0) | Włączona |
designAllForms | Widzieć i edytować każdy formularz w projektancie. Bez niej tylko formularze ról użytkownika (od 7.5.0) | Włączona |
allowPlaybookDesign | Edytować playbooki w projektancie: zapisywać, tworzyć, usuwać i wypychać je. Bez niej tylko do odczytu | Włączona |
designAllPlaybooks | Widzieć i edytować każdy playbook w projektancie. Bez niej tylko te, których używają formularze użytkownika lub których nie używa jeszcze żaden formularz (od 7.5.0) | Włączona |
allowWorkflowDesign | Edytować workflowy w projektancie: zapisywać, tworzyć, usuwać i wypychać je. Bez niej tylko do odczytu | Włączona |
designAllWorkflows | Widzieć i edytować każdy workflow w projektancie. Bez niej tylko te, których używają formularze użytkownika lub których nie używa jeszcze żaden formularz (od 7.5.0) | Włączona |
allowInventoryDesign | Edytować inwentarze w projektancie: zapisywać, tworzyć, usuwać i wypychać je. Bez niej tylko do odczytu | Włączona |
allowVarsFileDesign | Edytować pliki zmiennych w projektancie: zapisywać, tworzyć, usuwać i wypychać je. Bez niej tylko do odczytu | Włączona |
| Zadania | ||
showJobs | Widzieć stronę zadań | Włączona |
showAllJobLogs | Widzieć zadania każdego użytkownika, nie tylko własne | Tylko admini |
manageAllJobs | Przerywać, usuwać i ponownie uruchamiać zadania każdego użytkownika; usuwanie i ponowne uruchamianie wymagają też dwóch opcji poniżej (od 7.3.0) | Tylko admini |
showExtravars | Widzieć extravars formularza i zadania | Włączona |
showDebugButtons | Widzieć przyciski debugowania w formularzu | Włączona |
showArtifacts | Widzieć artefakty zadania: to, co zwraca zadanie AWX, lub to, co playbook zebrał przez set_stats | Włączona |
allowVerboseMode | Uruchamiać zadania w trybie verbose | Włączona |
allowJobRelaunch | Ponownie uruchamiać zadanie z danymi formularza z wcześniejszego uruchomienia | Tylko admini |
allowJobDeletion | Usuwać zadania: własne albo, z manageAllJobs, każdego użytkownika. Bez niej historia zadań pozostaje kompletna (od 7.3.0) | Włączona |
allowScheduledJobs | Tworzyć harmonogramy cykliczne i jednorazowe oraz nimi zarządzać na stronie Harmonogramy (zobacz ostrzeżenie poniżej) | Tylko admini |
allowPlannedJobs | Zaplanować jednorazowe uruchomienie zadania o ustalonej porze (Uruchom później) | Włączona |
allowStoredJobs | Zapisywać dane formularza i wczytywać je później | Włączona |
| Dostęp i integracje | ||
allowLogin | Logować się do AnsibleForms | Włączona |
allowChat | Używać asystenta czatu, gdy jest włączony | Włączona |
allowMcp | Używać serwera MCP z agenta AI, gdy jest włączony | allowChat danej roli |
allowFileUploads | Przesyłać pliki przez pola plików formularza (od 7.3.0) | Włączona |
allowApiTokens | Tworzyć tokeny API dla skryptów, do najdłuższego czasu życia, na jaki pozwala instancja (od 7.3.0) | Wyłączona |
extendedTokenExpiration | Tworzyć też tokeny API, które nigdy nie wygasają; wymaga allowApiTokens | Wyłączona |
Niektóre opcje obejmują inne, a strona roli pokazuje te objęte jako włączone i wyszarzone:
showSettingsdaje teżshowAppearanceSettings,showConnectionsSettingsishowAuditLog.manageAllJobsdaje teżshowAllJobLogs, bo działanie na zadaniach każdego użytkownika oznacza ich widzenie.- Opcje projektowania mają znaczenie tylko z
showDesigner, aextendedTokenExpirationtylko zallowApiTokens.
Do wersji 7.2.0 showAllJobLogs pozwalało też przerywać i usuwać wyświetlane zadania; od 7.3.0 wymaga to manageAllJobs. Rola sprzed 7.3.0 z extendedTokenExpiration i bez allowApiTokens dostaje allowApiTokens, więc zachowuje swoje tokeny.
designAllForms, designAllPlaybooks i designAllWorkflows są zawsze włączone dla adminów, a to, co projektant pokazuje użytkownikowi bez nich, opisuje Ograniczeni projektanci.
Tylko admini oznacza włączoną dla użytkowników z rolą admin i wyłączoną dla wszystkich pozostałych. Gdy użytkownik pasuje do kilku ról, opcje łączą się następująco:
- Między rolami użytkownika opcja jest włączona tylko wtedy, gdy zgadza się każda rola, która ją ustawia: jawne
falsewygrywa. - Rola
defaultuzupełnia opcje, których nie ustawia żadna inna rola użytkownika, więc może zawierać wartości domyślne dla wszystkich. - Opcje nigdzie nieustawione przyjmują wartość domyślną z tabeli.
showExtraVars, z wielkim V, jest akceptowane jako inna pisownia showExtravars; gdy którakolwiek pisownia ma wartość false, opcja jest wyłączona.
Traktuj
allowScheduledJobsjak opcję na poziomie admina. Harmonogramy nie należą do użytkownika, który je utworzył: każdy użytkownik z tą opcją widzi i może zmieniać wszystkie harmonogramy. Harmonogram działa też z uprawnieniami admina, dla dowolnego formularza, niezależnie od uprawnień twórcy. Nadawaj ją tylko rolom, którym ufasz jak adminom.
allowLogin: falsew rolidefaultblokuje każdego użytkownika, którego pozostałe role nie ustawiająallowLogin: true, łącznie z adminami. Przed zapisem przywróć ją w rolach, które muszą się logować.