Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
IAMpengidentifikasi
IAMmenggunakan beberapa pengidentifikasi yang berbeda untuk pengguna, IAM grup, peran, kebijakan, dan sertifikat server. Bagian ini menjelaskan pengidentifikasi dan kapan Anda menggunakan masing-masing pengidentifikasi.
Nama dan jalur yang ramah
Saat Anda membuat pengguna, peran, grup pengguna, atau kebijakan, atau saat Anda mengunggah sertifikat server, Anda memberikan nama yang ramah. Contohnya termasuk Bob, TestApp 1, Pengembang, ManageCredentialsPermissions, atau ProdServerCert.
Jika Anda menggunakan IAM API or AWS Command Line Interface (AWS CLI) untuk membuat IAM sumber daya, Anda dapat menambahkan jalur opsional. Anda dapat menggunakan satu jalur, atau sarang beberapa jalur sebagai struktur folder. Misalnya, Anda dapat menggunakan jalur bersarang /division_abc/subdivision_xyz/product_1234/engineering/
untuk mencocokkan struktur organisasi perusahaan Anda. Anda kemudian dapat membuat kebijakan untuk mengizinkan semua pengguna di jalur tersebut mengakses simulator kebijakanAPI. Untuk melihat kebijakan ini, lihat IAM: Akses API simulator kebijakan berdasarkan jalur pengguna. Untuk informasi tentang bagaimana nama ramah dapat ditentukan, lihat APIdokumentasi Pengguna. Untuk contoh-contoh tambahan tentang bagaimana Anda mungkin menggunakan jalur, lihat IAM ARNs.
Saat digunakan AWS CloudFormation untuk membuat sumber daya, Anda dapat menentukan jalur untuk pengguna, IAM grup, dan peran, serta kebijakan yang dikelola pelanggan.
Jika Anda memiliki pengguna dan grup pengguna di jalur yang sama, IAM tidak secara otomatis menempatkan pengguna dalam grup pengguna tersebut. Misalnya, Anda dapat membuat grup pengguna Pengembang dan menentukan jalurnya sebagai/division_abc/subdivision_xyz/product_1234/engineering/
. Jika Anda membuat pengguna bernama Bob dan menambahkan jalur yang sama kepadanya, ini tidak secara otomatis menempatkan Bob di grup pengguna Pengembang. IAMtidak memberlakukan batasan apa pun antara pengguna atau IAM grup berdasarkan jalur mereka. Pengguna dengan jalur yang berbeda dapat menggunakan sumber daya yang sama jika mereka telah diberikan izin untuk sumber daya tersebut. Jumlah dan ukuran IAM sumber daya dalam AWS akun terbatas. Untuk informasi selengkapnya, lihat IAMdan AWS STS kuota.
IAM ARNs
Sebagian besar sumber daya memiliki nama yang ramah misalnya, nama pengguna Bob
atau grup pengguna bernamaDevelopers
. Namun, bahasa kebijakan izin mengharuskan Anda menentukan sumber daya atau sumber daya menggunakan format Amazon Resource Name (ARN) berikut.
arn:partition
:service
:region
:account
:resource
Di mana:
-
partition
mengidentifikasi partisi untuk sumber daya. Untuk Wilayah AWS standar, partisinya adalahaws
. Jika Anda memiliki sumber daya di partisi lain, maka partisi-nya adalahaws-
. Contohnya, partisi untuk sumber daya di Wilayah Tiongkok (Beijing) adalahpartitionname
aws-cn
. Anda tidak dapat mendelegasikan akses di antara akun di partisi yang berbeda. -
service
mengidentifikasi AWS produk. IAMsumber daya selalu digunakaniam
. -
region
mengidentifikasi Wilayah sumber daya. Untuk IAM sumber daya, ini selalu dikosongkan. -
account
menentukan Akun AWS ID tanpa tanda hubung. -
resource
mengidentifikasi sumber daya tertentu dengan nama.
Anda dapat menentukan IAM dan AWS STS ARNs menggunakan sintaks berikut. Bagian Wilayah kosong karena IAM sumber daya bersifat global. ARN
Sintaksis:
arn:aws:iam::
account
:root arn:aws:iam::account
:user/user-name-with-path
arn:aws:iam::account
:group/group-name-with-path
arn:aws:iam::account
:role/role-name-with-path
arn:aws:iam::account
:policy/policy-name-with-path
arn:aws:iam::account
:instance-profile/instance-profile-name-with-path
arn:aws:sts::account
:federated-user/user-name
arn:aws:sts::account
:assumed-role/role-name
/role-session-name
arn:aws:sts::account
:self arn:aws:iam::account
:mfa/virtual-device-name-with-path
arn:aws:iam::account
:u2f/u2f-token-id
arn:aws:iam::account
:server-certificate/certificate-name-with-path
arn:aws:iam::account
:saml-provider/provider-name
arn:aws:iam::account
:oidc-provider/provider-name
Banyak dari contoh berikut termasuk jalur di bagian sumber dayaARN. Jalur tidak dapat dibuat atau dimanipulasi di AWS Management Console. Untuk menggunakan jalur, Anda harus bekerja dengan sumber daya dengan menggunakan AWS CLI,, atau Alat untuk Windows PowerShell. AWS API
Contoh:
arn:aws:iam::123456789012:root arn:aws:iam::123456789012:user/JohnDoe arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/JaneDoe arn:aws:iam::123456789012:group/Developers arn:aws:iam::123456789012:group/division_abc/subdivision_xyz/product_A/Developers arn:aws:iam::123456789012:role/S3Access arn:aws:iam::123456789012:role/application_abc/component_xyz/RDSAccess arn:aws:iam::123456789012:role/aws-service-role/access-analyzer.amazonaws.com/AWSServiceRoleForAccessAnalyzer arn:aws:iam::123456789012:role/service-role/QuickSightAction arn:aws:iam::123456789012:policy/UsersManageOwnCredentials arn:aws:iam::123456789012:policy/division_abc/subdivision_xyz/UsersManageOwnCredentials arn:aws:iam::123456789012:instance-profile/Webserver arn:aws:sts::123456789012:federated-user/JohnDoe arn:aws:sts::123456789012:assumed-role/Accounting-Role/JaneDoe arn:aws:sts::123456789012:self arn:aws:iam::123456789012:mfa/JaneDoeMFA arn:aws:iam::123456789012:u2f/user/JohnDoe/default (U2F security key) arn:aws:iam::123456789012:server-certificate/ProdServerCert arn:aws:iam::123456789012:server-certificate/division_abc/subdivision_xyz/ProdServerCert arn:aws:iam::123456789012:saml-provider/ADFSProvider arn:aws:iam::123456789012:oidc-provider/GoogleProvider arn:aws:iam::123456789012:oidc-provider/oidc.eks.us-west-2.amazonaws.com/id/a1b2c3d4567890abcdefEXAMPLE11111 arn:aws:iam::123456789012:oidc-provider/server.example.org
Contoh berikut memberikan detail lebih lanjut untuk membantu Anda memahami ARN format untuk berbagai jenis IAM dan AWS STS sumber daya.
-
Pengguna IAM di akun:
catatan
Setiap nama IAM pengguna adalah unik. Nama pengguna tidak peka huruf besar/kecil untuk pengguna, seperti selama proses masuk, tetapi peka huruf besar/kecil saat Anda menggunakannya dalam kebijakan atau sebagai bagian dari. ARN
arn:aws:iam::123456789012:user/JohnDoe
-
Pengguna lain dengan jalur yang mencerminkan bagan organisasi:
arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/JaneDoe
-
Grup pengguna IAM:
arn:aws:iam::123456789012:group/Developers
-
Grup IAM pengguna dengan jalur:
arn:aws:iam::123456789012:group/division_abc/subdivision_xyz/product_A/Developers
-
Peran IAM:
arn:aws:iam::123456789012:role/S3Access
-
Peran yang terhubung dengan layanan:
arn:aws:iam::123456789012:role/aws-service-role/access-analyzer.amazonaws.com/AWSServiceRoleForAccessAnalyzer
-
arn:aws:iam::123456789012:role/service-role/QuickSightAction
-
Kebijakan terkelola:
arn:aws:iam::123456789012:policy/ManageCredentialsPermissions
-
Profil instans yang dapat dikaitkan dengan EC2 instans Amazon:
arn:aws:iam::123456789012:instance-profile/Webserver
-
Pengguna federasi yang diidentifikasi IAM sebagai “Paulo”:
arn:aws:sts::123456789012:federated-user/Paulo
-
Sesi aktif seseorang yang mengambil peran "Akuntansi-Peran", dengan nama sesi peran "Mary":
arn:aws:sts::123456789012:assumed-role/Accounting-Role/Mary
-
Merupakan sesi pemanggil sendiri saat digunakan sebagai sumber daya dalam API panggilan, seperti AWS STS SetContextAPI, yang beroperasi pada sesi panggilan:
arn:aws:sts::123456789012:self
-
Perangkat autentikasi multi-faktor yang ditetapkan ke pengguna bernama Jorge:
arn:aws:iam::123456789012:mfa/Jorge
-
Sertifikat server:
arn:aws:iam::123456789012:server-certificate/ProdServerCert
-
Sertifikat server dengan jalur yang mencerminkan bagan organisasi:
arn:aws:iam::123456789012:server-certificate/division_abc/subdivision_xyz/ProdServerCert
-
Penyedia identitas (SAMLdanOIDC):
arn:aws:iam::123456789012:saml-provider/ADFSProvider arn:aws:iam::123456789012:oidc-provider/GoogleProvider arn:aws:iam::123456789012:oidc-provider/server.example.org
-
OIDCpenyedia identitas dengan jalur yang mencerminkan penyedia EKS OIDC identitas AmazonURL:
arn:aws:iam::123456789012:oidc-provider/oidc.eks.us-west-2.amazonaws.com/id/a1b2c3d4567890abcdefEXAMPLE11111
Penting lainnya ARN adalah pengguna rootARN. Meskipun ini bukan IAM sumber daya, Anda harus terbiasa dengan format iniARN. Ini sering digunakan dalam Principalelemen kebijakan berbasis sumber daya.
-
Akun AWS Menampilkan yang berikut ini:
arn:aws:iam::123456789012:root
Contoh berikut menunjukkan kebijakan yang dapat Anda tetapkan kepada Richard untuk mengizinkannya mengelola kunci aksesnya. Perhatikan bahwa sumber daya adalah IAM pengguna Richard.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ManageRichardAccessKeys", "Effect": "Allow", "Action": [ "iam:*AccessKey*", "iam:GetUser" ], "Resource": "arn:aws:iam::*:user/division_abc/subdivision_xyz/Richard" }, { "Sid": "ListForConsole", "Effect": "Allow", "Action": "iam:ListUsers", "Resource": "*" } ] }
catatan
Saat Anda menggunakan ARNs untuk mengidentifikasi sumber daya dalam IAM kebijakan, Anda dapat menyertakan variabel kebijakan. Variabel kebijakan dapat menyertakan placeholder untuk informasi runtime (seperti nama pengguna) sebagai bagian dari. ARN Untuk informasi selengkapnya, silakan lihat Elemen kebijakan IAM: Variabel dan tanda
Menggunakan wildcard dan path di ARNs
Anda dapat menggunakan wildcard di resource
bagian dari ARN untuk menentukan beberapa pengguna atau IAM grup atau kebijakan. Misalnya, untuk menentukan semua pengguna yang bekerja pada product_1234, Anda menggunakan:
arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/product_1234/*
Jika Anda memiliki pengguna yang namanya dimulai dengan stringapp_
, Anda dapat merujuk mereka semua dengan yang berikut iniARN.
arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/product_1234/app_*
Untuk menentukan semua pengguna, IAM grup, atau kebijakan dalam Anda Akun AWS, gunakan wildcard setelah user/
group/
, atau policy/
bagian dariARN, masing-masing.
arn:aws:iam::123456789012:user/* arn:aws:iam::123456789012:group/* arn:aws:iam::123456789012:policy/*
Jika Anda menentukan berikut ini ARN untuk penggunaarn:aws:iam::111122223333:user/*
, itu cocok dengan kedua contoh berikut.
arn:aws:iam::111122223333:user/JohnDoe arn:aws:iam::111122223333:user/division_abc/subdivision_xyz/JaneDoe
Tetapi, jika Anda menentukan yang berikut ARN untuk pengguna arn:aws:iam::111122223333:user/division_abc*
itu cocok dengan contoh kedua, tetapi bukan yang pertama.
arn:aws:iam::111122223333:user/JohnDoe arn:aws:iam::111122223333:user/division_abc/subdivision_xyz/JaneDoe
Jangan gunakan wildcard diuser/
,group/
, atau policy/
bagian dari. ARN Misalnya, IAM tidak mengizinkan yang berikut:
arn:aws:iam::123456789012:u*
contoh Contoh penggunaan jalur dan ARNs untuk grup pengguna berbasis proyek
Jalur tidak dapat dibuat atau dimanipulasi di AWS Management Console. Untuk menggunakan jalur, Anda harus bekerja dengan sumber daya dengan menggunakan AWS API, the AWS CLI, atau Tools untuk Windows PowerShell.
Dalam contoh ini, Jules dalam grup pengguna Marketing_Admin membuat grup pengguna berbasis proyek dalam jalur /marketing/. Jules menugaskan pengguna dari berbagai bagian perusahaan ke grup pengguna. Contoh ini menggambarkan bahwa jalur pengguna tidak terkait dengan grup pengguna yang pengguna ikuti.
Grup pemasaran memiliki produk baru yang akan mereka luncurkan, sehingga Jules membuat grup pengguna baru dalam jalur /marketing/ yang disebut Widget_Launch. Jules kemudian menetapkan kebijakan berikut kepada grup pengguna, yang memberi grup pengguna akses ke objek di bagian example_bucket
yang ditetapkan untuk peluncuran khusus ini.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": "arn:aws:s3:::example_bucket/marketing/newproductlaunch/widget/*" }, { "Effect": "Allow", "Action": "s3:ListBucket*", "Resource": "arn:aws:s3:::example_bucket", "Condition": {"StringLike": {"s3:prefix": "marketing/newproductlaunch/widget/*"}} } ] }
Jules, kemudian menugaskan pengguna yang mengerjakan peluncuran ini ke grup pengguna. Ini termasuk Patricia dan Eli dari jalur /pemasaran/. Ini juga mencakup Chris dan Chloe dari jalur /pemasaran/, dan Alice serta Jim dari /legal/.
Pengidentifikasi unik
Saat IAM membuat pengguna, grup pengguna, peran, kebijakan, profil instance, atau sertifikat server, ia menetapkan ID unik untuk setiap sumber daya. ID unik terlihat seperti ini:
AIDAJQABLZS4A3QDU576Q
Untuk sebagian besar, Anda menggunakan nama yang ramah dan ARNsketika Anda bekerja dengan IAM sumber daya. Dengan begitu, Anda tidak perlu mengetahui ID unik untuk sumber daya tertentu. Namun, ID unik terkadang dapat berguna jika saat situasi tidak praktis untuk menggunakan nama yang ramah.
Salah satu contoh menggunakan kembali nama ramah di Anda Akun AWS. Dalam akun Anda, nama ramah untuk pengguna, grup pengguna, peran, atau kebijakan harus unik. Misalnya, Anda dapat membuat nama IAM penggunaJohn
. Perusahaan Anda menggunakan Amazon S3 dan memiliki folder dengan bucket untuk setiap karyawan. IAMuser John
adalah anggota grup IAM pengguna bernama User-S3-Access
dengan izin yang memungkinkan pengguna mengakses hanya ke folder mereka sendiri di bucket. Untuk contoh cara membuat kebijakan berbasis identitas yang memungkinkan IAM pengguna mengakses objek bucket mereka sendiri di S3 menggunakan nama pengguna yang ramah, lihat. Amazon S3: Memungkinkan IAM pengguna mengakses direktori home S3 mereka, secara terprogram dan di konsol
Misalkan karyawan bernama John meninggalkan perusahaan Anda dan Anda menghapus nama IAM pengguna yang sesuaiJohn
. Tapi kemudian karyawan lain bernama John mulai, dan Anda membuat IAM pengguna baru bernamaJohn
. Anda menambahkan nama IAM pengguna baru John
ke grup IAM pengguna yang adaUser-S3-Access
. Jika kebijakan yang terkait dengan grup pengguna menentukan nama IAM pengguna yang ramahJohn
, kebijakan tersebut mengizinkan John baru mengakses informasi yang ditinggalkan oleh John sebelumnya.
Secara umum, kami menyarankan Anda menentukan ARN sumber daya dalam kebijakan Anda, bukan ID uniknya. Namun, setiap IAM pengguna memiliki ID unik, bahkan jika Anda membuat IAM pengguna baru yang menggunakan kembali nama ramah yang Anda hapus sebelumnya. Dalam contoh, IAM pengguna lama John
dan IAM pengguna baru John
memiliki keunikan yang berbedaIDs. Anda dapat membuat kebijakan berbasis sumber daya yang memberikan akses dengan ID unik dan tidak hanya dengan nama pengguna. Melakukannya mengurangi kemungkinan bahwa Anda secara tidak sengaja dapat memberikan akses ke informasi yang seharusnya tidak dimiliki oleh seorang karyawan.
Contoh berikut menunjukkan bagaimana Anda dapat menentukan unik IDs dalam Principalelemen kebijakan berbasis sumber daya.
"Principal": { "AWS": [ "arn:aws:iam::
111122223333
:role/role-name
", "AIDACKCEVSQ6C2EXAMPLE
", "AROADBQP57FF2AEXAMPLE
" }
Contoh berikut menunjukkan bagaimana Anda dapat menentukan unik IDs dalam Conditionelemen kebijakan menggunakan kunci kondisi global aws:userid.
"Condition": { "StringLike": { "aws:userId": [ "
AIDACKCEVSQ6C2EXAMPLE
", "AROADBQP57FF2AEXAMPLE
:role-session-name
", "AROA1234567890EXAMPLE
:*
", "111122223333
" ] } }
Contoh lain di mana pengguna IDs dapat berguna adalah jika Anda memelihara database Anda sendiri (atau toko lain) informasi IAM pengguna atau peran. ID unik dapat memberikan pengenal unik untuk setiap IAM pengguna atau peran yang Anda buat. Ini adalah kasus ketika Anda memiliki IAM pengguna atau peran yang menggunakan kembali nama, seperti pada contoh sebelumnya.
Memahami prefiks ID yang unik
IAMmenggunakan awalan berikut untuk menunjukkan jenis sumber daya apa yang berlaku untuk setiap ID unik. Awalan dapat bervariasi berdasarkan kapan mereka dibuat.
Awalan | Jenis sumber daya |
---|---|
ABIA | AWS STS token pembawa layanan |
ACCA | Kredensial spesifik konteks |
AGPA |
Grup pengguna |
AIDA |
IAMpengguna |
AIPA | Profil EC2 contoh Amazon |
AKIA | Kunci akses |
ANPA |
Kebijakan terkelola |
ANVA |
Versi dalam kebijakan terkelola |
APKA | Kunci publik |
AROA | Peran |
ASCA | Sertifikat |
ASIA |
Kunci akses sementara (AWS STS) IDs menggunakan awalan ini, tetapi unik hanya dalam kombinasi dengan kunci akses rahasia dan token sesi. |
Mendapatkan pengidentifikasi unik
ID unik untuk IAM sumber daya tidak tersedia di IAM konsol. Untuk mendapatkan ID unik, Anda dapat menggunakan AWS CLI perintah atau IAM API panggilan berikut.
AWS CLI:
IAM API: