As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Controle do acesso aos recursos do Kinesis Video Streams usando o IAM
Você pode usar o AWS Identity and Access Management (IAM) com o Amazon Kinesis Video Streams para controlar se os usuários da sua organização podem realizar uma tarefa usando operações específicas da API do Kinesis Video Streams e se podem usar recursos específicos. AWS
Para obter mais informações sobre IAM, consulte o seguinte:
Conteúdo
Sintaxe da política
A política do IAM é um documento JSON que consiste em uma ou mais declarações. Cada instrução é estruturada da seguinte maneira:
{
"Statement":[{
"Effect":"effect",
"Action":"action",
"Resource":"arn",
"Condition":{
"condition":{
"key":"value"
}
}
}
]
}
Existem vários elementos que compõem uma instrução:
-
Efeito — O efeito pode ser
AllowouDeny. Por padrão, os usuários não têm permissão para usar recursos e ações da API. Por isso, todas as solicitações são negadas. Um permitir explícito substitui o padrão. Uma negar explícito substitui todas as permissões. -
Ação — A ação é a ação específica da API para a qual você está concedendo ou negando permissão.
-
Recurso — O recurso afetado pela ação. Para especificar um recurso na declaração, você deve usar o respectivo nome de recurso da Amazon (ARN).
-
Condição: as condições são opcionais. Elas podem ser usadas para controlar quando a política está em vigor.
Ao criar e gerenciar políticas do IAM, recomendamos que você use o IAM Policy Generator e o IAM Policy Simulator.
Ações para o Kinesis Video Streams
Em uma declaração de política do IAM, é possível especificar qualquer ação de API de qualquer serviço que dê suporte ao IAM. Para Kinesis Video Streams, use o seguinte prefixo com o nome da ação da API:. kinesisvideo: Por exemplo: kinesisvideo:CreateStream, kinesisvideo:ListStreams e kinesisvideo:DescribeStream.
Para especificar várias ações em uma única instrução, separe-as com vírgulas, como segue:
"Action": ["kinesisvideo:action1", "kinesisvideo:action2"]
Também é possível especificar várias ações usando asteriscos. Por exemplo, é possível especificar todas as ações cujo nome começa com a palavra "Obter", conforme o seguinte:
"Action": "kinesisvideo:Get*"
Para especificar todas as operações do Kinesis Video Streams, use o curinga asterisco (*), como a seguir:
"Action": "kinesisvideo:*"
Para obter a lista completa das ações da API do Kinesis Video Streams, consulte a referência de API do Kinesis Video Streams.
Nomes de recursos da Amazon (ARNs) para o Kinesis Video Streams
Cada declaração de política do IAM se aplica aos recursos especificados usando os ARNs.
Use o seguinte formato de recursos do ARN para os fluxos de dados do Kinesis Video Streams:
arn:aws:kinesisvideo:region:account-id:stream/stream-name/code
Por exemplo:
"Resource": arn:aws:kinesisvideo:*:111122223333:stream/my-stream/0123456789012
Você pode obter o ARN de um stream usando o. DescribeStream
Conceder acesso a outras contas do IAM a um stream de vídeo do Kinesis
Talvez seja necessário conceder permissão a outras contas do IAM para realizar operações em streams no Kinesis Video Streams. A seguinte visão geral descreve as etapas para concessão de acesso aos streamings de vídeo em várias contas:
Obtenha o ID da conta de 12 dígitos da conta à qual você deseja conceder permissões para realizar operações no recurso de stream criado em sua conta.
Exemplo: nas etapas a seguir, usaremos 111111111111 como o ID da conta para a qual você deseja conceder permissão e 999999999999 como o ID do seu Kinesis Video Streams
Crie uma política gerenciada do IAM na conta proprietária do stream (999999999999) que permita o nível de acesso que você deseja conceder.
Política de amostra:
Para ver outros exemplos de políticas para os recursos do Kinesis Video StreamsExemplo de políticas, consulte na próxima seção.
Crie uma função na conta proprietária do stream (999999999999) e especifique a conta para a qual você deseja conceder permissões (111111111111). Isso adicionará uma entidade confiável à função.
Exemplo de política confiável:
Anexe a política que você criou na etapa anterior a essa função.
Agora você criou uma função na conta 999999999999 que tem permissão para operações como
DescribeStreamGetDataEndpoint, e emPutMediaum ARN de recurso de stream na política gerenciada. Essa nova função também confia na outra conta, 111111111111, para assumir essa função.Importante
Anote o ARN da função, você precisará dele na próxima etapa.
Crie uma política gerenciada na outra conta, 111111111111, que permita a
AssumeRoleação na função que você criou na conta 999999999999 na etapa anterior. Você precisará mencionar o ARN da função na etapa anterior.Política de amostra:
Anexe a política criada na etapa anterior a uma entidade do IAM, como uma função ou um usuário na conta 111111111111. Esse usuário agora tem permissão para assumir a função
CustomRoleNamena conta 999999999999.As credenciais desse usuário chamam a AWS STS
AssumeRoleAPI para obter as credenciais da sessão, que são usadas posteriormente para chamar as APIs do Kinesis Video Streams no stream criado na conta 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": "" } }Defina a chave de acesso, a chave secreta e as credenciais da sessão com base no conjunto anterior no ambiente.
set AWS_ACCESS_KEY_ID= set AWS_SECRET_ACCESS_KEY= set AWS_SESSION_TOKEN=Execute as APIs do Kinesis Video Streams para descrever e obter o endpoint de dados do stream na conta 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" }
Para obter instruções genéricas passo a passo sobre como conceder acesso entre contas, consulte Delegar acesso ao uso de funções do IAM. Contas da AWS
Exemplos de políticas para o Kinesis Video Streams
Os exemplos de políticas a seguir demonstram como você pode controlar o acesso do usuário ao seu Kinesis Video Streams.
exemplo 1: Permita que os usuários obtenham dados de qualquer stream de vídeo do Kinesis
Essa política permite que um usuário ou grupo realize as ListTagsForStream operaçõesDescribeStream,GetDataEndpoint, GetMediaListStreams, e em qualquer stream de vídeo da Kinesis. É apropriada para usuários que podem obter dados de qualquer streaming de vídeo.
exemplo 2: Permitir que um usuário crie um stream de vídeo do Kinesis e grave dados nele
Esta política permite que um usuário ou grupo execute as operações CreateStream e PutMedia. Esta política é apropriada para uma câmera de segurança que pode criar um streaming de vídeo e enviar dados para ele.
{ "Statement": [ { "Effect": "Allow", "Action": [ "kinesisvideo:CreateStream", "kinesisvideo:PutMedia" ], "Resource": "*" } ] }
exemplo 3: Permitir que um usuário tenha acesso total a todos os recursos do Kinesis Video Streams
Esta política permite que um usuário ou grupo execute qualquer operação do Kinesis Video Streams em qualquer um dos recursos. Esta política é apropriada para administradores.
exemplo 4: Permitir que um usuário grave dados em um stream de vídeo específico do Kinesis
Esta política permite que um usuário ou grupo grave dados em um determinado streaming. Esta política é apropriada para um dispositivo que pode enviar dados para um streaming único.