Anda dapat menggunakan mekanisme Condition dan Deny dalam kebijakan Resource Access Management (RAM) untuk mengubah standar keamanan dan persyaratan kepatuhan menjadi dasar keamanan yang dapat diterapkan pada platform cloud. Pendekatan ini mencegah pembuatan dan konfigurasi sumber daya cloud yang tidak aman dari sumbernya. Sebagai contoh, Anda dapat melarang pemberian alamat IP publik ke Instance ECS, menegakkan penggunaan pasangan kunci untuk logon, dan membatasi grup keamanan dari membuka port yang rentan. Ini membantu Anda membangun lingkungan cloud yang aman secara default.
Risiko keamanan
Kebijakan akses RAM standar biasanya menggunakan mode Allow, yang memberikan izin yang menentukan operasi apa yang dapat dilakukan oleh pengguna. Sebagai contoh, sebuah kebijakan dapat mengizinkan pembuatan Instance ECS dengan ecs:RunInstances:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow", #Mengizinkan
"Resource": "acs:ecs:*:*:instance/*", #Cakupan sumber daya
"Action": [ #Operasi OpenAPI
"ecs:RunInstances"
]
}
}Meskipun mode ini sederhana, ia menimbulkan ancaman tersembunyi dengan memberikan kebebasan berlebihan dalam cakupan izin. Hal ini dapat menyebabkan pembuatan sumber daya yang tidak sesuai dengan standar keamanan. Sebagai contoh:
Permukaan serangan yang terpapar: Server database yang dimaksudkan hanya untuk layanan internal salah diberi alamat IP elastis (EIP).
Kredensial lemah: Metode logon berbasis kata sandi digunakan saat membuat Instance ECS, yang membuat instance tersebut rentan terhadap serangan brute-force.
Pelanggaran kepatuhan: Sumber daya dibuat tanpa menggunakan citra perusahaan standar yang telah menjalani penguatan keamanan.
Praktik terbaik
Prinsip inti
Prinsip inti adalah menambahkan lapisan kebijakan Deny bersyarat di atas kebijakan Allow.
Deny memiliki prioritas: Saat RAM mengevaluasi permintaan operasi, ia memeriksa semua kebijakan yang relevan. Jika aturan kebijakan Deny cocok, operasi segera ditolak, terlepas dari apakah kebijakan Allow juga ada.
Batasan kondisi yang tepat: Kebijakan Deny dapat mencakup blok Condition. Efek Deny dipicu hanya ketika operasi cocok dengan Action, Resource, dan Condition yang ditentukan.
Sebagai contoh, ketika pengguna membuat instance (ecs:RunInstances) untuk sumber daya instance apa pun (acs:ecs:*:*:instance/*), operasi ditolak ("Effect": "Deny") jika alamat IP publik dilampirkan ("ecs:AssociatePublicIpAddress": "true").
{
"Version": "1",
"Statement": [
{
"Effect": "Deny", #Menolak
"Resource": "acs:ecs:*:*:instance/*", #Cakupan sumber daya
"Action": [ #Operasi OpenAPI
"ecs:RunInstances"
],
"Condition": { #Aturan kondisional
"Bool": {
"ecs:AssociatePublicIpAddress": "true" #Pernyataan kunci kondisi
}
}
}
}Kombinasi "Allow + Deny dengan Condition" ini pertama-tama memberikan izin Allow yang luas untuk suatu operasi. Kemudian, bertindak sebagai pengaman dengan menolak secara tepat operasi tertentu yang tidak sesuai dengan dasar keamanan. Sebagai contoh, "Izinkan pembuatan Instance ECS, tetapi tolak operasi jika ada upaya untuk melampirkan alamat IP publik." Ini membuat kebijakan keamanan menjadi aturan yang dapat diterapkan di platform, bukan sekadar panduan.
Prosedur
Entitas yang ingin Anda batasi harus memiliki dua kebijakan yang dilampirkan: kebijakan Allow, seperti AliyunECSFullAccess, yang mengizinkan operasi, dan kebijakan Deny yang Anda buat. Ketika pengguna melakukan operasi, kebijakan Allow memberikan izin, sementara kebijakan Deny bertindak sebagai auditor keamanan yang menolak upaya yang tidak sesuai. Langkah-langkah berikut akan membimbing Anda melalui pembuatan dan implementasi dasar keamanan berdasarkan kebijakan RAM.
Identifikasi operasi utama dan kondisi untuk dibatasi
Pertama, identifikasi aturan keamanan yang ingin Anda tegakkan dan temukan RAM Action dan kunci kondisi yang sesuai. Kunci kondisi adalah parameter yang disediakan API layanan Alibaba Cloud kepada RAM untuk evaluasi. Anda dapat menemukan kunci-kunci ini di dokumentasi API untuk layanan tertentu. Sebagai contoh, untuk tindakan ecs:RunInstances, Anda dapat menemukan semua kunci kondisi yang didukung di bagian "Informasi Otorisasi" dari dokumentasi RunInstances.
Menulis Kebijakan Tolak Akses Bersyarat
Masuk ke Konsol Resource Access Management (RAM). Di panel navigasi di sebelah kiri, pilih .
Di halaman Kebijakan Akses, klik Create Policy.
Di halaman Create Policy, klik tab Script Editor, masukkan dokumen kebijakan berikut, dan klik OK.
Contoh berikut menunjukkan kebijakan akses umum dan terverifikasi:
Masukkan Policy Name dan Note, klik OK, dan kemudian lengkapi otentikasi keamanan.
Lampirkan kebijakan akses
Setelah Anda membuat kebijakan, lampirkan ke Pengguna RAM, kelompok pengguna, atau peran yang ingin Anda batasi.
Masuk ke Konsol RAM. Di panel navigasi di sebelah kiri, pilih .
Di halaman Users, temukan Pengguna RAM target dan klik Add Permissions di kolom Actions.
Di panel Add Permissions, pilih kebijakan akses dan klik OK.