Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Contrôle de l'accès aux ressources Kinesis Video Streams à l'aide d'IAM
Vous pouvez utiliser AWS Identity and Access Management (IAM) avec Amazon Kinesis Video Streams pour contrôler si les utilisateurs de votre organisation peuvent effectuer une tâche à l'aide d'opérations spécifiques de l'API Kinesis Video Streams et s'ils peuvent utiliser des ressources spécifiques. AWS
Pour plus d’informations sur IAM, consultez les ressources suivantes :
Table des matières
Syntaxe d’une politique
Une politique IAM est un document JSON qui se compose d’une ou de plusieurs déclarations. Chaque déclaration est structurée comme suit :
{
"Statement":[{
"Effect":"effect
",
"Action":"action
",
"Resource":"arn
",
"Condition":{
"condition
":{
"key
":"value
"
}
}
}
]
}
Une déclaration se compose de différents éléments :
-
Effet — L'effet peut être
Allow
ouDeny
. Comme, par défaut, les utilisateurs n’ont pas la permission d’utiliser les ressources et les actions d’API, toutes les demandes sont refusées. Une autorisation explicite remplace l’autorisation par défaut. Un refus explicite remplace toute autorisation. -
Action : il s'agit de l'action d'API spécifique pour laquelle vous accordez ou refusez l'autorisation.
-
Ressource : ressource affectée par l'action. Pour spécifier une ressource dans la déclaration, vous devez utiliser son Amazon Resource Name (ARN).
-
État — Les conditions sont facultatives. Elles permettent de contrôler à quel moment votre politique est effective.
Lorsque vous créez et gérez des politiques IAM, nous vous recommandons d'utiliser le générateur de politiques IAM et le simulateur de politiques IAM.
Actions relatives à Kinesis Video Streams
Dans une déclaration de politique IAM, vous pouvez spécifier une action d’API à partir de n’importe quel service prenant en charge IAM. Pour Kinesis Video Streams, utilisez le préfixe suivant avec le nom de l'action d'API : kinesisvideo:
Par exemple : kinesisvideo:CreateStream
, kinesisvideo:ListStreams
et kinesisvideo:DescribeStream
.
Pour spécifier plusieurs actions dans une seule déclaration, séparez-les par des virgules comme suit :
"Action": ["kinesisvideo:action1", "kinesisvideo:action2"]
Vous pouvez aussi spécifier plusieurs actions à l’aide de caractères génériques. Par exemple, vous pouvez spécifier toutes les actions dont le nom commence par le mot « Get » comme suit :
"Action": "kinesisvideo:Get*"
Pour spécifier toutes les opérations Kinesis Video Streams, utilisez le caractère générique astérisque (*) comme suit :
"Action": "kinesisvideo:*"
Pour obtenir la liste complète des actions de l'API Kinesis Video Streams, consultez le manuel de référence de l'API Kinesis Video Streams.
Amazon Resource Names (ARNs) pour Kinesis Video Streams
Chaque déclaration de politique IAM s'applique aux ressources que vous spécifiez à l'aide de leur. ARNs
Utilisez le format de ressource ARN suivant pour Kinesis Video Streams :
arn:aws:kinesisvideo:region
:account-id
:stream/stream-name
/code
Par exemple :
"Resource": arn:aws:kinesisvideo:*:111122223333:stream/my-stream/0123456789012
Vous pouvez obtenir l'ARN d'un flux en utilisant DescribeStream.
Autoriser d'autres comptes IAM à accéder à un flux vidéo Kinesis
Vous devrez peut-être autoriser d'autres comptes IAM à effectuer des opérations sur des flux dans Kinesis Video Streams. La présentation suivante décrit les étapes générales pour accorder l'accès à des flux vidéo parmi les comptes :
Obtenez l'identifiant de compte à 12 chiffres du compte auquel vous souhaitez accorder l'autorisation d'effectuer des opérations sur la ressource de streaming créée dans votre compte.
Exemple : Dans les étapes suivantes, nous utiliserons 111111111111 comme identifiant de compte pour le compte auquel vous souhaitez accorder l'autorisation, et 999999999999 comme identifiant pour vos Kinesis Video Streams
Créez une politique gérée par IAM dans le compte propriétaire du flux (999999999999) qui autorise le niveau d'accès que vous souhaitez accorder.
Exemple de politique :
Pour d'autres exemples de politiques relatives aux ressources Kinesis Video Streams, Exemples de stratégies reportez-vous à la section suivante.
Créez un rôle dans le compte propriétaire du flux (999999999999) et spécifiez le compte pour lequel vous souhaitez accorder des autorisations (111111111111). Cela ajoutera une entité de confiance au rôle.
Exemple de politique fiable :
Associez à ce rôle la politique que vous avez créée à l'étape précédente.
Vous avez maintenant créé un rôle dans le compte 999999999999 qui est autorisé à effectuer des opérations telles que
DescribeStream
GetDataEndpoint
, et surPutMedia
un ARN de ressource de flux dans la politique gérée. Ce nouveau rôle fait également confiance à l'autre compte, 111111111111, pour assumer ce rôle.Important
Notez l'ARN du rôle, vous en aurez besoin à l'étape suivante.
Créez une politique gérée dans l'autre compte, 111111111111, qui autorise l'
AssumeRole
action sur le rôle que vous avez créé dans le compte 999999999999 à l'étape précédente. Vous devrez mentionner l'ARN du rôle indiqué à l'étape précédente.Exemple de politique :
Attachez la politique créée à l'étape précédente à une entité IAM, telle qu'un rôle ou un utilisateur dans le compte 111111111111. Cet utilisateur est désormais autorisé à assumer le rôle
CustomRoleName
dans le compte 999999999999.Les informations d'identification de cet utilisateur appellent l' AWS STS
AssumeRole
API pour obtenir les informations d'identification de session, qui sont ensuite utilisées pour appeler Kinesis Video Streams sur le stream créé dans le compte APIs 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": "" } }Définissez la clé d'accès, la clé secrète et les informations d'identification de session en fonction de la configuration précédente dans l'environnement.
set AWS_ACCESS_KEY_ID= set AWS_SECRET_ACCESS_KEY= set AWS_SESSION_TOKEN=
Exécutez Kinesis Video APIs Streams pour décrire et obtenir le point de terminaison de données du flux dans le compte 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" }
Pour step-by-step obtenir des instructions générales sur l'octroi d'un accès entre comptes, consultez la section Accès délégué à Comptes AWS l'aide de rôles IAM.
Exemples de politiques pour Kinesis Video Streams
Les exemples de règles suivants montrent comment vous pouvez contrôler l'accès des utilisateurs à vos Kinesis Video Streams.
Exemple 1 : Autoriser les utilisateurs à obtenir des données à partir de n'importe quel flux vidéo Kinesis
Cette politique permet à un utilisateur ou à un groupe d'effectuer les ListTagsForStream
opérations DescribeStream
GetDataEndpoint
,GetMedia
,ListStreams
, et sur n'importe quel flux vidéo Kinesis. Cette stratégie est adaptée aux utilisateurs qui peuvent obtenir des données depuis n'importe quel flux vidéo.
Exemple 2 : Autoriser un utilisateur à créer un flux vidéo Kinesis et à y écrire des données
Cette stratégie permet à un utilisateur ou groupe d'effectuer les opérations CreateStream
et PutMedia
. Cette stratégie est adaptée à une caméra de sécurité pouvant créer un flux vidéo et y envoyer des données.
{ "Statement": [ { "Effect": "Allow", "Action": [ "kinesisvideo:CreateStream", "kinesisvideo:PutMedia" ], "Resource": "*" } ] }
Exemple 3 : Autoriser un utilisateur à accéder pleinement à toutes les ressources Kinesis Video Streams
Cette politique permet à un utilisateur ou à un groupe d'effectuer n'importe quelle opération Kinesis Video Streams sur n'importe quelle ressource. Cette stratégie est adaptée aux administrateurs.
Exemple 4 : Autoriser un utilisateur à écrire des données dans un flux vidéo Kinesis spécifique
Cette stratégie permet à un utilisateur ou groupe d'écrire des données sur un flux vidéo spécifique. Cette stratégie est adaptée à un appareil pouvant envoyer des données vers un même flux.