Contoh alur perencanaan untuk menggunakan informasi yang terakhir diakses - 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.

Contoh alur perencanaan untuk menggunakan informasi yang terakhir diakses

Anda dapat menggunakan informasi yang diakses terakhir untuk membuat keputusan tentang izin yang Anda berikan kepada IAM entitas atau AWS Organizations entitas Anda. Untuk informasi selengkapnya, lihat Memperbaiki izin dalam AWS menggunakan informasi yang terakhir diakses.

catatan

Sebelum Anda melihat informasi akses untuk entitas atau kebijakan di IAM atau AWS Organizations, pastikan Anda memahami periode pelaporan, entitas yang dilaporkan, dan jenis kebijakan yang dievaluasi untuk data Anda. Untuk lebih detailnya, lihat Hal yang perlu diketahui tentang informasi yang terakhir diakses.

Sebagai administrator Anda bebas untuk menyeimbangkan ketersediaan akses dan hak istimewa terkecil untuk perusahaan Anda.

Menggunakan informasi untuk mengurangi izin untuk grup IAM

Anda dapat menggunakan informasi yang diakses terakhir untuk mengurangi izin IAM grup agar hanya menyertakan layanan yang dibutuhkan pengguna Anda. Metode ini merupakan langkah penting dalam memberikan hak istimewa terkecil pada tingkat layanan.

Sebagai contoh, Paulo Santos adalah administrator yang bertanggung jawab untuk mendefinisikan izin AWS pengguna untuk Contoh Corp. Perusahaan ini baru saja mulai menggunakan AWS, dan tim pengembangan perangkat lunak belum menentukan layanan apa yang AWS akan mereka gunakan. Paulo ingin memberikan izin kepada tim untuk hanya mengakses layanan yang mereka butuhkan, tetapi karena itu belum ditentukan, dia sementara memberikan izin penggunaan daya. Kemudian dia menggunakan informasi yang diakses terakhir untuk mengurangi izin kelompok.

Paulo membuat kebijakan terkelola bernama ExampleDevelopment menggunakan JSON teks berikut. Lalu ia melampirkannya ke kelompok bernama Development dan menambahkan semua developer ke kelompok.

catatan

