# GCP

{% hint style="warning" %}
Una vez ingresadas las credenciales no podrán ser vistas nuevamente, por lo que solo podrás sobrescribir.
{% endhint %}

## Sugerencias de configuración

### 1. Crear función/rol

Deberás crear una nueva función, para ello ve a IAM, luego haz clic en **Crear función**, y rellena los campos requeridos. Te sugerimos ingresar el nombre de función o rol como "Videsk Connector", así podrás buscarlo más fácilmente.

En la sección de permisos deberás dar clic en el botón **Añadir permisos**, donde buscarás **Storage Object Creator**, para finalmente seleccionar los permisos:

* `storage.multipartUploads.create`
* `storage.multipartUploads.abort`
* `storage.objects.create`

Haz clic en **Crear**.

{% hint style="info" %}
En caso que tu interfaz esté en inglés una función corresponde a **Roles** en el menú de IAM.
{% endhint %}

<figure><img src="/files/yFK0u6wTziDfrGldfl3t" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Deberás usar este rol para crear las credenciales en el siguiente paso. Así aseguras que solo tendremos permisos para crear archivos, no leer o modificar.
{% endhint %}

### 2. Crear credenciales

Ve a **APIs & Services**, luego en la parte superior haz clic en **Crear credenciales**, y después en **Cuenta de servicio**. Ingresa los campos requeridos, donde Nombre de la cuenta de servicio puede ser "*Videsk Connector*" y ID de la cuenta de servicio "*videsk-connector-1234*" (*esto es opcional, puedes escoger cualquier nombre*). Haz clic en **crear y continuar**.

Luego en el rol a seleccionar busca "videsk", y selecciona el rol creado anteriormente.

Adicionalmente, puedes añadir una condición IAM, donde limites el acceso al Servicio storage.googleapis.com y el nombre del bucket.

Si deseas (opcional) puedes crear estas condiciones copiando y pegando el siguiente snippet en **Editor de condición**.

```sql
resource.service == "storage.googleapis.com" &&
resource.name == "my-bucket-name"
```

Haz clic en **Continuar** y luego en el botón **Listo.**

{% hint style="info" %}
No es requerido otorgar acceso a usuarios a la cuenta de servicio.
{% endhint %}

Luego deberás buscar la cuenta de servicio, dando clic en el nombre. Posteriormente en el menú superior haz clic en claves, **Añadir clave** > **Crear nueva clave**.

Finalmente haz clic en el tipo de clave **JSON**.

<figure><img src="/files/2MAThQQiNs944hJV2uWP" alt=""><figcaption><p>Generar clave privada</p></figcaption></figure>

Como último paso deberás pegar el contenido del archivo JSON en nuestra interfaz de configuración y Probar las credenciales.

{% hint style="info" %}
Solo puedes probar las credenciales la primera vez que las creas, luego no podrás utilizar la función.
{% endhint %}

<figure><img src="/files/vdQqyubMBADBFfV8xBfg" alt=""><figcaption></figcaption></figure>

## Opción 1

### Bucket Name

Corresponde al nombre del `bucket` específico donde se almacenarán los archivos.

### Key file credentials

Archivo `JSON` de credenciales autogenerado por Google Cloud asociado a una cuenta de servicio que tenga permisos de escritura.

{% hint style="info" %}
Este archivo entrega una configuración más rápida y segura, aunque cumple con el mismo objetivo que las credenciales por separado.
{% endhint %}

#### Ejemplo:

```json
{
  "type": "service_account",
  "project_id": "PROJECT_ID",
  "private_key_id": "KEY_ID",
  "private_key": "-----BEGIN PRIVATE KEY-----\nPRIVATE_KEY\n-----END PRIVATE KEY-----\n",
  "client_email": "SERVICE_ACCOUNT_EMAIL",
  "client_id": "CLIENT_ID",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://accounts.google.com/o/oauth2/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/SERVICE_ACCOUNT_EMAIL"
}
```

## Opción 2

### Project ID

Corresponde al ID del proyecto en el que se encuentra el `bucket` de almacenamiento destinado a los archivos.

### Bucket Name

Corresponde al nombre del `bucket` específico donde se almacenarán los archivos.

### Private Key

Clave privada otorgada a la cuenta de servicio con permiso de escritura para crear archivos.

### Client email

Dirección de correo electrónico de la cuenta de servicio asociada y que cuenta con los permisos de escritura.

{% content-ref url="/pages/myK0kaAqzuOQji1CFRsI" %}
[Metadata](/es-developers/grabaciones/cloud/metadata.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.videsk.io/es-developers/grabaciones/cloud/gcp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
