Secara default, kluster ACK yang dikelola menggunakan satu peran Resource Access Management (RAM) pekerja yang dibagikan oleh semua node. Setiap node dalam kluster mewarisi izin yang sama, sehingga berpotensi menyebabkan pemberian izin berlebihan secara tidak disengaja. Dengan menetapkan Worker RAM Role kustom ke setiap kelompok node, izin dapat diisolasi pada tingkat kelompok node, mengurangi risiko seluruh node dalam kluster berbagi izin yang identik.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
-
Kluster ACK yang dikelola yang menjalankan Kubernetes 1.22 atau versi lebih baru. Lihat Buat kluster ACK yang dikelola.
Batasan
-
Worker RAM Role kustom hanya dapat ditetapkan saat membuat kluster atau kelompok node. Anda tidak dapat mengubah Worker RAM Role dari kelompok node yang sudah ada.
Langkah 1: Buat peran RAM
Peran RAM harus memenuhi dua persyaratan berikut:
-
Nama peran tidak boleh diawali dengan
KubernetesMasterRole-atauKubernetesWorkerRole-. -
Layanan tepercaya harus berupa Elastic Compute Service.
Gunakan salah satu metode berikut untuk membuat peran tersebut.
Konsol
Ikuti petunjuk dalam Buat peran layanan reguler. Saat diminta memilih layanan tepercaya, pilih Elastic Compute Service.
OpenAPI atau Terraform
Buat peran menggunakan OpenAPI atau Terraform, lalu konfigurasikan kebijakan kepercayaan sebagai berikut. Untuk detail tentang mengedit kebijakan kepercayaan, lihat Edit kebijakan kepercayaan peran RAM.
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": [
"ecs.aliyuncs.com"
]
}
}
],
"Version": "1"
}
Langkah 2: Tetapkan peran saat membuat kelompok node
Di Konsol ACK, saat membuat kluster atau kelompok node, buka Advanced Options dan atur Worker RAM Role ke peran yang Anda buat pada Langkah 1.
Untuk panduan rinci per bidang, lihat:
Berikan izin ram:PassRole kepada Pengguna RAM atau Peran RAM
Jika Anda beroperasi sebagai Pengguna RAM atau Peran RAM, Anda juga memerlukan izin ram:PassRole untuk menetapkan Worker RAM Role selama pembuatan kelompok node.
Jika Pengguna RAM atau Peran RAM tersebut sudah memiliki izin AliyunCSFullAccess, izin ram:PassRole tidak diperlukan.
Gunakan salah satu contoh kebijakan izin berikut. Untuk petunjuk membuat dan menyambungkan kebijakan, lihat Buat kebijakan kustom, Berikan izin kepada Pengguna RAM, dan Berikan izin kepada Peran RAM.
Otorisasi Peran RAM tertentu
Ganti <role_arn> dengan Nama Sumber Daya Alibaba Cloud (ARN) dari Peran RAM Anda. Untuk menemukan ARN tersebut, lihat Bagaimana cara melihat ARN dari Peran RAM?
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "ram:PassRole",
"Resource": [
"<role_arn>"
],
"Condition": {
"StringEquals": {
"acs:Service": [
"cs.aliyuncs.com"
]
}
}
}
]
}
Otorisasi Semua Peran RAM
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "ram:PassRole",
"Resource": "*",
"Condition": {
"StringEquals": {
"acs:Service": [
"cs.aliyuncs.com"
]
}
}
}
]
}
Langkah berikutnya
Peran RAM yang baru dibuat tidak memiliki izin secara default. Berikan izin yang dibutuhkan oleh kelompok node dan cabut izin yang tidak lagi diperlukan.
Berikan izin
-
Konsol: Buat kebijakan kustom dan Berikan izin kepada Peran RAM
-
OpenAPI: CreatePolicy dan AttachPolicyToRole
-
Terraform: Buat Peran RAM dan berikan izin menggunakan Terraform
Cabut izin
Cabut izin yang tidak lagi diperlukan sesegera mungkin. Lihat Cabut izin dari Peran RAM.