Pengguna daya Paulo mungkin membutuhkan izin iam:CreateServiceLinkedRole untuk menggunakan beberapa layanan dan fitur. Dia mengerti bahwa dia menambahkan izin ini memungkinkan pengguna membuat peran terkait layanan apa pun. Dia menerima risiko ini untuk pengguna dayanya.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "FullAccessToAllServicesExceptPeopleManagement", "Effect": "Allow", "NotAction": [ "iam:*", "organizations:*" ], "Resource": "*" }, { "Sid": "RequiredIamAndOrgsActions", "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "iam:ListRoles", "organizations:DescribeOrganization" ], "Resource": "*" } ] }

Paulo memutuskan untuk menunggu selama 90 hari sebelum melihat informasi yang terakhir diakses untuk Development menggunakan AWS Management Console. Dia melihat daftar layanan yang diakses anggota grup. Dia mengetahui bahwa pengguna mengakses lima layanan dalam seminggu terakhir: AWS CloudTrail, Amazon CloudWatch Logs, Amazon, EC2 AWS KMS, dan Amazon S3. Mereka mengakses beberapa layanan lain ketika mereka pertama kali mengevaluasi AWS, tetapi tidak sejak saat itu.

Paulo memutuskan untuk mengurangi izin kebijakan untuk memasukkan hanya lima layanan tersebut dan tindakan yang diperlukan dan IAM Organizations. Dia mengedit ExampleDevelopment kebijakan menggunakan JSON teks berikut.

catatan

Pengguna daya Paulo mungkin membutuhkan izin iam:CreateServiceLinkedRole untuk menggunakan beberapa layanan dan fitur. Dia mengerti bahwa dia menambahkan izin ini memungkinkan pengguna membuat peran terkait layanan apa pun. Dia menerima risiko ini untuk pengguna dayanya.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "FullAccessToListedServices", "Effect": "Allow", "Action": [ "s3:*", "kms:*", "cloudtrail:*", "logs:*", "ec2:*" ], "Resource": "*" }, { "Sid": "RequiredIamAndOrgsActions", "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "iam:ListRoles", "organizations:DescribeOrganization" ], "Resource": "*" } ] }

Untuk lebih mengurangi izin, Paulo dapat melihat kegiatan akun di AWS CloudTrail Riwayat peristiwa. Di sana, ia dapat melihat informasi kegiatan terperinci yang dapat ia gunakan untuk mengurangi izin kebijakan untuk hanya mencakup tindakan dan sumber daya yang dibutuhkan oleh developer. Untuk informasi selengkapnya, lihat Melihat CloudTrail Acara di CloudTrail Konsol di Panduan AWS CloudTrail Pengguna.

Menggunakan informasi untuk mengurangi izin bagi pengguna IAM

Anda dapat menggunakan informasi yang diakses terakhir untuk mengurangi izin bagi IAM pengguna individu.

Misalnya, Martha Rivera adalah administrator TI yang bertanggung jawab untuk memastikan bahwa orang-orang di perusahaannya tidak memiliki izin berlebih AWS . Sebagai bagian dari pemeriksaan keamanan berkala, ia meninjau izin semua IAM pengguna. Salah satu pengguna ini adalah developer aplikasi bernama Nikhil Jayashankar, yang sebelumnya telah memegang peran sebagai teknisi IT Karena perubahan dalam persyaratan pekerjaan, Nikhil adalah anggota baik grup app-dev maupun grup security-team. app-devGrup untuk pekerjaan barunya memberikan izin ke beberapa layanan termasuk Amazon, Amazon, Auto ScalingEBS, EC2 Amazon S3, Route 53, dan Elastic Transcoder. security-teamKelompok untuk pekerjaan lamanya memberikan izin untuk IAM dan. CloudTrail

Sebagai administrator, Martha masuk ke IAM konsol dan memilih Pengguna, memilih namanikhilj, dan kemudian memilih tab Terakhir Diakses.

Martha meninjau kolom Terakhir Diakses dan pemberitahuan bahwa Nikhil belum baru-baru ini mengaksesIAM,, Route 53 CloudTrail, Amazon Elastic Transcoder, dan sejumlah layanan lainnya. AWS Nikhil telah mengakses Amazon S3. Martha memilih S3 dari daftar layanan dan mengetahui bahwa Nikhil telah melakukan beberapa tindakan Amazon S3 dalam dua minggu terakhir. List Di dalam perusahaannya, Martha menegaskan bahwa Nikhil tidak memiliki kebutuhan bisnis untuk mengakses IAM dan CloudTrail lagi karena dia tidak lagi menjadi anggota tim keamanan internal.

Martha sekarang siap bertindak atas layanan tersebut dan tindakan informasi yang terakhir diakses. Namun, tidak seperti grup pada contoh sebelumnya, IAM pengguna seperti nikhilj mungkin tunduk pada beberapa kebijakan dan menjadi anggota dari beberapa grup. Martha harus berhati-hati agar tidak mengganggu akses nikhilj atau anggota grup lainnya. Sebagai tambahan dalam hal untuk mempelajari apa akses yang harus dimiliki Nikhil, ia harus menentukan cara dia menerima izin ini.

Martha memilih tab Izin, tempatnya melihat kebijakan mana yang terkait secara langsung ke nikhilj dan yang terlampir di grup. Ia membuka lebih lanjut setiap kebijakan dan melihat ringkasan kebijakan untuk mempelajari kebijakan yang memungkinkan akses ke layanan yang tidak digunakan oleh Nikhil:

  • IAM— Kebijakan yang IAMFullAccess AWS dikelola dilampirkan langsung ke nikhilj dan dilampirkan ke security-team grup.

  • CloudTrail — Kebijakan AWS CloudTrailReadOnlyAccess AWS terkelola dilampirkan pada security-team grup.

  • Route 53 – Kebijakan terkelola pelanggan App-Dev-Route53 dilampirkan pada grup app-dev.

  • Transkoder Elastis – Kebijakan terkelola pelanggan App-Dev-ElasticTranscoder terlampir pada grup app-dev.

Martha memutuskan untuk menghapus kebijakan IAMFullAccess AWS terkelola yang dilampirkan nikhilj langsung. Dia juga menghapus keanggotaan Nikhil ke grup security-team. Kedua tindakan ini menghapus akses yang tidak perlu ke IAM dan CloudTrail.

Izin Nikhil untuk mengakses Route 53 dan Transkoder Elastis diberikan oleh grup app-dev. Meskipun Nikhil tidak menggunakan layanan tersebut, anggota lain kelompok tersebut mungkin saja demikian. Martha meninjau informasi yang terakhir diakses untuk grup app-dev dan mempelajari bahwa beberapa anggota mengakses Route 53 dan Amazon S3 baru-baru ini. Namun, tidak ada anggota kelompok yang telah mengakses Transkoder Elastis tahun lalu. Dia menghapus kebijakan pengelolaan pelanggan App-Dev-ElasticTranscoder dari grup.

Martha kemudian meninjau informasi yang terakhir diakses untuk App-Dev-ElasticTranscoder kebijakan terkelola pelanggan. Dia belajar bahwa kebijakan itu tidak melekat pada IAM identitas lain. Ia menginvestigasi dalam perusahaannya untuk memastikan bahwa kebijakan tersebut tidak diperlukan di waktu yang akan datang, kemudian ia menghapusnya.

Menggunakan informasi sebelum menghapus sumber daya IAM

Anda dapat menggunakan informasi yang terakhir diakses sebelum menghapus IAM sumber daya untuk memastikan bahwa sejumlah waktu telah berlalu sejak seseorang terakhir menggunakan sumber daya tersebut. Ini berlaku untuk pengguna, grup, peran, dan kebijakan. Untuk mempelajari lebih lanjut tentang tindakan ini, lihat topik berikut:

Menggunakan informasi sebelum menyunting kebijakan IAM

Anda dapat meninjau informasi yang terakhir diakses untuk IAM identitas (pengguna, grup, atau peran), atau untuk IAM kebijakan sebelum mengedit kebijakan yang memengaruhi sumber daya tersebut. Ini penting karena Anda tidak ingin menghapus akses untuk orang yang menggunakannya.

Misalnya, Arnav Desai adalah pengembang dan AWS administrator untuk Example Corp. Ketika timnya mulai menggunakan AWS, mereka memberi semua pengembang akses power-user yang memungkinkan mereka akses penuh ke semua layanan kecuali dan Organizations. IAM Sebagai langkah pertama untuk memberikan hak istimewa paling rendah, Arnav ingin menggunakan AWS CLI untuk meninjau kebijakan yang dikelola dalam akunnya.

Untuk melakukannya, Arnav terlebih dahulu mencantumkan kebijakan izin yang dikelola pelanggan di akunnya yang terlampir ke suatu identitas, menggunakan perintah berikut:

aws iam list-policies --scope Local --only-attached --policy-usage-filter PermissionsPolicy

Dari tanggapan, ia menangkap ARN untuk setiap kebijakan. Arnav membuat laporan untuk informasi yang terakhir diakses bagi setiap kebijakan dengan menggunakan perintah berikut.

aws iam generate-service-last-accessed-details --arn arn:aws:iam::123456789012:policy/ExamplePolicy1

Dari respons tersebut, dia mengambil ID dari laporan yang dihasilkan dari bidang JobId. Arnav kemudian melakukan jajak pendapat perintah berikut sampai bidang JobStatus menghasilkan nilai COMPLETED atau FAILED. Jika tugas gagal, ia akan menangkap kesalahan.

aws iam get-service-last-accessed-details --job-id 98a765b4-3cde-2101-2345-example678f9

Ketika pekerjaan memiliki statusCOMPLETED, Arnav mem-parsing isi array yang diformat. JSON ServicesLastAccessed

"ServicesLastAccessed": [ { "TotalAuthenticatedEntities": 1, "LastAuthenticated": 2018-11-01T21:24:33.222Z, "ServiceNamespace": "dynamodb", "LastAuthenticatedEntity": "arn:aws:iam::123456789012:user/IAMExampleUser", "ServiceName": "Amazon DynamoDB" }, { "TotalAuthenticatedEntities": 0, "ServiceNamespace": "ec2", "ServiceName": "Amazon EC2" }, { "TotalAuthenticatedEntities": 3, "LastAuthenticated": 2018-08-25T15:29:51.156Z, "ServiceNamespace": "s3", "LastAuthenticatedEntity": "arn:aws:iam::123456789012:role/IAMExampleRole", "ServiceName": "Amazon S3" } ]

Dari informasi ini, Arnav mengetahui bahwa ExamplePolicy1 kebijakan tersebut memungkinkan akses ke tiga layanan, Amazon DynamoDB, Amazon S3, dan Amazon. EC2 IAMPengguna bernama IAMExampleUser terakhir mencoba mengakses DynamoDB pada 1 November, dan seseorang menggunakan peran IAMExampleRole tersebut untuk mencoba mengakses Amazon S3 pada 25 Agustus. Ada pula dua entitas lagi yang mencoba mengakses Amazon S3 tahun lalu. Namun, tidak ada yang mencoba mengakses Amazon EC2 dalam setahun terakhir.

Ini berarti bahwa Arnav dapat dengan aman menghapus EC2 tindakan Amazon dari kebijakan. Arnav ingin meninjau JSON dokumen saat ini untuk kebijakan tersebut. Pertama, ia harus menentukan nomor versi kebijakan menggunakan perintah berikut.

aws iam list-policy-versions --policy-arn arn:aws:iam::123456789012:policy/ExamplePolicy1

Dari respons tersebut, Arnav mengumpulkan nomor versi default saat ini dari himpunan Versions. Dia kemudian menggunakan nomor versi (v2) untuk meminta dokumen JSON kebijakan menggunakan perintah berikut.

aws iam get-policy-version --policy-arn arn:aws:iam::123456789012:policy/ExamplePolicy1 --version-id v2

Arnav menyimpan dokumen JSON kebijakan yang dikembalikan di Document bidang array. PolicyVersion Dalam dokumen kebijakan, Arnav mencari tindakan yang dalam namespace ec2. Jika tidak ada tindakan dari namespace lain yang tersisa dalam kebijakan, maka dia memisahkan kebijakan dari identitas yang terdampak (pengguna, grup, dan peran). Kemudian, dia menghapus kebijakan tersebut. Dalam hal ini, kebijakan tersebut mencakup layanan Amazon DynamoDB dan Amazon S3. Jadi Arnav menghapus EC2 tindakan Amazon dari dokumen dan menyimpan perubahannya. Kemudian, ia menggunakan perintah berikut untuk memperbarui kebijakan dengan menggunakan versi baru berkas tersebut dan menetapkan versi tersebut sebagai versi kebijakan default.

aws iam create-policy-version --policy-arn arn:aws:iam::123456789012:policy/ExamplePolicy1 --policy-document file://UpdatedPolicy.json --set-as-default

ExamplePolicy1Kebijakan ini sekarang diperbarui untuk menghapus akses ke EC2 layanan Amazon yang tidak perlu.

Skenario IAM lainnya

Informasi tentang kapan IAM sumber daya (pengguna, grup, peran, atau kebijakan) terakhir kali mencoba mengakses layanan dapat membantu Anda ketika Anda menyelesaikan salah satu tugas berikut:

Menggunakan informasi untuk memperbaiki izin unit organisasi.

Anda dapat menggunakan informasi yang diakses terakhir untuk memperbaiki izin unit organisasi (OU) di AWS Organizations.

Misalnya, John Stiles adalah seorang AWS Organizations administrator. Dia bertanggung jawab untuk memastikan bahwa orang-orang di perusahaan Akun AWS tidak memiliki izin berlebih. Sebagai bagian dari audit keamanan berkala, ia meninjau izin dari organisasinya. OU Development-nya berisikan akun yang sering digunakan untuk menguji layanan AWS baru. John memutuskan untuk secara berkala meninjau laporan bagi layanan yang belum diakses dalam lebih dari 180 hari. Kemudian, ia menghapus izin bagi anggota OU untuk mengakses layanan tersebut.

John masuk ke IAM konsol menggunakan kredensi akun manajemennya. Di IAM konsol, ia menemukan data Organizations untuk Development OU. Dia meninjau tabel laporan akses Layanan dan melihat dua AWS layanan yang belum diakses lebih dari periode yang diinginkannya selama 180 hari. Dia ingat menambahkan izin untuk tim pengembangan untuk mengakses Amazon Lex dan. AWS Database Migration Service John menghubungi tim pengembangan dan mengonfirmasi bahwa mereka tidak lagi memiliki kepentingan bisnis untuk menguji layanan ini.

John sekarang siap bertindak atas informasi yang terakhir diakses. Dia memilih Edit AWS Organizations dan diingatkan bahwa melekat pada beberapa entitas. SCP Dia memilih Lanjutkan. Pada tahun AWS Organizations, ia meninjau target untuk mempelajari entitas Organizations mana yang SCP dilampirkan. Semua entitas berada dalam OU Development.

John memutuskan untuk menolak akses ke Amazon Lex dan AWS Database Migration Service tindakan di NewServiceTestSCP. Tindakan ini menghapus akses yang tidak perlu ke layanan.