Bagaimana Amazon Managed Service untuk Apache Flink bekerja dengan IAM - Layanan Terkelola untuk Apache Flink

Amazon Managed Service untuk Apache Flink (Amazon MSF) sebelumnya dikenal sebagai Amazon Kinesis Data Analytics untuk Apache Flink.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bagaimana Amazon Managed Service untuk Apache Flink bekerja dengan IAM

Di Amazon MSF, Anda menggunakan IAM dalam konteks berbeda berikut:

Izin aplikasi

Anda mengontrol izin IAM dari aplikasi MSF Amazon dengan peran IAM yang ditetapkan ke aplikasi, sebagai bagian dari konfigurasi aplikasi. Peran IAM ini menentukan izin aplikasi untuk mengakses layanan lain, seperti Amazon S3, Kinesis Data Streams, atau DynamoDB, yang menggunakan IAM untuk otorisasi.

Awas

Mengubah izin untuk peran layanan dapat merusak fungsionalitas Amazon MSF. Pastikan Anda tidak menghapus izin aplikasi untuk mengunduh kode aplikasi dari bucket Amazon S3, dan mengirim log ke Amazon. CloudWatch

Menetapkan izin ke aplikasi menggunakan kebijakan berbasis sumber daya tidak didukung. Anda tidak dapat menentukan aplikasi MSF Amazon sebagai prinsipal dalam kebijakan yang dilampirkan ke sumber daya yang akan diakses.

Izin untuk mengakses kode aplikasi dan log aplikasi

Amazon MSF juga menggunakan peran IAM aplikasi untuk mengakses kode aplikasi yang diunggah di bucket Amazon S3, dan untuk menulis log aplikasi ke Amazon Logs. CloudWatch

Saat Anda membuat atau memperbarui aplikasi menggunakan AWS Management Console, pilih Buat/perbarui peran IAM dengan kebijakan yang diperlukan <role-name>dalam konfigurasi Aplikasi, Amazon MSF secara otomatis membuat dan memodifikasi peran IAM yang menetapkan izin yang diperlukan ke Amazon S3 dan Log. CloudWatch

Jika Anda membuat peran IAM secara manual atau jika Anda membuat dan mengelola aplikasi menggunakan alat otomatisasi, Anda harus menambahkan izin berikut ke peran IAM aplikasi.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadCode", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::bucket-name/path-to-application-code" ] }, { "Sid": "ListCloudwatchLogGroups", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:region:account-id:log-group:*" ] }, { "Sid": "ListCloudwatchLogStreams", "Effect": "Allow", "Action": [ "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:region:account-id:log-group:/aws/kinesis-analytics/application-name:log-stream:*" ] }, { "Sid": "PutCloudwatchLogs", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:region:account-id:log-group:/aws/kinesis-analytics/application-name:log-stream:kinesis-analytics-log-stream" ] } ] }

Pencegahan "confused deputy" lintas layanan

Ketika aplikasi Amazon MSF memanggil yang berbeda Layanan AWS, Anda dapat memberikan izin akses yang lebih terperinci. Misalnya, jika peran IAM digunakan kembali di beberapa aplikasi, aplikasi mungkin mendapatkan akses ke sumber daya yang seharusnya tidak dapat diakses. Ini dikenal sebagai masalah wakil yang bingung. Untuk informasi tentang cara sumber daya yang diakses dapat membatasi akses ke aplikasi MSF Amazon tertentu, lihat. Pencegahan "confused deputy" lintas layanan

Manajemen aplikasi dan izin kontrol siklus hidup

Tindakan untuk mengelola aplikasi dan siklus hidupnya, seperti,, dan CreateApplicationStartApplicationUpdateApplication, dikendalikan melalui kebijakan berbasis identitas yang terkait dengan sumber daya yang melakukan tindakan, seperti pengguna IAM, grup IAM, atau sumber daya seperti memanggil Amazon MSF API. AWS Lambda

catatan

API dan SDK yang mengendalikan siklus hidup aplikasi Amazon MSF disebut Amazon Kinesis Analytics V2, untuk alasan kompatibilitas mundur.

Menetapkan izin untuk tindakan siklus hidup aplikasi menggunakan kebijakan berbasis sumber daya yang dilampirkan ke aplikasi Amazon MSF tidak didukung. Peran IAM aplikasi tidak digunakan untuk mengontrol akses ke tindakan siklus hidup aplikasi. Anda tidak boleh menambahkan izin siklus hidup aplikasi ke peran aplikasi.

Tabel berikut mencantumkan fitur IAM yang dapat Anda gunakan dengan tindakan siklus hidup aplikasi Amazon MSF.

