Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kelola akses AWS dengan membuat kebijakan dan melampirkannya ke identitas IAM (pengguna, grup pengguna, atau peran) atau sumber daya. AWS Kebijakan adalah objek AWS yang, ketika dikaitkan dengan identitas atau sumber daya, menentukan izinnya. AWS mengevaluasi kebijakan ini ketika kepala sekolah IAM (pengguna atau peran) membuat permintaan. Izin dalam kebijakan menentukan apakah permintaan diizinkan atau ditolak. Sebagian besar kebijakan disimpan AWS sebagai dokumen JSON. AWS mendukung tujuh jenis kebijakan: kebijakan berbasis identitas, kebijakan berbasis sumber daya, batas izin, kebijakan kontrol AWS Organizations layanan (), kebijakan kontrol AWS Organizations sumber daya (SCPs), daftar kontrol akses (RCPs), dan kebijakan sesi. ACLs
Kebijakan IAM mendefinisikan izin untuk suatu tindakan terlepas dari metode yang Anda gunakan untuk melakukan operasinya. Misalnya, jika kebijakan mengizinkan GetUsertindakan, maka pengguna dengan kebijakan tersebut bisa mendapatkan informasi pengguna dari AWS Management Console, API AWS CLI, atau AWS API. Saat Anda membuat pengguna IAM, Anda dapat memilih untuk mengizinkan akses konsol atau program. Jika akses konsol diizinkan, pengguna IAM dapat masuk ke konsol menggunakan kredenal masuk mereka. Jika akses terprogram diizinkan, pengguna dapat menggunakan kunci akses untuk bekerja dengan CLI atau API.
Jenis kebijakan
Jenis kebijakan berikut, yang tercantum dalam urutan dari yang paling sering digunakan hingga yang lebih jarang digunakan, tersedia untuk digunakan di AWS. Untuk perincian selengkapnya, lihat bagian di bawah ini untuk setiap jenis kebijakan.
-
Kebijakan berbasis identitas - Lampirkan kebijakan terkelola dan sebaris ke identitas IAM (pengguna, grup tempat pengguna berada, atau peran). Kebijakan berbasis identitas memberikan izin kepada sebuah identitas.
-
Kebijakan berbasis sumber daya – Lampirkan kebijakan yang sesuai ke sumber daya. Contoh kebijakan berbasis sumber daya yang paling umum adalah kebijakan bucket Amazon S3 dan kebijakan kepercayaan peran IAM. Kebijakan berbasis sumber daya memberikan izin kepada prinsipal yang ditentukan dalam kebijakan. Prinsipal dapat berada di akun yang sama dengan sumber daya atau di akun lain.
-
Batas izin – Gunakan kebijakan terkelola sebagai batas izin untuk entitas IAM (pengguna atau peran). Kebijakan tersebut menentukan izin maksimum yang dapat diberikan oleh kebijakan berbasis identitas kepada entitas, tetapi tidak memberikan izin. Batas izin tidak menentukan izin maksimum yang dapat diberikan oleh kebijakan berbasis sumber daya kepada entitas.
-
AWS Organizations SCPsGunakan kebijakan kontrol AWS Organizations layanan (SCP) untuk menentukan izin maksimum bagi pengguna IAM dan peran IAM dalam akun di organisasi atau unit organisasi (OU) Anda. SCPs membatasi izin yang diberikan oleh kebijakan berbasis identitas atau kebijakan berbasis sumber daya kepada pengguna IAM atau peran IAM dalam akun. SCPs jangan berikan izin.
-
AWS Organizations RCPsGunakan kebijakan kontrol AWS Organizations sumber daya (RCP) untuk menentukan izin maksimum untuk sumber daya dalam akun di organisasi atau unit organisasi (OU) Anda. RCPs membatasi izin yang dapat diberikan oleh kebijakan berbasis identitas dan sumber daya ke sumber daya di akun dalam organisasi Anda. RCPs jangan berikan izin.
-
Daftar kontrol akses (ACLs) — Gunakan ACLs untuk mengontrol prinsipal mana di akun lain yang dapat mengakses sumber daya yang dilampirkan ACL. ACLs mirip dengan kebijakan berbasis sumber daya, meskipun mereka adalah satu-satunya jenis kebijakan yang tidak menggunakan struktur dokumen kebijakan JSON. ACLs adalah kebijakan izin lintas akun yang memberikan izin kepada prinsipal yang ditentukan. ACLs tidak dapat memberikan izin kepada entitas dalam akun yang sama.
-
Kebijakan sesi — Lulus kebijakan sesi lanjutan saat Anda menggunakan AWS CLI atau AWS API untuk mengambil peran atau pengguna gabungan. Kebijakan sesi membatasi izin yang diberikan oleh peran atau kebijakan berbasis identitas pengguna ke sesi. Kebijakan sesi membatasi izin untuk sesi yang dibuat, tetapi tidak memberikan izin. Untuk informasi lebih lanjut, lihat Kebijakan Sesi
Kebijakan berbasis identitas
Kebijakan berbasis identitas adalah dokumen kebijakan JSON yang mengontrol tindakan apa yang dapat dilakukan oleh identitas (pengguna, grup, dan peran), di sumber daya yang mana, dan di bawah ketentuan-ketentuan apa. Kebijakan berbasis identitas dapat dikategorikan lebih lanjut:
-
Kebijakan terkelola — Kebijakan berbasis identitas mandiri yang dapat Anda lampirkan ke beberapa pengguna, grup, dan peran di Anda. Akun AWS Ada dua jenis kebijakan terkelola:
-
AWS kebijakan terkelola — Kebijakan terkelola yang dibuat dan dikelola oleh AWS.
-
Kebijakan terkelola pelanggan — Kebijakan terkelola yang Anda buat dan kelola di Anda Akun AWS. Kebijakan yang dikelola pelanggan memberikan kontrol yang lebih tepat atas kebijakan Anda daripada kebijakan yang AWS dikelola.
-
-
Kebijakan inline – Kebijakan yang Anda tambahkan secara langsung ke satu pengguna, grup, atau peran. Kebijakan inline mempertahankan one-to-one hubungan yang ketat antara kebijakan dan identitas. Mereka dihapus ketika Anda menghapus identitas.
Untuk mempelajari cara memilih antara kebijakan terkelola dan kebijakan inline, lihat Memilih antara kebijakan terkelola dan kebijakan inline.
Kebijakan berbasis sumber daya
Kebijakan berbasis sumber daya adalah dokumen kebijakan JSON yang Anda lampirkan ke sumber daya seperti bucket Amazon S3. Kebijakan ini memberikan izin prinsipal yang ditentukan untuk melakukan tindakan tertentu pada sumber daya tersebut dan menetapkan di bawah ketentuan yang berlaku. Kebijakan berbasis sumber daya merupakan kebijakan inline. Tidak ada kebijakan berbasis sumber daya terkelola.
Untuk mengaktifkan akses akun silang, Anda dapat menentukan seluruh akun atau entitas IAM di akun lain sebagai penanggung jawab kebijakan berbasis sumber daya. Menambahkan prinsipal akun silang ke kebijakan berbasis sumber daya hanya setengah dari membangun hubungan kepercayaan. Ketika prinsipal dan sumber daya terpisah Akun AWS, Anda juga harus menggunakan kebijakan berbasis identitas untuk memberikan akses utama ke sumber daya. Namun, jika kebijakan berbasis sumber daya memberikan akses ke principal dalam akun yang sama, tidak diperlukan kebijakan berbasis identitas tambahan. Untuk petunjuk langkah demi langkah untuk memberikan akses lintaslayanan, lihat IAMtutorial: Delegasikan akses di seluruh AWS akun menggunakan peran IAM.
Layanan IAM hanya mendukung satu jenis kebijakan berbasis sumber daya yang disebut peran kebijakan kepercayaan, yang terlampir pada peran IAM. Peran IAM adalah identitas dan sumber daya yang mendukung kebijakan berbasis sumber daya. Oleh karena itu, Anda harus melampirkan baik kebijakan kepercayaan dan kebijakan berbasis identitas pada peran IAM. Kebijakan kepercayaan menentukan entitas prisipal mana (akun, pengguna, peran, dan pengguna gabungan) yang dapat memegang peran tersebut. Untuk mempelajari bagaimana peran IAM berbeda dengan kebijakan berbasis sumber daya lainnya, lihat Akses sumber daya lintas akun di IAM.
Untuk melihat mana layanan lainnya yang mendukung kebijakan berbasis sumber daya, lihat AWS layanan yang bekerja dengan IAM. Untuk mempelajari lebih lanjut tentang kebijakan berbasis sumber daya, lihat Kebijakan berbasis identitas dan kebijakan berbasis sumber daya. Untuk mempelajari apakah prinsipal dalam akun di luar zona kepercayaan (organization atau akun terpercaya) memiliki akses untuk mengambil peran Anda, lihat Apa yang dimaksud dengan Penganalisis Akses IAM?.
Batas izin IAM
Batas izin adalah fitur lanjutan di mana Anda mengatur izin maksimum yang dapat diberikan oleh kebijakan berbasis identitas ke entitas IAM. Saat Anda menetapkan batas izin untuk suatu entitas, entitas hanya dapat melakukan tindakan yang diizinkan oleh kedua kebijakan berbasis identitas dan batas izinnya. Jika Anda menentukan sesi peran atau pengguna dalam elemen utama kebijakan berbasis sumber daya, izin eksplisit dalam batas izin tidak diperlukan. Namun, jika Anda menentukan peran ARN dalam elemen utama kebijakan berbasis sumber daya, izin eksplisit dalam batas izin diperlukan. Dalam kedua kasus tersebut, penolakan eksplisit dalam batas izin efektif. Penolakan eksplisit dalam salah satu kebijakan ini akan menggantikan pemberian izin. Untuk informasi lebih lanjut tentang batas izin, lihat Batas izin untuk entitas IAM.
AWS Organizations kebijakan kontrol layanan (SCPs)
Jika Anda mengaktifkan semua fitur dalam suatu organisasi, maka Anda dapat menerapkan kebijakan kontrol layanan (SCPs) ke salah satu atau semua akun Anda. SCPs adalah kebijakan JSON yang menentukan izin maksimum untuk pengguna IAM dan peran IAM dalam akun organisasi atau unit organisasi (OU). SCP membatasi izin untuk prinsipal di akun anggota, termasuk masing-masing. Pengguna root akun AWS Penolakan eksplisit dalam salah satu kebijakan ini mengesampingkan izin dalam kebijakan lain.
Untuk informasi selengkapnya tentang AWS Organizations dan SCPs, lihat Kebijakan kontrol layanan (SCPs) di Panduan AWS Organizations Pengguna.
AWS Organizations kebijakan kontrol sumber daya (RCPs)
Jika Anda mengaktifkan semua fitur dalam organisasi, Anda dapat menggunakan kebijakan kontrol sumber daya (RCPs) untuk menerapkan kontrol akses secara terpusat pada sumber daya di beberapa Akun AWS sumber daya. RCPs adalah kebijakan JSON yang dapat Anda gunakan untuk menetapkan izin maksimum yang tersedia untuk sumber daya di akun Anda tanpa memperbarui kebijakan IAM yang dilampirkan ke setiap sumber daya yang Anda miliki. RCP membatasi izin untuk sumber daya di akun anggota dan dapat memengaruhi izin efektif untuk identitas, termasuk Pengguna root akun AWS, terlepas dari apakah itu milik organisasi Anda. Penolakan eksplisit dalam RCP yang berlaku mengesampingkan izin dalam kebijakan lain yang mungkin dilampirkan pada identitas atau sumber daya individu.
Untuk informasi selengkapnya tentang AWS Organizations dan RCPs menyertakan daftar dukungan Layanan AWS tersebut RCPs, lihat Kebijakan kontrol sumber daya (RCPs) di Panduan AWS Organizations Pengguna.
Daftar kontrol akses (ACLs)
Access control lists (ACLs) adalah kebijakan layanan yang memungkinkan Anda mengontrol prinsipal mana di akun lain yang dapat mengakses sumber daya. ACLs tidak dapat digunakan untuk mengontrol akses untuk prinsipal dalam akun yang sama. ACLs mirip dengan kebijakan berbasis sumber daya, meskipun mereka adalah satu-satunya jenis kebijakan yang tidak menggunakan format dokumen kebijakan JSON. Amazon S3, AWS WAF, dan Amazon VPC adalah contoh layanan yang mendukung. ACLs Untuk mempelajari selengkapnya ACLs, lihat ikhtisar Access Control List (ACL) di Panduan Pengembang Layanan Penyimpanan Sederhana Amazon.
Kebijakan sesi
Kebijakan sesi adalah kebijakan lanjutan yang Anda teruskan sebagai parameter saat Anda membuat sesi sementara secara terprogram untuk peran atau pengguna gabungan. Izin untuk sesi adalah titik temu kebijakan berbasis identitas untuk entitas IAM (pengguna atau peran) yang digunakan untuk membuat sesi dan kebijakan sesi. Izin juga dapat berasal dari kebijakan berbasis sumber daya. Penolakan secara eksplisit dalam salah satu kebijakan ini membatalkan izin.
Anda dapat membuat sesi peran dan memberikan kebijakan sesi secara terprogram menggunakan operasi API AssumeRole
, AssumeRoleWithSAML
, atau AssumeRoleWithWebIdentity
. Anda dapat meneruskan suatu dokumen kebijakan sesi inline JSON tunggal dengan menggunakan parameter Policy
. Anda dapat menggunakan parameter PolicyArns
untuk menentukan hingga 10 kebijakan sesi terkelola. Untuk informasi selengkapnya tentang cara membuat sesi peran, lihat Izin untuk kredensial keamanan sementara.
Saat membuat sesi pengguna federasi, Anda menggunakan kunci akses pengguna IAM untuk memanggil operasi API secara terprogram. GetFederationToken
Anda juga harus memberikan kebijakan sesi. Izin sesi yang dihasilkan adalah persimpangan kebijakan berbasis identitas dan kebijakan sesi. Untuk informasi selengkapnya tentang cara membuat sesi pengguna gabungan, lihat Meminta kredensi melalui pialang identitas khusus.
Kebijakan berbasis sumber daya dapat menentukan ARN pengguna atau peran sebagai prinsipal. Dalam hal ini, izin dari kebijakan berbasis sumber daya ditambahkan ke peran atau kebijakan berbasis identitas pengguna sebelum sesi dibuat. Kebijakan sesi membatasi total izin yang diberikan oleh kebijakan berbasis sumber daya dan kebijakan berbasis identitas. Izin sesi yang dihasilkan adalah persimpangan kebijakan sesi dan kebijakan berbasis sumber daya ditambah persimpangan kebijakan sesi dan kebijakan berbasis identitas.

