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 pengguna IAM 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 peran IAM, Anda dapat mencabut kredensil keamanan sementara peran tersebut untuk memaksa semua pengguna yang mengasumsikan peran tersebut untuk 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 pengguna IAM, lihat. Mengubah izin untuk pengguna IAM

Untuk prosedur tentang cara mengubah izin untuk peran IAM, lihat. Memperbarui izin untuk peran

penting

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

Tolak akses ke semua sesi peran IAM yang terkait dengan peran

Prosedur ini menolak izin untuk semua sesi peran IAM 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 peran IAM yang terkait dengan peran
  1. Masuk ke AWS Management Console dan buka konsol IAM.

  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 tab JSON dan perbarui kebijakan untuk menolak semua sumber daya dan tindakan.

    catatan

    Izin ini sama dengan yang ada di kebijakan AWS terkelola AWSDenySemua. Anda dapat melampirkan kebijakan AWS terkelola ini ke setiap pengguna IAM atau peran yang ingin Anda tolak semua aksesnya.

    JSON
    { "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 peran IAM tertentu

Saat Anda memperbarui peran IAM dengan kebijakan penolakan semua atau menghapus peran sepenuhnya, semua pengguna yang memiliki akses ke peran tersebut 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 pengguna IAM atau peran yang membuat kredensialnya. Untuk peran IAM, setelah memperbarui kebijakan, Anda juga dapat mencabut sesi kredensil keamanan sementara peran tersebut untuk segera mencabut semua kredensil 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 Nama Sumber Daya Amazon (ARN) mereka. Anda melakukannya dengan menentukan ARN pengguna IAM, peran, AWS STS atau sesi pengguna gabungan yang terkait dengan kredensil keamanan sementara dalam elemen Kondisi kebijakan.

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

  2. Pilih nama pengguna IAM 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 tab JSON dan tambahkan pernyataan penolakan untuk ARN utama seperti yang ditunjukkan pada contoh berikut.

    JSON
    { "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 peran IAM. Ini berlaku selama sesi peran dikeluarkan dengan menyetel parameter SourceIdentity permintaan saat prinsipal mengambil peran menggunakan AWS STS assume-role perintah* CLI apa pun, atau AWS STS AssumeRole operasi* API. 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 disetel, 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 kredenal 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.

JSON
{ "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) pengguna IAM, peran, atau sesi pengguna AWS STS federasi 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 pengguna IAM. Menentukan ID unik pengguna IAM sebagai nilai untuk kunci konteks aws:userid akan menolak akses ke pengguna IAM. Ini termasuk sesi kredensi keamanan sementara yang dibuat dengan memanggil GetSessionToken API.

  • AROAXROLE1:*mewakili ID unik untuk semua sesi yang terkait dengan peran IAM. Menentukan ID unik peran IAM 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 kredensialnya. 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 disetel menggunakan parameter RoleSessionName permintaan saat prinsipal mengasumsikan peran menggunakan operasi AWS STS AssumeRole API.

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

JSON
{ "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 unik IAM dan cara mendapatkannya, lihat. Pengidentifikasi 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.

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

JSON
{ "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 perintah* CLI apa pun, atau AWS STS AssumeRole operasi* API. Contoh berikut menunjukkan cara menggunakan kunci aws:SourceIdentity konteks dalam kebijakan berbasis sumber daya:

JSON
{ "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 dari 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 tombol aws:PrincipalARN konteks, masukkan ARN kepala sekolah 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.