Izin diperlukan untuk mengakses sumber daya IAM - 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.

Izin diperlukan untuk mengakses sumber daya IAM

Sumber Daya adalah objek dalam suatu layanan. IAMsumber daya termasuk grup, pengguna, peran, dan kebijakan. Jika Anda masuk dengan Pengguna root akun AWS kredensyal, Anda tidak memiliki batasan dalam mengelola IAM kredensyal atau sumber daya. IAM Namun, IAM pengguna harus secara eksplisit diberi izin untuk mengelola kredensyal atau sumber daya. IAM Anda dapat melakukannya dengan melampirkan kebijakan berbasis identitas kepada pengguna.

catatan

Sepanjang AWS dokumentasi, ketika kami merujuk pada IAM kebijakan tanpa menyebutkan kategori tertentu, yang kami maksud adalah kebijakan berbasis identitas yang dikelola pelanggan. Untuk perincian tentang kategori kebijakan, lihat Kebijakan dan izin di AWS Identity and Access Management.

Izin untuk mengurus identitas IAM

Izin yang diperlukan untuk mengelola IAM grup, pengguna, peran, dan kredensyal biasanya sesuai dengan API tindakan untuk tugas tersebut. Misalnya, untuk membuat IAM pengguna, Anda harus memiliki iam:CreateUser izin yang memiliki API perintah yang sesuai: CreateUser. Untuk mengizinkan IAM pengguna membuat IAM pengguna lain, Anda dapat melampirkan IAM kebijakan seperti berikut ini kepada pengguna tersebut:

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "iam:CreateUser", "Resource": "*" } }

Dalam kebijakan, nilai elemen Resource bergantung pada tindakan dan sumber daya yang dapat dipengaruhi oleh tindakan tersebut. Dalam contoh sebelumnya, kebijakan ini memungkinkan pengguna untuk membuat pengguna mana pun (* adalah wildcard yang cocok dengan semua string). Sebaliknya, kebijakan yang memungkinkan pengguna untuk mengubah hanya kunci akses mereka sendiri (APItindakan CreateAccessKeydan UpdateAccessKey) biasanya memiliki Resource elemen. Dalam hal ini ARN termasuk variabel (${aws:username}) yang menyelesaikan nama pengguna saat ini, seperti dalam contoh berikut:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListUsersForConsole", "Effect": "Allow", "Action": "iam:ListUsers", "Resource": "arn:aws:iam::*:*" }, { "Sid": "ViewAndUpdateAccessKeys", "Effect": "Allow", "Action": [ "iam:UpdateAccessKey", "iam:CreateAccessKey", "iam:ListAccessKeys" ], "Resource": "arn:aws:iam::*:user/${aws:username}" } ] }

Dalam contoh sebelumnya, ${aws:username} adalah variabel yang menyelesaikan nama pengguna saat ini. Untuk informasi lebih lanjut tentang variabel-variable kebijakan, lihat Elemen kebijakan IAM: Variabel dan tanda.

Menggunakan karakter wildcard (*) dalam nama tindakan sering kali mempermudah pemberian izin untuk semua tindakan yang terkait dengan tugas tertentu. Misalnya, untuk memungkinkan pengguna melakukan IAM tindakan apa pun, Anda dapat menggunakannya iam:* untuk tindakan tersebut. Agar pengguna dapat melakukan tindakan terkait hanya untuk mengakses kunci, Anda dapat menggunakan iam:*AccessKey* di elemen Action pernyataan kebijakan. Hal ini memberi pengguna izin untuk melakukan tindakan CreateAccessKey, DeleteAccessKey, GetAccessKeyLastUsed, ListAccessKeys, dan UpdateAccessKey. (Jika tindakan ditambahkan ke IAM in the future yang memiliki "AccessKey" dalam nama, menggunakan iam:*AccessKey* untuk Action elemen juga akan memberikan izin pengguna untuk tindakan baru itu.) Contoh berikut menunjukkan kebijakan yang memungkinkan pengguna untuk melakukan semua tindakan yang berkaitan dengan kunci akses mereka sendiri (ganti account-id dengan Akun AWS ID):

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "iam:*AccessKey*", "Resource": "arn:aws:iam::account-id:user/${aws:username}" } }

