Identiti Awan: Peranan IAM dan Akaun Perkhidmatan
Konfigurasikan peranan IAM dan akaun perkhidmatan dengan keistimewaan minimum pada platform awan, serta elakkan kesilapan biasa seperti keizinan kad bebas dan kunci berjangka hayat panjang.
Identiti Awan: Peranan IAM dan Akaun Perkhidmatan ialah pelajaran Security+ Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Security+ Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Security+ Academy merangkumi sejumlah 4 pelajaran.
Asas Identiti Awan
Dalam persekitaran awan, identiti ialah perimeter baharu. Setiap tindakan — daripada memulakan VM, membaca pangkalan data hingga memanggil API — dibenarkan berdasarkan identiti yang membuat panggilan. Sistem IAM awan (Pengurusan Identiti dan Akses) mentakrifkan siapa yang boleh melakukan apa pada sumber yang mana. Tidak seperti persekitaran di premis yang lokasi rangkaian memberikan kepercayaan tersirat, IAM awan menganggap setiap permintaan memerlukan kebenaran jelas tanpa mengira asalnya.
Pengguna, Kumpulan dan Peranan dalam AWS IAM
AWS IAM mempunyai tiga jenis identiti utama. Pengguna IAM mewakili manusia atau aplikasi individu dengan bukti kelayakan jangka panjang (kunci akses + kunci rahsia). Kumpulan IAM menghimpunkan pengguna dan menetapkan kebenaran dikongsi. Peranan IAM ialah identiti dengan bukti kelayakan sementara yang boleh diambil oleh pengguna, perkhidmatan AWS (EC2, Lambda) atau akaun lain. Peranan diutamakan berbanding kunci akses jangka panjang kerana bukti kelayakannya luput secara automatik, lalu mengurangkan risiko pendedahan bukti kelayakan.
# IAM role trust policy — allows EC2 to assume this role
{
'Version': '2012-10-17',
'Statement': [{
'Effect': 'Allow',
'Principal': { 'Service': 'ec2.amazonaws.com' },
'Action': 'sts:AssumeRole'
}]
}
# EC2 instance with this role attached can call AWS APIs
# using temporary credentials from the instance metadata serviceKeistimewaan Minimum dalam Polisi IAM
Polisi IAM mentakrifkan tindakan yang boleh dilakukan oleh identiti terhadap sumber yang mana. Prinsip keistimewaan minimum menghendaki polisi memberikan hanya tindakan khusus yang diperlukan untuk tugasan tersebut. Pelanggaran yang biasa termasuk menggunakan kad bebas * untuk tindakan (memberikan semua tindakan dalam sesuatu perkhidmatan), menggunakan * untuk sumber (memberikan akses kepada semua sumber) dan melampirkan polisi terurus yang terlalu luas seperti AdministratorAccess pada akaun perkhidmatan. Setiap kad bebas hendaklah mempunyai justifikasi dan disemak secara berkala.
# Overly permissive policy (AVOID)
{
'Effect': 'Allow',
'Action': 's3:*', # all S3 actions
'Resource': '*' # all buckets
}
# Least-privilege policy (PREFERRED)
{
'Effect': 'Allow',
'Action': ['s3:GetObject', 's3:ListBucket'],
'Resource': [
'arn:aws:s3:::my-specific-bucket',
'arn:aws:s3:::my-specific-bucket/*'
]
}Akaun Perkhidmatan dalam GCP
Dalam Google Cloud Platform (GCP), beban kerja bukan manusia membuat pengesahan menggunakan akaun perkhidmatan — entiti identiti terurus dengan fail kunci JSON atau Workload Identity Federation. Setiap akaun perkhidmatan hendaklah mematuhi prinsip keistimewaan minimum: berikan akaun itu akses hanya kepada perkhidmatan GCP yang perlu dipanggilnya. Kunci akaun perkhidmatan (fail JSON yang dimuat turun daripada konsol) ialah kelayakan berjangka panjang yang mesti dikendalikan seperti kata laluan — ditukar secara berkala dan tidak sekali-kali dimasukkan ke dalam kod sumber atau dimuat naik ke repositori awam.
# Check service account permissions (gcloud)
gcloud projects get-iam-policy my-project \
--flatten='bindings[].members' \
--format='table(bindings.role, bindings.members)' \
--filter='bindings.members:serviceAccount'
# Prefer Workload Identity over service account keys
# (no downloadable key files — uses workload federation tokens)Identiti Terurus Azure
Identiti Terurus Azure (dahulunya MSI) ialah padanan Azure bagi peranan AWS IAM untuk perkhidmatan — identiti ini membolehkan sumber Azure (VM, App Services, Functions) membuat pengesahan kepada API Azure tanpa menyimpan kelayakan. Terdapat dua jenis: identiti terurus yang ditetapkan sistem terikat pada sumber tertentu dan dipadamkan apabila sumber itu dipadamkan. Identiti terurus yang ditetapkan pengguna ialah objek kendiri yang boleh dikongsi merentas berbilang sumber. Identiti terurus menghapuskan keperluan untuk menyimpan sebarang kunci atau rahsia.
# Azure CLI — assign managed identity to a VM
az vm identity assign \
--name myVM \
--resource-group myRG \
--identities /subscriptions/.../userAssignedIdentities/myIdentity
# The VM can now call Azure Key Vault without any stored credentials:
# Token is fetched automatically from the Instance Metadata ServiceKelayakan Berjangka Panjang: Risikonya
Kelayakan berjangka panjang — kunci akses statik, token API dan fail kunci akaun perkhidmatan yang tidak pernah luput — ialah antara unsur berisiko paling tinggi dalam persekitaran awan. Jika dibocorkan (melalui GitHub, bucket S3, log atau komputer riba pembangun yang telah terjejas), kelayakan ini memberikan akses serta-merta sehingga dibatalkan secara manual. Organisasi hendaklah: mengaudit semua kelayakan berjangka panjang, menukarnya mengikut jadual, mengutamakan akses berasaskan peranan atau bersekutu yang menghasilkan token berjangka pendek, dan memberikan amaran serta-merta apabila kelayakan muncul dalam repositori awam.
# Find IAM access keys older than 90 days (AWS)
aws iam generate-credential-report
aws iam get-credential-report --query 'Content' --output text | \
base64 -d | grep -v 'N/A' | \
awk -F',' '$10 > 90 {print $1, $10}'
# Keys older than 90 days should be rotated or deletedRantaian Peranan IAM dan Peningkatan Keistimewaan
Peningkatan keistimewaan IAM berlaku apabila sesuatu identiti menggunakan gabungan permissions untuk memberikan permissions tambahan kepada dirinya sendiri. Laluan peningkatan yang lazim termasuk: melampirkan dasar yang lebih permisif kepada user sendiri, mencipta user IAM baharu dengan permissions yang dipertingkatkan, menyerahkan peranan (iam:PassRole) kepada sesuatu perkhidmatan, dan mengemas kini peranan pelaksanaan fungsi Lambda. AWS IAM Access Analyzer boleh mengesan corak ini, manakala sempadan permissions IAM boleh mengehadkan secara ketat permissions maksimum yang boleh diberikan kepada mana-mana identiti.
# Dangerous permission combination (enables privilege escalation):
# iam:CreatePolicyVersion + iam:SetDefaultPolicyVersion
# Attacker can create a new policy version with AdministratorAccess
# Or: iam:PassRole + lambda:CreateFunction + lambda:InvokeFunction
# Attacker creates Lambda with a privileged role, invokes it
# Defense: permission boundaries limit maximum grantable permissionsAndaian Peranan Merentas Akaun
Organisasi awan sering menggunakan berbilang akaun (pembangunan, pementasan, produksi, keselamatan) sebagai sempadan jejari letusan. Andaian peranan merentas akaun membolehkan identiti dalam satu akaun mengandaikan peranan dalam akaun lain — sekali gus membolehkan alat berpusat beroperasi merentas akaun. Kawalan keselamatan termasuk: mewajibkan External ID dalam dasar kepercayaan untuk menghalang serangan wakil keliru, mengehadkan akaun yang boleh mengandaikan sesuatu peranan melalui ARN Principal, dan merekodkan semua andaian merentas akaun dalam CloudTrail untuk tujuan audit.
# Trust policy with External ID (confused deputy protection)
{
'Effect': 'Allow',
'Principal': { 'AWS': 'arn:aws:iam::PARTNER-ACCOUNT-ID:root' },
'Action': 'sts:AssumeRole',
'Condition': {
'StringEquals': {
'sts:ExternalId': 'unique-shared-secret-12345'
}
}
}Keselamatan IMDS dan Perkhidmatan Metadata
Instance EC2 AWS boleh mendapatkan kelayakan peranan IAM mereka daripada Perkhidmatan Metadata Instance (IMDS) di http://169.254.169.254. Kelas kerentanan SSRF amat berbahaya di sini: jika sesuatu aplikasi terdedah kepada SSRF, Attacker boleh mencuri keluar kelayakan peranan IAM instance dengan membuat pelayan mengambil data daripada URL IMDS. IMDSv2 (yang memerlukan token sesi) mengurangkan risiko kecurian kelayakan berasaskan SSRF dan hendaklah dikuatkuasakan pada semua instance EC2.
# Enforce IMDSv2 on a new EC2 instance (requires token for IMDS)
aws ec2 run-instances \
--metadata-options 'HttpTokens=required,HttpEndpoint=enabled' \
...
# IMDSv1 (insecure) just needs a GET request:
# curl http://169.254.169.254/latest/meta-data/iam/security-credentials/
# IMDSv2 requires a PUT to get a session token firstIAM Access Analyzer dan Semakan Dasar
IAM Access Analyzer (AWS) mengenal pasti secara automatik Resource yang dikongsi dengan Principal External serta dasar IAM yang memberikan lebih banyak akses daripada yang dimaksudkan. Alat ini menganalisis dasar bucket, dasar kepercayaan peranan dan dasar kunci KMS untuk menandai akses External yang tidak dimaksudkan secara jelas. Semakan dasar IAM secara berkala — secara manual atau menggunakan alat seperti Cloudsplaining, PMapper atau Permissions Boundary Analyzer — penting untuk mengenal pasti laluan peningkatan keistimewaan sebelum Attacker menemuinya.
Workload Identity Federation
Workload Identity Federation membolehkan Workload External (GitHub Actions, sistem di premis, penyedia awan lain) membuat pengesahan kepada IAM awan menggunakan token OIDC berjangka pendek dan bukannya kunci akaun perkhidmatan berjangka panjang. Aliran kerja GitHub Actions boleh mengandaikan peranan AWS IAM menggunakan token OIDCnya sepanjang tempoh tugas, kemudian token itu luput. Pendekatan ini menghapuskan keseluruhan kelas kebocoran kelayakan berjangka panjang daripada saluran CI/CD.
Semakan Pantas
Uji pemahaman anda tentang konsep CompTIA Security+ (SY0-701) daripada pelajaran ini.
Imbas Kembali Pelajaran
Dalam pelajaran ini, anda telah mempelajari bahawa: peranan IAM menyediakan kelayakan sementara dan lebih diutamakan berbanding kunci akses berjangka panjang untuk beban kerja awan, dasar keistimewaan minimum hendaklah mengelakkan aksara kad bebas dan memberikan hanya Action tertentu pada Resource tertentu, serta IMDSv2, sempadan permissions dan Workload Identity Federation menghapuskan laluan pendedahan kelayakan yang lazim. Seterusnya, kita akan meneroka Pengurusan Postur Keselamatan Awan (CSPM).
Pelajari Security+ Academy dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Soalan Lazim
Adakah pelajaran “Identiti Awan: Peranan IAM dan Akaun Perkhidmatan” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Security+ Academy, termasuk “Identiti Awan: Peranan IAM dan Akaun Perkhidmatan”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Security+ Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Identiti Awan: Peranan IAM dan Akaun Perkhidmatan”?
Konfigurasikan peranan IAM dan akaun perkhidmatan dengan keistimewaan minimum pada platform awan, serta elakkan kesilapan biasa seperti keizinan kad bebas dan kunci berjangka hayat panjang. Anda berlatih Security+ Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Security+ Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Security+ Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Identiti Awan: Peranan IAM dan Akaun Perkhidmatan” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Security+ Academy ini?
Ya. Setiap pelajaran Security+ Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Model Tanggungjawab Dikongsi: IaaS, PaaS, SaaS
- Keselamatan Storan Awan dan Risiko Pendedahan Data
- Identiti Awan: Peranan IAM dan Akaun Perkhidmatan
- Pengurusan Postur Keselamatan Awan (CSPM)