Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengontrol akses ke sumber daya Kinesis Video Streams menggunakan IAM
Anda dapat menggunakan AWS Identity and Access Management (IAM) dengan Amazon Kinesis Video Streams, untuk mengontrol apakah pengguna di organisasi Anda dapat melakukan tugas menggunakan operasi API Streaming Video Kinesis tertentu dan apakah mereka dapat menggunakan sumber daya tertentu. AWS
Untuk informasi selengkapnya tentang IAM, lihat berikut ini:
Daftar Isi
Sintaksis kebijakan
kebijakan IAM adalah dokumen JSON yang terdiri dari satu atau beberapa pernyataan. Setiap pernyataan memiliki struktur sebagai berikut:
{
"Statement":[{
"Effect":"effect",
"Action":"action",
"Resource":"arn",
"Condition":{
"condition":{
"key":"value"
}
}
}
]
}
Ada berbagai elemen yang membentuk pernyataan:
-
Efek — Efek nya bisa
AllowatauDeny. Secara default, pengguna tidak memiliki izin untuk menggunakan sumber daya dan tindakan API, sehingga semua permintaan akan ditolak. izin eksplisit akan menggantikan izin default. penolakan eksplisit akan menggantikan izin apa pun. -
T indakan — Tindakan adalah tindakan API spesifik yang Anda berikan atau menolak izin.
-
Sumber Daya — Sumber daya yang terpengaruh oleh tindakan. Untuk menentukan sumber daya dalam pernyataan, Anda harus menggunakan Nama Sumber Daya Amazon (ARN).
-
Kondisi — Kondisi bersifat opsional. Syarat-syarat ini dapat digunakan untuk mengendalikan kapan kebijakan Anda berlaku.
Saat Anda membuat dan mengelola kebijakan IAM, sebaiknya gunakan IAM Policy Generator dan IAM Policy Simulator.
Tindakan untuk Streaming Video Kinesis
Dalam pernyataan kebijakan IAM, Anda dapat menentukan tindakan API apa pun dari layanan apa pun yang mendukung IAM. Untuk Kinesis Video Streams, gunakan awalan berikut dengan nama tindakan API:kinesisvideo:. Misalnya:kinesisvideo:CreateStream,kinesisvideo:ListStreams, dankinesisvideo:DescribeStream.
Untuk menetapkan beberapa tindakan dalam satu pernyataan, pisahkan tindakan-tindakan tersebut menggunakan koma seperti berikut:
"Action": ["kinesisvideo:action1", "kinesisvideo:action2"]
Anda juga dapat menentukan beberapa tindakan menggunakan wildcard. Misalnya, Anda dapat menentukan semua tindakan yang namanya dimulai dengan kata “Dapatkan” sebagai berikut:
"Action": "kinesisvideo:Get*"
Untuk menentukan semua operasi Kinesis Video Streams, gunakan wildcard asterisk (*) sebagai berikut:
"Action": "kinesisvideo:*"
Untuk daftar lengkap tindakan Kinesis Video Streams API, lihat referensi API Kinesis Video Streams.
Nama Sumber Daya Amazon (ARN) untuk Streaming Video Kinesis
Setiap pernyataan kebijakan IAM berlaku untuk sumber daya yang Anda tentukan menggunakan ARN.
Gunakan format sumber daya ARN berikut untuk Kinesis Video Streams:
arn:aws:kinesisvideo:region:account-id:stream/stream-name/code
Contoh:
"Resource": arn:aws:kinesisvideo:*:111122223333:stream/my-stream/0123456789012
Anda bisa mendapatkan ARN dari aliran menggunakan DescribeStream.
Memberikan akses akun IAM lain ke aliran video Kinesis
Anda mungkin perlu memberikan izin ke akun IAM lain untuk melakukan operasi pada streaming di Kinesis Video Streams. Ikhtisar berikut menjelaskan langkah-langkah umum untuk memberikan akses ke aliran video di seluruh akun:
Dapatkan ID akun 12 digit dari akun yang ingin Anda berikan izin untuk melakukan operasi pada sumber daya streaming yang dibuat di akun Anda.
Contoh: Dalam langkah-langkah berikut, kami akan menggunakan 111111111111 sebagai ID akun untuk akun yang ingin Anda berikan izin, dan 999999999999 sebagai ID untuk Streaming Video Kinesis Anda
Buat kebijakan yang dikelola IAM di akun yang memiliki aliran (999999999999) yang memungkinkan tingkat akses yang ingin Anda berikan.
Kebijakan sampel:
Untuk contoh kebijakan lainnya untuk sumber daya Kinesis Video Streams, lihat Contoh kebijakan di bagian berikutnya.
Buat peran di akun yang memiliki aliran (999999999999), dan tentukan akun yang ingin Anda berikan izin untuk (111111111111). Ini akan menambahkan entitas tepercaya ke peran.
Contoh kebijakan tepercaya:
Lampirkan kebijakan yang Anda buat pada langkah sebelumnya ke peran ini.
Anda sekarang telah membuat peran di akun 999999999999 yang memiliki izin untuk operasi seperti
DescribeStream,GetDataEndpoint, danPutMediapada sumber daya aliran ARN dalam kebijakan terkelola. Peran baru ini juga mempercayai akun lain, 111111111111, untuk mengambil peran ini.penting
Catat peran ARN, Anda akan membutuhkannya di langkah berikutnya.
Buat kebijakan terkelola di akun lain, 111111111111, yang memungkinkan
AssumeRoletindakan pada peran yang Anda buat di akun 999999999999 pada langkah sebelumnya. Anda harus menyebutkan peran ARN dari langkah sebelumnya.Kebijakan sampel:
Lampirkan kebijakan yang dibuat pada langkah sebelumnya ke entitas IAM, seperti peran atau pengguna di akun 111111111111. Pengguna ini sekarang memiliki izin untuk mengambil peran
CustomRoleNamedalam akun 999999999999.Crendentials pengguna ini memanggil AWS STS
AssumeRoleAPI untuk mendapatkan kredenSIAL sesi, yang kemudian digunakan untuk memanggil API Streams Video Kinesis pada aliran yang dibuat di akun 999999999999.aws sts assume-role --role-arn "arn:aws:iam::999999999999:role/CustomRoleName" --role-session-name "kvs-cross-account-assume-role" { "Credentials": { "AccessKeyId": "", "SecretAccessKey": "", "SessionToken": "", "Expiration": "" }, "AssumedRoleUser": { "AssumedRoleId": "", "Arn": "" } }Atur kunci akses, kunci rahasia, dan kredenSIAL sesi berdasarkan set sebelumnya di lingkungan.
set AWS_ACCESS_KEY_ID= set AWS_SECRET_ACCESS_KEY= set AWS_SESSION_TOKEN=Jalankan Kinesis Video Streams API untuk menjelaskan dan mendapatkan titik akhir data untuk aliran di akun 999999999999.
aws kinesisvideo describe-stream --stream-arn "arn:aws:kinesisvideo:us-west-2:999999999999:stream/custom-stream-name/1613732218179" { "StreamInfo": { "StreamName": "custom-stream-name", "StreamARN": "arn:aws:kinesisvideo:us-west-2:999999999999:stream/custom-stream-name/1613732218179", "KmsKeyId": "arn:aws:kms:us-west-2:999999999999:alias/aws/kinesisvideo", "Version": "abcd", "Status": "ACTIVE", "CreationTime": "2018-02-19T10:56:58.179000+00:00", "DataRetentionInHours": 24 } } aws kinesisvideo get-data-endpoint --stream-arn "arn:aws:kinesisvideo:us-west-2:999999999999:stream/custom-stream-name/1613732218179" --api-name "PUT_MEDIA" { "DataEndpoint": "https://s-b12345.kinesisvideo.us-west-2.amazonaws.com" }
Untuk petunjuk langkah demi langkah umum tentang pemberian akses lintas akun, lihat Akses Delegasi di Seluruh Akun AWS Menggunakan Peran IAM.
Contoh kebijakan untuk Streaming Video Kinesis
Contoh kebijakan berikut menunjukkan bagaimana Anda dapat mengontrol akses pengguna ke Streaming Video Kinesis
contoh 1: Izinkan pengguna untuk mendapatkan data dari aliran video Kinesis apa pun
Kebijakan ini memungkinkan pengguna atau grup untuk melakukan ListTagsForStream operasiDescribeStream,,GetDataEndpoint, GetMediaListStreams, dan pada aliran video Kinesis apa pun. Kebijakan ini sesuai untuk pengguna yang bisa mendapatkan data dari aliran video apa pun.
contoh 2: Izinkan pengguna untuk membuat aliran video Kinesis dan menulis data ke dalamnya
Kebijakan ini memungkinkan pengguna atau grup untuk melakukan PutMedia operasi CreateStream dan. Kebijakan ini sesuai untuk kamera keamanan yang dapat membuat aliran video dan mengirim data ke kamera tersebut.
{ "Statement": [ { "Effect": "Allow", "Action": [ "kinesisvideo:CreateStream", "kinesisvideo:PutMedia" ], "Resource": "*" } ] }
contoh 3: Izinkan pengguna akses penuh ke semua sumber daya Kinesis Video Streams
Kebijakan ini memungkinkan pengguna atau grup untuk melakukan operasi Kinesis Video Streams pada sumber daya apa pun. Kebijakan ini sesuai untuk administrator.
contoh 4: Izinkan pengguna untuk menulis data ke aliran video Kinesis tertentu
Kebijakan ini memungkinkan pengguna atau grup untuk menulis data ke aliran video tertentu. Kebijakan ini sesuai untuk perangkat yang dapat mengirim data ke satu aliran.