Teruskan sesi akses - 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.

Teruskan sesi akses

Forward Access Sessions (FAS) adalah teknologi IAM yang digunakan oleh AWS layanan untuk meneruskan identitas, izin, dan atribut sesi Anda saat AWS layanan membuat permintaan atas nama Anda. FAS menggunakan izin identitas yang memanggil AWS layanan, dikombinasikan dengan identitas AWS layanan untuk membuat permintaan ke layanan hilir. Permintaan FAS hanya dibuat untuk AWS layanan atas nama kepala IAM setelah layanan menerima permintaan yang memerlukan interaksi dengan AWS layanan atau sumber daya lain untuk diselesaikan. Ketika permintaan FAS dibuat:

  • Layanan yang menerima permintaan awal dari kepala IAM memeriksa izin dari prinsipal IAM.

  • Layanan yang menerima permintaan FAS berikutnya juga memeriksa izin dari prinsipal IAM yang sama.

Misalnya, FAS digunakan oleh Amazon S3 untuk melakukan panggilan AWS Key Management Service untuk mendekripsi objek ketika SSE-KMS digunakan untuk mengenkripsinya. Saat mengunduh objek terenkripsi SSE-KMS, peran bernama pembaca data memanggil GetObject objek terhadap Amazon S3, dan tidak memanggil secara langsung. AWS KMS Setelah menerima GetObject permintaan dan mengotorisasi pembaca data, Amazon S3 kemudian membuat permintaan FAS untuk AWS KMS mendekripsi objek Amazon S3. Ketika KMS menerima permintaan FAS, ia memeriksa izin peran dan hanya mengotorisasi permintaan dekripsi jika pembaca data memiliki izin yang benar pada kunci KMS. Permintaan ke Amazon S3 dan AWS KMS diotorisasi menggunakan izin peran dan hanya berhasil jika pembaca data memiliki izin untuk objek Amazon S3 dan kunci KMS. AWS

Diagram alir peran IAM diteruskan sebagai prinsipal ke Amazon S3 dan kemudian ke. AWS KMS
catatan

Permintaan FAS tambahan dapat dilakukan oleh layanan yang telah menerima permintaan FAS. Dalam kasus seperti itu, kepala sekolah yang meminta harus memiliki izin untuk semua layanan yang dipanggil oleh FAS.

Permintaan FAS dan ketentuan kebijakan IAM

Ketika permintaan FAS dibuat,aws: CalledVia,aws: CalledVia Pertama, dan kunci aws: CalledVia Terakhir kondisi diisi dengan prinsip layanan layanan yang memulai panggilan FAS. Nilai kunci AWS: melalui AWSService kondisi diatur ke true setiap kali permintaan FAS dibuat. Dalam diagram berikut, permintaan untuk CloudFormation secara langsung tidak memiliki aws:CalledVia atau kunci aws:ViaAWSService kondisi yang ditetapkan. Kapan CloudFormation dan DynamoDB membuat permintaan FAS hilir atas nama peran, nilai untuk kunci kondisi ini diisi.

Diagram alir peran IAM diteruskan sebagai prinsipal ke CloudFormation dan kemudian meneruskan nilai kunci kondisi ke DynamoDB dan. AWS KMS

Untuk mengizinkan permintaan FAS dibuat jika tidak akan ditolak oleh pernyataan kebijakan Deny dengan kunci kondisi yang menguji alamat IP Sumber atau VPC Sumber, Anda harus menggunakan kunci kondisi untuk memberikan pengecualian untuk permintaan FAS dalam kebijakan Deny Anda. Ini dapat dilakukan untuk semua permintaan FAS dengan menggunakan kunci aws:ViaAWSService kondisi. Untuk mengizinkan hanya AWS layanan tertentu untuk membuat permintaan FAS, gunakanaws:CalledVia.

penting

Ketika permintaan FAS dibuat setelah permintaan awal dibuat melalui titik akhir VPC, nilai kunci kondisi aws: SourceVpce untuk,aws: SourceVpc, aws: VpcSource Ip dan dari permintaan awal tidak digunakan dalam permintaan FAS. Saat menulis kebijakan menggunakan aws:VPCSourceIP atau aws:SourceVPCE memberikan akses secara kondisional, Anda juga harus menggunakan aws:ViaAWSService atau aws:CalledVia mengizinkan permintaan FAS. Ketika permintaan FAS dibuat setelah permintaan awal diterima oleh titik akhir AWS layanan publik, permintaan FAS berikutnya akan dibuat dengan nilai kunci aws:SourceIP kondisi yang sama.

Contoh: Izinkan akses Amazon S3 dari VPC atau dengan FAS

Dalam contoh kebijakan IAM berikut, permintaan Amazon GetObject S3 dan Athena hanya diizinkan jika permintaan tersebut berasal dari titik akhir VPC yang dilampirkan ke example_vpc, atau jika permintaan tersebut adalah permintaan FAS yang dibuat oleh Athena.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "OnlyAllowMyIPs", "Effect": "Allow", "Action": [ "s3:GetObject*", "athena:StartQueryExecution", "athena:GetQueryResults", "athena:GetWorkGroup", "athena:StopQueryExecution", "athena:GetQueryExecution" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceVPC": [ "example_vpc" ] } } }, { "Sid": "OnlyAllowFAS", "Effect": "Allow", "Action": [ "s3:GetObject*" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": "athena.amazonaws.com" } } } ] }

Untuk contoh tambahan menggunakan kunci kondisi untuk mengizinkan akses FAS, lihat contoh repo kebijakan contoh perimeter data.