Tindakan kebijakan siklus hidup aplikasi

Mendukung tindakan kebijakan: Ya

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Artinya, prinsipal manakah yang dapat melakukan tindakan pada sumber daya apa, dan dengan kondisi apa.

Elemen Action dari kebijakan JSON menjelaskan tindakan yang dapat Anda gunakan untuk mengizinkan atau menolak akses dalam sebuah kebijakan. Tindakan kebijakan biasanya memiliki nama yang sama dengan operasi AWS API terkait. Ada beberapa pengecualian, misalnya tindakan hanya izin yang tidak memiliki operasi API yang cocok. Ada juga beberapa operasi yang memerlukan beberapa tindakan dalam suatu kebijakan. Tindakan tambahan ini disebut tindakan dependen.

Sertakan tindakan dalam kebijakan untuk memberikan izin untuk melakukan operasi terkait.

Tindakan kebijakan di Amazon MSF menggunakan kinesisanalytics awalan sebelum tindakan. Amazon MSF APIs dan SDKs gunakan Amazon Kinesis Analytics V2 awalan.

Untuk menetapkan secara spesifik beberapa tindakan dalam satu pernyataan, pisahkan tindakan tersebut dengan koma. Contoh berikut menunjukkan sintaks untuk menentukan tindakan kebijakan Amazon MSF.

"Action" : [ "kinesisanalytics:action1", "kinesisanalytics:action2" ]

Anda juga dapat menentukan beberapa tindakan menggunakan wildcard (*). Misalnya, untuk menentukan semua tindakan yang dimulai dengan kata Describe, sertakan tindakan berikut.

"Action": "kinesisanalytics:Describe*"

Untuk melihat daftar lengkap semua tindakan Amazon MSF API yang dapat Anda tentukan dalam Action elemen pernyataan kebijakan IAM, lihat Tindakan yang ditentukan oleh Amazon Kinesis Analytics V2.

Untuk melihat contoh kebijakan berbasis identitas MSF Amazon, lihat. Contoh kebijakan berbasis identitas

Sumber daya kebijakan siklus hidup aplikasi

Mendukung sumber daya kebijakan: Ya

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Artinya, prinsipal manakah yang dapat melakukan tindakan pada sumber daya apa, dan dengan kondisi apa.

Elemen kebijakan JSON Resource menentukan objek yang menjadi target penerapan tindakan. Pernyataan harus menyertakan elemen Resource atau NotResource. Praktik terbaiknya, tentukan sumber daya menggunakan Amazon Resource Name (ARN). Anda dapat melakukan ini untuk tindakan yang mendukung jenis sumber daya tertentu, yang dikenal sebagai izin tingkat sumber daya.

Untuk tindakan yang tidak mendukung izin di tingkat sumber daya, misalnya operasi pencantuman, gunakan wildcard (*) untuk menunjukkan bahwa pernyataan tersebut berlaku untuk semua sumber daya.

"Resource": "*"

Izin untuk tindakan siklus hidup aplikasi Amazon MSF ditentukan untuk setiap aplikasi. Elemen Resource JSON dalam kebijakan IAM mendefinisikan aplikasi Amazon MSF yang izin berlaku.

Anda dapat menetapkan izin untuk satu aplikasi dengan menentukan ARN aplikasi, atau sekelompok aplikasi dengan menggunakan wildcard. Contoh berikut menunjukkan sintaks Resource elemen.

"Resouce" : "arn:partition:kinesisanalytics:Region:account:application/application-name

Anda juga dapat menetapkan izin untuk mengontrol subset aplikasi menggunakan wildcard. Misalnya, Anda dapat menetapkan izin untuk mengontrol semua aplikasi yang namanya dimulai dengan awalan tertentu.

"Resouce" : "arn:partition:kinesisanalytics:Region:account:application/application-name-prefix*

Kunci kondisi kebijakan siklus hidup aplikasi

Mendukung kunci kondisi kebijakan khusus layanan: Yes

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Artinya, prinsipal manakah yang dapat melakukan tindakan pada sumber daya apa, dan dengan kondisi apa.

Elemen Condition (atau blok Condition) akan memungkinkan Anda menentukan kondisi yang menjadi dasar suatu pernyataan berlaku. Elemen Condition bersifat opsional. Anda dapat membuat ekspresi bersyarat yang menggunakan operator kondisi, misalnya sama dengan atau kurang dari, untuk mencocokkan kondisi dalam kebijakan dengan nilai-nilai yang diminta.

