Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memecahkan masalah IAM dan Amazon EC2
Informasi berikut dapat membantu Anda memecahkan IAM masalah dengan Amazon. EC2
Topik
- Saat saya mencoba meluncurkan instance, saya tidak melihat peran tersebut di daftar IAMPeran EC2 konsol Amazon
- Kredensial pada instans saya untuk peran yang salah
- Saat saya mencoba memanggil AddRoleToInstanceProfile, saya mendapatkan kesalahan AccessDenied
- AmazonEC2: Ketika saya mencoba meluncurkan instance dengan peran, saya mendapatkan AccessDenied kesalahan
- Saya tidak dapat mengakses kredensi keamanan sementara pada instance saya EC2
- Apa arti kesalahan dari info dokumen di IAM subpohon?
Saat saya mencoba meluncurkan instance, saya tidak melihat peran tersebut di daftar IAMPeran EC2 konsol Amazon
Periksa hal-hal berikut:
-
Jika Anda masuk sebagai IAM pengguna, verifikasi bahwa Anda memiliki izin untuk menelepon
ListInstanceProfiles
. Untuk informasi tentang izin yang diperlukan untuk bekerja dengan peran, lihatIzin diperlukan untuk menggunakan peran dengan Amazon EC2. Untuk informasi tentang menambahkan izin ke pengguna, lihat Kelola IAM kebijakan.Jika Anda tidak dapat mengubah izin Anda sendiri, Anda harus menghubungi administrator yang dapat bekerja dengan IAM untuk memperbarui izin Anda.
-
Jika Anda membuat peran menggunakan IAM CLI atauAPI, verifikasi hal berikut:
-
Anda membuat profil instans dan menambahkan peran ke profil instance tersebut.
-
Anda menggunakan nama yang sama untuk peran dan profil instance. Jika Anda memberi nama profil peran dan instans secara berbeda, Anda tidak akan melihat nama peran yang benar di EC2 konsol Amazon.
Daftar IAMPeran di EC2 konsol Amazon mencantumkan nama profil instans, bukan nama peran. Anda harus memilih nama profil instans yang berisi peran yang Anda inginkan. Untuk detail tentang profil instans, lihat Gunakan profil contoh.
catatan
Jika Anda menggunakan IAM konsol untuk membuat peran, Anda tidak perlu bekerja dengan profil instance. Untuk setiap peran yang Anda buat di IAM konsol, profil instance dibuat dengan nama yang sama dengan peran, dan peran tersebut secara otomatis ditambahkan ke profil instance tersebut. Profil instance hanya dapat berisi satu IAM peran, dan batas itu tidak dapat ditingkatkan.
-
Kredensial pada instans saya untuk peran yang salah
Peran dalam profil instans mungkin telah diganti baru-baru ini. Jika demikian, aplikasi Anda perlu menunggu rotasi kredensial terjadwal otomatis berikutnya sebelum kredensial untuk peran Anda tersedia.
Untuk memaksa perubahan, Anda harus memisahkan profil instans dan kemudian mengaitkan profil instans, atau Anda dapat menghentikan instance Anda lalu memulainya ulang.
Saat saya mencoba memanggil AddRoleToInstanceProfile
, saya mendapatkan kesalahan AccessDenied
Jika Anda membuat permintaan sebagai IAM pengguna, verifikasi bahwa Anda memiliki izin berikut:
-
iam:AddRoleToInstanceProfile
dengan sumber daya yang cocok dengan profil instance ARN (misalnya,arn:aws:iam::999999999999:instance-profile/ExampleInstanceProfile
).
Untuk informasi selengkapnya tentang izin yang diperlukan untuk bekerja dengan peran, lihatBagaimana saya memulainya?. Untuk informasi tentang menambahkan izin ke pengguna, lihat Kelola IAM kebijakan.
AmazonEC2: Ketika saya mencoba meluncurkan instance dengan peran, saya mendapatkan AccessDenied
kesalahan
Periksa hal-hal berikut:
-
Luncurkan instans tanpa profil instans. Ini akan membantu memastikan bahwa masalahnya terbatas pada IAM peran untuk EC2 instans Amazon.
-
Jika Anda membuat permintaan sebagai IAM pengguna, verifikasi bahwa Anda memiliki izin berikut:
-
ec2:RunInstances
dengan sumber daya wildcard ("*") -
iam:PassRole
dengan sumber daya yang cocok dengan peran ARN (misalnya,arn:aws:iam::999999999999:role/ExampleRoleName
)
-
-
Panggil IAM
GetInstanceProfile
tindakan untuk memastikan bahwa Anda menggunakan nama profil instans yang valid atau profil instans yang validARN. Untuk informasi selengkapnya, lihat Menggunakan IAM peran dengan EC2 instans Amazon. -
Panggil IAM
GetInstanceProfile
tindakan untuk memastikan bahwa profil instance memiliki peran. Profil instans kosong akan gagal dengan kesalahanAccessDenied
. Untuk informasi selengkapnya tentang membuat peran, lihat IAMpenciptaan peran.
Untuk informasi selengkapnya tentang izin yang diperlukan untuk bekerja dengan peran, lihatBagaimana saya memulainya?. Untuk informasi tentang menambahkan izin ke pengguna, lihat Kelola IAM kebijakan.
Saya tidak dapat mengakses kredensi keamanan sementara pada instance saya EC2
Untuk mengakses kredenal keamanan sementara pada EC2 instans Anda, Anda harus terlebih dahulu menggunakan IAM konsol untuk membuat peran. Kemudian Anda meluncurkan EC2 instance yang menggunakan peran itu dan memeriksa instance yang sedang berjalan. Untuk informasi selengkapnya, lihat Bagaimana Cara Memulai? di Menggunakan IAM peran untuk memberikan izin ke aplikasi yang berjalan di instans Amazon EC2.
Jika Anda masih tidak dapat mengakses kredensi keamanan sementara pada EC2 instans Anda, periksa hal berikut:
-
Bisakah Anda mengakses bagian lain dari Layanan Metadata Instans ()? IMDS Jika tidak, periksa apakah Anda tidak memiliki aturan firewall yang memblokir akses ke permintaan keIMDS.
[ec2-user@domU-12-31-39-0A-8D-DE ~]$
GET http://169.254.169.254/latest/meta-data/hostname; echo
-
Apakah
iam
subpohon dari yang IMDS ada? Jika tidak, verifikasi bahwa instans Anda memiliki profil IAM instance yang terkait dengannya dengan memanggil EC2DescribeInstances
API operasi atau menggunakanaws ec2 describe-instances
CLI perintah.[ec2-user@domU-12-31-39-0A-8D-DE ~]$
GET http://169.254.169.254/latest/meta-data/iam; echo
-
Periksa
info
dokumen di IAM subpohon untuk kesalahan. Jika Anda memiliki kesalahan, lihat Apa arti kesalahan dari info dokumen di IAM subpohon? untuk informasi selengkapnya.[ec2-user@domU-12-31-39-0A-8D-DE ~]$
GET http://169.254.169.254/latest/meta-data/iam/info; echo
Apa arti kesalahan dari info
dokumen di IAM subpohon?
Dokumen iam/info
berarti "Code":"InstanceProfileNotFound"
Profil IAM instans Anda telah dihapus dan Amazon tidak EC2 dapat lagi memberikan kredensi ke instans Anda. Anda harus melampirkan profil instans yang valid ke EC2 instans Amazon Anda.
Jika ada profil instans dengan nama tersebut, periksa apakah profil instans tidak dihapus dan penggantinya dibuat dengan nama yang sama:
-
Panggil IAM
GetInstanceProfile
operasi untuk mendapatkanInstanceProfileId
. -
Hubungi EC2
DescribeInstances
operasi Amazon untuk mendapatkan contohnya.IamInstanceProfileId
-
Verifikasi bahwa
InstanceProfileId
dari IAM operasi cocok denganIamInstanceProfileId
dari EC2 operasi Amazon.
Jika IDs berbeda, maka profil instance yang dilampirkan ke instans Anda tidak lagi valid. Anda harus melampirkan profil instans yang valid ke instans.
Dokumen iam/info
menunjukkan keberhasilan tetapi juga menunjukkan "Message":"Instance Profile does not
contain a role..."
Peran telah dihapus dari profil instance oleh IAM RemoveRoleFromInstanceProfile
tindakan. Anda dapat menggunakan IAM AddRoleToInstanceProfile
tindakan untuk melampirkan peran ke profil instance. Aplikasi Anda perlu menunggu hingga penyegaran yang terjadwal berikutnya untuk mengakses kredensial untuk peran tersebut.
Untuk memaksa perubahan, Anda harus memisahkan profil instans dan kemudian mengaitkan profil instans, atau Anda dapat menghentikan instance Anda lalu memulainya ulang.
Dokumen iam/security-credentials/[role-name]
berarti "Code":"AssumeRoleUnauthorizedAccess"
Amazon EC2 tidak memiliki izin untuk mengambil peran tersebut. Izin untuk mengambil peran tersebut dikendalikan oleh kebijakan kepercayaan yang terlampir pada peran tersebut, seperti contoh berikut. Gunakan IAM UpdateAssumeRolePolicy
API untuk memperbarui kebijakan kepercayaan.
{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": {"Service": ["ec2.amazonaws.com"]},"Action": ["sts:AssumeRole"]}]}
Aplikasi Anda perlu menunggu hingga penyegaran terjadwal otomatis berikutnya untuk mengakses kredensial untuk peran tersebut.
Untuk memaksa perubahan, Anda harus memisahkan profil instans dan kemudian mengaitkan profil instans, atau Anda dapat menghentikan instance Anda lalu memulainya ulang.