IAM を使用した Kinesis Video Streams リソースへのアクセスの制御 - Amazon Kinesis Video Streams

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

IAM を使用した Kinesis Video Streams リソースへのアクセスの制御

Amazon Kinesis Video Streams で AWS Identity and Access Management (IAM) を使用すると、組織内のユーザーが特定の Kinesis ビデオストリーム API オペレーションを使用してタスクを実行できるかどうか、および特定のリソースを使用できるかどうかを制御できます。 AWS

IAM の詳細については、以下を参照してください。

ポリシー構文

IAM ポリシーは、1 つ、または複数のステートメントで構成される JSON ドキュメントです。各ステートメントは次のように構成されます。

{ "Statement":[{ "Effect":"effect", "Action":"action", "Resource":"arn", "Condition":{ "condition":{ "key":"value" } } } ] }

ステートメントはさまざまなエレメントで構成されています。

  • 効果AllowDeny効果はまたはになります。デフォルトでは、 ユーザーはリソースおよび API アクションを使用するアクセス許可がないため、リクエストはすべて拒否されます。明示的な許可はデフォルトに上書きされます。明示的な拒否はすべての許可に上書きされます。

  • アクションアクションは、権限を付与または拒否する特定の API アクションです。

  • リソース — アクションの影響を受けるリソース。ステートメント内でリソースを指定するには、Amazon リソースネーム (ARN) を使用する必要があります。

  • 条件 – 条件はオプションです。ポリシーの発効条件を指定するために使用します。

IAM ポリシーを作成および管理する際には、IAM ポリシージェネレーターと IAM ポリシーシミュレーターを使用することをお勧めします

Kinesis Video Streams のアクション

IAM ポリシーステートメントで、IAM をサポートするすべてのサービスからの任意の API アクションを指定できます。Kinesis Video Streams の場合、API アクションの名前に次のプレフィックス (kinesisvideo:) を使用します。例えば、kinesisvideo:CreateStreamkinesisvideo:ListStreams、および kinesisvideo:DescribeStream のようになります。

単一のステートメントで複数のアクションを指定するには、次のようにカンマで区切ります。

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

ワイルドカードを使用して複数のアクションを指定することもできます。たとえば、Getという単語で始まる名前のすべてのアクションは、以下のように指定できます。

"Action": "kinesisvideo:Get*"

すべての Kinesis Video Streams の操作を指定するには、次のようにアスタリスク (*) ワイルドカードを使用します。

"Action": "kinesisvideo:*"

Kinesis Video Streams API アクションの一覧については、「Kinesis Video Streams API リファレンス」を参照してください。

Kinesis Video Streams の Amazon リソースネーム (ARN)

各 IAM ポリシーステートメントは、ARN を使用して指定されたリソースに適用されます。

Kinesis Video Streams には、次の ARN リソースフォーマットを使用します。

arn:aws:kinesisvideo:region:account-id:stream/stream-name/code

例:

"Resource": arn:aws:kinesisvideo:*:111122223333:stream/my-stream/0123456789012

ストリームの ARN DescribeStreamはを使用して取得できます。

他の IAM アカウントに Kinesis ビデオストリームへのアクセスを許可する

Kinesis ビデオストリームで操作を実行できるように、他の IAM アカウントにアクセス許可を付与する必要性が生じる場合があります。次の概要では、アカウント間でビデオストリームへのアクセス許可を付与するための一般的なステップを説明します。

  1. ストリームで操作を実行する権限を付与するアカウントの 12 桁の ID (例: 111111111111) を取得します。

  2. 付与するアクセスレベルを許可するストリームを所有しているアカウントでマネージド型ポリシーを作成します。Kinesis Video Streams リソースのポリシーの例については、次のセクションの ポリシーの例 を参照してください。

  3. ロールを作成し、権限を付与したいアカウントを指定します。次に、前のステップで作成したポリシーをアタッチします。

  4. AssumeRole前のステップで作成したロールに対するアクションを許可する管理ポリシーを作成します。たとえば、ロールは次のようになります。

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::123456789012:role/CustomRole" } }

step-by-step クロスアカウントアクセスを許可する手順については、「IAM AWS アカウント ロールを使用してアクセスを委任する」を参照してください。

Kinesis Video Streams ポリシー例

以下のポリシー例は、Kinesis Video Streams へのユーザーアクセスを制御する方法を示しています。

例 1: ユーザーに Kinesis ビデオストリームからのデータの取得を許可する

このポリシーにより、ユーザーまたはグループが任意の Kinesis ビデオストリームに対して DescribeStreamGetDataEndpointGetMediaListStreams、および ListTagsForStream の操作を実行できます。このポリシーは、任意のビデオストリームからデータを取得できるユーザーに適しています。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesisvideo:Describe*", "kinesisvideo:Get*", "kinesisvideo:List*" ], "Resource": "*" } ] }
例 2: ユーザーに Kinesis ビデオストリームの作成とビデオストリームへのデータの書き込みを許可する

このポリシーにより、ユーザーまたはグループは CreateStream および PutMedia の操作を実行できます。このポリシーは、ビデオストリームを作成し、それにデータを送信できる監視カメラに適しています。

{ "Statement": [ { "Effect": "Allow", "Action": [ "kinesisvideo:CreateStream", "kinesisvideo:PutMedia" ], "Resource": "*" } ] }
例 3: すべての Kinesis Video Streams リソースへのフルアクセスをユーザーに許可する

このポリシーにより、ユーザーまたはグループが任意のリソースに対して任意の Kinesis Video Streams オペレーションを実行できます。このポリシーは、管理者に適しています。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kinesisvideo:*", "Resource": "*" } ] }
例 4: ユーザーに特定の Kinesis ビデオストリームへのデータの書き込みを許可する

このポリシーにより、ユーザーまたはグループは特定のビデオストリームにデータを書き込むことができます。このポリシーは、1 つのストリームにデータを送信できるデバイスに適してします。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kinesisvideo:PutMedia", "Resource": "arn:aws:kinesisvideo:us-west-2:123456789012:stream/your_stream/0123456789012" } ] }