Jika Anda menentukan beberapa elemen Condition dalam sebuah pernyataan, atau beberapa kunci dalam elemen Condition tunggal, maka AWS akan mengevaluasinya menggunakan operasi AND logis. Jika Anda menentukan beberapa nilai untuk satu kunci kondisi, AWS mengevaluasi kondisi menggunakan OR operasi logis. Semua kondisi harus dipenuhi sebelum izin pernyataan diberikan.

Anda juga dapat menggunakan variabel placeholder saat menentukan kondisi. Sebagai contoh, Anda dapat memberikan izin kepada pengguna IAM untuk mengakses sumber daya hanya jika izin tersebut mempunyai tanda yang sesuai dengan nama pengguna IAM mereka. Untuk informasi selengkapnya, lihat Elemen kebijakan IAM: variabel dan tanda dalam Panduan Pengguna IAM.

AWS mendukung kunci kondisi global dan kunci kondisi khusus layanan. Untuk melihat semua kunci kondisi AWS global, lihat kunci konteks kondisi AWS global di Panduan Pengguna IAM.

Anda dapat menggunakan tombol kondisi untuk mengontrol izin ke tindakan siklus hidup aplikasi Amazon MSF. Untuk melihat daftar kunci kondisi Layanan Terkelola untuk Apache Flink, lihat Kunci Kondisi untuk Amazon Managed Service for Apache Flink di Referensi Otorisasi Layanan. Untuk mempelajari tindakan dan sumber daya yang dapat Anda gunakan kunci kondisi, lihat Tindakan yang Ditentukan oleh Amazon Managed Service untuk Apache Flink.

Kontrol akses berbasis atribut (ABAC) dengan Managed Service untuk Apache Flink

Mendukung ABAC (tanda dalam kebijakan): Ya

Dengan menggunakan kunci kondisi, Anda dapat menerapkan kontrol akses berbasis atribut (ABAC), yang merupakan strategi otorisasi yang mendefinisikan izin berdasarkan atribut. Dalam AWS, atribut ini disebut tag. Anda dapat melampirkan tag ke entitas IAM (pengguna atau peran) dan ke banyak AWS sumber daya. Penandaan ke entitas dan sumber daya adalah langkah pertama dari ABAC. Kemudian, Anda merancang kebijakan ABAC untuk mengizinkan operasi ketika tag prinsipal cocok dengan tag pada sumber daya yang mereka coba akses.

ABAC sangat berguna di lingkungan yang berkembang dengan cepat dan berguna di situasi saat manajemen kebijakan menjadi rumit.

Untuk mengendalikan akses berdasarkan tanda, berikan informasi tentang tanda di elemen kondisi dari kebijakan menggunakan kunci kondisi aws:ResourceTag/key-name, aws:RequestTag/key-name, atau aws:TagKeys. Jika sebuah layanan mendukung ketiga kunci kondisi untuk setiap jenis sumber daya, nilainya adalah Ya untuk layanan tersebut. Jika suatu layanan mendukung ketiga kunci kondisi untuk hanya beberapa jenis sumber daya, nilainya adalah Parsial.

Menggunakan kredensial sementara

Mendukung kredensial sementara: Ya

Tindakan siklus hidup aplikasi Amazon MSF mendukung kredensil sementara.

Anda menggunakan kredensyal sementara jika Anda masuk AWS Management Console menggunakan metode apa pun kecuali nama pengguna dan kata sandi. Misalnya, ketika Anda mengakses AWS menggunakan tautan masuk tunggal (SSO) perusahaan Anda, proses tersebut secara otomatis membuat kredensil sementara. Anda juga akan secara otomatis membuat kredensial sementara ketika Anda masuk ke konsol sebagai seorang pengguna lalu beralih peran. Untuk informasi selengkapnya tentang beralih peran, lihat Beralih dari pengguna ke peran IAM (konsol).

Anda dapat membuat kredensil sementara secara manual menggunakan API AWS CLI atau AWS . Anda kemudian dapat menggunakan kredensil sementara tersebut untuk mengakses. AWS Kami menyarankan agar Anda secara dinamis menghasilkan kredensi sementara alih-alih menggunakan kunci akses jangka panjang. Untuk informasi selengkapnya, lihat Kredensial keamanan sementara di IAM.

Izin utama lintas layanan

Mendukung sesi akses maju (FAS): Ya

Tindakan siklus hidup aplikasi Amazon MSF mendukung izin utama lintas layanan.