Kebijakan berbasis sumber daya dapat menentukan ARN sesi sebagai prinsipal. Dalam hal ini, izin dari kebijakan berbasis sumber daya ditambahkan setelah sesi dibuat. Izin kebijakan berbasis sumber daya tidak terbatas oleh kebijakan sesi. Izin sesi yang dihasilkan mempunyai semua izin dari kebijakan berbasis sumber daya ditambah titik pertemuan antara kebijakan berbasis identitas dan kebijakan sesi.

Batas izin dapat mengatur izin maksimum untuk pengguna atau peran yang digunakan untuk membuat sebuah sesi. Dalam kasus ini, Izin sesi yang dihasilkan adalah titik pertemuan antara kebijakan kebijakan sesi, batas izin, dan kebijakan berbasis identitas. Namun, batas izin tidak membatasi izin yang diberikan oleh kebijakan berbasis sumber daya yang menentukan ARN dari sesi yang dihasilkan.

Kebijakan dan pengguna root
Pengguna root akun AWS Ini dipengaruhi oleh beberapa jenis kebijakan tetapi tidak yang lain. Anda tidak dapat melampirkan kebijakan berbasis identitas ke pengguna root, dan Anda tidak dapat menetapkan batas izin bagi pengguna root. Namun, Anda dapat menentukan pengguna root sebagai prinsipal dalam kebijakan berbasis sumber daya atau ACL. Pengguna root masih menjadi anggota akun. Jika akun itu adalah anggota organisasi di AWS Organizations, pengguna root dipengaruhi oleh SCPs dan RCPs untuk akun tersebut.
Gambaran dari kebijakan JSON
Sebagian besar kebijakan disimpan AWS sebagai dokumen JSON. Kebijakan berbasis identitas dan kebijakan yang digunakan untuk mengatur batas izin adalah dokumen kebijakan JSON yang Anda lampirkan pada pengguna atau peran. Kebijakan berbasis sumber daya adalah dokumen kebijakan JSON yang Anda lampirkan ke sumber daya. SCPsdan RCPs merupakan dokumen kebijakan JSON dengan sintaks terbatas yang Anda lampirkan ke AWS Organizations'root organisasi, unit organisasi (OU), atau akun. ACLs juga melekat pada sumber daya, tetapi Anda harus menggunakan sintaks yang berbeda. Kebijakan sesi adalah kebijakan JSON yang berikan saat Anda mengambil sebuah peran atau sesi pengguna gabungan.
Tidak perlu bagi Anda untuk memahami sintaks JSON. Anda dapat menggunakan editor visual AWS Management Console untuk membuat dan mengedit kebijakan yang dikelola pelanggan tanpa pernah menggunakan JSON. Namun, jika Anda menggunakan kebijakan inline untuk grup atau kebijakan yang kompleks, Anda masih harus membuat dan mengubah kebijakan tersebut di editor JSON menggunakan konsol. Untuk informasi lebih lanjut tentang cara menggunakan editor visual, lihat Tentukan IAM izin khusus dengan kebijakan terkelola pelanggan dan Edit IAM kebijakan.
Saat Anda membuat atau mengedit kebijakan JSON, IAM dapat melakukan validasi kebijakan untuk membantu Anda membuat kebijakan yang efektif. IAM mengidentifikasi kesalahan sintaks JSON, sementara IAM Access Analyzer menyediakan pemeriksaan kebijakan tambahan dengan rekomendasi untuk membantu Anda menyempurnakan kebijakan Anda lebih lanjut. Untuk mempelajari selengkapnya tentang validasi kebijakan, lihat Validasi kebijakan IAM. Untuk mempelajari selengkapnya tentang pemeriksaan kebijakan IAM Access Analyzer dan rekomendasi yang dapat ditindaklanjuti, lihat validasi kebijakan IAM Access Analyzer.
Struktur dokumen kebijakan JSON
Sebagaimana digambarkan dalam gambar berikut, dokumen kebijakan JSON mencakup elemen-elemen ini:
-
Informasi opsional untuk seluruh kebijakan di bagian atas dokumen
-
Satu atau lebih pernyataan individu
Setiap pernyataan mencakup informasi tentang satu izin. Jika kebijakan mencakup beberapa pernyataan, AWS terapkan logika OR
di seluruh pernyataan saat mengevaluasinya. Jika beberapa kebijakan berlaku untuk permintaan, AWS terapkan logika OR
di semua kebijakan tersebut saat mengevaluasinya.

