Menonaktifkan izin untuk kredensial keamanan sementara - 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.

Menonaktifkan izin untuk kredensial keamanan sementara

Kredensi keamanan sementara berlaku hingga kedaluwarsa. Kredensi ini berlaku untuk durasi yang ditentukan, dari 900 detik (15 menit) hingga maksimum 129.600 detik (36 jam). Durasi sesi default adalah 43.200 detik (12 jam). Anda dapat mencabut kredensil ini, tetapi Anda juga harus mengubah izin untuk IAM pengguna atau peran untuk menghentikan penggunaan kredensil yang disusupi untuk aktivitas akun berbahaya. Izin yang ditetapkan untuk kredensil keamanan sementara dievaluasi setiap kali digunakan untuk membuat permintaan. AWS Setelah Anda menghapus semua izin dari kredensi, AWS permintaan yang menggunakannya gagal.

Mungkin perlu beberapa menit agar pembaruan kebijakan diterapkan. Untuk sesi IAM peran, Anda dapat mencabut kredensil keamanan sementara peran untuk memaksa semua pengguna yang menganggap peran tersebut mengautentikasi ulang dan meminta kredensil baru. Untuk informasi selengkapnya, lihat Mencabut kredenal keamanan sementara peran tersebut.

Anda tidak dapat mengubah izin untuk file Pengguna root akun AWS. Demikian juga, Anda tidak dapat mengubah izin untuk kredensial keamanan sementara yang dibuat dengan memanggil GetFederationToken atau GetSessionToken saat masuk sebagai pengguna root. Karena alasan ini, kami menyarankan agar Anda tidak memanggil GetFederationToken atau GetSessionToken sebagai pengguna root.

Untuk prosedur tentang cara mengubah izin untuk IAM pengguna, lihatMengubah izin untuk pengguna IAM.

Untuk prosedur tentang cara mengubah izin untuk IAM peran, lihatMemperbarui izin untuk peran.

penting

Anda tidak dapat mengedit peran IAM yang dibuat dari set izin Pusat IAM Identitas. Anda harus mencabut sesi set izin aktif untuk pengguna di Pusat IAM Identitas. Untuk informasi selengkapnya, lihat Mencabut sesi IAM peran aktif yang dibuat oleh set izin di Panduan Pengguna Pusat IAM Identitas.

Tolak akses ke semua sesi IAM peran yang terkait dengan peran

Prosedur ini menolak izin untuk semua sesi IAM peran yang terkait dengan peran. Gunakan pendekatan ini ketika Anda khawatir tentang akses yang mencurigakan dengan:

  • Prinsipal dari akun lain menggunakan akses lintas akun

  • Identitas pengguna eksternal dengan izin untuk mengakses AWS sumber daya di akun Anda

  • Pengguna yang telah diautentikasi dalam aplikasi seluler atau web dengan penyedia OIDC

Untuk mengubah atau menghapus izin yang ditetapkan ke kredensil keamanan sementara yang diperoleh dengan memanggilAssumeRole,, atau,AssumeRoleWithSAML, atau AssumeRoleWithWebIdentityGetFederationToken, atauGetSessionToken, Anda dapat mengedit atau menghapus kebijakan berbasis identitas yang menentukan izin untuk peran tersebut.

penting

Jika ada kebijakan berbasis sumber daya yang memungkinkan akses utama, Anda juga harus menambahkan penolakan eksplisit untuk sumber daya tersebut. Lihat Tolak akses ke prinsipal tertentu dengan kebijakan berbasis sumber daya untuk detail.

Untuk menolak akses ke semua sesi IAM peran yang terkait dengan peran
  1. Masuk ke AWS Management Console dan buka IAM konsol.

  2. Di panel navigasi, pilih Peran..

  3. Pilih nama peran yang akan diedit. Anda dapat menggunakan kotak pencarian untuk memfilter daftar.

  4. Pilih tab Izin.

  5. Pilih kebijakan yang relevan untuk diedit. Sebelum Anda mengedit kebijakan terkelola pelanggan, tinjau tab Entitas yang dilampirkan untuk menghindari gangguan akses ke identitas lain yang mungkin memiliki kebijakan yang sama.

  6. Pilih JSONtab dan perbarui kebijakan untuk menolak semua sumber daya dan tindakan.

    catatan

    Izin ini sama dengan yang ada dalam kebijakan AWS AWSDenyAllterkelola. Anda dapat melampirkan kebijakan AWS terkelola ini ke IAM pengguna atau peran mana pun yang ingin Anda tolak semua aksesnya.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAll", "Effect": "Deny", "Action": [ "*" ], "Resource": "*" } ] }
  7. Di halaman Tinjauan, tinjau Ringkasan kebijakan lalu pilih Simpan perubahan untuk menyimpan pekerjaan Anda.

