Créer et gérer des vues autorisées

Vous pouvez effectuer les opérations administratives suivantes sur les vues autorisées et les ensembles de vues autorisées.

Autorisations et rôles requis

Pour créer et gérer des ensembles de vues autorisées et des vues autorisées, vous avez besoin des autorisations IAM suivantes.

Ensembles de vues autorisées :

Autorisation Description
contactcenterinsights.authorizedViewSet.create Créez un ensemble de vues autorisées.
contactcenterinsights.authorizedViewSet.get Obtenez des informations sur un ensemble de vues autorisées.
contactcenterinsights.authorizedViewSet.update Mettez à jour un ensemble de vues autorisées existant.
contactcenterinsights.authorizedViewSet.delete Supprimez un ensemble de vues autorisées.
contactcenterinsights.authorizedViewSet.list Répertorie les ensembles de vues autorisées dans un projet.

Vues autorisées :

Autorisation Description
contactcenterinsights.authorizedView.create Créez une vue autorisée.
contactcenterinsights.authorizedView.get Obtenez des informations sur une vue autorisée.
contactcenterinsights.authorizedView.update Mettez à jour une vue autorisée existante.
contactcenterinsights.authorizedView.delete Supprimez une vue autorisée.

Pour accorder l'accès aux vues autorisées, vous devez disposer des autorisations suivantes :

Autorisation Description
contactcenterinsights.authorizedView.setIamPolicy Définissez la stratégie IAM sur une vue autorisée.
contactcenterinsights.authorizedView.getIamPolicy Obtenez la stratégie IAM d'une vue autorisée.

Rôles prédéfinis

Les rôles IAM prédéfinis suivants fournissent les autorisations nécessaires :

Rôle Description
roles/contactcenterinsights.editor Fournit un accès en lecture et en écriture à toutes les ressources Customer Experience Insights.
roles/contactcenterinsights.admin Fournit un accès en lecture et en écriture à toutes les ressources Customer Experience Insights.

Ensembles de vues autorisées

Les ensembles de vues autorisées regroupent et simplifient l'attribution d'autorisations à plusieurs vues autorisées.

Créer un ensemble de vues autorisées

REST

Pour créer un ensemble de vues autorisées, vous devez disposer de l'autorisation contactcenterinsights.authorizedViewSet.create.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • LOCATION : emplacement de vos données Insights sur l'expérience client.
  • AUTHORIZED_VIEW_SET_ID : identifiant facultatif défini par l'utilisateur pour l'ensemble de vues autorisées à créer. Cette valeur doit comporter entre 1 et 63 caractères, commencer et se terminer par [a-z0-9], et peut contenir des tirets (-) entre les caractères.
  • DISPLAY_NAME : nom descriptif de l'ensemble de vues autorisées.

Méthode HTTP et URL :

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets?authorized_view_set_id=AUTHORIZED_VIEW_SET_ID

Corps JSON de la requête :

