Saltare al contenuto

API Chiavi

Le chiavi API utilizzano il controllo degli accessi basato sul ruolo (RBAC). Una chiave può avere un ruolo valido per l'intera organizzazione, vincoli di app, o entrambi. Ogni vincolo di app rimane associato all'app proprietaria dell'organizzazione di app pertinente. Per privilegi minimi, limitare una chiave a selezionate app anziché assegnare un ruolo valido per l'intera organizzazione.

Naviga a Impostazioni > Organizzazione > Chiavi API in console.capgo.app/settings/organization/api-chiavi.

La pagina visualizza due sezioni:

  • Chiavi RBAC — Chiavi con ruoli assegnati (consigliato). Queste chiavi utilizzano il nuovo sistema di autorizzazione basato sui ruoli.
  • Chiavi Legacy — Chiavi più vecchie che utilizzano il sistema di base semplice (read, upload, write, all) senza assegnazione di ruoli.
Pagina delle chiavi API che mostra le sezioni RBAC e Legacy
  1. Clicca sul ”+” bottone in cima alla tabella delle chiavi RBAC.

  2. Compila i Dati chiave:

    • Nome (obbligatorio) — Un etichetta descrittiva per la chiave (ad esempio, “CI/CD Deploy” o “Monitoring Read-Only”).
    • Crea chiave sicura (facoltativo) — Se selezionato, la chiave viene crittografata server-side. La chiave in chiaro non viene visualizzata Solo una volta Dopo la creazione e non può essere recuperato in seguito.
    • Imposta la data di scadenza (opzionale) — Scegli una data dopo la quale la chiave non funziona più. Alcune organizzazioni impongono l'espulsione obbligatoria attraverso la politica.
API form di creazione della chiave con nome, opzione di chiave sicura e scadenza
  1. Scegli lo scopo della chiave:

    • Accesso organizzativo di ampia portata — Seleziona un Ruolo dell'organizzazione per definire le autorizzazioni di base all'interno dell'organizzazione. I ruoli disponibili dipendono dal livello del tuo ruolo:
      • Nessuno — Nessun accesso organizzativo di ampia portata.
      • Membro — Accesso di lettura base all'organizzazione.
      • Admin — Accesso amministrativo completo all'organizzazione e a tutte le sue app.
    • Accesso solo per app — Abilita Limita questa chiave alle app selezionateOgni app binding rimane collegato all'appartenente organizzazione di proprietà; questo modo omette solo un ruolo RBAC organizzativo.
  2. Se la chiave deve creare organizzazioni attraverso il pubblico API, abilita Consenti la creazione di organizzazioni.

    Questa aggiunge la org.create chiave di accesso. La chiave richiede anche un'organizzazione scoping org_admin o org_super_admin binding. Nella dashboard, selezionando Admin crea la org_admin legame. Quando questa chiave crea una nuova organizzazione, Capgo assegna automaticamente la chiave come Super Amministratore su quella nuova organizzazione.

  3. Per concedere l'accesso all'applicazione:

    • Quando Limita questa chiave agli app selezionati è abilitato, scegli un'organizzazione sotto Organizzazioni per filtrare gli app rivelare le sue app. Le associazioni delle app selezionate rimangono associate alle loro organizzazioni di appartenenza; questo filtro non concede l'accesso organizzativo.
    • Clicca ”+ Aggiungi App”, seleziona uno o più app, quindi assegna un ruolo a ciascuna:
      • App Lettore — Accesso di sola lettura all'app.
      • App Caricatore — Può caricare nuovi bundle.
      • App Sviluppatore — Può caricare bundle, gestire dispositivi, attivare costruzioni native e modificare impostazioni del canale.
      • App Admin — Accesso completo all'app.
      • App Anteprima — Previsualizza ciclo CI/CD: carica un bundle e crea un canale di anteprima. Il canale riceve diritti di ciclo automatici, limitati al canale, solo per questa chiave.
  4. Clicca “Crea”.

  5. Se hai selezionato Crea una chiave sicura, a modal displays the plain-text key. Copia immediatamente — non potrai recuperarla dopo aver chiuso la finestra di dialogo.

One-time API key secret modal with copy button

Usa una chiave di anteprima per flussi di lavoro di anteprima

Usa una chiave di anteprima dell'app per flussi di lavoro di anteprima

Usa Anteprima App per CI che crea un canale di anteprima temporaneo e non pubblico, carica e promuove un bundle, quindi elimina sia il canale che il bundle. Non ha accesso alla vita ciclo di un canale predefinito o principale esistente.

  1. Creare una chiave RBAC e abilitare Limitare questa chiave a solo alcune app.
  2. Sotto Per filtrare le app, selezionare l'organizzazione, selezionare l'organizzazione per rivelare le sue app; ogni app selezionata rimane associata all'organizzazione di proprietà.
  3. Aggiungere solo le app utilizzate per le distribuzioni di anteprima.
  4. Scegliere Anteprima App per ogni app selezionata.
  5. Creare una chiave sicura, impostare una data di scadenza quando opportuno e memorizzarla nel tuo gestore dei segreti CI.

