Politiques et autorisations GIA pour le service de flux de médias en continu
Créez des politiques IAM pour contrôler qui a accès aux ressources du service de flux de médias en continu et pour contrôler le type d'accès pour chaque groupe d'utilisateurs.
Créez des politiques permettant aux utilisateurs d'avoir les droits nécessaires sur les ressources du service de flux de médias en continu. Les utilisateurs du groupe Administrators ont accès à toutes les ressources du service de flux de médias en continu.
Pour en connaître davantage sur les politiques GIA, voir Introduction aux politiques.
Pour plus d'informations sur les politiques Oracle Cloud Infrastructure, voir Informations de référence sur les politiques et Politiques communes. Pour les politiques du service de flux de médias, voir Politiques pour le service de flux de médias.
Pour utiliser Media Streams, créez une politique qui accorde les autorisations suivantes à l'utilisateur ou aux groupes qui interagissent avec le service en conséquence.
Le service de flux de médias en continu prend en charge les entités suivantes :
| Type de ressource |
Action affectée à l'utilisateur |
|---|---|
| médias-flux de travail | Utilise les workflows. |
| media-workflow-job | Exécute les tâches de flux de travail pour traiter le support. |
| actif média | Utilise les métadonnées de la ressource multimédia. |
| Famille des médias | Inclut toutes les ressources des membres des médias dans une même famille. |
| media-stream-canal de distribution | Permet de gérer les canaux de distribution. |
| media-stream-packaging-config; | Gère les configurations d'emballage. |
| media-stream-cdn-config | Gère les configurations de réseau de diffusion de contenu. |
Types de ressource et autorisations
Liste des types de ressource du service de flux de médias en continu et des autorisations associées.
Pour affecter des autorisations à toutes les ressources des services de médias, utilisez le type d'agrégation media-family. Pour utiliser le service de flux de médias en continu, vous devez disposer des autorisations nécessaires pour tous les types de ressource. Pour plus d'informations, voir Autorisations.
Le tableau suivant répertorie toutes les ressources dans media-family :
| Nom de la famille | Ressources de membre |
|---|---|
| Famille des médias |
|
Une politique utilisant <verb> media-family équivaut à une politique ayant un énoncé <verb> <resource-type> distinct pour chaque type de ressource individuel.
| Type de ressource | Permissions |
|---|---|
| actif média |
|
| media-stream-cdn-config |
|
| media-stream-canal de distribution |
|
| media-stream-packaging-config; |
|
| médias-flux de travail |
|
| media-workflow-job |
|
Variables prises en charge
Les variables sont utilisées lors de l'ajout de conditions à une politique.
Le service de flux de médias en continu prend en charge les variables suivantes :
- Entité
- OCID (identificateur Oracle Cloud).
- Chaîne
- Texte de forme libre.
- Lister
- Liste d'entité ou de chaîne.
Voir Variables générales pour toutes les demandes.
Les variables sont en minuscules et séparées par des tirets. 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 de flux de médias en continu pour chaque demande. Les variables automatiques sont fournies par le moteur d'autorisation (intégré au service avec la trousse SDK pour un client lourd ou dans 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 opération (par exemple, GetUser) de la demande. |
target.resource.kind |
Chaîne | Nom du type de ressource 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 d'entités (OCID) | OCID des groupes auxquels appartient l'utilisateur à l'origine de la demande. |
target.compartment.name |
Chaîne | Nom du compartiment indiqué dans target.compartment.id. |
target.tenant.id |
Entité (OCID) | OCID de l'ID locataire cible. |
| Variables dynamiques | Type | Description |
|---|---|---|
request.principal.group.tag.<tagNS>.<tagKey> |
Chaîne | Valeur de chaque marqueur d'un groupe dont le principal est un membre. |
request.principal.compartment.tag.<tagNS>.<tagKey> |
Chaîne | Valeur de chaque marqueur du compartiment qui contient le principal. |
target.resource.tag.<tagNS>.<tagKey> |
Chaîne | Valeur de chaque marqueur sur la ressource cible. (Calculé sur la base de tagSlug fourni par le service à chaque demande.) |
target.resource.compartment.tag.<tagNS>.<tagKey> |
Chaîne | Valeur de chaque marqueur du compartiment contenant la ressource cible. (Calculé sur la base de tagSlug fourni par le service à chaque demande.) |
Les sources disponibles pour les variables sont les suivantes :
- 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 du service.
Informations détaillées sur les combinaisons de verbe et de type de ressource
Identifiez les autorisations et les opérations d'API couvertes par chaque verbe pour les ressources du service de flux de médias en continu.
Le niveau d'accès est cumulatif au fur et à mesure que vous progressez depuis inspect à read, use et manage. Un signe plus (+) dans une cellule de tableau indique un accès incrémentiel par rapport à la cellule précédente.
Pour plus d'informations sur l'octroi de l'accès, voir Autorisations.
Ce tableau liste les autorisations et les API entièrement couvertes par les autorisations de la ressource media-workflow.
| Verbes | Permissions | API couvertes | Description |
|---|---|---|---|
inspect |
MEDIA_WORKFLOW_INSPECT |
ListMediaWorkflow
|
Répertoriez MediaWorkflows et SystemMediaWorkflows dans un compartiment. |
read |
|
|
Voir les détails d'un MediaWorkflow. |
use |
|
|
Mettez à jour MediaWorkflow. |
manage |
|
|
Créez un fichier MediaWorkflow. |
manage |
|
|
Déplacez une valeur MediaWorkflow entre les compartiments. |
manage |
|
|
Supprimez une valeur MediaWorkflow. |
Ce tableau liste les autorisations et les API entièrement couvertes par les autorisations de la ressource media-workflow-configuration.
| Verbes | Permissions | API couvertes | Description |
|---|---|---|---|
inspect |
MEDIA_WORKFLOW_CONFIGURATION_INSPECT |
ListMediaWorkflowConfiguration |
Répertoriez les objets MediaWorkflowConfiguration dans un compartiment donné. |
read |
|
|
Voir les détails d'un MediaWorkflowConfiguration. |
use |
|
|
Mettez à jour MediaWorkflowConfiguration. |
manage |
|
|
Créez un fichier MediaWorkflowConfiguration. |
manage |
|
|
Déplacez une valeur MediaWorkflowConfiguration entre les compartiments. |
manage |
|
|
Supprimez une valeur MediaWorkflowConfiguration. |
Ce tableau liste les autorisations et les API entièrement couvertes par les autorisations de la ressource media-workflow-job.
| Verbes | Permissions | API couvertes | Description |
|---|---|---|---|
inspect |
MEDIA_WORKFLOW_JOB_INSPECT |
ListMediaWorkflowJob |
Listez MediaWorkflowJobs dans un compartiment spécifique. |
read |
|
|
Voir les détails d'un MediaWorkflowJob. |
use |
|
|
Mettez à jour MediaWorkflowJob. |
manage |
|
|
Créez un fichier MediaWorkflowJob. |
manage |
|
|
Déplacez une valeur MediaWorkflowJob entre les compartiments. |
manage |
|
|
Annulez MediaWorkflowJob. |
Ce tableau liste les autorisations et les API entièrement couvertes par les autorisations de la ressource media-asset.
| Verbes | Permissions | API couvertes | Description |
|---|---|---|---|
inspect |
MEDIA_ASSET_INSPECT |
ListMediaAsset |
Lister toutes les ressources de média d'un compartiment donné. |
read |
|
|
Voir tous les détails des enregistrements de ressource multimédia. |
use |
|
|
Mettez à jour les métadonnées de la ressource multimédia. |
manage |
|
|
Créer des ressources de média. |
manage |
|
|
Déplacer des ressources multimédias entre des compartiments. |
manage |
|
|
Supprimer les ressources de média. |
media-stream-distribution-channel.| Verbes | Permissions | API couvertes | Description |
|---|---|---|---|
inspect |
MEDIA_STREAM_DISTRIBUTION_CHANNEL_INSPECT |
ListStreamDistributionChannel |
Répertoriez StreamDistributionChannels dans un compartiment. |
read |
|
|
Voir les détails d'un StreamDistirbutionChannel. |
use |
|
|
Mettez à jour les détails d'un StreamDistirbutionChannel. |
manage |
|
|
Créez un fichier StreamDistirbutionChannel. |
manage |
|
|
Déplacez une valeur StreamDistirbutionChannel entre les compartiments. |
manage |
|
|
Supprimez une valeur StreamDistirbutionChannel. |
Ce tableau liste les autorisations et les API entièrement couvertes par les autorisations de la ressource media-stream-packaging-config.
| Verbes | Permissions | API couvertes | Description |
|---|---|---|---|
inspect |
MEDIA_STREAM_PACKAGING_CONFIG_INSPECT |
ListStreamCdnConfig |
Répertoriez StreamPackagingConfigs dans un StreamDistributionChannel spécifique |
read |
|
|
Voir les détails d'un StreamPackagingConfig. |
use |
|
|
Mettez à jour les détails d'un StreamCdnConfig. |
manage |
|
|
Créez un fichier StreamCdnConfig. |
manage |
|
|
Déplacez une valeur StreamCdnConfig entre les compartiments. |
manage |
|
|
Supprimez une valeur StreamCdnConfig. |
media-stream-cdn-config.| Verbes | Permissions | API couvertes | Description |
|---|---|---|---|
inspect |
MEDIA_STREAM_CDN_CONFIG_INSPECT |
ListStreamCdnConfig |
Listez StreamCdnConfigs dans un StreamDistributionChannel spécifique. |
read |
|
|
Consultez les détails d'un StreamCdnConfig spécifique. |
use |
|
|
Mettez à jour les détails d'un StreamCdnConfig. |
manage |
|
|
Créez un fichier StreamCdnConfig. |
manage |
|
|
Déplacer une valeur StreamCdnConfig entre des compartiments |
manage |
|
|
Supprimez une valeur StreamCdnConfig. |
Autorisations requises pour chaque opération d'API
Le tableau suivant liste 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érations d'API | Autorisations requises 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 d'utilisateur du service de flux de médias en continu
Vous pouvez utiliser les autorisations/politiques disponibles pour configurer l'accès.
Voici une configuration utilisateur typique :
| Système/Acteur | Description | Autorisations de ressource OCI |
|---|---|---|
| Bibliothèque de ressources numériques | Ce groupe nécessite l'accès aux ressources multimédias qui ont été créées. | Lisez : media-asset |
| Gestionnaire de canaux | Entité/groupe autorisé OCI qui gère les canaux de distribution (toutes les opérations). |
|
| Éditeur de ressource | Entité/groupe autorisé OCI qui gère les ressources de liste de lecture dans un canal de distribution (opérations d'immobilisation). |
|
| Flux de données d'immobilisations |
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 ressources envoient une demande de lecture d'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 retourne une liste de lecture principale de variantes de flux, y compris les listes de lecture de média ABR. L'emplacement où les demandes suivantes sont envoyées pour les listes de lecture de débit binaire individuelles et leurs ressources associées dépend de la configuration propre au réseau de diffusion de contenu/à l'arête et des stratégies d'authentification de jeton associées au réseau de diffusion de contenu/à l'arête. |
Aucune autorisation OCI. |
| Système de gestion de contenu (CMS) |
Cette entité ou ce groupe autorisé OCI peut lister et lire les canaux de distribution, les configurations d'assemblage, les configurations de réseau de diffusion de contenu et les ressources de liste de lecture. Cette entité intègre une liaison de lecteur vidéo au canal de distribution approprié, à la configuration d'emballage et à la combinaison d'actifs. |
|
| Serveur Edge du réseau de diffusion de contenu | Serveur en périphérie de réseau de diffusion de contenu configuré pour utiliser le point d'extrémité du service de médias en tant que serveur d'origine. | Aucune autorisation OCI |
Politiques GIA
Vérifiez que :
- Vous avez configuré les politiques de diffusion en continu pour permettre aux services de médias de lire
object-familydans le compartiment vidéo du magasin d'objets. - Les utilisateurs ou les groupes qui utilisent Media Streams disposent des autorisations requises.
Pour plus d'informations, voir Création d'une politique.
Pour plus de détails sur la syntaxe, voir Syntaxe d'une politique.
Création d'une politique
Voici comment créer une politique dans la console :
Pour des instructions sur la création et la gestion des politiques à l'aide de la console ou de l'API, voir Gestion des politiques.
Pour obtenir la liste complète de toutes les politiques d'Oracle Cloud Infrastructure, voir Informations de référence sur les politiques et Politiques communes.
Exemples de politique
Des politiques de flux de médias en continu sont requises pour utiliser diverses ressources de flux de médias.
Voir les instructions sous Création d'une politique pour créer des politiques à l'aide de la console.
Pour plus de détails sur la syntaxe, voir Syntaxe d'une politique.
Voici des exemples de politique :
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>'}