Contrôle des accès avec IAM

Ce document décrit les options de contrôle des accès de Pub/Sub Lite. Pub/Sub Lite fait appel à Cloud AM (Cloud Identity and Access Management) pour le contrôle des accès.

Pour autoriser un utilisateur ou une application à accéder aux ressources Pub/Sub Lite, attribuez au moins un rôle prédéfini ou personnalisé au compte de service ou au compte utilisateur utilisé par l'application. Les rôles incluent des autorisations permettant d'effectuer des actions spécifiques sur les ressources Pub/Sub Lite.

Rôles prédéfinis

Le tableau suivant répertorie les rôles prédéfinis qui vous donnent accès aux ressources Pub/Sub Lite :

Rôle Titre Description Autorisations
roles/pubsublite.admin Administrateur Pub/Sub Lite Accès complet aux sujets et aux abonnements Lite. pubsublite.*
roles/pubsublite.editor Éditeur Pub/Sub Lite Modifier les sujets et les abonnements Lite, publier des messages sur des sujets Lite et recevoir des messages des abonnements Lite pubsublite.*
roles/pubsublite.publisher Publicateur Pub/Sub Lite Publier des messages sur des sujets Lite.
  • pubsublite.topics.getPartitions
  • pubsublite.topics.publish
  • pubsublite.locations.openKafkaStream
  • roles/pubsublite.subscriber Abonné Pub/Sub Lite Recevoir des messages provenant d'abonnements Lite
    • pubsublite.operations.get
    • pubsublite.subscriptions.getCursor
    • pubsublite.subscriptions.seek
    • pubsublite.subscriptions.setCursor
    • pubsublite.subscriptions.subscribe
    • pubsublite.topics.computeHeadCursor
    • pubsublite.topics.computeMessageStats
    • pubsublite.topics.computeTimeCursor
    • pubsublite.topics.getPartitions
    • pubsublite.topics.subscribe
    • pubsublite.locations.openKafkaStream
    roles/pubsublite.viewer Lecteur Pub/Sub Lite Afficher les sujets et les abonnements Lite
    • pubsublite.operations.get
    • pubsublite.operations.list
    • pubsublite.subscriptions.get
    • pubsublite.subscriptions.getCursor
    • pubsublite.subscriptions.list
    • pubsublite.topics.get
    • pubsublite.topics.getPartitions
    • pubsublite.topics.list
    • pubsublite.topics.listSubscriptions

    Rôles personnalisés

    Les rôles personnalisés peuvent inclure toutes les autorisations que vous spécifiez. Vous pouvez créer des rôles personnalisés qui incluent des autorisations permettant d'effectuer des opérations administratives spécifiques, comme mettre à jour des sujets Lite ou supprimer des abonnements Lite. Pour créer des les rôles personnalisés, consultez la page Créer et gérer des rôles.

    Le tableau suivant répertorie les exemples de rôles personnalisés :

    Description Autorisations
    Créer et gérer des réservations Lite
    • pubsublite.reservations.create
    • pubsublite.reservations.update
    • pubsublite.reservations.get
    • pubsublite.reservations.list
    • pubsublite.reservations.delete
    Créer et gérer des sujets Lite
    • pubsublite.topics.create
    • pubsublite.topics.update
    • pubsublite.topics.get
    • pubsublite.topics.getPartitions
    • pubsublite.topics.list
    • pubsublite.topics.listSubscriptions
    • pubsublite.topics.delete
    Créer et gérer des abonnements Lite
    • pubsublite.subscriptions.create
    • pubsublite.topics.subscribe
    • pubsublite.subscriptions.update
    • pubsublite.subscriptions.get
    • pubsublite.subscriptions.list
    • pubsublite.subscriptions.delete
    Créez des sujets et des abonnements Lite.
    • pubsublite.topics.create
    • pubsublite.subscriptions.create
    • pubsublite.topics.subscribe
    Modifiez les sujets et les abonnements Lite.
    • pubsublite.topics.update
    • pubsublite.subscriptions.update
    Supprimez les sujets et les abonnements Lite.
    • pubsublite.topics.delete
    • pubsublite.subscriptions.delete

    Attribuer des rôles

    Vous pouvez accorder des rôles pour accéder aux ressources Pub/Sub Lite au niveau du projet. Par exemple, vous pouvez autoriser un compte de service à afficher n'importe quel sujet Lite dans un projet, mais vous ne pouvez pas autoriser un compte de service à afficher un seul sujet Lite.

    Pour accorder un rôle sur un projet, vous pouvez utiliser la console Google Cloud ou la Google Cloud CLI.

    Console

    Pour attribuer un rôle à un utilisateur, un compte de service ou un autre membre, procédez comme suit :

    1. Dans la console Google Cloud, accédez à la page IAM.

    Accéder à IAM

    1. Cliquez sur Ajouter.

    2. Saisissez l'adresse e-mail d'un utilisateur, d'un compte de service ou d'un autre membre.

    3. Choisissez un rôle.

    4. Cliquez sur Save.

    gcloud

    Pour accorder un rôle à un utilisateur, un compte de service ou un autre membre, exécutez la commande gcloud projects add-iam-policy-binding :

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=MEMBER \
    --role=ROLE_ID

    Remplacez les éléments suivants :

    Vous pouvez également obtenir un fichier JSON ou YAML avec la stratégie Cloud IAM actuelle, ajouter plusieurs rôles ou membres au fichier, puis mettre à jour la stratégie. Pour lire et gérer la stratégie, utilisez la Google Cloud CLI, l'API IAM ou IAM. Pour en savoir plus, consultez la section Contrôler l'accès de manière automatisée.

    Étape suivante