Puedes realizar las siguientes operaciones administrativas en los conjuntos y las vistas autorizadas.
Roles y permisos obligatorios
Para crear y administrar conjuntos de vistas autorizadas y vistas autorizadas, necesitas los siguientes permisos de IAM.
Conjuntos de vistas autorizadas:
| Permiso | Descripción |
|---|---|
contactcenterinsights.authorizedViewSet.create |
Crea un conjunto de vistas autorizadas. |
contactcenterinsights.authorizedViewSet.get |
Obtén detalles sobre un conjunto de vistas autorizadas. |
contactcenterinsights.authorizedViewSet.update |
Actualiza un conjunto de vistas autorizadas existente. |
contactcenterinsights.authorizedViewSet.delete |
Borra un conjunto de vistas autorizadas. |
contactcenterinsights.authorizedViewSet.list |
Enumera los conjuntos de vistas autorizadas en un proyecto. |
Vistas autorizadas:
| Permiso | Descripción |
|---|---|
contactcenterinsights.authorizedView.create |
Crea una vista autorizada. |
contactcenterinsights.authorizedView.get |
Obtiene detalles sobre una vista autorizada. |
contactcenterinsights.authorizedView.update |
Actualiza una vista autorizada existente. |
contactcenterinsights.authorizedView.delete |
Borra una vista autorizada. |
Para otorgar acceso a las vistas autorizadas, necesitas los siguientes permisos:
| Permiso | Descripción |
|---|---|
contactcenterinsights.authorizedView.setIamPolicy |
Establece la política de IAM en una vista autorizada. |
contactcenterinsights.authorizedView.getIamPolicy |
Obtiene la política de IAM en una vista autorizada. |
Funciones predefinidas
Los siguientes roles predefinidos de IAM proporcionan los permisos necesarios:
| Rol | Descripción |
|---|---|
roles/contactcenterinsights.editor |
Proporciona acceso de lectura y escritura a todos los recursos de Customer Experience Insights. |
roles/contactcenterinsights.admin |
Proporciona acceso de lectura y escritura a todos los recursos de Customer Experience Insights. |
Conjuntos de vistas autorizadas
Los conjuntos de vistas autorizadas agrupan y simplifican el otorgamiento de permisos a varias vistas autorizadas.
Crea un conjunto de vistas autorizadas
REST
Para crear un conjunto de vistas autorizadas, necesitas el permiso contactcenterinsights.authorizedViewSet.create.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la ubicación de tus datos de Customer Experience Insights.
- AUTHORIZED_VIEW_SET_ID: Es un identificador opcional definido por el usuario para el conjunto de vistas autorizado que se creará. Este valor debe tener entre 1 y 63 caracteres, comenzar y terminar con [a-z0-9] y puede contener guiones (-) entre los caracteres.
- DISPLAY_NAME: Es un nombre descriptivo para el conjunto de vistas autorizado.
Método HTTP y URL:
POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets?authorized_view_set_id=AUTHORIZED_VIEW_SET_ID
Cuerpo JSON de la solicitud:
{
"displayName": "DISPLAY_NAME"
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"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"
}
Lee un conjunto de vistas autorizadas
REST
Para leer un conjunto de vistas autorizadas, se requiere el permiso contactcenterinsights.authorizedViewSet.get.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la ubicación de tus datos de Customer Experience Insights.
- AUTHORIZED_VIEW_SET_ID: Es el identificador del conjunto de vistas autorizado.
Método HTTP y URL:
GET https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"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"
}
Actualiza un conjunto de vistas autorizadas
REST
La actualización de un conjunto de vistas autorizadas requiere el permiso contactcenterinsights.authorizedViewSet.update.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la ubicación de tus datos de Customer Experience Insights.
- AUTHORIZED_VIEW_SET_ID: Es el identificador del conjunto de vistas autorizado.
- DISPLAY_NAME: Es un nombre descriptivo para el conjunto de vistas autorizado.
- UPDATE_MASK: Son los campos que se actualizarán. Este valor es una lista de campos separados por comas.
display_name
Método HTTP y URL:
PATCH https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID?update_mask=display_name
Cuerpo JSON de la solicitud:
{
"displayName": "DISPLAY_NAME"
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"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"
}
Borra un conjunto de vistas autorizadas
REST
Para borrar un conjunto de vistas autorizadas, se requiere el permiso contactcenterinsights.authorizedViewSet.delete.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la ubicación de tus datos de Customer Experience Insights.
- AUTHORIZED_VIEW_SET_ID: Es el identificador del conjunto de vistas autorizado.
Método HTTP y URL:
DELETE https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{}
Enumera los conjuntos de vistas autorizadas
REST
Para mostrar una lista de los conjuntos de vistas autorizadas, se requiere el permiso contactcenterinsights.authorizedViewSet.list.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la ubicación de tus datos de Customer Experience Insights.
- PAGE_SIZE: Es la cantidad máxima de conjuntos de vistas autorizadas que se devolverán en la respuesta. Si el valor es cero, el servicio seleccionará un tamaño predeterminado. Es posible que una llamada devuelva menos objetos de los que se solicitaron. Un valor de `next_page_token` no vacío en la respuesta indica que hay más datos disponibles.
- PAGE_TOKEN: Es el valor que devolvió la última `ListAuthorizedViewSetsResponse`. Este valor indica que se trata de una continuación de una llamada anterior a `ListAuthorizedViewSets` y que el sistema debe devolver la siguiente página de datos.
- FILTER: Es una expresión para filtrar los conjuntos de vistas autorizadas. Por ejemplo:
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: Es una expresión para ordenar los conjuntos de vistas autorizadas que se enumeran en la respuesta. Por ejemplo:
create_timecreate_time descupdate_timeupdate_time descdisplay_namedisplay_name desc
Método HTTP y 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
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"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"
}
Vistas autorizadas
Las vistas autorizadas definen una cantidad restringida de conversaciones y el rol de un agente o administrador para ellas.
Crear una vista autorizada
REST
Para crear una vista autorizada, se requiere el permiso contactcenterinsights.authorizedView.create.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la ubicación de tus datos de Customer Experience Insights.
- AUTHORIZED_VIEW_SET_ID: Es el identificador del conjunto de vistas autorizadas al que pertenece esta vista autorizada.
- AUTHORIZED_VIEW_ID: Es un identificador opcional definido por el usuario para la vista autorizada que se creará. Este valor debe tener entre 1 y 63 caracteres, comenzar y terminar con [a-z0-9] y puede contener guiones (-) entre los caracteres.
- DISPLAY_NAME: Es un nombre descriptivo para el conjunto de vistas autorizado.
- CONVERSATION_FILTER: Es el filtro que se aplicará a los datos. Puedes usar los siguientes campos: `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étodo HTTP y URL:
POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews?authorized_view_id=AUTHORIZED_VIEW_ID
Cuerpo JSON de la solicitud:
{
"displayName": "DISPLAY_NAME",
"conversation_filter": "CONVERSATION_FILTER"
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"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"
}
Cómo leer una vista autorizada
REST
Para leer una vista autorizada, se requiere el permiso contactcenterinsights.authorizedView.get.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la ubicación de tus datos de Customer Experience Insights.
- AUTHORIZED_VIEW_SET_ID: Es el identificador del conjunto de vistas autorizado.
- AUTHORIZED_VIEW_ID: Es el identificador de la vista autorizada.
Método HTTP y URL:
GET https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"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"
}
Actualiza una vista autorizada
REST
La actualización de una vista autorizada requiere el permiso contactcenterinsights.authorizedView.update.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la ubicación de tus datos de Customer Experience Insights.
- AUTHORIZED_VIEW_SET_ID: Es el identificador del conjunto de vistas autorizadas al que pertenece esta vista autorizada.
- AUTHORIZED_VIEW_ID: Es el identificador de la vista autorizada que se actualizará.
- DISPLAY_NAME: Es un nombre descriptivo para el conjunto de vistas autorizado.
- CONVERSATION_FILTER: Es el filtro que se aplicará a los datos. Puedes usar los siguientes campos: `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: Son los campos que se actualizarán. Este valor es una lista de campos separados por comas.
display_nameconversation_filter
Método HTTP y 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
Cuerpo JSON de la solicitud:
{
"displayName": "DISPLAY_NAME",
"conversation_filter": "CONVERSATION_FILTER"
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"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"
}
Borra una vista autorizada
REST
Para borrar una vista autorizada, se requiere el permiso contactcenterinsights.authorizedView.delete.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la ubicación de tus datos de Customer Experience Insights.
- AUTHORIZED_VIEW_SET_ID: Es el identificador del conjunto de vistas autorizado.
- AUTHORIZED_VIEW_ID: Es el identificador de la vista autorizada.
Método HTTP y URL:
DELETE https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{}
Enumera las vistas autorizadas
REST
Para mostrar una lista de los conjuntos de vistas autorizadas, se requiere el permiso contactcenterinsights.authorizedViews.list.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la ubicación de tus datos de Customer Experience Insights.
- AUTHORIZED_VIEW_SET_ID: Es un identificador definido por el usuario para el conjunto de vistas autorizadas.
- PAGE_SIZE: Es la cantidad máxima de vistas que se devolverán en la respuesta. Si el valor es cero, el servicio seleccionará un tamaño predeterminado. Es posible que una llamada devuelva menos objetos de los que se solicitaron. Un valor de `next_page_token` no vacío en la respuesta indica que hay más datos disponibles.
- PAGE_TOKEN: Es el valor que devolvió la última `ListAuthorizedViewsResponse`. Este valor indica que se trata de una continuación de una llamada anterior a `ListAuthorizedViews` y que el sistema debe devolver la siguiente página de datos.
- FILTER: Es la expresión de filtro para filtrar las vistas autorizadas que se enumeran en la respuesta. Puedes filtrar por los siguientes campos: "authorized_view_id", "display_name", "conversation_filter", "create_time" y "update_time". Puedes usar expresiones arbitrarias o AND. También puedes usar expresiones regulares para los campos de cadena.
- Ejemplo:
display_name = "My View" - Ejemplo:
conversation_filter =~ ".*agent-1.*" - Ejemplo:
create_time > "2022-01-01T00:00:00Z" - Ejemplo:
display_name =~ ".*View.*" - Ejemplo:
create_time > "2022-01-01T00:00:00Z" AND create_time <= "2022-01-02T00:00:00Z" - ORDER_BY: Es la expresión de ordenamiento para ordenar las vistas autorizadas que se enumeran en la respuesta.
- Ejemplo:
create_time - Ejemplo:
update_time desc
Método HTTP y 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
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"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"
}
Configura la política de IAM en una vista autorizada
REST
Para establecer la política de IAM en una vista autorizada, se requiere el permiso contactcenterinsights.authorizedView.setIamPolicy.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la ubicación de tus datos de Customer Experience Insights.
- AUTHORIZED_VIEW_SET_ID: Es el identificador del conjunto de vistas autorizado.
- AUTHORIZED_VIEW_ID: Es el identificador de la vista autorizada.
- PRINCIPAL: Es la principal (usuario) a la que deseas otorgar acceso.
- ROLE: Es el rol que se le otorgará al usuario.
Método HTTP y URL:
POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID:setIamPolicy
Cuerpo JSON de la solicitud:
{
"policy": {
"bindings": [
{
"role": "roles/ROLE",
"members": [
"PRINCIPAL"
]
}
]
}
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"version": 1,
"etag": "BwW...",
"bindings": [
{
"role": "roles/ROLE",
"members": [
"PRINCIPAL"
]
}
]
}
Leer la política de IAM en una vista autorizada
REST
Para leer la política de IAM en una vista autorizada, se requiere el permiso contactcenterinsights.authorizedView.getIamPolicy.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION: Es la ubicación de tus datos de Customer Experience Insights.
- AUTHORIZED_VIEW_SET_ID: Es el identificador del conjunto de vistas autorizado.
- AUTHORIZED_VIEW_ID: Es el identificador de la vista autorizada.
Método HTTP y URL:
GET https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID:getIamPolicy
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"version": 1,
"etag": "BwW...",
"bindings": [
{
"role": "roles/ROLE",
"members": [
"PRINCIPAL"
]
}
]
}
Ejemplo de configuración de la organización
En este ejemplo, se muestra cómo configurar vistas autorizadas para una organización simplificada. En este ejemplo, se usa la API de REST para crear y administrar recursos en un proyecto ficticio llamado acme-corp.
Acme tiene la siguiente estructura:
- Alice: Alice es la administradora del proyecto.
- Roberto: Roberto es el administrador.
- Carol: Carol es un agente.
- Dave: Dave es un agente.
Cada usuario tiene un identificador principal asociado a su dirección de correo electrónico.
- La de Alice es
user:admin.alice@acme.com. - La de Bob es
user:manager.bob@acme.com. - La de Carol es
user:agent.carol@acme.com. - La de Dave es
user:agent.dave@acme.com.
Cada agente tiene un agent_id que corresponde al campo Conversation.agent_id de sus conversaciones.
- La de Carol es
agent-carol. - La de Dave es
agent-dave.
Requisitos
Cada usuario requiere los siguientes niveles de acceso:
- Acceso de administrador: Como administrador, Alice tiene acceso completo a todos los datos y recursos.
- Acceso de administrador: Como administrador, Bob puede crear, editar y ver conversaciones y análisis para sus respectivos equipos.
- Acceso de agente: Como agentes, Carol y Dave solo pueden ver las conversaciones y los análisis en los que participaron.
Paso 1: Otorga acceso al proyecto
Agrega todos los usuarios al proyecto y otórgales roles/browser. Este rol le permite ver el proyecto y sus recursos.
Otorga acceso de navegador del proyecto a los usuarios
En el siguiente código, se ilustra cómo podrías otorgar el rol de navegador a cada miembro de 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"
Para obtener más información, consulta Otorga un solo rol.
También puedes usar Grupos de Google para administrar el acceso a tu proyecto. En lugar de otorgar permisos a usuarios individuales, puedes otorgar roles/browser a un grupo. Por ejemplo, puedes crear un grupo llamado project-browsers@acme.com y agregar a Bob a este grupo. Luego, podrías otorgar el rol roles/browser a este grupo. Para obtener más información, consulta Grupos de Google.
Paso 2: Otorga permisos a nivel del proyecto a un administrador
Otorga tu administrador roles/contactcenterinsights.admin a nivel del proyecto. Por ejemplo, Alice es la administradora de Acme, por lo que obtendría acceso completo a todos los recursos con este rol.
Otorga el rol de administrador
En el siguiente código, se ilustra cómo podrías otorgarle a Alicia el rol de administrador:
gcloud projects add-iam-policy-binding acme-corp \
--member="user:admin.alice@acme.com" \
--role="roles/contactcenterinsights.admin"
Paso 3: Crea conjuntos de vistas autorizadas
Crea dos conjuntos de vistas autorizadas para agrupar las vistas autorizadas de los administradores y los agentes.
Crea un conjunto de vistas autorizadas del editor
REST
En este ejemplo, se crea un conjunto de vistas autorizadas llamadoeditor-view-set para agrupar las vistas que tienen permisos de administrador.
Método HTTP y URL:
POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets?authorized_view_set_id=editor-view-set
Cuerpo JSON de la solicitud:
{
"displayName": "Editor View Set"
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"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"
}
Crea un conjunto de vistas autorizadas para el usuario
REST
En este ejemplo, se crea un conjunto de vistas autorizadas llamadoviewer-view-set para agrupar las vistas que tienen permisos de agente.
Método HTTP y URL:
POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets?authorized_view_set_id=viewer-view-set
Cuerpo JSON de la solicitud:
{
"displayName": "Viewer View Set"
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"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"
}
Paso 4: Otorga permisos a nivel del proyecto a los conjuntos de vistas autorizados
Las vistas autorizadas son recursos con identidades integradas y requieren permisos para acceder a los datos de {product_name}. Para otorgar a las vistas autorizadas la capacidad de acceder a conversaciones y operaciones, otórgales los siguientes roles:
roles/contactcenterinsights.editorpara todas las vistas autorizadas eneditor-view-setroles/contactcenterinsights.viewerpara todas las vistas autorizadas enviewer-view-set
Para obtener más información, consulta cómo otorgar o revocar un rol.
Otorga el rol de editor a editor-view-set
En este ejemplo, se otorga roles/contactcenterinsights.editor a 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"
Otorga el rol de visualizador a viewer-view-set
En este ejemplo, se otorga el rol roles/contactcenterinsights.viewer al conjunto de vistas autorizadas 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"
Paso 5: Crea vistas autorizadas
Crea una vista autorizada para cada administrador y agente, y aplica los filtros adecuados.
Crea una vista autorizada del administrador
REST
En este ejemplo, se crea una vista autorizada con el IDbobs-editor-view que filtra las conversaciones en agent_id = carol OR agent_id = dave.
Método HTTP y URL:
POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViews?authorized_view_id=bobsEditorView
Cuerpo JSON de la solicitud:
{
"displayName": "Bob's Editor View",
"value": {
"filter": "agent_id = \"agent-carol\" OR agent_id = \"agent-dave\""
}
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"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\""
}
Cómo otorgar el rol de editor autorizado a un administrador
REST
En este ejemplo, se otorga roles/contactcenterinsights.authorizedEditor al administrador de Acme, Bob, en bobs-editor-view.
Método HTTP y URL:
POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/editor-view-set/authorizedViews/bobs-editor-view:setIamPolicy
Cuerpo JSON de la solicitud:
{
"policy": {
"bindings": [
{
"role": "roles/contactcenterinsights.editor",
"members": [
"user:manager.bob@acme.com"
]
}
]
}
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"version": 1,
"etag": "BwW...",
"bindings": [
{
"role": "roles/contactcenterinsights.editor",
"members": [
"user:manager.bob@acme.com"
]
}
]
}
Crea una vista autorizada del agente
REST
En este ejemplo, se crea una vista autorizada para el agente de Acme llamado Carlos. Esta vista autorizada tiene el ID carols-viewer-view, que filtra las conversaciones para agent_id = agent-carol.
Método HTTP y URL:
POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViews?authorized_view_id=carols-viewer-view
Cuerpo JSON de la solicitud:
{
"displayName": "Carol's Viewer View",
"value": {
"filter": "agent_id = \"agent-carol\""
}
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"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\""
}
Otorga el rol de visualizador autorizado a un agente
REST
En este ejemplo, se otorga roles/contactcenterinsights.authorizedViewer a Carol en carols-viewer-view.
Método HTTP y URL:
POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/viewer-view-set/authorizedViews/carols-viewer-view:setIamPolicy
Cuerpo JSON de la solicitud:
{
"policy": {
"bindings": [
{
"role": "roles/contactcenterinsights.viewer",
"members": [
"user:agent.carol@acme.com"
]
}
]
}
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"version": 1,
"etag": "BwW...",
"bindings": [
{
"role": "roles/contactcenterinsights.viewer",
"members": [
"user:agent.carol@acme.com"
]
}
]
}
Crea otra vista autorizada del agente
REST
En este ejemplo, se crea una vista autorizada para el agente de Acme llamado Dave. Esta vista autorizada tiene el ID daves-viewer-view, que filtra las conversaciones para agent_id = agent-dave.
Método HTTP y URL:
POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViews?authorized_view_id=daves-viewer-view
Cuerpo JSON de la solicitud:
{
"displayName": "Dave's Viewer View",
"value": {
"filter": "agent_id = \"agent-dave\""
}
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"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\""
}
Cómo otorgar el rol de visualizador autorizado a otro agente
REST
En este ejemplo, se otorga roles/contactcenterinsights.authorizedViewer a Dave en daves-viewer-view.
Método HTTP y URL:
POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/viewer-view-set/authorizedViews/daves-viewer-view:setIamPolicy
Cuerpo JSON de la solicitud:
{
"policy": {
"bindings": [
{
"role": "roles/contactcenterinsights.viewer",
"members": [
"user:agent.dave@acme.com"
]
}
]
}
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"version": 1,
"etag": "BwW...",
"bindings": [
{
"role": "roles/contactcenterinsights.viewer",
"members": [
"user:agent.dave@acme.com"
]
}
]
}