{
  "displayName": "DISPLAY_NAME"
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID",
  "displayName": "DISPLAY_NAME",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

Lire un ensemble de vues autorisées

REST

L'autorisation contactcenterinsights.authorizedViewSet.get est requise pour lire un ensemble de vues autorisées.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • LOCATION : emplacement de vos données Insights sur l'expérience client.
  • AUTHORIZED_VIEW_SET_ID : identifiant de l'ensemble de vues autorisées.

Méthode HTTP et URL :

GET https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID",
  "displayName": "DISPLAY_NAME",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

Mettre à jour un ensemble de vues autorisées

REST

Vous devez disposer de l'autorisation contactcenterinsights.authorizedViewSet.update pour mettre à jour un ensemble de vues autorisées.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • LOCATION : emplacement de vos données Insights sur l'expérience client.
  • AUTHORIZED_VIEW_SET_ID : identifiant de l'ensemble de vues autorisées.
  • DISPLAY_NAME : nom descriptif de l'ensemble de vues autorisées.
  • UPDATE_MASK : champs à mettre à jour. Cette valeur est une liste de champs séparés par une virgule.
    • display_name

Méthode HTTP et URL :

PATCH https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID?update_mask=display_name

Corps JSON de la requête :

{
  "displayName": "DISPLAY_NAME"
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID",
  "displayName": "DISPLAY_NAME",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

Supprimer un ensemble de vues autorisées

REST

L'autorisation contactcenterinsights.authorizedViewSet.delete est requise pour supprimer un ensemble de vues autorisées.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • LOCATION : emplacement de vos données Insights sur l'expérience client.
  • AUTHORIZED_VIEW_SET_ID : identifiant de l'ensemble de vues autorisées.

Méthode HTTP et URL :

DELETE https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{}

Lister les ensembles de vues autorisées

REST

Pour lister les ensembles de vues autorisées, vous devez disposer de l'autorisation contactcenterinsights.authorizedViewSet.list.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • LOCATION : emplacement de vos données Insights sur l'expérience client.
  • PAGE_SIZE : nombre maximal d'ensembles de vues autorisées à renvoyer dans la réponse. Si la valeur est zéro, le service sélectionne une taille par défaut. Un appel peut renvoyer moins d'objets que demandé. Un `next_page_token` non vide dans la réponse indique que d'autres données sont disponibles.
  • PAGE_TOKEN : valeur renvoyée par la dernière réponse "ListAuthorizedViewSetsResponse". Cette valeur indique qu'il s'agit d'une continuation d'un appel "ListAuthorizedViewSets" précédent et que le système doit renvoyer la page de données suivante.
  • FILTER : expression permettant de filtrer les ensembles de vues autorisées. Par exemple :
    • create_time > "2022-01-01T00:00:00Z"
    • update_time < "2022-01-02T00:00:00Z"
    • display_name = "My Authorized View Set"
    • display_name =~ "My.*"
    • create_time > "2022-01-01T00:00:00Z" AND display_name = "My Authorized View Set"
    • create_time > "2022-01-01T00:00:00Z" OR display_name = "My Authorized View Set"
  • ORDER_BY : expression permettant de trier les ensembles de vues autorisées listés dans la réponse. Par exemple :
    • create_time
    • create_time desc
    • update_time
    • update_time desc
    • display_name
    • display_name desc

Méthode HTTP et URL :

GET https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets?page_size=PAGE_SIZE&page_token=PAGE_TOKEN&filter=FILTER&order_by=ORDER_BY

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "authorizedViewSets": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID",
      "displayName": "My Authorized View Set",
      "createTime": "2022-01-01T00:00:00.000000Z",
      "updateTime": "2022-01-01T00:00:00.000000Z"
    },
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID_2",
      "displayName": "Another Authorized View Set",
      "createTime": "2022-01-02T00:00:00.000000Z",
      "updateTime": "2022-01-02T00:00:00.000000Z"
    },
  ],
  "nextPageToken": "NEXT_PAGE_TOKEN"
}

Vues autorisées

Les vues autorisées définissent un nombre limité de conversations et le rôle d'un agent ou d'un responsable pour celles-ci.

Créer une vue autorisée

REST

Pour créer une vue autorisée, vous devez disposer de l'autorisation contactcenterinsights.authorizedView.create.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • LOCATION : emplacement de vos données Insights sur l'expérience client.
  • AUTHORIZED_VIEW_SET_ID : identifiant de l'ensemble de vues autorisées auquel appartient cette vue autorisée.
  • AUTHORIZED_VIEW_ID : identifiant facultatif défini par l'utilisateur pour la vue autorisée à créer. Cette valeur doit comporter entre 1 et 63 caractères, commencer et se terminer par [a-z0-9], et peut contenir des tirets (-) entre les caractères.
  • DISPLAY_NAME : nom descriptif de l'ensemble de vues autorisées.
  • CONVERSATION_FILTER : filtre à appliquer aux données. Vous pouvez utiliser le champ `agent_id`.
    • agent_id = "agent_123"
    • agent_id = "agent_123" OR agent_id = "agent_456"
    • quality_metadata.agent_info.agent_id: "agent_456"
    • quality_metadata.agent_info.teams: "team_123"

Méthode HTTP et URL :

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews?authorized_view_id=AUTHORIZED_VIEW_ID

Corps JSON de la requête :

{
  "displayName": "DISPLAY_NAME",
  "conversation_filter": "CONVERSATION_FILTER"
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID",
  "displayName": "DISPLAY_NAME",
  "conversationFilter": "CONVERSATION_FILTER",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

Lire une vue autorisée

REST

La lecture d'une vue autorisée nécessite l'autorisation contactcenterinsights.authorizedView.get.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • LOCATION : emplacement de vos données Insights sur l'expérience client.
  • AUTHORIZED_VIEW_SET_ID : identifiant de l'ensemble de vues autorisées.
  • AUTHORIZED_VIEW_ID : identifiant de la vue autorisée.

Méthode HTTP et URL :

GET https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID",
  "displayName": "DISPLAY_NAME",
  "conversationFilter": "CONVERSATION_FILTER",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

Mettre à jour une vue autorisée

REST

Vous devez disposer de l'autorisation contactcenterinsights.authorizedView.update pour mettre à jour une vue autorisée.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • LOCATION : emplacement de vos données Insights sur l'expérience client.
  • AUTHORIZED_VIEW_SET_ID : identifiant de l'ensemble de vues autorisées auquel appartient cette vue autorisée.
  • AUTHORIZED_VIEW_ID : identifiant de la vue autorisée à modifier.
  • DISPLAY_NAME : nom descriptif de l'ensemble de vues autorisées.
  • CONVERSATION_FILTER : filtre à appliquer aux données. Vous pouvez utiliser le champ `agent_id`.
    • agent_id = "agent_123"
    • agent_id = "agent_123" OR agent_id = "agent_456"
    • quality_metadata.agent_info.agent_id: "agent_456"
    • quality_metadata.agent_info.teams: "team_123"
  • UPDATE_MASK : champs à mettre à jour. Cette valeur est une liste de champs séparés par une virgule.
    • display_name
    • conversation_filter

Méthode HTTP et URL :

PATCH https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID?update_mask=display_name,conversation_filter

Corps JSON de la requête :

{
  "displayName": "DISPLAY_NAME",
  "conversation_filter": "CONVERSATION_FILTER"
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID",
  "displayName": "DISPLAY_NAME",
  "conversationFilter": "CONVERSATION_FILTER",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

Supprimer une vue autorisée

REST

Vous devez disposer de l'autorisation contactcenterinsights.authorizedView.delete pour supprimer une vue autorisée.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • LOCATION : emplacement de vos données Insights sur l'expérience client.
  • AUTHORIZED_VIEW_SET_ID : identifiant de l'ensemble de vues autorisées.
  • AUTHORIZED_VIEW_ID : identifiant de la vue autorisée.

Méthode HTTP et URL :

DELETE https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{}

Lister les vues autorisées

REST

Pour lister les ensembles de vues autorisées, vous devez disposer de l'autorisation contactcenterinsights.authorizedViews.list.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • LOCATION : emplacement de vos données Insights sur l'expérience client.
  • AUTHORIZED_VIEW_SET_ID : identifiant défini par l'utilisateur pour l'ensemble de vues autorisées.
  • PAGE_SIZE : nombre maximal de vues à renvoyer dans la réponse. Si la valeur est zéro, le service sélectionne une taille par défaut. Un appel peut renvoyer moins d'objets que demandé. Un `next_page_token` non vide dans la réponse indique que d'autres données sont disponibles.
  • PAGE_TOKEN : valeur renvoyée par la dernière réponse "ListAuthorizedViewsResponse". Cette valeur indique qu'il s'agit d'une continuation d'un appel "ListAuthorizedViews" précédent et que le système doit renvoyer la page de données suivante.
  • FILTER : expression de filtre permettant de filtrer les vues autorisées listées dans la réponse. Vous pouvez filtrer les résultats en fonction des champs suivants : "authorized_view_id", "display_name", "conversation_filter", "create_time" et "update_time". Vous pouvez utiliser des expressions et/ou des valeurs arbitraires. Vous pouvez également utiliser des expressions régulières pour les champs de chaîne.
    • Exemple : display_name = "My View"
    • Exemple : conversation_filter =~ ".*agent-1.*"
    • Exemple : create_time > "2022-01-01T00:00:00Z"
    • Exemple : display_name =~ ".*View.*"
    • Exemple : create_time > "2022-01-01T00:00:00Z" AND create_time <= "2022-01-02T00:00:00Z"
  • ORDER_BY : expression "order by" permettant de trier les vues autorisées listées dans la réponse.
    • Exemple : create_time
    • Exemple : update_time desc

Méthode HTTP et URL :

GET https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews?page_size=PAGE_SIZE&page_token=PAGE_TOKEN&filter=FILTER&order_by=ORDER_BY

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "authorizedViews": [
    {
      "name": "projects/my-project/locations/us-central1/authorizedViewSets/my-view-set/authorizedViews/my-view-1",
      "displayName": "My First View",
      "conversationFilter": "agent_id = \"agent-1\"",
      "createTime": "2022-01-01T00:00:00.000000Z",
      "updateTime": "2022-01-01T00:00:00.000000Z"
    },
    {
      "name": "projects/my-project/locations/us-central1/authorizedViewSets/my-view-set/authorizedViews/my-view-2",
      "displayName": "My Second View",
      "conversationFilter": "agent_id = \"agent-2\"",
      "createTime": "2022-01-01T00:00:00.000000Z",
      "updateTime": "2022-01-01T00:00:00.000000Z"
    }
  ],
  "nextPageToken": "next-page-token"
}

Définir une stratégie IAM sur une vue autorisée

REST

Pour définir la stratégie IAM d'une vue autorisée, vous devez disposer de l'autorisation contactcenterinsights.authorizedView.setIamPolicy.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • LOCATION : emplacement de vos données Insights sur l'expérience client.
  • AUTHORIZED_VIEW_SET_ID : identifiant de l'ensemble de vues autorisées.
  • AUTHORIZED_VIEW_ID : identifiant de la vue autorisée.
  • PRINCIPAL : compte principal (utilisateur) auquel vous souhaitez accorder l'accès.
  • ROLE : rôle à accorder à l'utilisateur.

Méthode HTTP et URL :

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID:setIamPolicy

Corps JSON de la requête :

{
  "policy": {
    "bindings": [
      {
        "role": "roles/ROLE",
        "members": [
          "PRINCIPAL"
        ]
      }
    ]
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "version": 1,
  "etag": "BwW...",
  "bindings": [
    {
      "role": "roles/ROLE",
      "members": [
        "PRINCIPAL"
      ]
    }
  ]
}

Lire la stratégie IAM sur une vue autorisée

REST

Pour lire la stratégie IAM d'une vue autorisée, vous devez disposer de l'autorisation contactcenterinsights.authorizedView.getIamPolicy.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • LOCATION : emplacement de vos données Insights sur l'expérience client.
  • AUTHORIZED_VIEW_SET_ID : identifiant de l'ensemble de vues autorisées.
  • AUTHORIZED_VIEW_ID : identifiant de la vue autorisée.

Méthode HTTP et URL :

GET https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID:getIamPolicy

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "version": 1,
  "etag": "BwW...",
  "bindings": [
    {
      "role": "roles/ROLE",
      "members": [
        "PRINCIPAL"
      ]
    }
  ]
}

Exemple de configuration d'une organisation

Cet exemple montre comment configurer des vues autorisées pour une organisation simplifiée. Cet exemple utilise l'API REST pour créer et gérer des ressources dans un projet fictif nommé acme-corp.

Acme présente la structure suivante :

  • Alice : Alice est l'administratrice du projet.
    • Bob : Bob est l'administrateur.
    • Carol : Carol est un agent.
    • Dave : Dave est un agent.

Chaque utilisateur dispose d'un identifiant principal associé à son adresse e-mail.

  • La langue d'Alice est user:admin.alice@acme.com.
  • L'état de Bob est user:manager.bob@acme.com.
  • Le numéro de Carol est user:agent.carol@acme.com.
  • La réponse de Dave est user:agent.dave@acme.com.

Chaque agent possède un agent_id qui correspond au champ Conversation.agent_id de ses conversations.

  • Le numéro de Carol est agent-carol.
  • La réponse de Dave est agent-dave.

Conditions requises

Chaque utilisateur doit disposer des niveaux d'accès suivants :

  • Accès administrateur : en tant qu'administrateur, Alice a un accès complet à toutes les données et ressources.
  • Accès Gestionnaire : en tant que gestionnaire, Bob peut créer, modifier et afficher des conversations et des analyses pour ses équipes respectives.
  • Accès des agents : en tant qu'agents, Carol et Dave ne peuvent consulter que les conversations et les analyses auxquelles ils ont participé.

Étape 1 : Accordez l'accès au projet

Ajoutez tous les utilisateurs au projet et accordez-leur le rôle roles/browser. Ce rôle lui permet d'afficher le projet et ses ressources.

Accorder le rôle Navigateur de projet aux utilisateurs

Le code suivant montre comment accorder le rôle "Navigateur" à chaque membre d'Acme.

gcloud projects add-iam-policy-binding acme-corp \
    --member="user:admin.alice@acme.com" \
    --role="roles/browser"

gcloud projects add-iam-policy-binding acme-corp \
    --member="user:manager.bob@acme.com" \
    --role="roles/browser"

gcloud projects add-iam-policy-binding acme-corp \
    --member="user:agent.carol@acme.com" \
    --role="roles/browser"

gcloud projects add-iam-policy-binding acme-corp \
    --member="user:agent.dave@acme.com" \
    --role="roles/browser"

Pour en savoir plus, consultez Attribuer un rôle unique.

Vous pouvez également utiliser Google Groupes pour gérer l'accès à votre projet. Au lieu d'accorder des autorisations à des utilisateurs individuels, vous pouvez accorder roles/browser à un groupe. Par exemple, vous pouvez créer un groupe appelé project-browsers@acme.com et y ajouter Bob. Vous pouvez ensuite attribuer le rôle roles/browser à ce groupe. Pour en savoir plus, consultez Google Groupes.

Étape 2 : Accorder des autorisations au niveau du projet à un administrateur

Attribuez le rôle roles/contactcenterinsights.admin à votre administrateur au niveau du projet. Par exemple, Alice est l'administratrice d'Acme. Elle bénéficiera donc d'un accès complet à toutes les ressources avec ce rôle.

Attribuer le rôle d'administrateur

Le code suivant montre comment attribuer le rôle d'administrateur à Alice :

gcloud projects add-iam-policy-binding acme-corp \
    --member="user:admin.alice@acme.com" \
    --role="roles/contactcenterinsights.admin"

Étape 3 : Créez des ensembles de vues autorisées

Créez deux ensembles de vues autorisées pour regrouper les vues autorisées des responsables et des agents.

Créer un ensemble de vues autorisées pour les éditeurs

REST

Cet exemple crée un ensemble de vues autorisées nommé editor-view-set pour regrouper les vues disposant d'autorisations de gestionnaire.

Méthode HTTP et URL :

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets?authorized_view_set_id=editor-view-set

Corps JSON de la requête :

{
  "displayName": "Editor View Set"
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/editor-view-set",
  "displayName": "Editor View Set",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

Créer un ensemble de vues autorisées pour les lecteurs

REST

Cet exemple crée un ensemble de vues autorisées nommé viewer-view-set pour regrouper les vues disposant d'autorisations d'agent.

Méthode HTTP et URL :

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets?authorized_view_set_id=viewer-view-set

Corps JSON de la requête :

{
  "displayName": "Viewer View Set"
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/viewer-view-set",
  "displayName": "Viewer View Set",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

Étape 4 : Accorder des autorisations au niveau du projet aux ensembles de vues autorisés

Les vues autorisées sont des ressources avec des identités intégrées et nécessitent des autorisations pour accéder aux données {product_name}. Pour permettre aux vues autorisées d'accéder aux conversations et aux opérations, accordez-leur les rôles suivants :

  • roles/contactcenterinsights.editor pour toutes les vues autorisées dans editor-view-set
  • roles/contactcenterinsights.viewer pour toutes les vues autorisées dans viewer-view-set

Pour en savoir plus, consultez Attribuer ou révoquer un rôle.

Attribuer le rôle d'éditeur à editor-view-set

Cet exemple accorde roles/contactcenterinsights.editor à editor-view-set.

gcloud

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="principalSet://contactcenterinsights.googleapis.com/projects/PROJECT_NUMBER/type/AuthorizedView/ancestor.name/authorizedViewSets/editor-view-set" \
    --role="roles/contactcenterinsights.editor"

Attribuez le rôle de lecteur à viewer-view-set.

Cet exemple attribue le rôle roles/contactcenterinsights.viewer à l'ensemble de vues autorisées viewer-view-set.

gcloud

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="principalSet://contactcenterinsights.googleapis.com/projects/PROJECT_NUMBER/type/AuthorizedView/ancestor.name/authorizedViewSets/viewer-view-set" \
    --role="roles/contactcenterinsights.viewer"

Étape 5 : Créez des vues autorisées

Créez une vue autorisée pour chaque responsable et agent, puis appliquez les filtres appropriés.

Créer une vue autorisée pour un responsable

REST

Cet exemple crée une vue autorisée avec l'ID bobs-editor-view qui filtre les conversations sur agent_id = carol OR agent_id = dave.

Méthode HTTP et URL :

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViews?authorized_view_id=bobsEditorView

Corps JSON de la requête :

{
  "displayName": "Bob's Editor View",
  "value": {
    "filter": "agent_id = \"agent-carol\" OR agent_id = \"agent-dave\""
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViews/bobs-editor-view",
  "displayName": "Bob's Editor View",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z",
  "conversationFilter":"agent_id = \"agent-carol\" OR agent_id = \"agent-dave\""
}

Attribuer le rôle d'éditeur autorisé à un responsable

REST

Cet exemple accorde à roles/contactcenterinsights.authorizedEditor le rôle de responsable Acme, Bob, sur bobs-editor-view.

Méthode HTTP et URL :

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/editor-view-set/authorizedViews/bobs-editor-view:setIamPolicy

Corps JSON de la requête :

{
  "policy": {
    "bindings": [
      {
        "role": "roles/contactcenterinsights.editor",
        "members": [
          "user:manager.bob@acme.com"
        ]
      }
    ]
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "version": 1,
  "etag": "BwW...",
  "bindings": [
    {
      "role": "roles/contactcenterinsights.editor",
      "members": [
        "user:manager.bob@acme.com"
      ]
    }
  ]
}

Créer une vue autorisée pour un agent

REST

Cet exemple crée une vue autorisée pour l'agent Acme nommé Carol. Cette vue autorisée porte l'ID carols-viewer-view, qui filtre les conversations pour agent_id = agent-carol.

Méthode HTTP et URL :

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViews?authorized_view_id=carols-viewer-view

Corps JSON de la requête :

{
  "displayName": "Carol's Viewer View",
  "value": {
    "filter": "agent_id = \"agent-carol\""
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViews/carols-viewer-view",
  "displayName": "Carol's Viewer View",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z",
  "conversationFilter": "agent_id = \"agent-carol\""
}

Attribuer le rôle de lecteur autorisé à un agent

REST

Cet exemple accorde roles/contactcenterinsights.authorizedViewer à Carol sur carols-viewer-view.

Méthode HTTP et URL :

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/viewer-view-set/authorizedViews/carols-viewer-view:setIamPolicy

Corps JSON de la requête :

{
  "policy": {
    "bindings": [
      {
        "role": "roles/contactcenterinsights.viewer",
        "members": [
          "user:agent.carol@acme.com"
        ]
      }
    ]
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "version": 1,
  "etag": "BwW...",
  "bindings": [
    {
      "role": "roles/contactcenterinsights.viewer",
      "members": [
        "user:agent.carol@acme.com"
      ]
    }
  ]
}

Créer la vue autorisée d'un autre agent

REST

Cet exemple crée une vue autorisée pour l'agent Acme nommé Dave. Cette vue autorisée porte l'ID daves-viewer-view, qui filtre les conversations pour agent_id = agent-dave.

Méthode HTTP et URL :

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViews?authorized_view_id=daves-viewer-view

Corps JSON de la requête :

{
  "displayName": "Dave's Viewer View",
  "value": {
    "filter": "agent_id = \"agent-dave\""
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViews/daves-viewer-view",
  "displayName": "Dave's Viewer View",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z",
  "conversationFilter": "agent_id = \"agent-dave\""
}

Attribuer le rôle de lecteur autorisé à un autre agent

REST

Cet exemple accorde roles/contactcenterinsights.authorizedViewer à Dave sur daves-viewer-view.

Méthode HTTP et URL :

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/viewer-view-set/authorizedViews/daves-viewer-view:setIamPolicy

Corps JSON de la requête :

{
  "policy": {
    "bindings": [
      {
        "role": "roles/contactcenterinsights.viewer",
        "members": [
          "user:agent.dave@acme.com"
        ]
      }
    ]
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "version": 1,
  "etag": "BwW...",
  "bindings": [
    {
      "role": "roles/contactcenterinsights.viewer",
      "members": [
        "user:agent.dave@acme.com"
      ]
    }
  ]
}

Étape suivante