Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
IAM menggunakan beberapa pengidentifikasi yang berbeda untuk pengguna, grup IAM, 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 atau AWS Command Line Interface (AWS CLI) untuk membuat sumber daya IAM, 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. Kemudian, Anda dapat membuat kebijakan yang memungkinkan semua pengguna di jalur tersebut mengakses API simulator kebijakan. Untuk melihat kebijakan ini, lihat IAM: Akses API simulator kebijakan berdasarkan jalur pengguna. Untuk informasi tentang cara menentukan nama yang mudah diingat, lihat dokumentasi API 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, grup IAM, 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. IAM tidak memberlakukan batasan apa pun antara pengguna atau grup IAM 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 sumber daya IAM dalam AWS akun terbatas. Untuk informasi selengkapnya, lihat IAM dan 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 untuk menentukan 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. Sumber daya IAM selalu digunakaniam
. -
region
mengidentifikasi Wilayah sumber daya. Untuk sumber daya IAM, ini selalu dibiarkan kosong. -
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 ARN kosong karena sumber daya IAM bersifat global.
Sintaks:
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-contoh berikut mencakup jalur di bagian sumber daya ARN. 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.
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 format ARN untuk berbagai jenis IAM dan sumber daya. AWS STS
-
Pengguna IAM di akun:
catatan
Setiap nama pengguna IAM 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 pengguna IAM 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
-
Seorang pengguna federasi diidentifikasi dalam 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 panggilan API, seperti AWS STS SetContextAPI, yang beroperasi pada sesi pemanggilan:
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 (SAML dan OIDC):
arn:aws:iam::123456789012:saml-provider/ADFSProvider arn:aws:iam::123456789012:oidc-provider/GoogleProvider arn:aws:iam::123456789012:oidc-provider/server.example.org
-
Penyedia identitas OIDC dengan jalur yang mencerminkan URL penyedia identitas Amazon EKS OIDC:
arn:aws:iam::123456789012:oidc-provider/oidc.eks.us-west-2.amazonaws.com/id/a1b2c3d4567890abcdefEXAMPLE11111
ARN penting lainnya adalah ARN pengguna akar. Meskipun ini bukan sumber daya IAM, Anda harus familiar dengan format ARN ini. Hal 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 Richard, pengguna IAM.
{
"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 kebijakan IAM, Anda dapat menyertakan variabel kebijakan. Variabel kebijakan dapat mencakup placeholder untuk informasi waktu aktif (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 ARN untuk menentukan beberapa pengguna atau grup atau kebijakan IAM. 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 ARN berikut.
arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/product_1234/app_*
Untuk menentukan semua pengguna, grup IAM, atau kebijakan dalam Anda Akun AWS, gunakan wildcard setelahuser/
,group/
, atau policy/
bagian dari ARN, masing-masing.
arn:aws:iam::123456789012:user/*
arn:aws:iam::123456789012:group/*
arn:aws:iam::123456789012:policy/*
Jika Anda menentukan ARN berikut untuk pengguna arn:aws:iam::111122223333:user/*
, ini cocok dengan kedua contoh berikut.
arn:aws:iam::111122223333:user/JohnDoe
arn:aws:iam::111122223333:user/division_abc/subdivision_xyz/JaneDoe
Namun, jika Anda menentukan ARN berikut untuk penggunaarn:aws:iam::111122223333:user/division_abc*
, ini 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 di user/
, group/
, atau policy/
bagian dari ARN. Misalnya, IAM tidak mengizinkan hal 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 darithe /marketing/ path. It also includes Chris and Chloe from the /sales/ path, and Alice and Jim from the /legal/path.
Pengidentifikasi unik
Ketika IAM membuat pengguna, grup pengguna, peran, kebijakan, profil instance, atau sertifikat server, IAM menetapkan ID unik untuk setiap sumber daya. ID unik terlihat seperti ini:
AIDAJQABLZS4A3QDU576Q
Secara umum, Anda menggunakan nama ramah dan ARNs saat Anda bekerja dengan sumber daya IAM. 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-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 John
pengguna IAM. Perusahaan Anda menggunakan Amazon S3 dan memiliki folder dengan bucket untuk setiap karyawan. Pengguna IAM John
adalah anggota grup pengguna IAM 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 pengguna IAM 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 John
pengguna IAM yang sesuai. Tapi kemudian karyawan lain bernama John mulai, dan Anda membuat pengguna IAM baru bernamaJohn
. Anda menambahkan nama pengguna IAM baru John
ke grup pengguna IAM yang ada. User-S3-Access
Jika kebijakan yang terkait dengan grup pengguna menentukan nama pengguna IAM yang ramahJohn
, kebijakan tersebut memungkinkan John baru untuk mengakses informasi yang ditinggalkan oleh John sebelumnya.
Secara umum, kami menyarankan Anda menentukan ARN untuk sumber daya dalam kebijakan Anda, bukan ID uniknya. Namun, setiap pengguna IAM memiliki ID unik, bahkan jika Anda membuat pengguna IAM baru yang menggunakan kembali nama ramah yang Anda hapus sebelumnya. Dalam contoh, pengguna IAM lama John
dan pengguna IAM baru John
memiliki keunikan yang berbeda. IDs 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) dari pengguna IAM atau informasi peran. ID unik dapat memberikan pengenal unik untuk setiap pengguna IAM atau peran yang Anda buat. Ini adalah kasus ketika Anda memiliki pengguna IAM atau peran yang menggunakan kembali nama, seperti pada contoh sebelumnya.
Memahami prefiks ID yang unik
IAM menggunakan awalan berikut untuk menunjukkan jenis sumber daya yang masing-masing ID unik berlaku. Awalan dapat bervariasi berdasarkan kapan mereka dibuat.
Awalan | Tipe sumber daya |
---|---|
ABIA | AWS STS token pembawa layanan |
ACCA | Kredensial spesifik konteks |
AGPA |
Grup pengguna |
AIDA |
Pengguna IAM |
AIPA | Profil EC2 instans Amazon |
AKIA | Access key |
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 sumber daya IAM tidak tersedia di konsol IAM. Untuk mendapatkan ID unik, Anda dapat menggunakan AWS CLI perintah berikut atau panggilan API IAM.
AWS CLI:
API IAM: