View a markdown version of this page

Mengontrol akses dengan kebijakan IAM - 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.

Mengontrol akses dengan kebijakan IAM

IAM menyediakan beberapa jenis kebijakan untuk mengontrol akses ke fitur federasi identitas keluar. Anda dapat menggunakan kebijakan berbasis identitas untuk mengontrol prinsipal IAM mana yang dapat meminta token dan menerapkan properti token tertentu seperti audiens, masa pakai, dan algoritme penandatanganan. Kebijakan Kontrol Layanan (SCPs) memungkinkan Anda untuk menerapkan pembatasan seluruh organisasi pada pembuatan token di semua akun di Organizations Anda. AWS Kebijakan Kontrol Sumber Daya (RCPs) mengontrol akses di tingkat sumber daya. Anda juga dapat menggunakan kebijakan titik akhir VPC untuk membatasi prinsipal mana yang dapat mengakses API AWS STS GetWebIdentityToken melalui titik akhir VPC Anda, menambahkan kontrol tingkat jaringan ke postur keamanan Anda. Bagian ini menjelaskan cara menerapkan kontrol akses berbutir halus menggunakan tipe kebijakan dan kunci kondisi ini.

Untuk meminta token identitas, kepala sekolah IAM harus memiliki sts:GetWebIdentityToken izin. Berikan izin ini melalui kebijakan identitas yang dilampirkan pada pengguna atau peran IAM. Untuk mengizinkan Tag (kunci, pasangan nilai) diteruskan ke GetWebIdentityToken panggilan, prinsipal IAM harus memiliki sts:TagGetWebIdentityToken izin.

  • Gunakan sts: IdentityTokenAudience condition key untuk membatasi layanan eksternal mana yang dapat menerima token.

  • Gunakan kunci DurationSeconds kondisi sts: untuk menegakkan masa pakai token maksimum.

  • Gunakan sts: SigningAlgorithm condition key untuk memerlukan algoritma kriptografi tertentu.

  • Gunakan kunci aws: RequestTag condition bandingkan pasangan nilai kunci tag yang diteruskan dalam permintaan dengan pasangan tag yang Anda tentukan dalam kebijakan.

  • Gunakan kunci aws: TagKeys condition untuk membandingkan kunci tag dalam permintaan dengan kunci yang Anda tentukan dalam kebijakan.

Lihat IAM dan kunci AWS STS kondisi untuk mempelajari selengkapnya tentang kunci kondisi yang tersedia dalam kebijakan IAM.

Kebijakan identitas sampel ini menggabungkan beberapa kunci kondisi:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowTokenGenerationWithRestrictions", "Effect": "Allow", "Action": "sts:GetWebIdentityToken", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "sts:IdentityTokenAudience": [ "https://api1.example.com", "https://api2.example.com" ] }, "NumericLessThanEquals": { "sts:DurationSeconds": 300 }, "StringEquals": { "sts:SigningAlgorithm": "ES384" } } } ] }

Praktik terbaik

Ikuti rekomendasi ini untuk menyatukan AWS identitas Anda dengan aman ke layanan eksternal.

  • Gunakan masa pakai token pendek: Minta token dengan masa pakai terpendek yang memenuhi kebutuhan operasional Anda.

  • Terapkan akses hak istimewa paling sedikit dan batasi properti token dengan kebijakan IAM: Berikan sts:GetWebIdentityToken izin hanya kepada prinsipal IAM yang memerlukannya. Gunakan tombol kondisi untuk menentukan algoritme penandatanganan, pemirsa token yang diizinkan, dan masa pakai token maksimum yang Anda butuhkan.

  • Validasi klaim di layanan eksternal: Untuk keamanan, selalu validasi klaim yang relevan seperti subjek (“sub”), audiens (“aud”) dll. untuk memastikan mereka sesuai dengan nilai yang Anda harapkan. Validasi klaim kustom bila memungkinkan untuk mengaktifkan keputusan otorisasi halus di layanan eksternal.