Questo modo a solo-app omette un ruolo organizzativo di tipo generale; esso not rimuovi l'associazione dell'organizzazione. Ogni app_preview La binding rimane limitata al suo app selezionato e all'organizzazione proprietaria di quell'app.

Grantsulla app selezionata
app_preview sulla app selezionataapp.read, app.read_bundles, app.upload_bundleAutomatico app.create_channel.
legame channel_preview bindingQuando questa chiave crea un canale, Capgo fornisce automaticamente la chiave channel.read, channel.promote_bundleAutomatico channel.delete per quel canale solo.

app_preview conserva app.read, quindi il chiave può enumerare i metadati del canale selezionato nell'applicazione. La binding automatico dei figli è un gestione limite: non concede mutazioni di ciclo di vita per i canali che la chiave non ha creato.

Capgo registra anche quale chiave di anteprima App ha caricato un bundle. La chiave può impostare solo il suo bundle su ogni canale di anteprima che crea e può pulire quella coppia insieme. Non riceve una binding del canale per un canale predefinito o principale esistente, un canale creato da un'altra chiave di anteprima o un bundle di un'altra chiave.

Per un tipico lavoro di CI, utilizza un nome di canale univoco per ogni richiesta di pull.

Finestra del terminale
APP_ID="com.example.app"
PREVIEW_CHANNEL="pr-123"
BUNDLE_VERSION="1.2.3-pr.123"
npx @capgo/cli@latest bundle upload "$APP_ID" \
--apikey "$CAPGO_API_KEY" \
--path ./dist \
--channel "$PREVIEW_CHANNEL" \
--bundle "$BUNDLE_VERSION"
npx @capgo/cli@latest channel delete "$PREVIEW_CHANNEL" "$APP_ID" \
--apikey "$CAPGO_API_KEY" \
--delete-bundle \
--success-if-not-found

Per un nuovo canale, bundle upload --channel crea il canale, carica il bundle e lo promuove in un flusso. L'ultima riga utilizza una strada di pulizia atomica stretta: ha successo solo quando la chiave possiede il canale di anteprima e il suo bundle collegato, non condiviso. Anteprima dell'app non dispone ancora di una chiave API generale bundle.delete, quindi non può cancellare un bundle arbitrario.

Vedi Riferimento al Controllo dell'Accesso per il confine completo.

Cliccare il icona di chiave (Gestisci) su qualsiasi chiave RBAC nella lista. Ciò apre la pagina dettagli della chiave dove puoi:

  • Cambiare il nome della chiave nome.
  • Aggiornare il ruolo dell'organizzazione.
  • Abilitare o disabilitare la possibilità di creare organizzazioni quando la chiave ha il ruolo di organizzazione Admin.
  • Aggiungi, rimuovi o modifica ruoli per app.

Clicca “Salva modifiche” quando hai finito.

API key edit page with current role settings

Cliccare sul pulsante per rigenerare il valore segreto di una chiave API. su qualsiasi chiave nella lista. (Ricrea) su qualsiasi chiave nella lista.

un dialogo di conferma apparirà. Dopo aver confermato:

  • Per chiavi sicure (hashate)Genera e visualizza una nuova chiave di testo semplice in una finestra modale. Copiala subito.
  • Per chiavi piane: Il valore della chiave viene rigenerato server-side.

Qualsiasi integrazione che utilizza il vecchio valore della chiave smetterà di funzionare immediatamente.

API conferma della rigenerazione della chiave

Clicca sul trash icon (Elimina) su qualsiasi chiave nella lista. Conferma la cancellazione nella finestra di dialogo.

La chiave viene revocata immediatamente — qualsiasi richiesta che la utilizza fallirà.

API conferma di cancellazione della chiave

Se vedi chiavi nella Chiavi legacy Queste chiavi (senza assegnazione di ruoli) utilizzano il sistema di autorizzazione basato sulle modalità più vecchio.read, upload, write, allLe funzionalità sono ancora disponibili, ma non beneficiano delle autorizzazioni RBAC fine-granulari.

Legacy keys can be regenerated and deleted from the list, but cannot be edited to add RBAC roles. We recommend creating new RBAC keys and deleting legacy keys when possible.

Se hai bisogno di gestire le chiavi legacy direttamente, puoi ancora accedervi al console.capgo.app/pannello di controllo/api chiavi. Questa pagina è stata deprecata e verrà rimossa in una futura aggiornamento.

Se stai utilizzando API Chiavi per pianificare dashboard e API operazioni, connettilo con API Panoramica per i dettagli di implementazione in API Panoramica, Introduzione per i dettagli di implementazione in Introduzione, API Chiavi per i dettagli di implementazione in API Chiavi, Dispositivi per i dettagli di implementazione in Dispositivi, e Pacchetti per i dettagli di implementazione in Pacchetti.