メディア・ストリームのIAMポリシーおよびIAM権限
IAMポリシーを作成して、メディア・ストリーム・リソースへのアクセス権を持つユーザーを制御し、ユーザー・グループごとにアクセス権のタイプを制御します。
ユーザーがメディア・ストリーム・リソースに対して必要な権限を持つためのポリシーを作成します。Administrators
グループのユーザーは、すべてのメディア・ストリーム・リソースにアクセスできます。
IAMポリシーを初めて使用する場合は、ポリシーの開始を参照してください。
Oracle Cloud Infrastructureポリシーの完全なリストは、ポリシー・リファレンスおよび共通ポリシーを参照してください。メディア・フロー・ポリシーについては、メディア・フロー・ポリシーを参照してください。
メディア・ストリームを使用するには、サービスと対話するユーザーまたはグループに次の権限を付与するポリシーを作成します。
メディア・ストリームでは、次のエンティティがサポートされます。
リソースの種類 |
ユーザーに割り当てられたアクション |
---|---|
メディア・ワークフロー | ワークフローを使用 |
メディア・ワークフロー・ジョブ | ワークフロージョブを実行してメディアを処理します。 |
メディア・アセット | メディア・アセット・メタデータを使用します。 |
メディア・ファミリ | すべてのメディア・メンバー・リソースを1つのファミリに含めます。 |
メディアストリーム配信チャネル | 分散チャネルを管理します。 |
メディアストリームパッケージング構成 | パッケージ構成を管理します。 |
メディア- ストリーム-cdn- 構成 | CDN構成を管理します。 |
リソース・タイプおよび権限
メディア・ストリーム・リソース・タイプおよび関連する権限のリスト。
すべてのメディア・サービス・リソースに権限を割り当てるには、media-family
集計タイプを使用します。メディア・ストリームを使用するには、すべてのリソース・タイプに対する権限が必要です。詳細は、権限を参照してください。
次の表に、media-family
のすべてのリソースを示します。
姓 | メンバー・リソース |
---|---|
メディア・ファミリ |
|
<verb> media-family
を使用するポリシーは、個々のリソース・タイプごとに個別の<verb> <resource-type>
ステートメントを使用してポリシーを記述することと同じです。
リソースの種類 | 権限 |
---|---|
メディア・アセット |
|
メディア- ストリーム-cdn- 構成 |
|
メディアストリーム配信チャネル |
|
メディアストリームパッケージング構成 |
|
メディア・ワークフロー |
|
メディア・ワークフロー・ジョブ |
|
サポートされている変数
変数は、条件をポリシーに追加するときに使用されます。
メディア・ストリームでは、次の変数がサポートされています。
- エンティティ
- Oracle Cloud Identifier (OCID)。
- 文字列
- 自由形式テキスト
- 表示
- エンティティまたは文字列のリスト。
すべてのリクエストの一般的な変数を参照してください。
変数は小文字で、ハイフン区切りです。たとえば、target.tag-namespace.name
、target.display-name
です。ここで、name
は一意である必要があり、display-name
は説明です。
必要な変数は、リクエストごとにメディア・ストリーム・サービスによって提供されます。自動変数は、認可エンジンによって提供されます(シック・クライアントではSDKを使用したサービス・ローカルで、シン・クライアントではアイデンティティ・データ・プレーンで提供されます)。
必要な変数 | 型 | 説明 |
---|---|---|
target.compartment.id |
エンティティ(OCID) | リクエストのプライマリ・リソースのOCID |
request.operation |
文字列 | リクエストの操作ID (例: GetUser ) |
target.resource.kind |
文字列 | リクエストのプライマリ・リソースのリソース種類名 |
自動変数 | 型 | 説明 |
---|---|---|
request.user.id |
エンティティ(OCID) | リクエスト・ユーザーのOCID。 |
request.groups.id |
エンティティ(OCID)のリスト | リクエスト・ユーザーが属しているグループのOCID。 |
target.compartment.name |
文字列 | target.compartment.id で指定されたコンパートメントの名前 |
target.tenant.id |
エンティティ(OCID) | ターゲット・テナントIDのOCID |
動的変数 | 型 | 説明 |
---|---|---|
request.principal.group.tag.<tagNS>.<tagKey> |
文字列 | プリンシパルがメンバーであるグループの各タグの値。 |
request.principal.compartment.tag.<tagNS>.<tagKey> |
文字列 | プリンシパルを含むコンパートメントの各タグの値。 |
target.resource.tag.<tagNS>.<tagKey> |
文字列 | ターゲット・リソースの各タグの値。(各リクエストでサービスによって提供されるtagSlugに基づいて計算されます。) |
target.resource.compartment.tag.<tagNS>.<tagKey> |
文字列 | ターゲット・リソースを含むコンパートメントの各タグの値。(各リクエストでサービスによって提供されるtagSlugに基づいて計算されます。) |
次に、変数の使用可能なソースのリストを示します:
- リクエスト: リクエスト入力から取得されます。
- 導出: リクエストから取得されます。
- 格納: サービスから取得され、入力が保持されます。
- 計算: サービス・データから計算されます。
動詞とリソース・タイプの組合せの詳細
メディア・ストリーム・リソースの各動詞でカバーされる権限およびAPI操作を識別します。
アクセスのレベルは、inspect
からread
、use
、manage
の順に累積します。表のセルのプラス記号(+)
は、前のセルと比較した場合に増分アクセスを示します。
アクセス権の付与の詳細は、権限を参照してください。
この表は、media-workflow
リソースの権限と、権限によって完全にカバーされるAPIを示しています。
動詞 | 権限 | カバーされるAPI | 説明 |
---|---|---|---|
inspect |
MEDIA_WORKFLOW_INSPECT |
ListMediaWorkflow
|
コンパートメント内のMediaWorkflowsおよびSystemMediaWorkflowsをリストします。 |
read |
|
|
MediaWorkflowの詳細を表示します。 |
use |
|
|
MediaWorkflowを更新します。 |
manage |
|
|
MediaWorkflowを作成します。 |
manage |
|
|
MediaWorkflowをコンパートメント間で移動します。 |
manage |
|
|
MediaWorkflowを削除します。 |
この表は、media-workflow-configuration
リソースの権限と、権限によって完全にカバーされるAPIを示しています。
動詞 | 権限 | カバーされるAPI | 説明 |
---|---|---|---|
inspect |
MEDIA_WORKFLOW_CONFIGURATION_INSPECT |
ListMediaWorkflowConfiguration |
特定のコンパートメント内のMediaWorkflowConfigurationオブジェクトを一覧表示します。 |
read |
|
|
MediaWorkflowConfigurationの詳細を表示します。 |
use |
|
|
MediaWorkflowConfigurationを更新します。 |
manage |
|
|
MediaWorkflowConfigurationを作成します。 |
manage |
|
|
MediaWorkflowConfigurationをコンパートメント間で移動します。 |
manage |
|
|
MediaWorkflowConfigurationを削除します。 |
この表は、media-workflow-job
リソースの権限と、権限によって完全にカバーされるAPIを示しています。
動詞 | 権限 | カバーされるAPI | 説明 |
---|---|---|---|
inspect |
MEDIA_WORKFLOW_JOB_INSPECT |
ListMediaWorkflowJob |
特定のコンパートメントのMediaWorkflowJobsをリストします。 |
read |
|
|
MediaWorkflowJobの詳細を表示します。 |
use |
|
|
MediaWorkflowJobを更新します。 |
manage |
|
|
MediaWorkflowJobを作成します。 |
manage |
|
|
MediaWorkflowJobをコンパートメント間で移動します。 |
manage |
|
|
MediaWorkflowJobを取り消します。 |
この表は、media-asset
リソースの権限と、権限によって完全にカバーされるAPIを示しています。
Verbs | 権限 | カバーされるAPI | Description |
---|---|---|---|
inspect |
MEDIA_ASSET_INSPECT |
ListMediaAsset |
特定のコンパートメント内のすべてのメディア・アセットをリストします。 |
read |
|
|
メディア・アセット・レコードのすべての詳細を表示します。 |
use |
|
|
メディア・アセット・メタデータを更新します。 |
manage |
|
|
メディア・アセットを作成します。 |
manage |
|
|
メディア・アセットをコンパートメント間で移動します。 |
manage |
|
|
メディア・アセットを削除します。 |
media-stream-distribution-channel
リソースの権限と、権限によって完全にカバーされるAPIを示しています。動詞 | 権限 | カバーされるAPI | 説明 |
---|---|---|---|
inspect |
MEDIA_STREAM_DISTRIBUTION_CHANNEL_INSPECT |
ListStreamDistributionChannel |
コンパートメント内のStreamDistributionChannelsをリストします。 |
read |
|
|
StreamDistirbutionChannelの詳細を表示します。 |
use |
|
|
StreamDistirbutionChannelの詳細を更新します。 |
manage |
|
|
StreamDistirbutionChannelを作成します。 |
manage |
|
|
StreamDistirbutionChannelをコンパートメント間で移動します。 |
manage |
|
|
StreamDistirbutionChannelを削除します。 |
この表は、media-stream-packaging-config
リソースの権限と、権限によって完全にカバーされるAPIを示しています。
Verbs | 権限 | カバーされるAPI | Description |
---|---|---|---|
inspect |
MEDIA_STREAM_PACKAGING_CONFIG_INSPECT |
ListStreamCdnConfig |
特定のStreamDistributionChannel内のStreamPackagingConfigsをリストします |
read |
|
|
StreamPackagingConfigの詳細を表示します。 |
use |
|
|
StreamCdnConfigの詳細を更新します。 |
manage |
|
|
StreamCdnConfigを作成します。 |
manage |
|
|
StreamCdnConfigをコンパートメント間で移動します。 |
manage |
|
|
StreamCdnConfigを削除します。 |
media-stream-cdn-config
リソースの権限と、権限によって完全にカバーされるAPIを示しています。動詞 | 権限 | カバーされるAPI | 説明 |
---|---|---|---|
inspect |
MEDIA_STREAM_CDN_CONFIG_INSPECT |
ListStreamCdnConfig |
特定のStreamDistributionChannelのStreamCdnConfigsをリストします。 |
read |
|
|
特定のStreamCdnConfigの詳細を表示します。 |
use |
|
|
StreamCdnConfigの詳細を更新します。 |
manage |
|
|
StreamCdnConfigを作成します。 |
manage |
|
|
コンパートメント間でのStreamCdnConfigの移動 |
manage |
|
|
StreamCdnConfigを削除します。 |
API操作ごとに必要な権限
次の表は、論理的な順序で、リソース・タイプ別にグループ化してAPI操作を示しています。リソース・タイプは、media-stream-distribution-channel
、media-stream-packaging-config
およびmedia-stream-cdn-config
です。
API操作 | 操作の使用に必要な権限 |
---|---|
CreateStreamDistributionChannel |
MEDIA_STREAM_DISTRIBUTION_CHANNEL_CREATE |
ListStreamDistributionChannels |
MEDIA_STREAM_DISTRIBUTION_CHANNEL_INSPECT |
GetStreamDistributionChannel |
MEDIA_STREAM_DISTRIBUTION_CHANNEL_READ |
UpdateStreamDistributionChannel |
MEDIA_STREAM_DISTRIBUTION_CHANNEL_UPDATE |
DeleteStreamDistributionChannel |
MEDIA_STREAM_DISTRIBUTION_CHANNEL_DELETE |
ChangeStreamDistributionChannelCompartment |
MEDIA_STREAM_DISTRIBUTION_CHANNEL_MOVE |
CreateStreamPackagingConfig |
MEDIA_STREAM_PACKAGING_CONFIG_CREATE |
ListStreamPackagingConfigs |
MEDIA_STREAM_PACKAGING_CONFIG_INSPECT |
GetStreamPackagingConfig |
MEDIA_STREAM_PACKAGING_CONFIG_READ |
UpdateStreamPackagingConfig |
MEDIA_STREAM_PACKAGING_CONFIG_UPDATE |
DeleteStreamPackagingConfig |
MEDIA_STREAM_PACKAGING_CONFIG_DELETE |
ChangeStreamPackagingConfigCompartment |
MEDIA_STREAM_PACKAGING_CONFIG_MOVE |
CreateStreamCdnConfig |
MEDIA_STREAM_CDN_CONFIG_CREATE |
ListStreamCdnConfigs |
MEDIA_STREAM_CDN_CONFIG_INSPECT |
GetStreamCdnConfig |
MEDIA_STREAM_CDN_CONFIG_READ |
UpdateStreamCdnConfig |
MEDIA_STREAM_CDN_CONFIG_UPDATE |
DeleteStreamCdnConfig |
MEDIA_STREAM_CDN_CONFIG_DELETE |
ChangeStreamCdnConfigCompartment |
MEDIA_STREAM_CDN_CONFIG_MOVE |
CreateStreamDataPlaneCellDeployment |
MEDIA_STREAM_ADMIN_CREATE |
ListStreamDataPlaneCellDeployments |
MEDIA_STREAM_ADMIN_INSPECT |
GetStreamDataPlaneCellDeployment |
MEDIA_STREAM_ADMIN_READ |
UpdateStreamDataPlaneCellDeployment |
MEDIA_STREAM_ADMIN_UPDATE |
DeleteStreamDataPlaneCellDeployment |
MEDIA_STREAM_ADMIN_DELETE |
CreateDistributionChannelAssignmentGroup |
MEDIA_STREAM_ADMIN_CREATE |
ListDistributionChannelAssignmentGroup |
MEDIA_STREAM_ADMIN_INSPECT |
GetDistributionChannelAssignmentGroup |
MEDIA_STREAM_ADMIN_READ |
UpdateDistributionChannelAssignmentGroup |
MEDIA_STREAM_ADMIN_UPDATE |
DeleteDistributionChannelAssignmentGroup |
MEDIA_STREAM_ADMIN_DELETE |
IngestStreamDistributionChannel |
MEDIA_WORKFLOW_JOB_CREATE |
メディア・ストリームのユーザー・ロール
使用可能な権限/ポリシーを使用して、アクセスを構成できます。
一般的なユーザー構成は次のとおりです。
システム/医者 | 説明 | OCIリソース権限 |
---|---|---|
デジタル・アセット・ライブラリ | このグループには、作成されたメディア・アセットへのアクセスが必要です。 | read: メディアアセット |
チャネル・マネージャ | 流通チャネルを管理するOCI認定エンティティ/グループ(すべての操作)。 |
|
アセット・パブリッシャ | 分散チャネル(アセット操作)内のプレイリスト・アセットを管理するOCI認可エンティティ/グループ。 |
|
資産ストリーマー |
このグループはコンテンツのエンド・ユーザーです。ストリーミング・プラットフォームは、コンテンツへのアクセス権を付与するために、このアクターのかわりにトークンをリクエストします。 アセット・ストリームがビデオ・コンテンツを再生するリクエストを送信すると、プレーヤはメディア・ストリームから最上位のプレイリストにリクエストを送信します。プライマリ再生リスト要求は、セッショントークンを検証し、ABRメディア再生リストを含むバリアントストリームのプライマリ再生リストを返します。後続のリクエストが個々のビットレート再生リストおよび関連するアセットに対して送信される場所は、CDN/Edge固有の構成およびCDN/Edgeに関連付けられたトークン認証戦略によって異なります。 |
OCI権限がありません。 |
コンテンツ管理システム(CMS) |
このOCI認可エンティティ/グループは、配布チャネル、パッケージ構成、CDN構成およびプレイリスト・アセットをリストおよび読み取ることができます。 このエンティティは、適切な配布チャネル、パッケージ構成およびアセットの組合せへのビデオ・プレーヤ・リンクを埋め込みます。 |
|
CDN Edgeサーバー | メディア・サービス・エンドポイントをオリジン・サーバーとして使用するように構成されたCDNエッジ・サーバー。 | OCI権限なし |
IAMポリシー
次を確認します。
- メディア・サービスがオブジェクト・ストアのビデオ・コンパートメント内の
object-family
を読み取ることができるように、ストリーミング・ポリシーを構成しました。 - メディア・ストリームを使用するユーザーまたはグループには、必要な権限があります。
詳細は、ポリシーの作成に関する項を参照してください。
構文の詳細は、ポリシー構文を参照してください。
ポリシーの作成
次に、コンソールでポリシーを作成する方法を示します:
コンソールまたはAPIを使用してポリシーを作成および管理する手順については、ポリシーの管理を参照してください。
Oracle Cloud Infrastructureのすべてのポリシーの完全なリストは、ポリシー・リファレンスおよび共通ポリシーを参照してください。
ポリシーの例
様々なメディア・フロー・リソースを使用するには、メディア・ストリーム・ポリシーが必要です。
コンソールを使用したポリシーの作成については、ポリシーの作成の手順を参照してください。
構文の詳細は、ポリシー構文を参照してください。
次のポリシーの例が提供されます:
Allow <user or dynamic-group> to manage media-family in compartment <compartment_name>
Allow any-user to read object-family in compartment id <compartment_id> where all {request.principal.type='streamdistributionchannel', request.resource.compartment.id='<compartment_id>'}
Allow any-user to read media-family in compartment id <compartment_id> where all {request.principal.type='streamdistributionchannel', request.resource.compartment.id='<compartment_id>'}
Allow any-user to read object-family in compartment id <compartment_id> where all {request.principal.type='streamdistributionchannel', request.resource.compartment.id='<compartment_id>'}
Allow any-user to read media-family in compartment id <compartment_id> where all {request.principal.type='streamdistributionchannel', request.resource.compartment.id='<compartment_id>'}
Allow any-user to use keys in compartment id <compartment_id> where all {request.principal.type='streamdistributionchannel', request.resource.compartment.id='<compartment_id>'}