

 **Contribuisci a migliorare questa pagina** 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Per contribuire a questa guida per l'utente, scegli il GitHub link **Modifica questa pagina** nel riquadro destro di ogni pagina.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Configura le autorizzazioni kro
<a name="kro-permissions"></a>

A differenza di ACK e Argo CD, kro non richiede autorizzazioni IAM. kro opera interamente all'interno del cluster Kubernetes e non effettua chiamate API. AWS Controlla l'accesso alle risorse kro utilizzando Kubernetes RBAC standard.

## Come funzionano le autorizzazioni con kro
<a name="_how_permissions_work_with_kro"></a>

kro utilizza due tipi di risorse Kubernetes con ambiti diversi:

 **ResourceGraphDefinitions**: Cluster-scoped risorse che definiscono API personalizzate. In genere gestite dai team della piattaforma che progettano e mantengono gli standard organizzativi.

 **Istanze**: risorse Namespace-scoped personalizzate create da ResourceGraphDefinitions. Può essere creato dai team applicativi con le autorizzazioni RBAC appropriate.

Per impostazione predefinita, la funzionalità kro dispone delle autorizzazioni per gestire le relative istanze tramite ResourceGraphDefinitions la politica di accesso. `AmazonEKSKROPolicy` Tuttavia, kro richiede autorizzazioni aggiuntive per creare e gestire le risorse Kubernetes sottostanti definite nell'utente ResourceGraphDefinitions (come Deployments, Services o risorse ACK). È necessario concedere queste autorizzazioni tramite le politiche di accesso o Kubernetes RBAC. Per i dettagli sulla concessione di queste autorizzazioni, consulta, o. [Crea una funzionalità kro usando eksctl](kro-create-eksctl.md) [Crea una funzionalità kro utilizzando la CLI AWS](kro-create-cli.md) [Crea una funzionalità kro utilizzando la console](kro-create-console.md)

## Autorizzazioni del team della piattaforma
<a name="_platform_team_permissions"></a>

I team della piattaforma necessitano delle autorizzazioni per creare e gestire. ResourceGraphDefinitions

 **Esempio ClusterRole per i team della piattaforma**:

```
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: kro-platform-admin
rules:
- apiGroups: ["kro.run"]
  resources: ["resourcegraphdefinitions"]
  verbs: ["*"]
```

 **Associati ai membri del team della piattaforma**:

```
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: platform-team-kro-admin
subjects:
- kind: Group
  name: platform-team
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: kro-platform-admin
  apiGroup: rbac.authorization.k8s.io
```

## Autorizzazioni del team dell'applicazione
<a name="_application_team_permissions"></a>

I team applicativi necessitano delle autorizzazioni per creare istanze di risorse personalizzate nei propri namespace.

 **Esempio** di ruolo per i team delle applicazioni:

```
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: kro-app-developer
  namespace: my-app
rules:
- apiGroups: ["kro.run"]
  resources: ["webapps", "databases"]
  verbs: ["create", "get", "list", "update", "delete", "patch"]
```

 **Associarsi ai membri del team applicativo**:

```
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: app-team-kro-developer
  namespace: my-app
subjects:
- kind: Group
  name: app-team
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: Role
  name: kro-app-developer
  apiGroup: rbac.authorization.k8s.io
```

**Nota**  
Il gruppo di API nel ruolo (`kro.run`in questo esempio) deve corrispondere a quello `apiVersion` definito nello schema ResourceGraphDefinition dell'utente.

## Read-only accesso
<a name="_read_only_access"></a>

Concedi l'accesso in sola lettura alla visualizzazione ResourceGraphDefinitions e alle istanze senza autorizzazioni di modifica.

 **Read-only ClusterRole**:

```
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: kro-viewer
rules:
- apiGroups: ["kro.run"]
  resources: ["resourcegraphdefinitions"]
  verbs: ["get", "list", "watch"]
```

 **Read-only Ruolo per le istanze:**

```
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: kro-instance-viewer
  namespace: my-app
rules:
- apiGroups: ["kro.run"]
  resources: ["webapps", "databases"]
  verbs: ["get", "list", "watch"]
```

## Multi-namespace accesso
<a name="_multi_namespace_access"></a>

Concedi ai team delle applicazioni l'accesso a più namespace utilizzando with. ClusterRoles RoleBindings

 **ClusterRole per** l'accesso a più namespace:

```
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: kro-multi-namespace-developer
rules:
- apiGroups: ["kro.run"]
  resources: ["webapps"]
  verbs: ["create", "get", "list", "update", "delete"]
```

 **Associa a namespace** specifici:

```
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: app-team-dev-access
  namespace: development
subjects:
- kind: Group
  name: app-team
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: kro-multi-namespace-developer
  apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: app-team-staging-access
  namespace: staging
subjects:
- kind: Group
  name: app-team
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: kro-multi-namespace-developer
  apiGroup: rbac.authorization.k8s.io
```

## Best practice
<a name="_best_practices"></a>

 **Principio del privilegio minimo**: concedi solo le autorizzazioni minime necessarie per le responsabilità di ogni team.

 **Usa i gruppi anziché i singoli utenti**: associa i ruoli ai gruppi anziché ai singoli utenti per una gestione più semplice.

 **Aspetti distinti relativi alla piattaforma e all'applicazione:** i team della piattaforma gestiscono le istanze ResourceGraphDefinitions, i team delle applicazioni gestiscono le istanze.

 **Isolamento dello spazio dei nomi**: utilizza i namespace per isolare team o ambienti diversi, con RBAC che controlla l'accesso a ciascun namespace.

 **Read-only accesso per il controllo: Fornisci l'accesso in sola lettura ai team di sicurezza e** conformità per scopi di controllo.

## Fasi successive
<a name="_next_steps"></a>
+  [concetti kro](kro-concepts.md)- Comprendi i nostri concetti e la composizione delle risorse
+  [Considerazioni sulla sicurezza per EKS Capabilities](capabilities-security.md)- Esamina le migliori pratiche di sicurezza per quanto riguarda le funzionalità