Saat Anda menggunakan pengguna atau peran IAM untuk melakukan tindakan AWS, Anda dianggap sebagai prinsipal. Ketika Anda menggunakan beberapa layanan, Anda mungkin melakukan sebuah tindakan yang kemudian menginisiasi tindakan lain di layanan yang berbeda. Sesi akses teruskan (FAS) menggunakan izin dari pemanggilan utama Layanan AWS, dikombinasikan dengan permintaan Layanan AWS untuk membuat permintaan ke layanan hilir. Permintaan FAS hanya dibuat ketika layanan menerima permintaan yang memerlukan interaksi dengan orang lain Layanan AWS atau sumber daya untuk menyelesaikannya. Dalam hal ini, Anda harus memiliki izin untuk melakukan kedua tindakan tersebut. Untuk detail kebijakan ketika mengajukan permintaan FAS, lihat Sesi akses maju.

Kebijakan berbasis identitas untuk Layanan Terkelola untuk Apache Flink

Mendukung kebijakan berbasis identitas: Ya

Kebijakan berbasis identitas adalah dokumen kebijakan izin JSON yang dapat Anda lampirkan ke sebuah identitas, seperti pengguna IAM, grup pengguna IAM, atau peran IAM. Kebijakan ini mengontrol jenis tindakan yang dapat dilakukan oleh pengguna dan peran, di sumber daya mana, dan berdasarkan kondisi seperti apa. Untuk mempelajari cara membuat kebijakan berbasis identitas, lihat Tentukan izin IAM kustom dengan kebijakan terkelola pelanggan dalam Panduan Pengguna IAM.

Dengan kebijakan berbasis identitas IAM, Anda dapat menentukan secara spesifik apakah tindakan dan sumber daya diizinkan atau ditolak, serta kondisi yang menjadi dasar dikabulkan atau ditolaknya tindakan tersebut. Anda tidak dapat menentukan secara spesifik prinsipal dalam sebuah kebijakan berbasis identitas karena prinsipal berlaku bagi pengguna atau peran yang melekat kepadanya. Untuk mempelajari semua elemen yang dapat Anda gunakan dalam kebijakan JSON, lihat Referensi elemen kebijakan JSON IAM dalam Panduan Pengguna IAM.

Contoh kebijakan berbasis identitas untuk Managed Service untuk Apache Flink

Untuk melihat contoh Layanan Terkelola untuk kebijakan berbasis identitas Apache Flink, lihat. Contoh kebijakan berbasis identitas untuk Amazon Managed Service untuk Apache Flink

Kebijakan berbasis sumber daya dalam Layanan Terkelola untuk Apache Flink

Amazon Managed Service untuk Apache Flink saat ini tidak mendukung kontrol akses berbasis sumber daya.

Daftar kontrol akses (ACLs) di Layanan Terkelola untuk Apache Flink

Mendukung ACLs: Tidak

Access control lists (ACLs) mengontrol prinsipal mana (anggota akun, pengguna, atau peran) yang memiliki izin untuk mengakses sumber daya. ACLs mirip dengan kebijakan berbasis sumber daya, meskipun mereka tidak menggunakan format dokumen kebijakan JSON.

Peran layanan untuk Layanan Terkelola untuk Apache Flink

Mendukung peran layanan: Ya

Peran layanan adalah peran IAM yang diambil oleh sebuah layanan untuk melakukan tindakan atas nama Anda. Administrator IAM dapat membuat, mengubah, dan menghapus peran layanan dari dalam IAM. Untuk informasi selengkapnya, lihat Buat sebuah peran untuk mendelegasikan izin ke Layanan AWS dalam Panduan pengguna IAM.

Awas

Mengubah izin untuk peran layanan dapat merusak fungsionalitas Layanan Terkelola untuk Apache Flink. Edit peran layanan hanya jika Layanan Terkelola untuk Apache Flink memberikan panduan untuk melakukannya.

Peran terkait layanan untuk Layanan Terkelola untuk Apache Flink

Mendukung peran terkait layanan: Ya

Peran terkait layanan adalah jenis peran layanan yang ditautkan ke. Layanan AWS Layanan tersebut dapat menjalankan peran untuk melakukan tindakan atas nama Anda. Peran terkait layanan muncul di Anda Akun AWS dan dimiliki oleh layanan. Administrator IAM dapat melihat, tetapi tidak dapat mengedit izin untuk peran terkait layanan.

Untuk detail tentang pembuatan atau manajemen peran terkait layanan, lihat Layanan AWS yang berfungsi dengan IAM. Cari layanan dalam tabel yang memiliki Yes di kolom Peran terkait layanan. Pilih tautan Ya untuk melihat dokumentasi peran terkait layanan untuk layanan tersebut.