Saat memperbarui kebijakan, perubahan akan memengaruhi izin semua kredensil keamanan sementara yang terkait dengan peran tersebut, termasuk kredensil yang dikeluarkan sebelum Anda mengubah kebijakan izin peran.

Setelah memperbarui kebijakan, Anda dapat mencabut kredensil keamanan sementara peran tersebut untuk segera mencabut semua izin atas kredenal yang dikeluarkan peran tersebut.

Tolak akses ke sesi IAM peran tertentu

Bila Anda memperbarui IAM peran dengan kebijakan tolak semua atau menghapus peran sepenuhnya, semua pengguna yang memiliki akses ke peran akan terganggu. Anda dapat menolak akses tanpa memengaruhi izin semua sesi lain yang terkait dengan peran tersebut.

Izin Principal dapat ditolak menggunakan kunci konteks kondisi atau kebijakan berbasis sumber daya.

Tip

Anda dapat menemukan pengguna ARNs federasi menggunakan AWS CloudTrail log. Untuk informasi selengkapnya, lihat Cara Mudah Mengidentifikasi Pengguna Federasi Anda dengan Menggunakan AWS CloudTrail.

Tolak akses ke sesi kredensi keamanan sementara dengan kunci konteks kondisi

Anda dapat menggunakan kunci konteks kondisi dalam kebijakan berbasis identitas dalam situasi di mana Anda ingin menolak akses ke sesi kredensi keamanan sementara tertentu tanpa memengaruhi izin IAM pengguna atau peran yang membuat kredensil. Untuk IAM peran, setelah memperbarui kebijakan, Anda juga dapat mencabut sesi kredensil keamanan sementara peran tersebut untuk segera mencabut semua kredensi yang dikeluarkan.

Untuk informasi selengkapnya tentang kunci konteks kondisi, lihatAWS kunci konteks kondisi global.

aws: PrincipalArn

Anda dapat menggunakan kunci konteks kondisi aws: PrincipalArn dalam kebijakan berbasis identitas untuk menolak akses ke prinsipal tertentu dengan Amazon Resource Name (). ARN Anda melakukannya dengan menentukan sesi IAM pengguna, peran, atau pengguna AWS STS gabungan yang terkait dengan kredensil keamanan sementara dalam elemen Kondisi kebijakan. ARN

Untuk menolak akses ke kepala sekolah tertentu oleh mereka ARN
  1. Di panel navigasi IAM konsol, pilih Pengguna atau Peran.

  2. Pilih nama IAM pengguna atau peran yang akan diedit. Anda dapat menggunakan kotak pencarian untuk memfilter daftar.

  3. Pilih tab Izin.

  4. Pilih kebijakan yang relevan untuk diedit. Sebelum Anda mengedit kebijakan terkelola pelanggan, tinjau tab Entitas yang dilampirkan untuk menghindari gangguan akses ke identitas lain yang mungkin memiliki kebijakan yang sama.

  5. Pilih JSONtab dan tambahkan pernyataan penolakan untuk prinsipal ARN seperti yang ditunjukkan pada contoh berikut.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "ArnEquals": { "aws:PrincipalArn": [ "arn:aws:iam::222222222222:role/ROLENAME", "arn:aws:iam::222222222222:user/USERNAME", "arn:aws:iam::222222222222:federated-user/USERNAME" ] } } } ] }
  6. Di halaman Tinjauan, tinjau Ringkasan kebijakan lalu pilih Simpan perubahan untuk menyimpan pekerjaan Anda.

aws: SourceIdentity

Anda dapat menggunakan kunci konteks kondisi aws: SourceIdentity dalam kebijakan berbasis identitas untuk menolak akses ke identitas sumber tertentu yang terkait dengan sesi peranIAM. Ini berlaku selama sesi peran dikeluarkan dengan menyetel parameter SourceIdentity permintaan saat prinsipal mengambil peran menggunakan AWS STS assume-role CLI perintah*, atau AWS STS AssumeRole API operasi* apa pun. Anda melakukannya dengan menentukan identitas sumber yang terkait dengan kredensi keamanan sementara dalam Condition elemen kebijakan.

