Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
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 Kinesis Video Streams 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 — Efeknya bisa
Allow
atauDeny
. 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. -
Tindakan — Tindakan adalah tindakan API spesifik yang Anda berikan atau tolak izinnya.
-
Sumber daya — Sumber daya yang dipengaruhi 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, kami menyarankan Anda menggunakan IAM Policy Generator dan IAM Policy Simulator.
Tindakan untuk Kinesis Video Streams
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 aksi 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 API Kinesis Video Streams, lihat referensi API Kinesis Video Streams.
Nama Sumber Daya Amazon (ARNs) untuk Kinesis Video Streams
Setiap pernyataan kebijakan IAM berlaku untuk sumber daya yang Anda tentukan dengan menggunakan ARNs.
Gunakan format sumber daya ARN berikut untuk Kinesis Video Streams:
arn:aws:kinesisvideo:region
:account-id
:stream/stream-name
/code
Sebagai contoh:
"Resource": arn:aws:kinesisvideo:*:111122223333:stream/my-stream/0123456789012
Anda bisa mendapatkan ARN dari aliran menggunakan. DescribeStream
Memberikan akses akun IAM lainnya ke aliran video Kinesis
Anda mungkin perlu memberikan izin ke akun IAM lain untuk melakukan operasi pada aliran 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 aliran yang dibuat di akun Anda.
Contoh: Pada langkah-langkah berikut, kami akan menggunakan 111111111111 sebagai ID akun untuk akun yang ingin Anda berikan izin, dan 999999999999 sebagai ID untuk Kinesis Video Streams
Buat kebijakan terkelola IAM di akun yang memiliki aliran (99999999999999) yang memungkinkan tingkat akses yang ingin Anda berikan.
Kebijakan sampel:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesisvideo:GetDataEndpoint", "kinesisvideo:DescribeStream", "kinesisvideo:PutMedia" ], "Resource": "arn:aws:kinesisvideo:us-west-2:
999999999999
:stream/custom-stream-name/1613732218179" } ] }Untuk contoh kebijakan lain untuk sumber daya Kinesis Video StreamsContoh kebijakan, lihat di bagian berikutnya.
Buat peran di akun yang memiliki aliran (99999999999999), dan tentukan akun yang ingin Anda berikan izin (11111111111111). Ini akan menambahkan entitas tepercaya ke peran tersebut.
Contoh kebijakan tepercaya:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
111111111111
:root" }, "Action": "sts:AssumeRole" } ] }Lampirkan kebijakan yang Anda buat di langkah sebelumnya ke peran ini.
Anda sekarang telah membuat peran di akun 999999999999 yang memiliki izin untuk operasi seperti
DescribeStream
,GetDataEndpoint
, dan pada sumber daya aliran ARNPutMedia
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
AssumeRole
tindakan pada peran yang Anda buat di akun 99999999999999 pada langkah sebelumnya. Anda harus menyebutkan peran ARN dari langkah sebelumnya.Kebijakan sampel:
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::
999999999999
:role/CustomRoleName" } }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
CustomRoleName
di akun 999999999999.Crendentials pengguna ini memanggil AWS STS
AssumeRole
API untuk mendapatkan kredensyal sesi, yang selanjutnya digunakan untuk memanggil Kinesis Video APIs Streams pada aliran yang dibuat di akun 99999999999999.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": "" } }Tetapkan kunci akses, kunci rahasia, dan kredensyal sesi berdasarkan set sebelumnya di lingkungan.
set AWS_ACCESS_KEY_ID= set AWS_SECRET_ACCESS_KEY= set AWS_SESSION_TOKEN=
Jalankan Kinesis APIs Video Streams untuk mendeskripsikan 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 step-by-step petunjuk umum tentang pemberian akses lintas akun, lihat Mendelegasikan Akses di Seluruh Akun AWS Menggunakan Peran IAM.
Contoh kebijakan untuk Kinesis Video Streams
Contoh kebijakan berikut menunjukkan bagaimana Anda dapat mengontrol akses pengguna ke Kinesis Video Streams
contoh 1: Izinkan pengguna mendapatkan data dari aliran video Kinesis apa pun
Kebijakan ini memungkinkan pengguna atau grup untuk melakukanDescribeStream
,,, GetDataEndpoint
GetMedia
ListStreams
, dan ListTagsForStream
operasi pada aliran video Kinesis apa pun. Kebijakan ini sesuai untuk pengguna yang bisa mendapatkan data dari streaming video apa pun.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kinesisvideo:Describe*",
"kinesisvideo:Get*",
"kinesisvideo:List*"
],
"Resource": "*"
}
]
}
contoh 2: Izinkan pengguna membuat aliran video Kinesis dan menulis data ke dalamnya
Kebijakan ini memungkinkan pengguna atau grup untuk melakukan CreateStream
dan PutMedia
operasi. Kebijakan ini sesuai untuk kamera keamanan yang dapat membuat aliran video dan mengirim data ke sana.
{
"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.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "kinesisvideo:*",
"Resource": "*"
}
]
}
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.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "kinesisvideo:PutMedia",
"Resource": "arn:aws:kinesisvideo:us-west-2:123456789012:stream/your_stream/0123456789012"
}
]
}