Beberapa tugas, seperti menghapus grup, melibatkan beberapa tindakan: Anda terlebih dahulu harus menghapus pengguna dari grup, kemudian memisahkan atau menghapus kebijakan grup, dan kemudian menghapusnya. Jika Anda ingin pengguna dapat menghapus grup, Anda harus yakin untuk memberikan izin kepada pengguna untuk melakukan semua tindakan terkait.

Izin untuk bekerja di AWS Management Console

Contoh sebelumnya menunjukkan kebijakan yang memungkinkan pengguna untuk melakukan tindakan dengan AWS CLIatau AWS SDKs.

Saat pengguna bekerja dengan konsol, konsol mengeluarkan permintaan IAM untuk mencantumkan grup, pengguna, peran, dan kebijakan, serta untuk mendapatkan kebijakan yang terkait dengan grup, pengguna, atau peran. Konsol juga mengeluarkan permintaan untuk mendapatkan Akun AWS informasi dan informasi tentang kepala sekolah. Prinsipalnya adalah pengguna yang mengajukan permintaan di konsol.

Secara umum, untuk melakukan tindakan, Anda hanya boleh memiliki tindakan yang sesuai yang termasuk dalam kebijakan. Untuk membuat pengguna, Anda perlu izin untuk menghubungi tindakan CreateUser. Sering kali, ketika Anda menggunakan konsol untuk melakukan tindakan, Anda harus memiliki izin untuk menampilkan, membuat daftar, mendapatkan, atau melihat sumber daya di konsol. Ini diperlukan agar Anda dapat menavigasi melalui konsol untuk membuat tindakan yang ditentukan. Misalnya, jika pengguna Jorge ingin menggunakan konsol untuk mengubah kunci aksesnya sendiri, ia pergi ke IAM konsol dan memilih Pengguna. Tindakan ini menyebabkan konsol untuk membuat permintaan ListUsers. Jika Jorge tidak memiliki izin untuk tindakan iam:ListUsers, konsol ditolak akses ketika mencoba untuk membuat daftar pengguna. Sebagai hasilnya, Jorge tidak bisa mendapatkan nama dan access key-nya sendiri, meskipun dia memiliki izin untuk tindakan CreateAccessKey dan UpdateAccessKey.

Jika Anda ingin memberikan izin kepada pengguna untuk mengelola grup, pengguna, peran, kebijakan, dan kredensi dengan AWS Management Console, Anda perlu menyertakan izin untuk tindakan yang dilakukan konsol. Untuk beberapa contoh kebijakan yang dapat Anda gunakan untuk memberikan izin kepada pengguna, lihat Contoh kebijakan untuk mengelola sumber daya IAM.

Berikan izin di seluruh AWS rekening

Anda dapat langsung memberikan IAM pengguna di akun Anda sendiri akses ke sumber daya Anda. Jika pengguna dari akun lain memerlukan akses ke sumber daya Anda, Anda dapat membuat IAM peran, yang merupakan entitas yang menyertakan izin tetapi tidak terkait dengan pengguna tertentu. Pengguna dari akun lain kemudian dapat menggunakan peran dan mengakses sumber daya sesuai dengan izin yang Anda tetapkan untuk peran tersebut. Untuk informasi selengkapnya, lihat Akses untuk IAM pengguna lain Akun AWS yang Anda miliki.

catatan

Beberapa layanan mendukung kebijakan berbasis sumber daya seperti yang dijelaskan dalam Kebijakan berbasis identitas dan kebijakan berbasis sumber daya (seperti Amazon S3, Amazon, dan Amazon). SNS SQS Untuk layanan tersebut, alternatif untuk menggunakan peran adalah dengan memberikan kebijakan ke sumber daya (bucket, topik, atau antrean) yang ingin Anda bagikan. Kebijakan berbasis sumber daya dapat menentukan AWS akun yang memiliki izin untuk mengakses sumber daya.

