Zugriffssteuerungsreferenz
Kopieren Sie einen Einrichtungsprompt mit den Installationsanweisungen und dem vollständigen Markdown-Guide für diesen Plugin.
Capgo uses __CAPGO_KEEP_0__ uses um zu bestimmen, was jeder Teammitglied tun kann. Rollen sind nach Bereich — vom gesamten Unternehmen bis hin zu einer einzelnen Pakete.
Für eine visuelle Durchführung der Mitgliederverwaltung im Dashboard, siehe 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 | Ein einzelnes App und seine Kanäle | Ein Auftragnehmer, der an einer App arbeitet, erhält App-Entwickler |
| 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 eine Rolle pro Bereichsziel haben beispielsweise eine Organisationenrolle, eine Rolle auf App A und eine andere Rolle auf App B Organisationsrollen
Diese Rollen werden zugewiesen, wenn ein Mitglied eingeladen wird. Sie gewähren Zugriff auf die gesamte Organisation
RolleInterne Bezeichnung
| Beschreibung | Super Administrator | Ähnlich wie Besitzer. Vollständige Kontrolle einschließlich Löschung der Organisation, Verwaltung der Abrechnung und Übertragung von Apps. Automatisch der Organisationsersteller zugewiesen |
|---|---|---|
| Admin | org_super_admin | — beispielsweise eine Organisationenrolle, eine Rolle auf App A und eine andere Rolle auf App B. |
| Diese Rollen werden zugewiesen, wenn ein Mitglied eingeladen wird. Sie gewähren Zugriff auf die gesamte Organisation. | org_admin | Vollzugverwaltung — Mitglieder, Apps, Kanäle verwalten. Die Organisation kann nicht gelöscht, die Rechnung aktualisiert, Apps übertragen oder Benutzer zum Super Admin befördert werden. |
| Rechnungsverwalter | org_billing_admin | Rechnungszugriff: Rechnungsinformationen, Rechnungen und Rechnungsprotokolle anzeigen und aktualisieren. Kein Zugriff auf Apps oder Mitglieder. |
| Mitglied | org_member | Leserecht auf die Organisation und alle ihre Apps. |
Organisationsrechte Matrix
Recht| Beschreibung | Super Admin | Admin | Rechnungsverwalter | Organisationsrechte Matrix | Mitglied |
|---|---|---|---|---|---|
org.read | Organisation ansehen | ✅ | ✅ | ✅ | ✅ |
org.update_settings | Organisationsname, Logo und E-Mail-Adresse der Verwaltung bearbeiten | ✅ | ✅ | ❌ | ❌ |
org.delete | Organisation dauerhaft löschen | ✅ | ❌ | ❌ | ❌ |
org.read_members | Mitgliederliste ansehen | ✅ | ✅ | ❌ | ✅ |
org.invite_user | Neue Mitglieder einladen | ✅ | ✅ | ❌ | ❌ |
org.update_user_roles | Mitgliederrollen ändern (Admin kann nicht zum Super Admin befördern – durch Rollen-Hierarchie blockiert) | ✅ | ✅ | ❌ | ❌ |
org.read_billing | Rechnungsinformationen und aktuelles Abonnement ansehen | ✅ | ✅ | ✅ | ❌ |
org.update_billing | Zahlungsmethode und Abonnement aktualisieren | ✅ | ❌ | ✅ | ❌ |
org.read_invoices | Rechnungen ansehen | ✅ | ✅ | ✅ | ❌ |
org.read_audit | Organisationsaktivitätenprotokoll ansehen | ✅ | ✅ | ❌ | ❌ |
org.read_billing_audit | Rechnungsbezogene Audit-Log ansehen | ✅ | ✅ | ✅ | ❌ |
App-Rollen
Abschnitt mit dem Titel “App-Rollen”Grenzen Sie diese auf eine einzelne App ein. Verwenden Sie diese, wenn ein Teammitglied nur an einer App arbeiten soll, nicht an der gesamten Organisation.
| Rolle | Internes Name | Beschreibung |
|---|---|---|
| App-Administrator | 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 Organisationsebenenoperationen). |
| App-Entwickler | app_developer | Bundles hochladen, Geräte verwalten, native Builds auslösen, Kanal-Einstellungen aktualisieren. Keine Löschung, keine Änderungen der App-Einstellungen, keine Kanal-Erstellung. |
| App-Hochloader | app_uploader | Leserecht + Upload neuer Bundle-Versionen. |
| App-Leser | app_reader | Nur-Lesezugriff — Statistiken, Bundles, Kanäle, Protokolle, Geräte. |
App-Berechtigungs-Matrix
Abschnitt mit dem Titel „Anwendungsrechte-Matrix“| Zugriffsrecht | Beschreibung | App-Administrator | App-Entwickler | App-Herausgeber | App-Leser |
|---|---|---|---|---|---|
app.read | App-Daten, Statistiken und Metadaten anzeigen | ✅ | ✅ | ✅ | ✅ |
app.update_settings | App-Einstellungen bearbeiten | ✅ | ❌ | ❌ | ❌ |
app.read_bundles | Liste der hochgeladenen Pakete anzeigen | ✅ | ✅ | ✅ | ✅ |
app.upload_bundle | Neue Paketversion hochladen | ✅ | ✅ | ✅ | ❌ |
app.create_channel | Neuen Kanal erstellen | ✅ | ❌ | ❌ | ❌ |
app.read_channels | Kanäle anzeigen | ✅ | ✅ | ✅ | ✅ |
app.read_logs | Aktualisierungsprotokolle anzeigen | ✅ | ✅ | ✅ | ✅ |
app.manage_devices | Geräte zuweisen, überschreiben oder trennen | ✅ | ✅ | ❌ | ❌ |
app.read_devices | Geräteliste anzeigen | ✅ | ✅ | ✅ | ✅ |
app.build_native | Native Cloud-Build auslösen | ✅ | ✅ | ❌ | ❌ |
app.read_audit | Anwendungsaktivitätsprotokoll anzeigen | ✅ | ✅ | ✅ | ✅ |
app.update_user_roles | Anwendungsrollenzuweisungen verwalten | ✅ | ❌ | ❌ | ❌ |
bundle.delete | Bundle löschen | ✅ | ❌ | ❌ | ❌ |
Kanalrollen
Abschnitt mit dem Titel „Kanalrollen“Gespeichert in einem einzelnen Kanal. Nützlich für die Bereitstellung von gezieltem Zugriff auf einen bestimmten Release-Kanal.
| Rolle | Interne Bezeichnung | Beschreibung |
|---|---|---|
| Kanal-Administrator | channel_admin | Vollzugriff auf einen Kanal: Einstellungen, Bündel promoten/rollen zurück, zwingende Geräte verwalten. |
| Kanal-Betrachter | channel_reader | Leserecht — aktuelles Bündel, Historie, zwingende Geräte, Audit-Log. |
Kanal-Berechtigungsmatrix
Abschnitt mit dem Titel “Kanal-Berechtigungsmatrix”| Berechtigung | Beschreibung | Kanal-Admin | Kanal-Besucher |
|---|---|---|---|
channel.read | Kanal und aktuelles Bundle anzeigen | ✅ | ✅ |
channel.update_settings | Kanal-Einstellungen bearbeiten (Plattform-Toggle, Update-Politik…) | ✅ | ❌ |
channel.delete | Kanal löschen | ✅ | ❌ |
channel.read_history | Bundle-Zuweisungsgeschichte anzeigen | ✅ | ✅ |
channel.promote_bundle | Aktives Bundle auf dem Kanal setzen | ✅ | ❌ |
channel.rollback_bundle | Zurückrollen zu einem vorherigen Bundle | ✅ | ❌ |
channel.manage_forced_devices | Spezifische Geräte auf diesen Kanal zwingen | ✅ | ❌ |
channel.read_forced_devices | Zu den gezwungenen Geräten gehen | ✅ | ✅ |
channel.read_audit | Kanal-Aktivitäts-Protokoll anzeigen | ✅ | ✅ |
Bundle-Rollen
Abschnitt mit dem Titel “Bundle-Rollen”Geskopt auf eine einzelne Bundle-Version. Selten benötigt — die meisten Teams verwenden App-Rollen anstelle.
| Rolle | Interne Bezeichnung | Beschreibung |
|---|---|---|
| Bundle-Administrator | bundle_admin | Lesen, Metadaten aktualisieren und eine bestimmte Bundle löschen. |
| Bundle Viewer | bundle_reader | Leserecht auf eine bestimmte Bundle. |
Kanalberechtigungsüberwachungen (Dashboard)
Abschnitt mit dem Titel “Kanalberechtigungsüberwachungen (Dashboard)”In der Dashboard wird der Zugriff auf den Kanal durch die Rolle des Benutzers im App standardmäßig bestimmt. Für eine feinere Kontrolle können Sie spezifische Kanalberechtigungen pro Benutzer oder Gruppe ohne Änderung ihrer App-Rolle überschreiben.
Die Überschreibungen werden von der App aus Zugriff konfiguriert, indem Sie auf den Button für Kanalberechtigungen (Schild-Icon) neben einem Benutzer klicken. Siehe Organisation — Überschreibung von Kanalberechtigungen für eine visuelle Anleitung.
Überschreibbare Berechtigungen
Überschreibbare Berechtigungen| Berechtigung | Beschreibung | Standardverhalten |
|---|---|---|
| Lesen | Bündel und dessen aktuelles Bündel anzeigen | Vom App-Rollen geerbt |
| Historie | Bündelzuweisungshistorie anzeigen | Vom App-Rollen geerbt |
| Bündel zuweisen | Aktivieren oder ändern Sie die aktuelle Bundle auf dem Kanal | Vom App-Rollen-Übernahmeein |
Jede Berechtigung kann auf: gesetzt werden
- Standard — von der App-Rolle (der Standard) übernehmen
- Zulassen — explizit gewähren, unabhängig von der App-Rolle
- Verweigern — explizit ablehnen, unabhängig von der App-Rolle
Dies ermöglicht es Ihnen, zum Beispiel einem App-Leser die Möglichkeit zu geben, Bundles auf dem Kanal ohne sie zu App-Entwickler zu befördern, zu associieren. staging Rollen-Hierarchie
__CAPGO_KEEP_0__
Section mit dem Titel „Rollenhierarchie“Rollen bilden eine Hierarchie. Eine übergeordnete Rolle erbt alle Berechtigungen ihres Kindrollen. Das bedeutet, dass ein org_admin alles tun kann, was ein app_admin tun kann, was wiederum alles tun kann, was ein channel_admin tun kann, usw.
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-Admin kann, auf jede App in der Organisation.
- Ein App-Admin auf einer bestimmten App kann alles tun, was ein Channel-Admin auf jede Kanal in dieser App kann.
- Ein App-Entwickler kann alles tun, was ein App-Herausgeber kann, plus mehr.
Die Hierarchie fließt nur unten — ein channel_admin erhält nie die Berechtigungen auf Organisations-Ebene, 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 Mitglied der Gruppe erhält diese Rollen automatisch. Wie funktionieren Gruppen
Abschnitt mit dem Titel „Wie funktionieren Gruppen”
Eine Gruppe gehört zu- __CAPGO_KEEP_0__ eine Organisation — es kann sich nicht auf mehrere Orgs erstrecken.
- Gruppen können Rollenzuweisungen auf jeder Ebenehalten: Org, App, Kanal oder Bundle. Zum Beispiel kann eine Gruppe dem App-Entwickler Rollen auf App A und der Kanal-Admin Rolle auf dem
stagingKanal von App B zugewiesen werden. - Wenn die Berechtigungen eines Benutzers ausgewertet werden, werden alle seine Gruppenmitgliedschaften transparent aufgelöst. Wenn eine seiner Gruppen die erforderliche Berechtigung erteilt, wird der Zugriff gewährt.
- Ein Benutzer kann zu Mehrguppen, und die Berechtigungen von allen Gruppen sind additiv.
- Gruppengestützte Berechtigungen gelten nur für Benutzerprinzipale — API Schlüssel erben keine Gruppenrollen.
Wann Gruppen verwenden
Abschnitt mit dem Titel “Wann Gruppen verwenden”| Szenario | Ohne Gruppen | Mit Gruppen |
|---|---|---|
| 5 QA-Engineer benötigen den Zugriff auf 3 Apps als Entwickler | 15 individuelle Rollenzuweisungen | 1 Gruppe + 3 Rollenzuweisungen |
| Jemand tritt der QA-Team bei | Fügen Sie 3 Rollenzuweisungen manuell hinzu | 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 Gruppen-Endpunkte erfordern eine Authentifizierung und werden unter /private/groups.
Gruppen auflisten
Abschnitt mit dem Titel “Gruppen auflisten”curl -X GET "https://api.capgo.app/private/groups/<ORG_ID>" \ -H "authorization: <API_KEY>"Benötigt org.read_members Erlaubnis.
Gruppe erstellen
Abschnitt mit dem Titel „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" }'Benötigt org.update_user_roles Erlaubnis (Super Administrator oder Admin).
Ein Gruppe aktualisieren
Abschnitt: „Ein 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: „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 einer Gruppe auflisten
Abschnitt: „Mitglieder einer Gruppe auflisten“curl -X GET "https://api.capgo.app/private/groups/<GROUP_ID>/members" \ -H "authorization: <API_KEY>"Ein Gruppenmitglied hinzufügen
Abschnitt mit dem Titel „Ein Gruppenmitglied 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 Gruppenmitglied entfernen
Abschnitt mit dem Titel „Ein Gruppenmitglied entfernen“curl -X DELETE "https://api.capgo.app/private/groups/<GROUP_ID>/members/<USER_UUID>" \ -H "authorization: <API_KEY>"Rollenzuweisung über API
Abschnitt mit dem Titel “Rollenzuweisung ü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: Ein Mitglied einladencurl -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" }'Zulässige Werte für invite_type:
| Wert | Zugeteilte Rolle |
|---|---|
org_super_admin | Super Administrator |
org_admin | Administrator |
org_billing_admin | Kundenverwaltung |
org_member | Mitglied |
Ein 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 mit dem Titel „Rollen zuweisen über CLI“Organisationen auflisten
Abschnitt mit dem Titel „Organisationen auflisten“npx @capgo/cli organization list --apikey <API_KEY>Mitglieder auflisten
Abschnitt mit dem Titel „Mitglieder auflisten“npx @capgo/cli organization members <ORG_ID> --apikey <API_KEY>Benutzerdefinierte Rollen
Abschnitt mit dem Titel “Benutzerdefinierte Rollen”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 unsIhr Use Case wird uns direkt helfen, diese Funktion zu priorisieren.