All Products
Search
Document Center

Container Service for Kubernetes:Gunakan RBAC untuk mengotorisasi operasi pada resource dalam kluster

Last Updated:Aug 21, 2026

Mengoperasikan resource Kubernetes dalam kluster ACK memerlukan izin Resource Access Management (RAM) dan Role-Based Access Control (RBAC). Akun Alibaba Cloud secara default memiliki semua izin RAM, sedangkan pengguna RAM dan role harus diberikan keduanya. Berikan izin ini agar pengguna atau role RAM dapat mengoperasikan resource Kubernetes dalam kluster.

Cara kerja

Sistem otorisasi ACK memiliki dua lapisan: Alibaba Cloud RAM dan RBAC Kubernetes. Keduanya membentuk rantai otorisasi lengkap dari resource cloud hingga resource dalam kluster.

  • RAM: Mengontrol siapa yang dapat mengakses kluster. Ini mengelola izin di tingkat resource cloud, mengatur izin pengguna untuk melakukan operasi OpenAPI pada kluster ACK dan layanan cloud terkait.

  • RBAC: Menentukan apa yang dapat dilakukan pengguna di dalam kluster. Ini menyediakan otorisasi detail halus dalam kluster, menentukan operasi mana—seperti membuat atau menghapus—yang dapat dilakukan pengguna pada resource Kubernetes tertentu, seperti Pods dan Deployments.

Langkah 1: Berikan izin RAM

Izin RAM menentukan apakah pengguna dapat mengakses resource cloud dari kluster ACK. Akun Alibaba Cloud sudah memiliki semua izin RAM dan dapat melewati langkah ini. Untuk memberikan izin RAM kepada pengguna RAM atau role, pilih salah satu metode berikut.

Metode 1: Gunakan kebijakan sistem

Penting

Kebijakan sistem AliyunRAMReadOnlyAccess dan AliyunCSFullAccess memberikan izin yang luas. Untuk kontrol lebih granular, lihat Metode 2: Gunakan kebijakan kustom untuk otorisasi detail halus.

  1. Masuk ke RAM console dengan akun Alibaba Cloud dan temukan pengguna RAM atau role yang ingin Anda otorisasi.

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

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

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

Metode 2: Gunakan kebijakan kustom

Administrator izin harus mampu melakukan tindakan berikut:

  • Menampilkan informasi tentang identitas RAM lainnya.

  • Menampilkan daftar dan detail kluster.

  • Menampilkan konfigurasi RBAC yang ada dalam kluster.

  • Menjalankan operasi otorisasi RBAC dalam kluster.

Masuk ke RAM console dan gunakan contoh kebijakan berikut untuk memberikan izin RAM yang diperlukan kepada pengguna RAM atau role RAM target. Untuk informasi selengkapnya, lihat Gunakan kebijakan kustom untuk memberikan izin.

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

Langkah 2: Berikan izin RBAC

Izin RBAC menentukan operasi mana yang dapat dilakukan pengguna pada resource Kubernetes dalam kluster.

(Opsional) Tetapkan administrator izin

Akun Alibaba Cloud secara default dapat mengelola izin RBAC. Untuk mendelegasikan ini ke pengguna RAM atau role, pertama-tama tetapkan mereka sebagai administrator izin. Anda dapat melewati langkah ini jika administrator izin sudah ada atau jika Anda menggunakan akun Alibaba Cloud Anda.

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

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

  2. Di halaman Authorizations, konfigurasikan izin manajemen.

    • Untuk mengotorisasi pengguna RAM: Klik tab RAM Users, temukan pengguna RAM target, dan klik Modify Permissions di kolom Actions untuk menuju halaman Permissions.

    • Untuk mengotorisasi role RAM: Klik tab RAM Role, pilih role RAM target, dan klik Modify Permissions untuk menuju halaman Permissions.

  3. Klik + Add Permissions. Ikuti petunjuk di layar untuk menambahkan izin tingkat kluster dan tingkat namespace, serta pilih Administrator sebagai peran yang telah ditentukan sebelumnya.

    Jika Anda memberikan otorisasi ini untuk semua kluster, peran administrator izin akan secara otomatis diterapkan ke kluster baru, sehingga tidak perlu otorisasi berulang.

Otorisasi operasi

