All Products
Search
Document Center

Container Service for Kubernetes:Otorisasi operasi dalam kluster dengan RBAC

Last Updated:May 26, 2026

Operasi pada resource Kubernetes dalam kluster ACK mengandalkan model otorisasi ganda: Resource Access Management (RAM) dan Role-Based Access Control (RBAC) Kubernetes. Akun Alibaba Cloud secara default memiliki kedua izin tersebut, sedangkan RAM user dan RAM role memerlukan pemberian eksplisit keduanya untuk mengakses resource kluster.

Cara kerja

Sistem otorisasi ACK terdiri dari dua lapisan, Alibaba Cloud RAM dan RBAC Kubernetes, yang membentuk rantai otorisasi lengkap dari resource cloud hingga resource dalam kluster.

  • RAM: Menentukan siapa yang dapat mengakses kluster. Ini beroperasi di tingkat resource cloud, mengontrol izin principal untuk operasi API pada kluster ACK dan layanan cloud dependennya.

  • RBAC: Menentukan apa yang dapat dilakukan principal dalam kluster. Ini menyediakan otorisasi detail halus, mendefinisikan operasi mana (seperti create atau delete) yang dapat dilakukan principal pada resource Kubernetes tertentu (seperti Pods dan Deployments).

Mekanisme RBAC Kubernetes

  • ClusterRole mendefinisikan serangkaian izin yang berlaku di seluruh kluster. ClusterRoleBinding mengaitkannya ke principal, sehingga izin tersebut berlaku di seluruh kluster.

  • Role mendefinisikan serangkaian izin yang dibatasi pada satu namespace. RoleBinding mengaitkannya ke principal, sehingga izin tersebut hanya berlaku dalam namespace tersebut.

Skenario 1: Otorisasi dengan akun Alibaba Cloud

  1. Masuk ke ACK console. Di panel navigasi kiri, klik Authorizations.

  2. Pada halaman Authorizations, konfigurasikan izin.

    • Untuk memberikan izin kepada RAM user: Klik tab RAM Users, temukan RAM user target, lalu klik Modify Permissions di kolom Actions untuk menuju halaman Permissions.

    • Untuk memberikan izin kepada RAM role: Klik tab RAM Role, temukan RAM role target, lalu klik Modify Permissions untuk menuju halaman Permission Management.

  3. Klik + Add Permissions. Ikuti petunjuk di layar untuk menambahkan izin bagi RAM user atau RAM role target di tingkat kluster atau namespace, lalu pilih role yang telah ditentukan sebelumnya. Pilih role berdasarkan tanggung jawab pengguna. Untuk detail izin setiap role yang telah ditentukan, lihat Lampiran: Role yang telah ditentukan.

Skenario 2: Otorisasi dengan RAM user atau role

Secara default, RAM user atau RAM role tidak dapat memberikan izin RBAC kepada principal lain. Untuk menyederhanakan manajemen izin, tetapkan RAM user atau RAM role sebagai administrator izin. Administrator tersebut kemudian dapat memberikan izin RBAC kepada principal lain.

Langkah 1: Tetapkan RAM user atau role sebagai administrator

1. Berikan izin RAM untuk otorisasi

Metode 1: Gunakan kebijakan sistem

Penting

Kebijakan sistem AliyunRAMReadOnlyAccess dan AliyunCSFullAccess memberikan izin yang luas. Untuk kontrol lebih rinci, lihat Metode 2: Berikan izin detail halus menggunakan kebijakan kustom.

  1. Masuk ke RAM console dengan akun Alibaba Cloud Anda dan temukan RAM user atau RAM role target.

    • Untuk RAM user: Pilih Credential Management > User. Di daftar pengguna, temukan pengguna target dan klik Add Permissions di kolom Actions.

    • Untuk RAM role: Pilih Credential Management > Role. Di daftar role, temukan role target dan klik Add Permissions di kolom Actions.

  2. Atur Resource Scope menjadi Account. Di bagian Policies, temukan dan pilih kebijakan sistem AliyunRAMReadOnlyAccess dan AliyunCSFullAccess. Ikuti petunjuk untuk menyelesaikan otorisasi.

Metode 2: Gunakan kebijakan kustom

Administrator izin memerlukan izin untuk:

  • Menampilkan informasi tentang principal RAM lainnya.

  • Menampilkan daftar dan detail kluster.

  • Menampilkan konfigurasi RBAC yang ada untuk suatu kluster.

  • Menjalankan operasi otorisasi RBAC dalam kluster.

Masuk ke RAM console dan berikan izin RAM yang diperlukan kepada RAM user atau RAM role target menggunakan contoh kebijakan berikut. Untuk detailnya, lihat Berikan izin menggunakan kebijakan kustom.

