Stratégies et droits d'accès IAM pour Media Streams
Créez des stratégies IAM pour contrôler qui a accès aux ressources Media Streams ainsi que le type d'accès de chaque groupe d'utilisateurs.
Créez des stratégies pour que les utilisateurs disposent des droits nécessaires sur les ressources Media Streams. Les utilisateurs du groupe Administrators
ont accès à toutes les ressources Media Streams.
Si vous ne connaissez pas les stratégies IAM, reportez-vous à Introduction aux stratégies.
Pour obtenir la liste complète des stratégies Oracle Cloud Infrastructure, reportez-vous à Référence de stratégie et à Stratégies courantes. Pour les stratégies Media Flow, reportez-vous à Stratégies Media Flow.
Pour utiliser Media Streams, créez une stratégie qui accorde les droits d'accès suivants à l'utilisateur ou aux groupes qui interagissent avec le service en conséquence.
Media Streams prend en charge les entités suivantes :
Type de ressource |
Action affectée à l'utilisateur |
---|---|
workflow de support | Utilise les workflows. |
travail-support | Exécute les travaux de workflow pour traiter le support. |
ressource de support | Utilise les métadonnées de ressource de média. |
famille de supports | Inclut toutes les ressources des médias au sein d'une même famille. |
canal de distribution de flux de médias | Gérer les canaux de distribution. |
media-stream-packaging-config | Gérer les configurations de packaging. |
media-stream-cdn-config | Gère les configurations de réseau CDN. |
Types de ressource et droits d'accès
Liste des types de ressource Media Streams et des droits d'accès associés.
Pour affecter des droits d'accès à toutes les ressources Media Services, utilisez le type d'agrégation media-family
. Pour utiliser Media Streams, vous devez disposer des droits d'accès à tous les types de ressource. Pour plus d'informations, reportez-vous à Droits d'accès.
Le tableau suivant répertorie toutes les ressources dans media-family
:
Family Name | Ressources membre |
---|---|
famille de supports |
|
Une stratégie qui utilise <verb> media-family
équivaut à écrire une stratégie avec une instruction <verb> <resource-type>
distincte pour chaque type individuel de ressource.
Type de ressource | Droits d'accès |
---|---|
ressource de support |
|
media-stream-cdn-config |
|
canal de distribution de flux de médias |
|
media-stream-packaging-config |
|
workflow de support |
|
travail-support |
|
Variables prises en charge
Les variables sont utilisées lors de l'ajout de conditions à une stratégie.
Media Streams prend en charge les variables suivantes :
- Entité
- OCID (Oracle Cloud Identifier).
- Chaîne
- Texte de forme libre.
- Liste
- Liste d'entités ou de chaînes.
Reportez-vous à Variables générales pour toutes les demandes.
Les variables sont en minuscules et séparées par un trait d'union. Par exemple, target.tag-namespace.name
, target.display-name
. Ici, name
doit être unique et display-name
est la description.
Les variables requises sont fournies par le service Media Streams pour chaque demande. Les variables automatiques sont fournies par le moteur d'autorisation (dans le service avec le kit SDK pour un client lourd, ou sur le plan de données d'identité pour un client léger).
Variables requises | Type | Description |
---|---|---|
target.compartment.id |
Entité (OCID) | OCID de la ressource principale de la demande. |
request.operation |
Chaîne | ID de l'opération (par exemple, GetUser ) pour la demande. |
target.resource.kind |
Chaîne | Nom de catégorie de la ressource principale de la demande. |
Variables automatiques | Type | Description |
---|---|---|
request.user.id |
Entité (OCID) | OCID de l'utilisateur à l'origine de la demande. |
request.groups.id |
Liste des entités (OCID) | OCID des groupes auxquels appartient l'utilisateur demandeur. |
target.compartment.name |
Chaîne | Nom du compartiment indiqué dans target.compartment.id . |
target.tenant.id |
Entité (OCID) | OCID de l'ID de locataire cible. |
Variables dynamiques | Type | Description |
---|---|---|
request.principal.group.tag.<tagNS>.<tagKey> |
Chaîne | Valeur de chaque balise sur un groupe dont le principal est membre. |
request.principal.compartment.tag.<tagNS>.<tagKey> |
Chaîne | Valeur de chaque balise sur le compartiment qui contient le principal. |
target.resource.tag.<tagNS>.<tagKey> |
Chaîne | Valeur de chaque balise sur la ressource cible. (Calculé en fonction de tagSlug fourni par le service à chaque demande.) |
target.resource.compartment.tag.<tagNS>.<tagKey> |
Chaîne | Valeur de chaque balise sur le compartiment qui contient la ressource cible. (Calculé en fonction de tagSlug fourni par le service à chaque demande.) |
Voici la liste des sources disponibles pour les variables :
- Demande : provient de l'entrée de la demande.
- Dérivé : provient de la demande.
- Stocké : provient du service, entrée conservée.
- Calculé : calculé à partir des données de service.
Détails des combinaisons de verbe et de type de ressource
Identifiez les droits d'accès et les opérations d'API couverts par chaque verbe pour les ressources Media Streams.
Le niveau d'accès est cumulatif à mesure que vous passez d'un verbe à l'autre, dans l'ordre suivant : inspect
, read
, use
, manage
. Un signe plus (+)
dans une cellule du tableau indique un accès incrémentiel par rapport à la cellule précédente.
Pour plus d'informations sur l'octroi d'accès, reportez-vous à Droits d'accès.
Ce tableau répertorie les droits d'accès et les API entièrement couvertes par ces derniers pour la ressource media-workflow
.
Verbes | Droits d'accès | API couvertes | Description |
---|---|---|---|
inspect |
MEDIA_WORKFLOW_INSPECT |
ListMediaWorkflow
|
Répertoriez les éléments MediaWorkflows et SystemMediaWorkflows dans un compartiment. |
read |
|
|
Visualisez les détails d'un élément MediaWorkflow. |
use |
|
|
Mettez à jour un élément MediaWorkflow. |
manage |
|
|
Créez un élément MediaWorkflow. |
manage |
|
|
Déplacez un élément MediaWorkflow entre les compartiments. |
manage |
|
|
Supprimez un élément MediaWorkflow. |
Ce tableau répertorie les droits d'accès et les API entièrement couvertes par ces derniers pour la ressource media-workflow-configuration
.
Verbes | Droits d'accès | API couvertes | Description |
---|---|---|---|
inspect |
MEDIA_WORKFLOW_CONFIGURATION_INSPECT |
ListMediaWorkflowConfiguration |
Répertoriez les objets MediaWorkflowConfiguration dans un compartiment donné. |
read |
|
|
Visualisez les détails d'un élément MediaWorkflowConfiguration. |
use |
|
|
Mettez à jour un élément MediaWorkflowConfiguration. |
manage |
|
|
Créez un élément MediaWorkflowConfiguration. |
manage |
|
|
Déplacez un élément MediaWorkflowConfiguration entre les compartiments. |
manage |
|
|
Supprimez un élément MediaWorkflowConfiguration. |
Ce tableau répertorie les droits d'accès et les API entièrement couvertes par ces derniers pour la ressource media-workflow-job
.
Verbes | Droits d'accès | API couvertes | Description |
---|---|---|---|
inspect |
MEDIA_WORKFLOW_JOB_INSPECT |
ListMediaWorkflowJob |
répertoriez MediaWorkflowJobs dans un compartiment spécifique, |
read |
|
|
Visualisez les détails d'un élément MediaWorkflowJob. |
use |
|
|
Mettez à jour un élément MediaWorkflowJob. |
manage |
|
|
Créez un élément MediaWorkflowJob. |
manage |
|
|
Déplacez un élément MediaWorkflowJob entre les compartiments. |
manage |
|
|
Annuler un élément MediaWorkflowJob. |
Ce tableau répertorie les droits d'accès et les API entièrement couvertes par ces derniers pour la ressource media-asset
.
Verbes | Droits d'accès | API couvertes | Description |
---|---|---|---|
inspect |
MEDIA_ASSET_INSPECT |
ListMediaAsset |
Répertoriez toutes les ressources de média d'un compartiment donné. |
read |
|
|
Affichez tous les détails des enregistrements de ressource multimédia. |
use |
|
|
Mettez à jour les métadonnées de la ressource de support. |
manage |
|
|
Créer des ressources multimédias. |
manage |
|
|
Déplacez les ressources multimédias entre les compartiments. |
manage |
|
|
Supprimez des ressources multimédias. |
media-stream-distribution-channel
.Verbes | Droits d'accès | API couvertes | Description |
---|---|---|---|
inspect |
MEDIA_STREAM_DISTRIBUTION_CHANNEL_INSPECT |
ListStreamDistributionChannel |
Répertoriez StreamDistributionChannels dans un compartiment. |
read |
|
|
Visualisez les détails d'un élément StreamDistirbutionChannel. |
use |
|
|
Mettez à jour les détails d'un élément StreamDistirbutionChannel. |
manage |
|
|
Créez un élément StreamDistirbutionChannel. |
manage |
|
|
Déplacez un élément StreamDistirbutionChannel entre les compartiments. |
manage |
|
|
Supprimez un élément StreamDistirbutionChannel. |
Ce tableau répertorie les droits d'accès et les API entièrement couvertes par ces derniers pour la ressource media-stream-packaging-config
.
Verbes | Droits d'accès | API couvertes | Description |
---|---|---|---|
inspect |
MEDIA_STREAM_PACKAGING_CONFIG_INSPECT |
ListStreamCdnConfig |
Répertoriez StreamPackagingConfigs dans un élément StreamDistributionChannel spécifique. |
read |
|
|
Visualisez les détails d'un élément StreamPackagingConfig. |
use |
|
|
Mettez à jour les détails d'un élément StreamCdnConfig. |
manage |
|
|
Créez un élément StreamCdnConfig. |
manage |
|
|
Déplacez un élément StreamCdnConfig entre les compartiments. |
manage |
|
|
Supprimez un élément StreamCdnConfig. |
media-stream-cdn-config
.Verbes | Droits d'accès | API couvertes | Description |
---|---|---|---|
inspect |
MEDIA_STREAM_CDN_CONFIG_INSPECT |
ListStreamCdnConfig |
Répertoriez StreamCdnConfigs dans un élément StreamDistributionChannel spécifique. |
read |
|
|
Visualisez les détails d'un StreamCdnConfig spécifique. |
use |
|
|
Mettez à jour les détails d'un élément StreamCdnConfig. |
manage |
|
|
Créez un élément StreamCdnConfig. |
manage |
|
|
Déplacement d'un élément StreamCdnConfig entre des compartiments |
manage |
|
|
Supprimez un élément StreamCdnConfig. |
Droits d'accès requis pour chaque opération d'API
Le tableau suivant présente les opérations d'API dans un ordre logique, regroupées par type de ressource. Les types de ressource sont media-stream-distribution-channel
, media-stream-packaging-config
et media-stream-cdn-config
.
Opération d'API | Droits d'accès requis pour utiliser l'opération |
---|---|
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 |
Rôles utilisateur Media Streams
Vous pouvez utiliser les autorisations/stratégies disponibles pour configurer l'accès.
Voici une configuration utilisateur standard :
Système/Acteur | Description | Droits d'accès aux ressources OCI |
---|---|---|
Bibliothèque de ressources numériques | Ce groupe nécessite l'accès aux ressources multimédias qui ont été créées. | lecture : media-asset |
Responsable de canal | Entité/groupe autorisé OCI qui gère les canaux de distribution (toutes les opérations). |
|
Editeur de ressources | Entité/groupe autorisé OCI qui gère les ressources de liste de lecture dans un canal de distribution (opérations sur les ressources). |
|
Flux de ressources |
Ce groupe est l'utilisateur final du contenu. Les plates-formes de streaming demandent des jetons au nom de cet acteur pour leur accorder l'accès au contenu. Lorsque les streamers de ressource envoient une demande pour lire un contenu vidéo, le lecteur envoie la demande à la liste de lecture de niveau supérieur à partir de Media Streams. La demande de liste de lecture principale valide le jeton de session et renvoie une liste de lecture principale de variantes de flux, y compris les listes de lecture de médias ABR. L'emplacement où les demandes suivantes sont envoyées pour des listes de lecture de débit binaire individuelles et leurs ressources associées dépend de la configuration spécifique CDN/Edge et des stratégies d'authentification par jeton associées au CDN/Edge. |
Aucun droit d'accès OCI. |
Système de gestion de contenu (CMS) |
Cette entité/ce groupe autorisé OCI peut répertorier et lire les canaux de distribution, les configurations de packaging, les configurations de réseau CDN et les ressources de liste de lecture. Cette entité intègre une liaison de lecteur vidéo au canal de distribution, à la configuration de packaging et à la combinaison d'actifs appropriés. |
|
Serveur de bordure de réseau CDN | Serveur en périphérie CDN configuré pour utiliser l'adresse de service de support en tant que serveur d'origine. | Aucun droit d'accès OCI |
Stratégies IAM
Vérifiez que :
- Vous avez configuré les stratégies de transmission en continu pour permettre aux services de support de lire
object-family
dans le compartiment vidéo de la banque d'objets. - Les utilisateurs ou les groupes utilisant Media Streams disposent des droits d'accès requis.
Pour plus d'informations, reportez-vous à Création d'une stratégie.
Pour plus de détails sur la syntaxe, reportez-vous à Syntaxe de stratégie.
Création d'une stratégie
Pour créer une stratégie dans la console, procédez comme suit :
Pour savoir comment créer et gérer des stratégies à l'aide de la console ou de l'API, reportez-vous à Gestion des stratégies.
Pour obtenir la liste complète de toutes les stratégies dans Oracle Cloud Infrastructure, reportez-vous à Référence de stratégie et à Stratégies courantes.
Exemples de stratégie
Les stratégies Media Streams sont requises pour utiliser diverses ressources Media Flow.
Reportez-vous aux instructions de Création d'une stratégie de création de stratégies à l'aide de la console.
Pour plus de détails sur la syntaxe, reportez-vous à Syntaxe de stratégie.
Les exemples de stratégie suivants sont fournis :
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>'}