Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
aplikasi pada instans akan mengambil kredensial keamanan yang disediakan oleh peran dari item metadata instans iam/security-credentials/
role-name. Aplikasi ini diberi izin untuk tindakan-tindakan dan sumber daya yang telah Anda tentukan untuk peran tersebut melalui kredensial keamanan yang dikaitkan dengan peran tersebut. Kredensial keamanan ini bersifat sementara dan kami memutar kredensial tersebut secara otomatis. Kami menyediakan kredensial yang baru setidaknya lima menit sebelum kredensial lama kedaluwarsa.
Untuk informasi selengkapnya tentang metadata instans, lihat Gunakan metadata instans untuk mengelola instans Anda EC2.
Awas
Jika Anda menggunakan layanan-layanan yang menggunakan metadata instans dengan IAM role, pastikan Anda tidak mengekspos kredensial Anda saat layanan-layanan tersebut melakukan panggilan HTTP atas nama Anda. Jenis-jenis layanan yang dapat mengekspos kredensial Anda termasuk proksi HTTP, layanan-layanan validator HTML/CSS, dan prosesor XML yang mendukung inklusi XML.
Untuk EC2 beban kerja Amazon Anda, sebaiknya Anda mengambil kredenal sesi menggunakan metode yang dijelaskan di bawah ini. Kredensial ini harus memungkinkan beban kerja Anda membuat permintaan API AWS , tanpa perlu menggunakan sts:AssumeRole
untuk mengambil peran yang sama yang sudah dikaitkan dengan instans. Kecuali jika Anda perlu meneruskan tanda sesi untuk kontrol akses berbasis atribut (ABAC) atau meneruskan kebijakan sesi guna membatasi izin peran lebih lanjut, panggilan pengambilan peran tersebut tidak diperlukan karena panggilan tersebut membuat kumpulan baru kredensial sesi peran sementara yang sama.
Jika beban kerja menggunakan peran untuk mengambil dirinya sendiri, Anda harus membuat kebijakan kepercayaan yang secara eksplisit memungkinkan peran tersebut untuk mengambil dirinya sendiri. Jika Anda tidak membuat kebijakan kepercayaan, Anda mendapatkan AccessDenied
kesalahan. Untuk informasi selengkapnya, lihat Memperbarui kebijakan kepercayaan peran di Panduan Pengguna IAM.
Perintah berikut akan mengambil kredensial keamanan untuk IAM role yang mempunyai nama s3access
.
IMDSv2
[ec2-user ~]$
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access
IMDSv1
[ec2-user ~]$
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access
Berikut ini adalah output contoh. Jika Anda tidak dapat mengambil kredensi keamanan, lihat Saya tidak dapat mengakses kredensil keamanan sementara pada EC2 instans saya di Panduan Pengguna IAM.
{
"Code" : "Success",
"LastUpdated" : "2012-04-26T16:39:16Z",
"Type" : "AWS-HMAC",
"AccessKeyId" : "ASIAIOSFODNN7EXAMPLE",
"SecretAccessKey" : "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"Token" : "token",
"Expiration" : "2017-05-17T15:09:54Z"
}
Untuk aplikasi, AWS CLI, dan Alat untuk PowerShell perintah Windows yang berjalan pada instance, Anda tidak perlu secara eksplisit mendapatkan kredensil keamanan sementara — AWS SDKs, AWS CLI, dan Alat untuk Windows PowerShell secara otomatis mendapatkan kredensil dari layanan metadata instance dan menggunakannya. EC2 Untuk membuat panggilan di luar instans menggunakan kredensial keamanan sementara (sebagai contoh, untuk menguji kebijakan IAM), Anda harus menyediakan kunci akses, kunci rahasia, dan token sesi. Untuk informasi selengkapnya, lihat Menggunakan Kredensil Keamanan Sementara untuk Meminta Akses ke AWS Sumber Daya di Panduan Pengguna IAM.