{
    "Statement": [{
            "Action": [
                "ram:Get*",
                "ram:List*",
                "cs:Get*",
                "cs:Describe*",
                "cs:List*",
                "cs:GrantPermission"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ],
    "Version": "1"
}

2. Berikan role RBAC Administrator

Masuk ke ACK console dengan akun Alibaba Cloud Anda dan berikan role yang telah ditentukan sebelumnya Administrator kepada RAM user atau RAM role target di tingkat kluster.

  1. Masuk ke ACK console. Di panel navigasi kiri, klik Authorizations.

  2. Pada halaman Authorizations, konfigurasikan izin.

    • Untuk memberikan izin kepada RAM user: Klik tab RAM Users, temukan RAM user target, lalu klik Modify Permissions di kolom Actions untuk menuju halaman Permissions.

    • Untuk memberikan izin kepada RAM role: Klik tab RAM Role, temukan RAM role target, lalu klik Modify Permissions untuk menuju halaman Permission Management.

  3. Klik + Add Permissions, ikuti petunjuk untuk menambahkan izin di tingkat kluster atau namespace, lalu pilih Administrator sebagai role yang telah ditentukan sebelumnya.

    Pemberian izin pada cakupan All Clusters secara otomatis memperluas akses administrator izin ke kluster baru apa pun, sehingga tidak perlu otorisasi berulang.

Langkah 2: Berikan izin RBAC kepada pihak lain

Setelah diotorisasi, administrator izin dapat memberikan izin RBAC kepada RAM user atau RAM role lain di halaman Authorizations dengan mengikuti prosedur di Skenario 1. Setelah otorisasi, RAM user atau role target dapat mengoperasikan resource Kubernetes dalam cakupan izin mereka.

Praktik terbaik untuk lingkungan produksi

Untuk meningkatkan keamanan dan kemudahan pemeliharaan manajemen izin, ikuti praktik terbaik berikut.

  • Taat pada prinsip hak istimewa minimal

    Berikan principal, seperti RAM user dan role, hanya izin minimum yang diperlukan untuk menjalankan tugasnya. Hindari pemberian role berhak istimewa tinggi, seperti Administrator, secara sembarangan.

  • Terapkan otorisasi detail halus

    • Gunakan otorisasi berlapis: Bedakan tanggung jawab antara RAM untuk akses resource cloud dan RBAC untuk akses resource dalam kluster.

    • Batasi cakupan: Jika memungkinkan, gunakan RoleBinding untuk membatasi izin pada namespace tertentu, bukan ClusterRoleBinding yang berlaku di seluruh kluster.

    • Pilih role secara tepat: Gunakan role yang telah ditentukan oleh ACK. Jika perlu membuat role kustom, definisikan aturan izin secara tepat dan hindari penggunaan wildcard (*).

  • Lakukan tata kelola berkelanjutan

    Manajemen izin adalah proses dinamis. Terapkan mekanisme audit berkala untuk segera mencabut izin yang berlebihan atau tidak lagi diperlukan. Catat dan pantau operasi role berhak istimewa tinggi, seperti administrator izin.

Lampiran: Role yang telah ditentukan

Untuk menyederhanakan manajemen izin dan memenuhi kasus penggunaan umum, ACK menyediakan beberapa role standar yang telah ditentukan berdasarkan mekanisme RBAC.

Peran Pra-setel

Izin RBAC dalam kluster

Administrator

Akses baca/tulis penuh ke semua resource Kubernetes di semua namespace, termasuk node kluster, PV, namespace, dan kuota sumber daya.

Read-only Administrator

Akses read-only ke semua resource Kubernetes di semua namespace, termasuk node kluster, PV, namespace, dan kuota sumber daya.

O&M Engineer

Akses baca/tulis ke resource yang tersedia di konsol di semua namespace. Termasuk akses baca/perbarui ke node kluster, PV, dan namespace, serta akses read-only ke semua resource lainnya.

Developer

Akses baca/tulis ke resource yang tersedia di konsol di semua atau namespace tertentu kluster.

Restricted User

Akses read-only ke resource yang tersedia di konsol di semua atau namespace tertentu kluster.

Custom

Izin bergantung pada ClusterRole yang ditentukan. Untuk mencegah identitas memperoleh akses yang tidak diinginkan, verifikasi izin ClusterRole sebelum menetapkannya. Untuk informasi lebih lanjut, lihat Batasi operasi resource dengan RBAC kustom.

Penting

Setiap RAM user atau RAM role dengan izin cluster-admin memiliki full kontrol atas semua resource kluster, setara dengan akun Alibaba Cloud root. Berikan izin ini dengan sangat hati-hati.

FAQ

Penanganan error izin

Jika operasi yang dilakukan melalui konsol atau API tidak memiliki izin RBAC yang diperlukan, error izin akan dikembalikan. Lihat tabel berikut untuk solusi:

Kode atau pesan error

Deskripsi

Solusi

ForbiddenCheckControlPlaneLog

Tidak diizinkan melihat log lapisan kontrol.

Berikan pengguna role Administrator atau O&M Engineer.

ForbiddenHelmUsage

Tidak diizinkan melakukan operasi Helm.

Berikan pengguna role Administrator.

ForbiddenRotateCert

Tidak diizinkan melakukan rotasi sertifikat.

Berikan pengguna role Administrator.

ForbiddenAttachInstance

Tidak diizinkan menambahkan node.

Berikan pengguna role Administrator atau O&M Engineer.

ForbiddenUpdateKMSState

Tidak diizinkan mengubah status enkripsi saat diam (encryption at rest) kluster.

Berikan pengguna role Administrator atau O&M Engineer.

Forbidden get trigger

Tidak diizinkan mengambil informasi pemicu aplikasi.

Berikan pengguna role Administrator, O&M Engineer, atau Developer.

ForbiddenQueryClusterNamespace

Tidak diizinkan mengkueri namespace kluster.

Berikan pengguna role Administrator, O&M Engineer, Developer, atau Restricted User.

Membuat izin kustom

Buat Role atau ClusterRole kustom dengan menulis manifes YAML. Misalnya, buat ClusterRole yang hanya mengizinkan melihat Pods, lalu pilih role kustom ini saat memberikan izin. Untuk detailnya, lihat Gunakan RBAC kustom untuk membatasi operasi pada resource dalam kluster.

Kebijakan RBAC Kubernetes bersifat aditif dan hanya mendukung aturan Allow. Tidak ada aturan Deny eksplisit.

Topik terkait