Informasi dalam pernyataan terkandung di dalam rangkaian elemen.
-
Version – Tentukan versi bahasa kebijakan yang ingin Anda gunakan. Kami menyarankan Anda menggunakan
2012-10-17
versi terbaru. Untuk informasi selengkapnya, lihat IAMJSONelemen kebijakan: Version -
Statement – Gunakan elemen kebijakan utama ini sebagai wadah untuk elemen berikut. Anda dapat menyertakan lebih dari satu pernyataan dalam kebijakan.
-
Sid (Opsional) – Sertakan ID pernyataan opsional untuk membedakan antara pernyataan Anda.
-
Effect – Gunakan
Allow
atauDeny
untuk menunjukkan apakah kebijakan mengizinkan atau menolak akses. -
Principal(Diperlukan dalam beberapa keadaan) — Jika Anda membuat kebijakan berbasis sumber daya, Anda harus menunjukkan akun, pengguna, peran, atau pengguna gabungan yang ingin Anda izinkan atau tolak aksesnya. Jika Anda membuat kebijakan izin IAM untuk melampirkan ke pengguna atau peran, Anda tidak dapat menyertakan elemen ini. Prinsipal tersirat sebagai pengguna atau peran tersebut.
-
Action – Sertakan daftar tindakan yang diperbolehkan atau ditolak oleh kebijakan.
-
Resource(Diperlukan dalam beberapa keadaan) — Jika Anda membuat kebijakan izin IAM, Anda harus menentukan daftar sumber daya yang diterapkan tindakan tersebut. Jika Anda membuat kebijakan berbasis sumber daya, itu tergantung pada sumber daya yang Anda gunakan, apakah elemen ini diperlukan atau tidak.
-
Condition (Opsional) – Tentukan keadaan di mana kebijakan memberikan izin.
Untuk mempelajari tentang ini dan elemen kebijakan yang lebih maju lainnya, lihat Referensi elemen kebijakan IAM JSON.
Beberapa pernyataan dan beberapa kebijakan
Jika Anda ingin menetapkan lebih dari satu izin untuk suatu entitas (pengguna atau peran), Anda dapat menggunakan beberapa pernyataan dalam satu kebijakan. Anda juga dapat melampirkan beberapa kebijakan. Jika Anda mencoba untuk menentukan beberapa izin dalam satu pernyataan, kebijakan Anda mungkin tidak memberikan akses yang Anda harapkan. Kami menyarankan Anda memecah kebijakan berdasarkan jenis sumber daya.
Karena ukuran kebijakan yang terbatas, mungkin perlu menggunakan beberapa kebijakan untuk izin yang lebih kompleks. Ini juga merupakan ide bagus untuk membuat pengelompokan fungsional izin dalam kebijakan pengelolaan pelanggan yang terpisah. Misalnya, Buat satu kebijakan untuk manajemen pengguna IAM, satu untuk manajemen mandiri, dan kebijakan lain untuk manajemen bucket S3. Terlepas dari kombinasi beberapa pernyataan dan beberapa kebijakan, AWS evaluasi kebijakan Anda dengan cara yang sama.
Misalnya, kebijakan berikut memiliki tiga pernyataan, yang masing-masing mendefinisikan satu set izin secara terpisah dalam satu akun. Pernyataan tersebut menjelaskan hal berikut:
-
Pernyataan pertama, dengan sebuah
Sid
(ID Pernyataan) dariFirstStatement
, memungkinkan pengguna dengan kebijakan terlampir untuk mengubah kata sandi milik mereka. ElemenResource
dalam pernyataan ini adalah “*
“ (yang berarti “semua sumber daya”). Namun dalam pelaksanaannya, Operasi APIChangePassword
(atau setara Perintah CLIchange-password
) hanya memengaruhi kata sandi untuk pengguna yang membuat permintaan. -
Pernyataan kedua memungkinkan pengguna mencantumkan semua ember Amazon S3 di dalamnya. Akun AWS Elemen
Resource
dalam pernyataan ini adalah"*"
(yang berarti “semua sumber daya”). Tetapi karena kebijakan tidak memberikan akses ke sumber daya di akun lain, pengguna hanya dapat mencantumkan bucket di akun mereka sendiri Akun AWS. -
Pernyataan ketiga memungkinkan pengguna membuat daftar dan mengambil objek apa saja yang ada di dalam bucket bernama
amzn-s3-demo-bucket-confidential-data
, tetapi hanya saat pengguna diautentikasi dengan Autentikasi Multi-Faktor (MFA). ElemenCondition
dalam kebijakan tersebut memberlakukan autentikasi MFA.Saat pernyataan kebijakan memuat elemen
Condition
, pernyataan hanya berlaku saat elemenCondition
dievaluasi menjadi benar. Dalam kasus ini,Condition
mengevaluasi menjadi benar saat pengguna diautentikasi MFA. Jika pengguna tidak diautentikasi MFA,Condition
dievaluasi menjadi salah. Dalam hal ini, pernyataan ketiga dalam kebijakan ini tidak berlaku dan pengguna tidak memiliki akses ke bucketamzn-s3-demo-bucket-confidential-data
.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "FirstStatement",
"Effect": "Allow",
"Action": ["iam:ChangePassword"],
"Resource": "*"
},
{
"Sid": "SecondStatement",
"Effect": "Allow",
"Action": "s3:ListAllMyBuckets",
"Resource": "*"
},
{
"Sid": "ThirdStatement",
"Effect": "Allow",
"Action": [
"s3:List*",
"s3:Get*"
],
"Resource": [
"arn:aws:s3:::amzn-s3-demo-bucket-confidential-data",
"arn:aws:s3:::amzn-s3-demo-bucket-confidential-data/*"
],
"Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}
}
]
}
Contoh sintaks kebijakan JSON
Kebijakan berbasis identitas berikut mengizinkan prinsipal tersirat untuk mencantumkan satu bucket Amazon S3 dengan nama amzn-s3-demo-bucket
:
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket"
}
}
Kebijakan berbasis sumber daya berikut dapat dilampirkan ke bucket Amazon S3 Kebijakan ini memungkinkan anggota tertentu Akun AWS untuk melakukan tindakan Amazon S3 apa pun dalam bucket yang diberi nama. amzn-s3-demo-bucket
Hal ini mengizinkan tindakan apa pun yang dapat dilakukan pada bucket atau objek di dalamnya. (Karena kebijakan tersebut hanya memberikan kepercayaan ke akun, pengguna individu dalam akun tersebut harus tetap diberikan izin untuk tindakan Amazon S3 yang ditentukan.)
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "1",
"Effect": "Allow",
"Principal": {"AWS": ["arn:aws:iam::account-id
:root"]},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::amzn-s3-demo-bucket",
"arn:aws:s3:::amzn-s3-demo-bucket/*"
]
}]
}
Untuk melihat contoh kebijakan untuk skenario umum, lihat Contoh kebijakan berbasis identitas IAM.
Berikan hak akses paling rendah
Saat Anda membuat kebijakan IAM, ikuti saran keamanan standar untuk memberikan hak istimewa paling rendah, atau hanya memberikan izin yang diperlukan untuk melakukan tugas. Tentukan apa yang perlu dilakukan pengguna dan peran dan kemudian buat kebijakan yang memungkinkan mereka hanya melakukan tugas-tugas tersebut.
Mulai dengan satu set izin minimum dan berikan izin tambahan sesuai kebutuhan. Melakukan hal tersebut lebih aman daripada memulai dengan izin yang terlalu fleksibel, lalu mencoba memperketatnya nanti.
Sebagai alternatif dari hak istimewa terkecil, Anda dapat menggunakan kebijakan atau kebijakan AWS terkelola dengan *
izin wildcard untuk memulai kebijakan. Pertimbangkan risiko keamanan untuk memberikan izin kepada kepala sekolah Anda lebih banyak daripada yang mereka butuhkan untuk melakukan pekerjaan mereka. Pantau prinsipal tersebut untuk mempelajari izin mana yang mereka gunakan. Kemudian tulis kebijakan hak istimewa paling sedikit.
IAM menyediakan beberapa opsi untuk membantu Anda memperbaiki izin yang Anda berikan.
-
Memahami pengelompokan tingkat akses — Anda dapat menggunakan pengelompokan tingkat akses untuk memahami tingkat akses yang diberikan kebijakan. Tindakan kebijakan diklasifikasikan sebagai
List
,Read
,Write
,Permissions management
, atauTagging
. Misalnya, Anda dapat memilih tindakan dari tingkat aksesList
danRead
untuk memberikan akses hanya-baca kepada pengguna Anda. Untuk mempelajari cara menggunakan ringkasan kebijakan untuk memahami izin tingkat akses, lihat Tingkat akses dalam ringkasan kebijakan. -
Validasi kebijakan Anda — Anda dapat melakukan validasi kebijakan menggunakan IAM Access Analyzer saat membuat dan mengedit kebijakan JSON. Sebaiknya Anda meninjau dan memvalidasi semua kebijakan yang ada. IAM Access Analyzer menyediakan lebih dari 100 pemeriksaan kebijakan untuk memvalidasi kebijakan Anda. Ini menghasilkan peringatan keamanan ketika pernyataan dalam kebijakan Anda memungkinkan akses yang kita anggap terlalu permisif. Anda dapat menggunakan rekomendasi yang dapat ditindaklanjuti yang disediakan melalui peringatan keamanan saat Anda berupaya memberikan hak istimewa paling rendah. Untuk mempelajari selengkapnya tentang pemeriksaan kebijakan yang disediakan oleh IAM Access Analyzer, lihat validasi kebijakan IAM Access Analyzer.
-
Buat kebijakan berdasarkan aktivitas akses — Untuk membantu Anda memperbaiki izin yang Anda berikan, Anda dapat membuat kebijakan IAM yang didasarkan pada aktivitas akses untuk entitas IAM (pengguna atau peran). IAM Access Analyzer meninjau AWS CloudTrail log Anda dan menghasilkan templat kebijakan yang berisi izin yang telah digunakan oleh entitas dalam jangka waktu yang ditentukan. Anda dapat menggunakan templat untuk membuat kebijakan terkelola dengan izin berbutir halus, lalu melampirkannya ke entitas IAM. Dengan begitu, Anda hanya memberikan izin yang dibutuhkan pengguna atau peran untuk berinteraksi dengan AWS sumber daya untuk kasus penggunaan spesifik Anda. Untuk mempelajari selengkapnya, lihat Pembuatan kebijakan IAM Access Analyzer.
-
Gunakan informasi yang diakses terakhir - Fitur lain yang dapat membantu dengan hak istimewa paling sedikit adalah informasi yang diakses terakhir. Lihat informasi ini di tab Penasihat Akses pada halaman detail konsol IAM untuk pengguna, grup, peran, atau kebijakan IAM. Informasi yang diakses terakhir juga mencakup informasi tentang tindakan yang terakhir diakses untuk beberapa layanan, seperti Amazon, IAM EC2, Lambda, dan Amazon S3. Jika Anda masuk menggunakan kredensil akun AWS Organizations manajemen, Anda dapat melihat informasi layanan yang terakhir diakses di AWS Organizationsbagian konsol IAM. Anda juga dapat menggunakan AWS API AWS CLI atau untuk mengambil laporan untuk informasi yang terakhir diakses untuk entitas atau kebijakan di IAM atau. AWS Organizations Anda dapat menggunakan informasi ini untuk mengidentifikasi izin yang tidak perlu sehingga Anda dapat menyempurnakan IAM atau AWS Organizations kebijakan Anda untuk lebih mematuhi prinsip hak istimewa yang paling rendah. Untuk informasi selengkapnya, lihat Memperbaiki izin dalam AWS menggunakan informasi yang terakhir diakses.
-
Tinjau peristiwa akun di AWS CloudTrail — Untuk mengurangi izin lebih lanjut, Anda dapat melihat peristiwa akun Anda di Riwayat AWS CloudTrail acara. CloudTrail log peristiwa mencakup informasi peristiwa terperinci yang dapat Anda gunakan untuk mengurangi izin kebijakan. Log hanya mencakup tindakan dan sumber daya yang diperlukan oleh entitas IAM Anda. Untuk informasi selengkapnya, lihat Melihat CloudTrail Acara di CloudTrail Konsol di Panduan AWS CloudTrail Pengguna.
Untuk informasi selengkapnya, lihat topik kebijakan berikut untuk layanan individual, yang memberikan contoh cara menulis kebijakan untuk sumber daya khusus layanan.
-
Menggunakan kebijakan berbasis sumber daya untuk DynamoDB di Panduan Pengembang Amazon DynamoDB
-
Kebijakan bucket untuk Amazon S3 di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon
-
Ikhtisar Access Control List (ACL) di Panduan Pengguna Amazon Simple Storage Service