AWS Elemen kebijakan JSON: Principal - AWS Identity and Access Management

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

AWS Elemen kebijakan JSON: Principal

Gunakan Principal elemen dalam kebijakan JSON berbasis sumber daya untuk menentukan prinsipal yang diizinkan atau ditolak akses ke sumber daya.

Anda harus menggunakan Principal elemen dalam kebijakan berbasis sumber daya. Beberapa layanan mendukung kebijakan berbasis sumber daya, termasuk IAM. Jenis kebijakan berbasis sumber daya IAM adalah kebijakan kepercayaan peran. Dalam peran IAM, gunakan Principal elemen dalam kebijakan kepercayaan peran untuk menentukan siapa yang dapat mengambil peran tersebut. Untuk akses akun silang, Anda harus menentukan pengidentifikasi 12-digit dari akun tepercaya. Untuk mempelajari apakah prinsipal dalam akun di luar zona kepercayaan (organisasi atau akun terpercaya) memiliki akses untuk mengasumsikan peran Anda, lihat Apa yang dimaksud dengan Penganalisis Akses IAM?.

catatan

Setelah membuat peran, Anda dapat mengubah akun menjadi “*” agar semua orang dapat mengambil peran tersebut. Jika Anda melakukannya, kami sangat menyarankan Anda untuk membatasi siapa yang dapat mengakses peran tersebut melalui cara lain, seperti elemen Condition yang membatasi akses ke alamat IP tertentu saja. Jangan biarkan peran Anda dapat diakses semua orang!

Contoh sumber daya lain yang mendukung kebijakan berbasis sumber daya termasuk bucket Amazon S3 atau file. AWS KMS key

Anda tidak dapat menggunakan Principal elemen dalam kebijakan berbasis identitas. Kebijakan berbasis identitas adalah kebijakan izin yang Anda lampirkan ke identitas IAM (pengguna, grup, atau peran). Dalam kasus tersebut, kepala sekolah secara implisit adalah identitas di mana kebijakan dilampirkan.

Menentukan prinsipal

Anda menentukan prinsipal dalam Principal elemen kebijakan berbasis sumber daya atau dalam kunci kondisi yang mendukung prinsipal.

Anda dapat menyebutkan salah satu prinsip dasar berikut dalam kebijakan:

  • Akun AWS dan pengguna root

  • Peran IAM

  • Sesi peran

  • Pengguna IAM

  • Sesi pengguna federasi

  • AWS layanan

  • Semua kepala sekolah

Anda tidak dapat mengidentifikasi grup pengguna sebagai prinsipal dalam kebijakan (seperti kebijakan berbasis sumber daya) karena grup terkait dengan izin, bukan autentikasi, dan prinsipal adalah entitas IAM yang diautentikasi.

Anda dapat menentukan lebih dari satu prinsipal untuk masing-masing tipe prinsipal dalam bagian berikut menggunakan array. Susunan dapat mengambil satu atau beberapa nilai. Saat Anda menentukan lebih dari satu prinsipal dalam suatu elemen, Anda memberikan izin kepada setiap prinsipal. Ini logis OR dan bukan logisAND, karena Anda mengautentikasi sebagai satu prinsipal pada satu waktu. Jika Anda menyertakan lebih dari satu nilai, gunakan tanda kurung siku ([dan]) dan comma-delimit setiap entri untuk array. Contoh kebijakan berikut mendefinisikan izin untuk akun 123456789012 atau akun 555555555555.

"Principal" : { "AWS": [ "123456789012", "555555555555" ] }
catatan

Anda tidak dapat menggunakan wildcard untuk mencocokkan sebagian nama pengguna utama atau ARN.

Akun AWS kepala sekolah

Anda dapat menentukan Akun AWS pengenal dalam Principal elemen kebijakan berbasis sumber daya atau dalam kunci kondisi yang mendukung prinsipal. Ini mendelegasikan wewenang ke akun. Ketika Anda mengizinkan akses ke akun yang berbeda, administrator di akun tersebut kemudian harus memberikan akses ke identitas (pengguna atau peran IAM) di akun tersebut. Ketika Anda menentukan Akun AWS, Anda dapat menggunakan akun ARN (arn:aws:iam:: account-id:root), atau formulir singkat yang terdiri dari awalan diikuti oleh ID akun. "AWS":

Misalnya, memberikan ID akun 123456789012, Anda dapat menggunakan dari metode berikut untuk menyebutkan akun tersebut di elemen Principal:

