Gestire le autorizzazioni e il controllo degli accessi Trident Protect
Trident Protect utilizza il modello Kubernetes di role-based access control (RBAC). Per impostazione predefinita, Trident Protect fornisce un unico spazio dei nomi di sistema e l'account del servizio predefinito associato. Se hai un'organizzazione con molti utenti o esigenze di sicurezza specifiche, puoi utilizzare le funzionalità RBAC di Trident Protect per ottenere un controllo più granulare sull'accesso alle risorse e agli spazi dei nomi.
L'amministratore del cluster ha sempre accesso alle risorse nello spazio dei nomi predefinito trident-protect
e può anche accedere alle risorse in tutti gli altri namespace. Per controllare l'accesso a risorse e applicazioni, è necessario creare spazi dei nomi aggiuntivi e aggiungere risorse e applicazioni a tali spazi dei nomi.
Si noti che nessun utente può creare CRS per la gestione dei dati delle applicazioni nello spazio dei nomi predefinito trident-protect
. È necessario creare CRS per la gestione dei dati delle applicazioni in uno spazio dei nomi delle applicazioni (come Best practice, creare CRS per la gestione dei dati delle applicazioni nello stesso spazio dei nomi dell'applicazione associata).
|
Solo gli amministratori devono avere accesso a oggetti risorse personalizzati protetti da Trident con privilegi, tra cui:
Come Best practice, utilizzare RBAC per limitare l'accesso agli oggetti con privilegi agli amministratori. |
Per ulteriori informazioni su come RBAC regola l'accesso alle risorse e agli spazi dei nomi, fare riferimento alla "Documentazione RBAC di Kubernetes" .
Per informazioni sugli account di servizio, fare riferimento alla "Documentazione dell'account del servizio Kubernetes" .
Esempio: Gestire l'accesso per due gruppi di utenti
Ad esempio, un'organizzazione dispone di un amministratore cluster, di un gruppo di utenti di progettazione e di un gruppo di utenti di marketing. L'amministratore del cluster dovrebbe completare le seguenti attività per creare un ambiente in cui il gruppo di progettazione e il gruppo di marketing hanno ciascuno accesso solo alle risorse assegnate ai rispettivi namespace.
Passaggio 1: Creare uno spazio dei nomi che contenga risorse per ciascun gruppo
La creazione di uno spazio dei nomi consente di separare logicamente le risorse e di controllare meglio chi ha accesso a tali risorse.
-
Creare uno spazio dei nomi per il gruppo tecnico:
-
Creare uno spazio dei nomi per il gruppo di marketing:
Passaggio 2: Creare nuovi account di servizio per interagire con le risorse in ogni spazio dei nomi
Ogni nuovo spazio dei nomi creato viene fornito con un account di servizio predefinito, ma è necessario creare un account di servizio per ogni gruppo di utenti in modo da poter dividere ulteriormente Privileges tra i gruppi in futuro, se necessario.
-
Creare un account di servizio per il gruppo tecnico:
-
Creare un account di servizio per il gruppo di marketing:
Passaggio 3: Creare un segreto per ogni nuovo account di servizio
Un segreto dell'account di servizio viene utilizzato per l'autenticazione con l'account di servizio e può essere facilmente eliminato e ricreato se compromesso.
-
Creare un segreto per l'account del servizio tecnico:
-
Creare un segreto per l'account del servizio di marketing:
Passaggio 4: Creare un oggetto RoleBinding per associare l'oggetto ClusterRole a ogni nuovo account di servizio
Un oggetto ClusterRole predefinito viene creato quando si installa Trident Protect. È possibile associare questo ClusterRole all'account di servizio creando e applicando un oggetto RoleBinding.
-
Associare ClusterRole all'account del servizio tecnico:
-
Associare ClusterRole all'account del servizio di marketing:
Passaggio 5: Verifica delle autorizzazioni
Verificare che le autorizzazioni siano corrette.
-
Verificare che gli utenti tecnici possano accedere alle risorse di progettazione:
-
Verificare che gli utenti tecnici non possano accedere alle risorse di marketing:
Passaggio 6: Concedere l'accesso agli oggetti AppVault
Per eseguire attività di gestione dei dati come backup e snapshot, l'amministratore del cluster deve garantire l'accesso agli oggetti AppVault ai singoli utenti.
-
Creare e applicare un file YAML di combinazione di AppVault e segreto che consenta a un utente di accedere a un AppVault. Ad esempio, la seguente CR concede l'accesso ad AppVault all'utente
eng-user
: -
Creare e applicare un ruolo CR per consentire agli amministratori del cluster di concedere l'accesso a risorse specifiche in uno spazio dei nomi. Ad esempio:
-
Creare e applicare un RoleBinding CR per associare le autorizzazioni all'utente eng-user. Ad esempio:
-
Verificare che le autorizzazioni siano corrette.
-
Tentativo di recuperare le informazioni sull'oggetto AppVault per tutti gli spazi dei nomi:
L'output dovrebbe essere simile a quanto segue:
Error from server (Forbidden): appvaults.protect.trident.netapp.io is forbidden: User "system:serviceaccount:engineering-ns:eng-user" cannot list resource "appvaults" in API group "protect.trident.netapp.io" in the namespace "trident-protect"
-
Verificare se l'utente può ottenere le informazioni AppVault a cui ora dispone dell'autorizzazione per accedere:
L'output dovrebbe essere simile a quanto segue:
yes
-
Gli utenti a cui sono state concesse le autorizzazioni AppVault dovrebbero essere in grado di utilizzare gli oggetti AppVault autorizzati per le operazioni di gestione dei dati delle applicazioni e non dovrebbero essere in grado di accedere a risorse esterne agli spazi dei nomi assegnati o creare nuove risorse a cui non hanno accesso.