Masuk ke konsol sebagai akun Alibaba Cloud atau administrator izin untuk memberikan izin RBAC kepada pengguna RAM atau role RAM target.

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

  2. Di halaman Authorizations, konfigurasikan izin manajemen.

    • Untuk mengotorisasi pengguna RAM: Klik tab RAM Users, temukan pengguna RAM target, dan klik Modify Permissions di kolom Actions untuk menuju halaman Permissions.

    • Untuk mengotorisasi role RAM: Klik tab RAM Role, pilih role RAM target, dan klik Modify Permissions untuk menuju halaman Permissions.

  3. Klik + Add Permissions. Ikuti petunjuk di layar untuk menambahkan izin tingkat kluster atau tingkat namespace untuk pengguna RAM atau role RAM target, lalu pilih peran yang telah ditentukan sebelumnya.

    Pilih peran yang telah ditentukan sebelumnya berdasarkan tanggung jawab pengguna. Untuk informasi selengkapnya tentang izin setiap peran yang telah ditentukan sebelumnya, lihat Peran yang telah ditentukan sebelumnya.

Setelah otorisasi selesai, pengguna RAM atau role RAM target dapat mengoperasikan resource Kubernetes dalam kluster sesuai dengan izin yang diberikan.

Penerapan pada lingkungan produksi

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

  • Ikuti prinsip hak istimewa minimal

    Berikan hanya izin minimum yang diperlukan oleh pihak yang berwenang—seperti pengguna RAM dan role RAM—untuk menjalankan tugasnya. Hindari pemberian peran berhak istimewa tinggi secara sembarangan, seperti Administrator.

  • Terapkan otorisasi detail halus

    • Otorisasi berlapis: Pisahkan tanggung jawab antara RAM untuk akses resource cloud dan RBAC untuk akses resource dalam kluster.

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

    • Pemilihan peran tepat: Gunakan peran yang telah ditentukan sebelumnya dari ACK bila memungkinkan. Jika Anda harus membuat peran kustom, definisikan aturan izin secara tepat dan hindari penggunaan wildcard (*).

  • Lakukan tata kelola berkelanjutan

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

Peran yang telah ditentukan sebelumnya

Untuk menyederhanakan manajemen izin dan menangani kasus penggunaan umum secara cepat, ACK menyediakan beberapa peran yang telah ditentukan sebelumnya berdasarkan mekanisme RBAC.

Peran preset

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.

OM 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 dalam kluster.

Restricted User

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

Custom

Izin bergantung pada ClusterRole yang ditentukan. Untuk mencegah identitas mendapatkan akses yang tidak diinginkan, verifikasi izin ClusterRole sebelum menetapkannya. Lihat Batasi operasi resource dengan RBAC kustom.

Penting

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

FAQ

Apa yang harus saya lakukan jika mengalami kode kesalahan permission denied?

Jika operasi yang dilakukan melalui konsol atau API tidak memiliki izin RBAC yang diperlukan, kesalahan izin akan dikembalikan. Tabel berikut mencantumkan kesalahan umum dan solusinya.

Kode kesalahan atau pesan

Catatan

Solusi

ForbiddenCheckControlPlaneLog

Izin untuk melihat log lapisan kontrol ditolak.

Berikan pengguna peran Administrator atau O&M Engineer.

ForbiddenHelmUsage

Izin untuk melakukan operasi Helm ditolak.

Berikan pengguna peran Administrator.

ForbiddenRotateCert

Izin untuk melakukan rotasi sertifikat ditolak.

Berikan pengguna peran Administrator.

ForbiddenAttachInstance

Izin untuk menambahkan node ditolak.

Berikan pengguna peran Administrator atau O&M Engineer.

ForbiddenUpdateKMSState

Izin untuk mengubah status enkripsi-at-rest Key Management Service (KMS) kluster ditolak.

Berikan pengguna peran Administrator atau O&M Engineer.

Forbidden get trigger

Izin untuk mengambil informasi pemicu aplikasi ditolak.

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

ForbiddenQueryClusterNamespace

Izin untuk mengkueri namespace kluster ditolak.

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

Bagaimana cara membuat izin kustom jika peran RBAC yang telah ditentukan sebelumnya tidak memenuhi kebutuhan saya?

Buat Role atau ClusterRole kustom dengan menulis manifes YAML. Misalnya, Anda dapat membuat ClusterRole yang hanya mengizinkan pengguna melihat Pods, lalu pilih peran kustom ini saat otorisasi. Untuk informasi selengkapnya, lihat Gunakan peran RBAC kustom untuk membatasi operasi pada resource dalam kluster.

Kebijakan RBAC hanya mendukung aturan 'Allow'. Aturan 'Deny' eksplisit tidak didukung.

Dokumen terkait