Tidak seperti kunci konteks sts:RoleSessionName, setelah identitas sumber ditetapkan, nilainya tidak dapat diubah. aws:SourceIdentityKuncinya ada dalam konteks permintaan untuk semua tindakan yang diambil oleh peran. Identitas sumber tetap ada di sesi peran berikutnya saat Anda menggunakan kredensil sesi untuk mengambil peran lain. Mengasumsikan satu peran dari peran lain disebut rantai peran.

Kebijakan berikut menunjukkan contoh bagaimana Anda dapat menolak akses ke sesi kredensi keamanan sementara menggunakan kunci aws:SourceIdentity konteks kondisi. Jika Anda menentukan identitas sumber yang terkait dengan sesi peran, itu akan menolak sesi peran dengan identitas sumber bernama tanpa memengaruhi izin peran yang membuat kredensil. Untuk contoh ini, identitas sumber yang ditetapkan oleh kepala sekolah saat sesi peran dikeluarkan adalahnikki_wolf@example.com. Setiap permintaan yang dibuat oleh sesi peran dengan identitas sumber nikki_wolf@example.com akan ditolak karena identitas sumber disertakan dalam kondisi kebijakan dan Efek kebijakan disetel keDeny.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "StringLike": { "aws:SourceIdentity": [ "nikki_wolf@example.com", "<source identity value>" ] } } } ] }

aws:userid

Anda dapat menggunakan kunci konteks kondisi aws:userid dalam kebijakan berbasis identitas untuk menolak akses ke semua atau sesi kredensi keamanan sementara tertentu yang terkait dengan pengguna atau peran. IAM Anda melakukannya dengan menentukan pengenal unik (ID) IAM pengguna, peran, atau sesi pengguna AWS STS gabungan yang terkait dengan kredensil keamanan sementara dalam elemen kebijakan. Condition

Kebijakan berikut menunjukkan contoh bagaimana Anda dapat menolak akses ke sesi kredensi keamanan sementara menggunakan kunci aws:userid konteks kondisi.

  • AIDAXUSER1mewakili ID unik untuk IAM pengguna. Menentukan ID unik IAM pengguna sebagai nilai untuk kunci konteks aws:userid akan menolak akses ke IAM pengguna. Ini termasuk sesi kredensi keamanan sementara yang dibuat dengan menelepon. GetSessionToken API

  • AROAXROLE1:*mewakili ID unik untuk semua sesi yang terkait dengan IAM peran. Menentukan ID unik IAM peran dan karakter wildcard (*) di bagian caller-specified-role-session -name sebagai nilai untuk kunci konteks aws:userid akan menolak semua sesi yang terkait dengan peran tersebut.

  • AROAXROLE2:<caller-specified-role-session-name>mewakili ID unik untuk sesi peran yang diasumsikan. Di bagian caller-specified-role-session -name dari ID unik peran yang diasumsikan, Anda dapat menentukan nama sesi peran atau karakter wildcard jika operator kondisi digunakan. StringLike Jika Anda menentukan nama sesi peran, itu akan menolak sesi peran bernama tanpa memengaruhi izin peran yang membuat kredensil. Jika Anda menentukan karakter wildcard untuk nama sesi peran, itu akan menolak semua sesi yang terkait dengan peran tersebut.

    catatan

    Nama sesi peran yang ditentukan pemanggil, yang merupakan bagian dari pengenal unik untuk sesi peran yang diasumsikan, dapat berubah selama rantai peran. Role chaining terjadi ketika satu peran mengambil peran lain. Nama sesi peran diatur menggunakan parameter RoleSessionName permintaan ketika prinsipal mengasumsikan peran menggunakan AWS STS AssumeRole API operasi.

  • account-id:<federated-user-caller-specified-name>mewakili ID unik untuk sesi pengguna AWS STS federasi. Seorang IAM pengguna membuat sesi ini dengan memanggil file GetFederationTokenAPI. Menentukan ID unik untuk sesi pengguna AWS STS federasi menyangkal sesi pengguna federasi bernama tanpa memengaruhi izin pengguna yang membuat kredensialnyaIAM.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "StringLike": { "aws:userId": [ "AIDAXUSER1", "AROAXROLE1:*", "AROAXROLE2:<caller-specified-role-session-name>", "account-id:<federated-user-caller-specified-name>" ] } } } ] }

