

 **Bantu tingkatkan halaman ini** 

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Untuk berkontribusi pada panduan pengguna ini, pilih **Edit halaman ini pada GitHub** tautan yang terletak di panel kanan setiap halaman.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Konfigurasikan izin kro
<a name="kro-permissions"></a>

Tidak seperti ACK dan Argo CD, kro tidak memerlukan izin IAM. kro beroperasi sepenuhnya di dalam klaster Kubernetes Anda dan tidak melakukan panggilan API. AWS Kontrol akses ke sumber daya kro menggunakan Kubernetes RBAC standar.

## Cara kerja izin dengan kro
<a name="_how_permissions_work_with_kro"></a>

kro menggunakan dua jenis sumber daya Kubernetes dengan cakupan yang berbeda:

 **ResourceGraphDefinitions**: Cluster-scoped sumber daya yang menentukan API kustom. Biasanya dikelola oleh tim platform yang merancang dan memelihara standar organisasi.

 **Contoh**: sumber daya Namespace-scoped khusus dibuat dari ResourceGraphDefinitions. Dapat dibuat oleh tim aplikasi dengan izin RBAC yang sesuai.

Secara default, kemampuan kro memiliki izin untuk mengelola ResourceGraphDefinitions dan instansinya melalui kebijakan entri `AmazonEKSKROPolicy` akses. Namun, kro memerlukan izin tambahan untuk membuat dan mengelola sumber daya Kubernetes yang mendasari yang ditentukan dalam ResourceGraphDefinitions (seperti Deployment, Services, atau resource ACK). Anda harus memberikan izin ini melalui kebijakan entri akses atau Kubernetes RBAC. Untuk detail tentang pemberian izin ini, lihat [Buat kemampuan kro menggunakan eksctl](kro-create-eksctl.md)[Buat kemampuan kro menggunakan CLI AWS](kro-create-cli.md), atau. [Buat kemampuan kro menggunakan Konsol](kro-create-console.md)

## Izin tim platform
<a name="_platform_team_permissions"></a>

Tim platform memerlukan izin untuk membuat dan mengelola ResourceGraphDefinitions.

 **Contoh ClusterRole untuk tim platform**:

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

 **Mengikat anggota tim platform**:

```
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
```

## Izin tim aplikasi
<a name="_application_team_permissions"></a>

Tim aplikasi memerlukan izin untuk membuat instance sumber daya khusus di ruang nama mereka.

 **Contoh Peran untuk tim aplikasi**:

```
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"]
```

 **Mengikat anggota tim aplikasi**:

```
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
```

**catatan**  
Grup API dalam Peran (`kro.run`dalam contoh ini) harus cocok dengan yang `apiVersion` ditentukan dalam skema Anda ResourceGraphDefinition.

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

Berikan akses hanya-baca ke tampilan ResourceGraphDefinitions dan instance tanpa izin modifikasi.

 **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 Peran untuk contoh**:

```
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 akses
<a name="_multi_namespace_access"></a>

Berikan tim aplikasi akses ke beberapa ruang nama menggunakan dengan ClusterRoles . RoleBindings

 **ClusterRole untuk akses multi-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"]
```

 **Mengikat ke ruang nama tertentu:**

```
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
```

## Praktik terbaik
<a name="_best_practices"></a>

 **Prinsip hak istimewa terkecil**: Berikan hanya izin minimum yang diperlukan untuk tanggung jawab masing-masing tim.

 **Gunakan grup alih-alih pengguna individu**: Ikat peran ke grup daripada pengguna individu untuk pengelolaan yang lebih mudah.

 **Masalah platform dan aplikasi terpisah**: Tim platform mengelola ResourceGraphDefinitions, tim aplikasi mengelola instance.

 **Isolasi namespace**: Gunakan ruang nama untuk mengisolasi tim atau lingkungan yang berbeda, dengan RBAC mengontrol akses ke setiap namespace.

 **Read-only akses untuk audit: Menyediakan** akses hanya-baca ke tim keamanan dan kepatuhan untuk tujuan audit.

## Langkah selanjutnya
<a name="_next_steps"></a>
+  [konsep kro](kro-concepts.md)- Memahami konsep kro dan komposisi sumber daya
+  [Pertimbangan keamanan untuk Kemampuan EKS](capabilities-security.md)- Tinjau praktik terbaik keamanan untuk kemampuan