Izin satu layanan untuk mengakses layanan lainnya

Banyak AWS layanan akses lainnya AWS layanan. Sebagai contoh, beberapa AWS layanan—termasuk EMR Amazon, Elastic Load Balancing, EC2 dan Amazon Auto EC2 Scaling—mengelola instans Amazon. Lainnya AWS layanan memanfaatkan bucket Amazon S3, topik Amazon, SQS antrian AmazonSNS, dan sebagainya.

Skenario untuk mengelola izin dalam kasus-kasus ini berbeda-beda menurut layanan. Berikut ini beberapa contoh cara izin ditangani untuk layanan yang berbeda:

  • Di Amazon EC2 Auto Scaling, pengguna harus memiliki izin untuk menggunakan Auto Scaling, tetapi tidak perlu secara eksplisit diberikan izin untuk mengelola instans Amazon. EC2

  • Masuk AWS Data Pipeline, IAM peran menentukan apa yang dapat dilakukan pipeline; pengguna memerlukan izin untuk mengambil peran tersebut. (Untuk detailnya, lihat Memberikan Izin ke Pipelines dengan di IAM AWS Data Pipeline Panduan Pengembang.)

Untuk detail tentang cara mengkonfigurasi izin dengan benar sehingga AWS layanan dapat menyelesaikan tugas yang Anda inginkan, merujuk ke dokumentasi untuk layanan yang Anda panggil. Untuk mempelajari cara membuat peran untuk layanan, lihat Membuat peran untuk mendelegasikan izin ke layanan AWS.

Mengkonfigurasi layanan dengan IAM peran untuk bekerja atas nama Anda

Bila Anda ingin mengkonfigurasi AWS Layanan untuk bekerja atas nama Anda, Anda biasanya menyediakan ARN untuk IAM peran yang mendefinisikan apa layanan diizinkan untuk melakukan. AWS memeriksa untuk memastikan bahwa Anda memiliki izin untuk meneruskan peran ke layanan. Untuk informasi selengkapnya, lihat Berikan izin pengguna untuk meneruskan peran ke layanan AWS.

Tindakan yang diperlukan

Tindakan adalah hal-hal yang dapat Anda lakukan ke sumber daya, seperti melihat, membuat, mengedit, dan menghapus sumber daya tersebut. Tindakan ditentukan oleh masing-masing AWS layanan.

Untuk mengizinkan seseorang melakukan suatu tindakan, Anda harus menyertakan tindakan yang diperlukan dalam kebijakan yang berlaku untuk identitas panggilan atau sumber daya yang terpengaruh. Secara umum, untuk memberikan izin yang diperlukan untuk melakukan tindakan, Anda harus menyertakan tindakan tersebut dalam kebijakan Anda. Misalnya, untuk membuat pengguna, Anda perlu menambahkan CreateUser tindakan ke kebijakan Anda.

Dalam beberapa kasus, suatu tindakan mungkin mengharuskan Anda menyertakan tindakan terkait tambahan dalam kebijakan Anda. Misalnya, untuk memberikan izin bagi seseorang untuk membuat direktori di AWS Directory Service menggunakan ds:CreateDirectory operasi, Anda harus memasukkan tindakan berikut dalam kebijakan mereka:

  • ds:CreateDirectory

  • ec2:DescribeSubnets

  • ec2:DescribeVpcs

  • ec2:CreateSecurityGroup

  • ec2:CreateNetworkInterface

  • ec2:DescribeNetworkInterfaces

  • ec2:AuthorizeSecurityGroupIngress

  • ec2:AuthorizeSecurityGroupEgress

Saat Anda membuat atau mengedit kebijakan menggunakan editor visual, Anda menerima peringatan dan petunjuk untuk membantu Anda memilih semua tindakan yang diperlukan untuk kebijakan Anda.

Untuk informasi selengkapnya tentang izin yang diperlukan untuk membuat direktori di AWS Directory Service, lihat Contoh 2: Izinkan Pengguna Membuat Direktori.