Zugriffssteuerungsreferenz
Kopieren Sie einen Setup-Befehl mit den Installationsanweisungen und der vollständigen Markdown-Anleitung für diesen Plugin.
Capgo verwendet Zugriffssteuerung auf der Basis von Rollen (RBAC) um zu bestimmen, was jeder Teammitglied tun kann. Rollen sind nach Bereich — vom gesamten Unternehmen bis hin zu einer einzelnen Bundle.
For a visual walkthrough of managing members in the dashboard, see Organisation.
Rollenbereiche
Abschnitt mit dem Titel “Rollenbereiche”Jede Rolle gehört zu einem Bereich, der bestimmt, welche Ressource sie Zugriff gewährt.
| Bereich | Gilt für | Beispielanwendung |
|---|---|---|
| Organisation | Die gesamte Organisation und alle ihre Apps | Dein Mitgründer erhält Super Admin; dein Buchhalter erhält Billing Manager |
| App | Eine einzelne App und ihre Kanäle | Ein Auftragnehmer, der an einer App arbeitet, erhält den Rollenname App Developer |
| Kanal | Ein einzelner Kanal innerhalb einer App | Ein QA-Engineer verwaltet nur den staging Kanal |
| Paket | Eine einzelne Paketversion | Ein Rezensent benötigt Leserecht für eine bestimmte Release |
Ein Mitglied kann in einer Rolle pro Zielbereich haben — zum Beispiel eine Organisationenrolle, eine Rolle auf App A und eine andere Rolle auf App B.
Organisationsrollen
Sektion mit dem Titel “Organisationsrollen”Diese Rollen werden zugewiesen, wenn ein Mitglied eingeladen wird. Sie gewähren Zugriff auf die gesamte Organisation.
| Rolle | Internes Name | Beschreibung |
|---|---|---|
| Super Admin | org_super_admin | Äquivalent zum Besitzer. Vollständiger Kontrolle einschließlich Löschung der Organisation, Verwaltung der Abrechnung und Übertragung von Apps. Automatisch den Organisationsschöpfer zugewiesen. |
| Admin | org_admin | Vollständige Verwaltung — Mitglieder, Apps, Kanäle verwalten. Die Organisation kann nicht gelöscht werden, die Abrechnung aktualisiert werden, Apps übertragen werden oder Benutzer zu Super Admins befördert werden. |
| Abrechnungsmanager | org_billing_admin | Zugriff auf Abrechnung nur: Abrechnungs- und Rechnungsdaten sowie Abrechnungsprotokolle anzeigen und aktualisieren. Kein Zugriff auf Apps oder Mitglieder. |
| Mitglied | org_member | Leserecht auf die Organisation und alle ihre Apps. |
Organisationsrechte Matrix
Abschnitt mit dem Titel “Organisationsrechte Matrix”| Recht | Beschreibung | Super Administrator | Administrator | Kostenstellenverwalter | Mitglied |
|---|---|---|---|---|---|
org.read | Organisation ansehen | ✅ | ✅ | ✅ | ✅ |
org.update_settings | Organisationsname, Logo und E-Mail-Adresse der Verwaltung bearbeiten | ✅ | ✅ | ❌ | ❌ |
org.delete | Die Organisation dauerhaft löschen | ✅ | ❌ | ❌ | ❌ |
org.read_members | Mitgliederliste anzeigen | ✅ | ✅ | ❌ | ✅ |
org.invite_user | Neue Mitglieder einladen | ✅ | ✅ | ❌ | ❌ |
org.update_user_roles | Mitgliederrollen ändern (Admin kann nicht auf Super Admin aufsteigen — durch Rollen-Hierarchie blockiert) | ✅ | ✅ | ❌ | ❌ |
org.read_billing | Rechnungsinformationen und aktuelles Abonnement anzeigen | ✅ | ✅ | ✅ | ❌ |
org.update_billing | Zahlungsmethode und Abonnement aktualisieren | ✅ | ❌ | ✅ | ❌ |
org.read_invoices | Rechnungen anzeigen | ✅ | ✅ | ✅ | ❌ |
org.read_audit | Organisationsaktivitäten anzeigen | ✅ | ✅ | ❌ | ❌ |
org.read_billing_audit | Rechnungsbezogene Audit-Log anzeigen | ✅ | ✅ | ✅ | ❌ |
App-Rollen
Abschnitt mit dem Titel “App-Rollen”Gespeichert auf einer einzelnen App. Verwenden Sie diese, wenn ein Teammitglied nur auf eine App arbeiten soll, nicht auf die gesamte Organisation.
| Rolle | Interne Bezeichnung | Beschreibung |
|---|---|---|
| App Admin | app_admin | Vollzugriff auf eine App — Kanäle, Geräte, Benutzerrollen für die App. Die App kann nicht gelöscht oder übertragen werden (diese sind Organisations-Ebene-Befehle). |
| App Entwickler | app_developer | Bundles hochladen, Geräte verwalten, native Builds auslösen, Kanal-Einstellungen aktualisieren. Keine Löschung, keine App-Einstellungen ändern, keine Kanal-Erstellung. |
| App Hoster | app_uploader | Leserecht + neue Bundle-Versionen hochladen. |
| App Leser | app_reader | Nur Lesen — Statistiken, Bundles, Kanäle, Protokolle, Geräte. |
App-Berechtigungs-Matrix
Abschnitt mit dem Titel “App-Berechtigungs-Matrix”| Berechtigung | Beschreibung | App Admin | App Entwickler | App Hoster | App Leser |
|---|---|---|---|---|---|
app.read | App-Daten, -Statistiken und -Metadaten anzeigen | ✅ | ✅ | ✅ | ✅ |
app.update_settings | App-Einstellungen bearbeiten | ✅ | ❌ | ❌ | ❌ |
app.read_bundles | Die Liste der hochgeladenen Pakete anzeigen | ✅ | ✅ | ✅ | ✅ |
app.upload_bundle | Ein neues Paketversion hochladen | ✅ | ✅ | ✅ | ❌ |
app.create_channel | Ein neues Kanal erstellen | ✅ | ❌ | ❌ | ❌ |
app.read_channels | Kanäle anzeigen | ✅ | ✅ | ✅ | ✅ |
app.read_logs | Update-Lieferungsprotokolle anzeigen | ✅ | ✅ | ✅ | ✅ |
app.manage_devices | Geräte zuweisen, überschreiben oder trennen | ✅ | ✅ | ❌ | ❌ |
app.read_devices | Geräteliste anzeigen | ✅ | ✅ | ✅ | ✅ |
app.build_native | eine native Cloud-Build auslösen | ✅ | ✅ | ❌ | ❌ |
app.read_audit | Anwendungsaktivitätsprotokoll anzeigen | ✅ | ✅ | ✅ | ✅ |
app.update_user_roles | Anwendungsrollenzuweisungen verwalten | ✅ | ❌ | ❌ | ❌ |
bundle.delete | Eine Bundle löschen | ✅ | ❌ | ❌ | ❌ |
Kanalrollen
Abschnitt mit dem Titel „Kanalrollen“Einschränkt auf ein einzelnes Kanal. Nützlich für die Bereitstellung von zielgerichteter Zugriff auf eine bestimmte Release-Kanal.
| Rolle | Interne Bezeichnung | Beschreibung |
|---|---|---|
| Kanal-Admin | channel_admin | Vollzugriff auf einen Kanal: Einstellungen, Bündel promoten/abbauen, gezwungene Geräte verwalten. |
| Kanal-Betrachter | channel_reader | Leserecht — aktuelles Bündel, Historie, gezwungene Geräte, Audit-Log. |
Kanal-Berechtigungsmatrix
Überschrift: 'Kanal-Berechtigungsmatrix'| Berechtigung | Beschreibung | Kanal-Admin | Kanal-Betrachter |
|---|---|---|---|
channel.read | Der Kanal und sein aktuelles Bündel anzeigen | ✅ | ✅ |
channel.update_settings | Kanal-Einstellungen bearbeiten (Plattform-Toggle, Update-Politik…) | ✅ | ❌ |
channel.delete | Kanal löschen | ✅ | ❌ |
channel.read_history | Bündel-Zuweisungsgeschichte anzeigen | ✅ | ✅ |
channel.promote_bundle | Aktives Bündel auf dem Kanal setzen | ✅ | ❌ |
channel.rollback_bundle | Zurückrollen zu einem vorherigen Bündel | ✅ | ❌ |
channel.manage_forced_devices | Zwingen Sie bestimmte Geräte zu diesem Kanal | ✅ | ❌ |
channel.read_forced_devices | Zwingen Sie die Liste der zwingenden Geräte anzuzeigen | ✅ | ✅ |
channel.read_audit | Kanal-Aktivitätsprotokoll anzeigen | ✅ | ✅ |
Bündel-Rollen
Abschnitt mit dem Titel „Bündel-Rollen“Beschränkt auf eine einzelne Bündel-Version. Selten benötigt – die meisten Teams verwenden App-Rollen anstelle.
| Interne Bezeichnung | Beschreibung | Bundles-Administrator |
|---|---|---|
| Lesen, Metadaten aktualisieren und einen bestimmten Bundle löschen. | bundle_admin | Bundles-Ansicht |
| Leserecht auf einen bestimmten Bundle. | bundle_reader | Kanalberechtigungen überschreiben (Dashboard) |
Kanalberechtigungen überschreiben (Dashboard)
Kanalberechtigungsüberwachungen (Dashboard)In der Dashboard-Ansicht wird der Zugriff auf Kanäle durch die Rolle des Benutzers im App-Portal standardmäßig bestimmt. Für eine feinere Kontrolle können Sie spezifische Kanalberechtigungen pro Benutzer oder Gruppe ohne Änderung der App-Rolle überschreiben.
Die Überwachungen werden von der App aus Zugriff konfiguriert, indem Sie auf das Kanalberechtigungs-Symbol (Schild) neben einem Benutzer klicken. Siehe Organisation — Überwachung von Kanalberechtigungen für eine visuelle Anleitung.
Überwachbare Berechtigungen
Berechtigungen, die überschrieben werden können| Berechtigung | Beschreibung | Standardverhalten |
|---|---|---|
| Lesen | Kanal und aktuelles Bundle anzeigen | Von der Anwendungsrolle geerbt |
| Historie | Bundle-Zuweisungs-Historie anzeigen | Von der Anwendungsrolle geerbt |
| Bundle zuweisen | Aktives Bundle auf dem Kanal setzen oder ändern | Von der Anwendungsrolle geerbt |
Jede Berechtigung kann auf:
- Standard — aus der Rolle des Apps erben (der Standard)
- Zulassen — ausdrücklich genehmigen, unabhängig von der Rolle der App
- Verweigern — ausdrücklich blockieren, unabhängig von der Rolle der App
Dies ermöglicht es Ihnen, zum Beispiel einem App-Leser die Möglichkeit zu geben, Pakete auf dem Kanal ohne deren Aufstufung zu einem App-Entwickler zu verknüpfen. staging Rollenhierarchie
Abschnitt mit dem Titel “Rollenhierarchie”
Rollen bilden eine Hierarchie. Eine übergeordnete Rollealle Berechtigungen erbt. von seinen Kindern. Das bedeutet, dass ein org_admin alles tun kann, was ein app_admin kann, was wiederum alles tun kann, was ein channel_admin kann, und so weiter.
Super Admin (org_super_admin) └── Admin (org_admin) └── App Admin (app_admin) ├── App Developer (app_developer) │ └── App Uploader (app_uploader) │ └── App Reader (app_reader) ├── Bundle Admin (bundle_admin) │ └── Bundle Viewer (bundle_reader) └── Channel Admin (channel_admin) └── Channel Viewer (channel_reader)Wie es in der Praxis funktioniert:
- Ein Administrator auf der Organisationsebene kann alles tun, was ein App-Administrator auf jedem App in der Organisation kann,.
- Ein App Admin kann alles tun, was ein Channel Admin kann, auf jedem Kanal in dieser App.
- Ein App-Entwickler kann alles tun, was ein App-Uploader kann, plus mehr.
Die Hierarchie fließt nur herunter — ein channel_admin erlangt nie Organisationsrechte, selbst wenn sie auch eine App-Rolle innehaben.
Anstatt Rollen jedem Benutzer einzeln zuzuweisen, können Sie Gruppen erstellen und Rollen der Gruppe zuweisen. Jeder Gruppenmitglied erbt diese Rollen automatisch. gruppen Wie Gruppen funktionieren
Abschnitt mit dem Titel „Wie Gruppen funktionieren“
Eine Gruppe gehört zu einer- __CAPGO_KEEP_0__ — sie kann sich nicht auf mehrere Orgs erstrecken. Gruppen können Rollenzuweisungen aufweisen
- Gruppen können Rollenzuweisungen aufweisen Jeder Umfang: Organisation, Anwendung, Kanal oder Paket. Zum Beispiel kann einer Gruppe die Rolle des App-Entwicklers zugeordnet werden, auf Anwendung A, und die Rolle des Kanal-Admins auf dem Kanal von Anwendung B.
stagingWenn die Berechtigungen eines Benutzers ausgewertet werden, werden alle seine Gruppenmitgliedschaften transparent aufgelöst. Wenn eine seiner Gruppen die erforderliche Berechtigung gewährt, wird der Zugriff gewährt. - Ein Benutzer kann zu
- mehreren Gruppen gehören, und die Berechtigungen aller Gruppen addieren sich.Gruppen-basierte Berechtigungen gelten nur für
- Gruppen-basierte Berechtigungen gelten nur für Benutzerprinzipien — API Schlüssel erben keine Gruppenrollen.
Wann Gruppen verwenden
Abschnitt mit dem Titel „Wann Gruppen verwenden“| Szenario | Ohne Gruppen | Mit Gruppen |
|---|---|---|
| 5 QA-Engineure benötigen Zugriff auf 3 Apps als Entwickler | 15 individuelle Rollenzuweisungen | 1 Gruppe + 3 Rollenzuweisungen |
| Jemand tritt der QA-Team bei | 3 Rollenzuweisungen hinzufügen | Fügen Sie sie der Gruppe hinzu |
| Jemand verlässt das QA-Team | Entfernen Sie 3 Rollenzuweisungen manuell | Entfernen Sie sie aus der Gruppe |
Gruppen über API verwalten
Abschnitt mit dem Titel “Gruppen über API verwalten”Alle Gruppenendpunkte erfordern eine Authentifizierung und werden unter /private/groups.
Gruppenliste
Abschnitt mit dem Titel “Gruppenliste”curl -X GET "https://api.capgo.app/private/groups/<ORG_ID>" \ -H "authorization: <API_KEY>"Benötigt org.read_members Genehmigung.
Einen Gruppe erstellen
Abschnitt mit dem Titel „Einen Gruppe erstellen“curl -X POST "https://api.capgo.app/private/groups/<ORG_ID>" \ -H "authorization: <API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "name": "QA Team", "description": "Quality assurance engineers" }'Erfordert org.update_user_roles Genehmigung (Super Administrator oder Administrator).
Eine Gruppe aktualisieren
Abschnitt mit dem Titel „Eine Gruppe aktualisieren“curl -X PUT "https://api.capgo.app/private/groups/<GROUP_ID>" \ -H "authorization: <API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "name": "QA Team", "description": "Updated description" }'Eine Gruppe löschen
Abschnitt mit dem Titel „Eine Gruppe löschen“curl -X DELETE "https://api.capgo.app/private/groups/<GROUP_ID>" \ -H "authorization: <API_KEY>"Wenn eine Gruppe gelöscht wird, werden auch alle ihre Rollenzuweisungen entfernt. Mitglieder werden nicht aus der Organisation gelöscht.
Mitglieder der Gruppe auflisten
Abschnitt mit dem Titel „Mitglieder der Gruppe auflisten“curl -X GET "https://api.capgo.app/private/groups/<GROUP_ID>/members" \ -H "authorization: <API_KEY>"Ein Mitglied einer Gruppe hinzufügen
Abschnitt mit dem Titel „Ein Mitglied einer Gruppe hinzufügen“curl -X POST "https://api.capgo.app/private/groups/<GROUP_ID>/members" \ -H "authorization: <API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "user_id": "<USER_UUID>" }'Der Benutzer muss bereits Mitglied der Organisation sein. Die Hinzufügung eines bestehenden Mitglieds ist eine No-Operation.
Ein Mitglied einer Gruppe entfernen
Abschnitt mit dem Titel „Ein Mitglied einer Gruppe entfernen“curl -X DELETE "https://api.capgo.app/private/groups/<GROUP_ID>/members/<USER_UUID>" \ -H "authorization: <API_KEY>"Rollen zuweisen über API
Abschnitt mit dem Titel „Rollen zuweisen über API“Mitglieder auflisten
Abschnitt mit dem Titel „Mitglieder auflisten“curl -X GET "https://api.capgo.app/organization/members" \ -H "authorization: <API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "orgId": "<ORG_ID>" }'Antwort:
[ { "uid": "user-uuid", "email": "alice@example.com", "image_url": "https://...", "role": "org_admin", "is_tmp": false }]Ein Mitglied einladen
Abschnitt mit dem Titel „Ein Mitglied einladen“curl -X POST "https://api.capgo.app/organization/members" \ -H "authorization: <API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "orgId": "<ORG_ID>", "email": "bob@example.com", "invite_type": "org_admin" }'Gültige Werte für invite_type:
| Wert | Zugeteilte Rolle |
|---|---|
org_super_admin | Super Administrator |
org_admin | Administrator |
org_billing_admin | Kundenmanager |
org_member | Mitglied |
Mitglied entfernen
Abschnitt mit dem Titel „Mitglied entfernen“curl -X DELETE "https://api.capgo.app/organization/members" \ -H "authorization: <API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "orgId": "<ORG_ID>", "email": "bob@example.com" }'Rollen zuweisen über CLI
Abschnitt: 'Rollen zuweisen über CLI'Organisationen auflisten
Abschnitt: 'Organisationen auflisten'npx @capgo/cli organization list --apikey <API_KEY>Mitglieder auflisten
Abschnitt: 'Mitglieder auflisten'npx @capgo/cli organization members <ORG_ID> --apikey <API_KEY>Benutzerrollen
Abschnitt mit dem Titel “Benutzerrollen”Die eingebauten Rollen decken die meisten Teamstrukturen ab. Die Erstellung von benutzerdefinierten Rollen steht auf unserem Roadmap – wenn Ihr Team diese Funktion benötigt, kontaktieren Sie uns. Ihr Use Case wird uns direkt helfen, diese Funktion zu priorisieren.
Fortsetzen von Access Control Reference
Abschnitt mit dem Titel “Fortsetzen von Access Control Reference”Wenn Sie Access Control Reference zur Planung von Dashboard- und API-Operationen verwenden, verbinden Sie es mit API-Übersicht für die Implementierungsdetails in API Übersicht, Einführung für die Implementierungsdetails in Einführung, API Schlüssel für die Implementierungsdetails in API Schlüssel, Geräte für die Implementierungsdetails in Geräte, und Pakete für die Implementierungsdetails in Pakete.