Untuk contoh spesifik dari nilai kunci utama, lihatNilai-nilai kunci utama. Untuk informasi tentang pengidentifikasi IAM unik dan cara mendapatkannya, lihatPengidentifikasi unik.

Tolak akses ke prinsipal tertentu dengan kebijakan berbasis sumber daya

Untuk membatasi akses ke prinsipal tertentu dengan kebijakan berbasis sumber daya, Anda dapat menggunakan kunci aws: PrincipalArn konteks kondisi atau dalam elemen. aws: SourceIdentity Condition Kebijakan berbasis sumber daya adalah kebijakan izin yang dilampirkan pada sumber daya dan kontrol siapa yang dapat mengakses sumber daya dan tindakan apa yang dapat mereka lakukan terhadapnya.

Saat Anda menggunakan kunci aws:PrincipalARN konteks, tentukan sesi IAM pengguna, peran, atau pengguna AWS STS gabungan yang terkait dengan kredensil keamanan sementara dalam elemen Kondisi kebijakan. ARN Contoh kebijakan berikut menunjukkan cara menggunakan kunci aws:PrincipalARN konteks dalam kebijakan berbasis sumber daya:

{ "Version": "2012-10-17", "Statement": { "Principal": [ "*" ], "Effect": "Deny", "Action": "s3:*", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", "Condition": { "ArnEquals": { "aws:PrincipalArn": [ "arn:aws:iam::222222222222:role/ROLENAME", "arn:aws:iam::222222222222:user/USERNAME", "arn:aws:sts::222222222222:federated-user/USERNAME" ] } } } }

Bila Anda menggunakan kunci aws:SourceIdentity konteks, tentukan nilai identitas sumber yang terkait dengan kredensil keamanan sementara peran dalam Condition elemen kebijakan. Ini berlaku selama sesi peran dikeluarkan dengan menyetel parameter SourceIdentity permintaan saat prinsipal mengambil peran menggunakan AWS STS assume-role CLI perintah*, atau AWS STS AssumeRole API operasi* apa pun. Contoh berikut menunjukkan cara menggunakan kunci aws:SourceIdentity konteks dalam kebijakan berbasis sumber daya:

{ "Version": "2012-10-17", "Statement": { "Principal": [ "*" ], "Effect": "Deny", "Action": "s3:*", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", "Condition": { "StringLike": { "aws:SourceIdentity": [ "nikki_wolf@example.com", "<source identity value>" ] } } } }

Jika Anda hanya memperbarui kebijakan berbasis identitas untuk prinsipal, mereka masih dapat melakukan tindakan yang diizinkan dalam kebijakan berbasis sumber daya, kecuali jika tindakan tersebut secara eksplisit ditolak dalam kebijakan berbasis identitas.

Untuk menolak akses ke prinsipal tertentu dalam kebijakan berbasis sumber daya
  1. Lihat AWS layanan yang bekerja dengan IAM untuk melihat apakah layanan mendukung kebijakan berbasis sumber daya.

  2. Masuk ke AWS Management Console dan buka konsol untuk layanan ini. Setiap layanan memiliki lokasi yang berbeda di konsol untuk melampirkan kebijakan.

  3. Edit kebijakan berbasis sumber daya. Tambahkan pernyataan kebijakan penolakan untuk menentukan informasi identifikasi kredensi:

    1. Dalam Principal elemen, masukkan wildcard (*). Kepala sekolah akan dibatasi dalam Condition elemen.

    2. Dalam Effect elemen, masukkan “Deny.”

    3. MasukAction, masukkan namespace layanan dan nama tindakan yang akan ditolak. Untuk menolak semua tindakan, gunakan karakter wildcard (*). Sebagai contoh: "s3:*".

    4. Dalam Resource elemen, masukkan ARN sumber daya target. Sebagai contoh: "arn:aws:s3:::amzn-s3-demo-bucket".

    5. Dalam Condition elemen, tentukan kunci aws:PrincipalARN atau aws:SourceIdentity konteks.

      Jika Anda menggunakan kunci aws:PrincipalARN konteks, masukkan ARN prinsipal untuk menolak akses.

      Jika Anda menggunakan kunci aws:SourceIdentity konteks, masukkan nilai identitas sumber yang ditetapkan dalam sesi peran untuk menolak akses.

  4. Simpan pekerjaan Anda.