"Principal": { "AWS": "arn:aws:iam::123456789012:root" }
"Principal": { "AWS": "123456789012" }

Akun ARN dan ID akun yang dipersingkat berperilaku dengan cara yang sama. Keduanya mendelegasikan izin ke akun. Menggunakan akun ARN dalam Principal elemen tidak membatasi izin hanya untuk pengguna root akun.

catatan

Saat Anda menyimpan kebijakan berbasis sumber daya yang menyertakan ID akun yang dipersingkat, layanan dapat mengubahnya menjadi ARN utama. Ini tidak mengubah fungsionalitas kebijakan.

Beberapa AWS layanan mendukung opsi tambahan untuk menentukan pokok akun. Misalnya, Amazon S3 memungkinkan Anda menentukan ID pengguna canonik menggunakan format berikut:

"Principal": { "CanonicalUser": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be" }

Anda juga dapat menentukan lebih dari satu Akun AWS, (atau ID pengguna kanonik) sebagai prinsipal menggunakan array. Misalnya, Anda dapat menentukan prinsipal dalam kebijakan bucket menggunakan ketiga metode tersebut.

"Principal": { "AWS": [ "arn:aws:iam::123456789012:root", "999999999999" ], "CanonicalUser": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be" }

Kepala peran IAM

Anda dapat menentukan ARN utama peran IAM dalam Principal elemen kebijakan berbasis sumber daya atau dalam kunci kondisi yang mendukung prinsipal. Peran IAM adalah identitas. Di IAM, identitas adalah sumber daya yang dapat Anda tetapkan izin. Peran mempercayai identitas lain yang diautentikasi untuk mengambil peran itu. Ini termasuk prinsipal di AWS atau pengguna dari penyedia identitas eksternal (iDP). Ketika prinsipal atau identitas mengambil peran, mereka menerima kredensil keamanan sementara dengan izin peran yang diasumsikan. Ketika mereka menggunakan kredensi sesi tersebut untuk melakukan operasi AWS, mereka menjadi kepala sesi peran.

Peran IAM adalah identitas yang ada di IAM. Peran mempercayai identitas lain yang diautentikasi, seperti prinsipal di AWS atau pengguna dari penyedia identitas eksternal. Ketika kepala sekolah atau identitas mengambil peran, mereka menerima kredensi keamanan sementara. Mereka kemudian dapat menggunakan kredensil tersebut sebagai prinsipal sesi peran untuk melakukan operasi di. AWS

Saat Anda menentukan prinsipal peran dalam kebijakan berbasis sumber daya, izin efektif untuk prinsipal dibatasi oleh jenis kebijakan apa pun yang membatasi izin untuk peran tersebut. Ini termasuk kebijakan sesi dan batas izin. Untuk informasi selengkapnya tentang bagaimana izin efektif untuk sesi peran dievaluasi, lihat. Logika evaluasi kebijakan

Untuk menentukan peran ARN dalam Principal elemen, gunakan format berikut:

"Principal": { "AWS": "arn:aws:iam::AWS-account-ID:role/role-name" }
penting

Jika Principal elemen Anda dalam kebijakan kepercayaan peran berisi ARN yang menunjuk ke peran IAM tertentu, ARN tersebut akan berubah menjadi ID utama unik peran saat Anda menyimpan kebijakan. Hal ini membantu memitigasi risiko seseorang meningkatkan hak istimewa mereka dengan menghapus dan membuat ulang peran. Anda biasanya tidak melihat ID ini di konsol, karena IAM menggunakan transformasi terbalik kembali ke peran ARN saat kebijakan kepercayaan ditampilkan. Namun, jika Anda menghapus peran, maka Anda memutuskan hubungan. Kebijakan tidak lagi berlaku, bahkan jika Anda membuat ulang peran tersebut karena peran baru memiliki ID utama baru yang tidak cocok dengan ID yang disimpan dalam kebijakan kepercayaan. Ketika ini terjadi, ID utama muncul dalam kebijakan berbasis sumber daya karena tidak AWS dapat lagi memetakannya kembali ke ARN yang valid. Hasil akhirnya adalah jika Anda menghapus dan membuat ulang peran yang direferensikan dalam Principal elemen kebijakan kepercayaan, Anda harus mengedit peran dalam kebijakan untuk mengganti ID utama dengan ARN yang benar. ARN sekali lagi berubah menjadi ID utama peran saat Anda menyimpan kebijakan.

Atau, Anda dapat menentukan prinsipal peran sebagai prinsipal dalam kebijakan berbasis sumber daya atau membuat kebijakan izin luas yang menggunakan kunci kondisi. aws:PrincipalArn Saat Anda menggunakan kunci ini, prinsipal sesi peran diberikan izin berdasarkan ARN peran yang diasumsikan, dan bukan ARN dari sesi yang dihasilkan. Karena AWS tidak mengonversi ARN kunci kondisi menjadi ID, izin yang diberikan ke ARN peran tetap ada jika Anda menghapus peran dan kemudian membuat peran baru dengan nama yang sama. Jenis kebijakan berbasis identitas, seperti batas izin atau kebijakan sesi, tidak membatasi izin yang diberikan menggunakan kunci aws:PrincipalArn kondisi dengan wildcard (*) di Principal elemen, kecuali kebijakan berbasis identitas berisi penolakan eksplisit.

Kepala sesi peran

Anda dapat menentukan sesi peran dalam Principal elemen kebijakan berbasis sumber daya atau dalam kunci kondisi yang mendukung prinsipal. Ketika prinsipal atau identitas mengambil peran, mereka menerima kredensil keamanan sementara dengan izin peran yang diasumsikan. Ketika mereka menggunakan kredensi sesi tersebut untuk melakukan operasi AWS, mereka menjadi kepala sesi peran.

Format yang Anda gunakan untuk prinsipal sesi peran bergantung pada AWS STS operasi yang digunakan untuk mengambil peran.

Selain itu, administrator dapat merancang proses untuk mengontrol bagaimana sesi peran dikeluarkan. Misalnya, mereka dapat memberikan solusi satu-klik untuk penggunanya yang membuat nama sesi yang dapat diprediksi. Jika administrator melakukan ini, Anda dapat menggunakan prinsipal sesi peran dalam kebijakan atau kunci kondisi. Jika tidak, Anda dapat menentukan peran ARN sebagai prinsipal dalam kunci aws:PrincipalArn kondisi. Cara Anda menentukan peran sebagai prinsipal dapat mengubah izin efektif untuk sesi yang dihasilkan. Untuk informasi selengkapnya, lihat Kepala peran IAM.

Prinsip sesi peran yang diasumsikan

Prinsipal sesi peran yang diasumsikan adalah prinsip sesi yang dihasilkan dari penggunaan operasi. AWS STS AssumeRole Untuk informasi lebih lanjut tentang prinsipal mana yang dapat mengambil peran menggunakan operasi ini, lihat. Membandingkan operasi AWS STS API

Untuk menentukan ARN sesi peran yang diasumsikan dalam elemen, gunakan format Principal berikut:

"Principal": { "AWS": "arn:aws:sts::AWS-account-ID:assumed-role/role-name/role-session-name" }

Saat Anda menentukan sesi peran yang diasumsikan dalam Principal elemen, Anda tidak dapat menggunakan wildcard “*” yang berarti semua sesi. Prinsipal harus selalu menamai sesi tertentu.

Kepala sekolah sesi OIDC

Prinsipal sesi OIDC adalah prinsipal sesi yang dihasilkan dari penggunaan operasi. AWS STS AssumeRoleWithWebIdentity Anda dapat menggunakan penyedia OIDC eksternal (iDP) untuk masuk, dan kemudian mengambil peran IAM menggunakan operasi ini. Ini memanfaatkan federasi identitas dan mengeluarkan sesi peran. Untuk informasi lebih lanjut tentang prinsipal mana yang dapat mengambil peran menggunakan operasi ini, lihat. Membandingkan operasi AWS STS API

Saat Anda mengeluarkan peran dari penyedia OIDC, Anda mendapatkan jenis prinsipal sesi khusus ini yang mencakup informasi tentang penyedia OIDC.

Gunakan tipe utama ini dalam kebijakan Anda untuk mengizinkan atau menolak akses berdasarkan penyedia identitas web tepercaya. Untuk menentukan ARN sesi peran OIDC dalam Principal elemen kebijakan kepercayaan peran, gunakan format berikut:

"Principal": { "Federated": "cognito-identity.amazonaws.com" }
"Principal": { "Federated": "www.amazon.com" }
"Principal": { "Federated": "graph.facebook.com" }
"Principal": { "Federated": "accounts.google.com" }

Prinsipal sesi SAMP

Prinsipal sesi SAMP adalah prinsipal sesi yang dihasilkan dari penggunaan AWS STS AssumeRoleWithSAML operasi. Anda dapat menggunakan penyedia identitas SAMP eksternal (iDP) untuk masuk, dan kemudian mengambil peran IAM menggunakan operasi ini. Ini memanfaatkan federasi identitas dan mengeluarkan sesi peran. Untuk informasi lebih lanjut tentang prinsipal mana yang dapat mengambil peran menggunakan operasi ini, lihat. Membandingkan operasi AWS STS API

Saat Anda mengeluarkan peran dari penyedia identitas SAFL, Anda mendapatkan jenis prinsipal sesi khusus ini yang mencakup informasi tentang penyedia identitas SAFL.

Gunakan tipe utama ini dalam kebijakan Anda untuk mengizinkan atau menolak akses berdasarkan penyedia identitas SAMP tepercaya. Untuk menentukan ARN sesi peran identitas SAMP dalam Principal elemen kebijakan kepercayaan peran, gunakan format berikut:

"Principal": { "Federated": "arn:aws:iam::AWS-account-ID:saml-provider/provider-name" }

Prinsip pengguna IAM

Anda dapat menentukan pengguna IAM dalam Principal elemen kebijakan berbasis sumber daya atau dalam kunci kondisi yang mendukung prinsipal.

catatan

Dalam sebuah Principal elemen, bagian nama pengguna dari Amazon Resource Name (ARN) peka huruf besar/kecil.

"Principal": { "AWS": "arn:aws:iam::AWS-account-ID:user/user-name" }
"Principal": { "AWS": [ "arn:aws:iam::AWS-account-ID:user/user-name-1", "arn:aws:iam::AWS-account-ID:user/user-name-2" ] }

Saat Anda menentukan pengguna di elemen Principal, Anda tidak dapat menggunakan wildcard (*) yang berarti “semua pengguna”. Prinsipal harus selalu memberi nama pengguna tertentu.

penting

Jika Principal elemen Anda dalam kebijakan kepercayaan peran berisi ARN yang mengarah ke pengguna IAM tertentu, maka IAM akan mengubah ARN menjadi ID utama unik pengguna saat Anda menyimpan kebijakan tersebut. Hal ini membantu memitigasi risiko seseorang meningkatkan hak istimewa mereka dengan menghapus dan membuat ulang pengguna. Anda biasanya tidak melihat ID ini di konsol, karena juga ada transformasi balik kembali ke ARN pengguna ketika kebijakan kepercayaan ditampilkan. Namun, jika Anda menghapus pengguna, maka Anda memutuskan hubungan. Kebijakan tidak lagi berlaku, bahkan saat Anda membuat ulang pengguna. Itu karena pengguna baru memiliki ID utama baru yang tidak cocok dengan ID yang disimpan dalam kebijakan kepercayaan. Ketika ini terjadi, ID utama muncul dalam kebijakan berbasis sumber daya karena tidak AWS dapat lagi memetakannya kembali ke ARN yang valid. Hasilnya adalah jika Anda menghapus dan membuat ulang pengguna yang direferensikan dalam Principal elemen kebijakan kepercayaan, Anda harus mengedit peran untuk mengganti ID utama yang sekarang salah dengan ARN yang benar. IAM sekali lagi mengubah ARN menjadi ID utama pengguna yang baru saat Anda menyimpan kebijakan.

Kepala Pusat Identitas IAM

Dalam IAM Identity Center, prinsipal dalam kebijakan berbasis sumber daya harus didefinisikan sebagai prinsipal. Akun AWS Untuk menentukan akses, rujuk peran ARN dari izin yang ditetapkan di blok kondisi. Untuk detailnya, lihat Mereferensikan set izin dalam kebijakan sumber daya, Amazon EKS, dan AWS KMS di Panduan Pengguna Pusat Identitas IAM.

AWS STS prinsip sesi pengguna federasi

Anda dapat menentukan sesi pengguna federasi dalam Principal elemen kebijakan berbasis sumber daya atau dalam kunci kondisi yang mendukung prinsipal.

penting

AWS merekomendasikan agar Anda menggunakan sesi pengguna AWS STS federasi hanya jika diperlukan, seperti ketika akses pengguna root diperlukan. Sebagai gantinya, gunakan peran untuk mendelegasikan izin.

Prinsipal sesi pengguna AWS STS federasi adalah prinsip sesi yang dihasilkan dari penggunaan AWS STS GetFederationToken operasi. Dalam hal ini, AWS STS menggunakan federasi identitas sebagai metode untuk mendapatkan token akses sementara alih-alih menggunakan peran IAM.

Di AWS, pengguna IAM atau Pengguna root akun AWS dapat mengautentikasi menggunakan kunci akses jangka panjang. Untuk informasi lebih lanjut tentang kepala sekolah mana yang dapat berfederasi menggunakan operasi ini, lihat. Membandingkan operasi AWS STS API

  • Pengguna federasi IAM — Pengguna IAM bergabung menggunakan GetFederationToken operasi yang menghasilkan prinsipal sesi pengguna federasi untuk pengguna IAM tersebut.

  • Pengguna root federasi — Pengguna root federasi menggunakan GetFederationToken operasi yang menghasilkan prinsipal sesi pengguna federasi untuk pengguna root tersebut.

Ketika pengguna IAM atau pengguna root meminta kredensyal sementara dari AWS STS menggunakan operasi ini, mereka memulai sesi pengguna gabungan sementara. ARN sesi ini didasarkan pada identitas asli yang difederasi.

Untuk menentukan ARN sesi pengguna federasi dalam Principal elemen, gunakan format berikut:

"Principal": { "AWS": "arn:aws:sts::AWS-account-ID:federated-user/user-name" }

AWS prinsipal layanan

Anda dapat menentukan AWS layanan dalam Principal elemen kebijakan berbasis sumber daya atau dalam kunci kondisi yang mendukung prinsipal. Prinsipal layanan adalah pengidentifikasi untuk suatu layanan.

Peran IAM yang dapat diasumsikan oleh AWS layanan disebut peran layanan. Peran layanan harus menyertakan kebijakan kepercayaan. Kebijakan kepercayaan adalah kebijakan berbasis sumber daya yang melekat pada peran yang menentukan prinsip mana yang dapat mengambil peran tersebut. Beberapa peran layanan telah menetapkan kebijakan kepercayaan. Namun, dalam beberapa kasus, Anda harus menentukan prinsip utama layanan dalam kebijakan kepercayaan. Prinsip layanan dalam kebijakan IAM tidak bisa"Service": "*".

Pengidentifikasi untuk prinsipal layanan mencakup nama layanan, dan biasanya dalam format berikut:

service-name.amazonaws.com

Prinsipal layanan ditentukan oleh layanan. Anda dapat menemukan prinsipal layanan untuk beberapa layanan dengan membuka AWS layanan yang bekerja dengan IAM, memeriksa apakah layanan memiliki Ya di kolom Peran yang dikaitkan dengan layanan, dan membuka tautan Ya untuk melihat dokumentasi peran yang dikaitkan dengan layanan untuk layanan tersebut. Temukan bagian Izin Peran Ditautkan Layanan untuk layanan tersebut dapat melihat prinsipal layanan.

Contoh berikut menunjukkan kebijakan yang dapat dilampirkan pada peran layanan. Kebijakan tersebut memungkinkan dua layanan, Amazon ECS dan Elastic Load Balancing, untuk mengambil peran tersebut. Layanan kemudian dapat melakukan tugas yang diberikan oleh kebijakan izin yang ditetapkan untuk peran tersebut (tidak ditampilkan). Untuk menetapkan beberapa prinsipal layanan, Anda tidak menentukan dua elemen Service; Anda hanya dapat memiliki satu. Sebagai gantinya, Anda menggunakan serangkaian dari beberapa prinsipal layanan sebagai nilai elemen Service tunggal.

"Principal": { "Service": [ "ecs.amazonaws.com", "elasticloadbalancing.amazonaws.com" ] }

AWS prinsip layanan di Wilayah keikutsertaan

Anda dapat meluncurkan sumber daya di beberapa AWS Wilayah dan beberapa Wilayah yang harus Anda pilih. Untuk daftar lengkap Wilayah yang harus Anda pilih, lihat Mengelola AWS Wilayah di Referensi Umum AWSpanduan.

Ketika suatu AWS layanan di Wilayah keikutsertaan membuat permintaan dalam Wilayah yang sama, format nama utama layanan diidentifikasi sebagai versi non-regional dari nama utama layanan mereka:

service-name.amazonaws.com

Ketika suatu AWS layanan di Wilayah keikutsertaan membuat permintaan lintas wilayah ke Wilayah lain, format nama utama layanan diidentifikasi sebagai versi regional dari nama utama layanan mereka:

service-name.{region}.amazonaws.com

Misalnya, Anda memiliki topik Amazon SNS yang terletak di Wilayah ap-southeast-1 dan bucket Amazon S3 yang terletak di Wilayah keikutsertaan. ap-east-1 Anda ingin mengonfigurasi notifikasi bucket S3 untuk mempublikasikan pesan ke topik SNS. Untuk mengizinkan layanan S3 memposting pesan ke topik SNS, Anda harus memberikan sns:Publish izin utama layanan S3 melalui kebijakan akses berbasis sumber daya dari topik tersebut.

Jika Anda menentukan versi non-regionalisasi dari prinsipal layanan S3s3.amazonaws.com, dalam kebijakan akses topik, sns:Publish permintaan dari bucket ke topik akan gagal. Contoh berikut menentukan prinsip layanan S3 non-regionalisasi dalam elemen Principal kebijakan kebijakan akses topik SNS.

"Principal": { "Service": "s3.amazonaws.com" }

Karena bucket terletak di Wilayah keikutsertaan dan permintaan dibuat di luar Wilayah yang sama, prinsipal layanan S3 muncul sebagai nama utama layanan regional,. s3.ap-east-1.amazonaws.com Anda harus menggunakan nama utama layanan regional ketika AWS layanan di Wilayah opt-in mengajukan permintaan ke Wilayah lain. Setelah Anda menentukan nama utama layanan regional, jika bucket membuat sns:Publish permintaan ke topik SNS yang terletak di Wilayah lain, permintaan akan berhasil. Contoh berikut menentukan prinsipal layanan S3 regional dalam elemen Principal kebijakan kebijakan akses topik SNS.

"Principal": { "Service": "s3.ap-east-1.amazonaws.com" }

Kebijakan sumber daya atau daftar izin berbasis prinsip layanan untuk permintaan Lintas wilayah dari Wilayah keikutsertaan ke Wilayah lain hanya akan berhasil jika Anda menentukan nama utama layanan regional.

catatan

Untuk kebijakan kepercayaan peran IAM, sebaiknya gunakan nama utama layanan non-regional. Sumber daya IAM bersifat global dan oleh karena itu peran yang sama dapat digunakan di Wilayah mana pun.

Semua kepala sekolah

Anda dapat menggunakan wildcard (*) untuk menentukan semua prinsipal dalam Principal elemen kebijakan berbasis sumber daya atau dalam kunci kondisi yang mendukung prinsipal. Kebijakan berbasis sumber dayaizin pemberian dan kunci kondisi digunakan untuk membatasi kondisi pernyataan kebijakan.

penting

Kami sangat menyarankan agar Anda tidak menggunakan wildcard (*) dalam Principal elemen kebijakan berbasis sumber daya dengan Allow efek kecuali Anda berniat untuk memberikan akses publik atau anonim. Jika tidak, tentukan prinsip, layanan, atau AWS akun yang dimaksudkan dalam Principal elemen dan kemudian batasi akses lebih lanjut dalam elemen. Condition Hal ini terutama berlaku untuk kebijakan kepercayaan peran IAM, karena mereka memungkinkan prinsipal lain untuk menjadi prinsipal di akun Anda.

Untuk kebijakan berbasis sumber daya, menggunakan wildcard (*) dengan Allow efek memberikan akses ke semua pengguna, termasuk pengguna anonim (akses publik). Untuk pengguna IAM dan kepala peran dalam akun Anda, tidak ada izin lain yang diperlukan. Untuk prinsipal di akun lain, mereka juga harus memiliki izin berbasis identitas di akun mereka yang memungkinkan mereka mengakses sumber daya Anda. Ini disebut akses lintas akun.

Untuk pengguna anonim, elemen berikut ini setara:

"Principal": "*"
"Principal" : { "AWS" : "*" }

Anda tidak dapat menggunakan wildcard untuk mencocokkan sebagian nama pengguna utama atau ARN.

Contoh berikut menunjukkan kebijakan berbasis sumber daya yang dapat digunakan alih-alih Menentukan dengan NotPrincipalDeny untuk secara eksplisit menolak semua prinsip kecuali yang ditentukan dalam elemen. Condition

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UsePrincipalArnInsteadOfNotPrincipalWithDeny", "Effect": "Deny", "Action": "s3:*", "Principal": "*", "Resource": [ "arn:aws:s3:::BUCKETNAME/*", "arn:aws:s3:::BUCKETNAME" ], "Condition": { "ArnNotEquals": { "aws:PrincipalArn": "arn:aws:iam::444455556666:user/user-name" } } } ] }

Informasi lain

Untuk informasi selengkapnya, lihat berikut ini: