

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Acciones del consumidor para nuevos recursos compartidos de datos en Amazon Redshift
<a name="writes-consumer-new"></a>

Con Amazon Redshift, puede consumir recursos compartidos de datos de otras cuentas de AWS, lo que permite la colaboración y el uso compartido de datos entre cuentas. Un recurso compartido de datos es una forma segura de compartir datos en directo entre clústeres de Amazon Redshift, incluso si se encuentran en cuentas de AWS diferentes. En las siguientes secciones se proporcionan pasos detallados para configurar el acceso, crear bases de datos a partir de recursos compartidos de datos, conceder permisos de objeto y consultar datos compartidos.

**Topics**
+ [Asociación de un recurso compartido de datos desde otra Cuenta de AWS en Amazon Redshift](writes-associating.md)
+ [Creación de una base de datos a partir de un recurso compartido de datos de Amazon Redshift](writes-creating-database.md)
+ [Concesión de permisos de objeto a usuarios y roles de consumidor en Amazon Redshift](writes-granting.md)
+ [Consulta de datos en un recurso compartido de datos de Amazon Redshift](writes-querying.md)

# Asociación de un recurso compartido de datos desde otra Cuenta de AWS en Amazon Redshift
<a name="writes-associating"></a>

Con Amazon Redshift, puede asociar los recursos compartidos de datos que se comparten desde otras Cuentas de AWS, lo que permite compartir datos de forma segura y sin problemas a través de los límites de la organización. Los recursos compartidos de datos son objetos de bases de datos que se pueden compartir y que encapsulan datos de una o más bases de datos de Amazon Redshift. En las siguientes secciones se muestra el proceso de asociación de recursos compartidos de datos.

------
#### [ Console ]

Como administrador de consumidores, puede asociar uno o más recursos compartidos de datos que se comparten desde otras cuentas a toda su cuenta de AWS o a espacios de nombres específicos de su cuenta. 

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon Redshift en [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/).

1. ‎En el menú de navegación, elija **Datashares** (Recursos compartidos de datos). Se abrirá la página con la lista de datashares. Elija **From other accounts** (De otras cuentas).

1. En la sección **Datashares from other accounts** (Recursos compartidos de datos de otras cuentas), elija el recurso compartido de datos que desee asociar y luego elija **Associate** (Asociar). Cuando se muestre la página **Asociar** recursos compartidos de datos, elija uno de los siguientes tipos de asociación:
   + Elija **Toda la cuenta de AWS** para asociar todos los espacios de nombres existentes y futuros de diferentes regiones de AWS de su cuenta de AWS al recurso compartido de datos.
   + Si el recurso compartido de datos está publicado en AWS Glue Data Catalog, solo puede asociarlo a la cuenta de AWS completa.

1. Desde aquí, puede elegir **Permisos admitidos**. Estas opciones son las siguientes:
   + **Solo lectura**: si elige solo lectura, los permisos de escritura como UPDATE o INSERT no estarán disponibles para el consumidor, incluso si el productor los ha concedido y autorizado.
   + **Lectura y escritura**: los usuarios de recursos compartidos de datos del consumidor dispondrán de todos los permisos, tanto de lectura como de escritura, concedidos y autorizados por el productor.

1. Como alternativa, elija **Regiones de AWS y espacios de nombres de clústeres específicos** para asociar una o más regiones de AWS y espacios de nombres específicos al recurso compartido de datos. Elija **Agregar región** para añadir regiones de AWS y espacios de nombres específicos al recurso compartido de datos. Aparece la página **Agregar región de AWS**.

1. Elija una **Región de AWS**. 

1. Realice una de las siguientes acciones:
   + Elija **Agregar todos los espacios de nombres de clúster** para añadir todos los espacios de nombres de clúster existentes y futuros de esta región al recurso compartido de datos.
   + Elija **Agregar espacios de nombres específicos** para añadir uno o más espacios de nombres específicos de esta región al recurso compartido de datos.
   + Elija uno o más espacios de nombres y, a continuación, **Agregar región de AWS**.

1. Elija **Asociar**.

El productor puede volver atrás y cambiar la configuración de una autorización, lo que puede afectar a la configuración de la asociación de los consumidores.

 Si va a asociar el recurso compartido de datos a una cuenta de Lake Formation, vaya a la consola de Lake Formation para crear una base de datos y, a continuación, defina los permisos sobre la base de datos. Para obtener más información, consulte [Configuración de permisos para los recursos compartidos de datos de Amazon Redshift](https://docs.aws.amazon.com/lake-formation/latest/dg/setup-ds-perms.html) en la Guía para desarrolladores de AWS Lake Formation. Una vez creada una base de datos de AWS Glue o una base de datos federada, puede utilizar el editor de consultas v2 o cualquier cliente SQL preferido con su clúster consumidor para consultar los datos. 

Después de asociar los recursos compartidos de datos, se vuelven disponibles.

**nota**  
También puede cambiar la asociación del datashare en cualquier momento. Cuando se cambia la asociación de regiones de AWS y espacios de nombres específicos a toda la cuenta de AWS, Amazon Redshift sobrescribe la información de las regiones y los espacios de nombres específicos con la información de la cuenta de AWS. A continuación, todas las regiones de AWS y los espacios de nombres en la cuenta de Cuenta de AWS tienen acceso al recurso compartido de datos.

------
#### [ API ]

**nota**  
Los pasos de esta sección se llevan a cabo después de que el administrador de productores autorice acciones específicas en los objetos de base de datos compartidos y, si el recurso compartido de datos se comparte con otra cuenta, el administrador de seguridad de productores autorice el acceso.

El administrador de seguridad del consumidor determina lo siguiente:
+ Si todos los espacios de nombres de una cuenta, los espacios de nombres de regiones específicas de la cuenta o los espacios de nombres específicos tienen acceso al recurso compartido de datos.
+ Si los espacios de nombres tienen acceso al recurso compartido de datos, sin importar si tienen o no permisos de escritura.

El administrador de seguridad de consumidores puede asociar el recurso compartido de datos con el siguiente comando:

```
associate-data-share-consumer
--data-share-arn <value>
--consumer-identifier <value>
[--allow-writes | --no-allow-writes]
```

Para obtener más información acerca del comando, consulte [associate-data-share-consumer](https://docs.aws.amazon.com/cli/latest/reference/redshift/associate-data-share-consumer.html).

El administrador de seguridad del consumidor debe establecer explícitamente el valor `allow-writes` en true al asociar un recurso compartido de datos a un espacio de nombres para permitir el uso de los comandos INSERT y UPDATE. Si no lo hace, los usuarios solo pueden realizar operaciones de lectura, como los privilegios SELECT, USAGE o EXECUTE.

Para cambiar la asociación de un espacio de nombres para un recurso compartido de datos, vuelva a llamar a `associate-data-share-consumer` con un valor diferente. La asociación antigua se sobrescribirá con la nueva, por lo que si asocia y establece `allow-writes` al principio, pero asocia y especifica `no-allow-writes`, o simplemente no especifica ningún valor, se revocarán los permisos de escritura del consumidor.

------

# Creación de una base de datos a partir de un recurso compartido de datos de Amazon Redshift
<a name="writes-creating-database"></a>

Con Amazon Redshift, puede utilizar un recurso compartido de datos para crear una base de datos y, a continuación, consultar datos en recursos compartidos de datos de clústeres de productor para obtener acceso seguro a datos en directo sin copiarlos ni transferirlos. Los siguientes pasos cubren los detalles de la configuración de una base de datos en el entorno de Amazon Redshift.

------
#### [ Console ]

Para poder consultar los datos del recurso compartido de datos, debe crear una base de datos a partir de un recurso compartido de datos. Solo puede crear una base de datos a partir de un datashare especificado.

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon Redshift en [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/).

1. En el menú de navegación, elija **Clusters** (Clústeres) y, a continuación, elija su clúster. Se abrirá la página de detalles del clúster.

1. Seleccione **Datashares**. Aparecerá la lista de datashares.

1. En la sección **Datashares from other clusters** (Datashares de otros clústeres), elija **Connect to database** (Conectarse a la base de datos). Para obtener más información, consulte [Conexión a una base de datos](connect-database-console.md).

1. Seleccione el datashare a partir del cual desea crear bases de datos y, a continuación, elija **Create database from datashare** (Crear base de datos a partir del datashare). Se abrirá la página Create database from datashare (Crear base de datos a partir del datashare).

1. En **Database name** (Nombre de base de datos), especifique un nombre para la base de datos. El nombre de la base de datos debe tener entre 1 y 64 caracteres alfanuméricos (solo letras minúsculas) y no puede ser una palabra reservada.

1. Seleccione **Crear**.

Una vez creada la base de datos, puede consultar los datos de la base de datos o realizar operaciones de escritura, si el administrador del consumidor las ha concedido, autorizado y asociado.

------
#### [ API ]

Para compartir datos con fines de lectura como administrador de consumidores, realice los siguientes pasos. 

1. Enumere los datashares que se ponen a su disposición y vea su contenido. Para obtener más información, consulte [DESC DATASHARE](r_DESC_DATASHARE.md) y [SHOW DATASHARES](r_SHOW_DATASHARES.md).

   En el siguiente ejemplo, se muestra la información de los datashares entrantes de un espacio de nombres productor específico. Cuando ejecuta DESC DATASHARE como administrador de consumidores, debe especificar la opción NAMESPACE para ver los recursos compartidos de datos entrantes. 

   ```
   DESC DATASHARE salesshare OF NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
   
   
    producer_account  |          producer_namespace          | share_type | share_name | object_type |           object_name           |   include_new
   -------------------+--------------------------------------+------------+------------+-------------+---------------------------------+------------------
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_users_redshift    |     
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_venue_redshift    |     
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_category_redshift |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_date_redshift     |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_event_redshift    |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_listing_redshift  |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_sales_redshift    |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | schema      | public                          |    
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | view        | public.sales_data_summary_view  |
   ```

   Solo los superusuarios del clúster pueden hacer esto. También puede utilizar SVV\$1DATASHARES para ver los datashares y SVV\$1DATASHARE\$1OBJECTS para ver los objetos que se encuentran dentro del datashare.

   En el siguiente ejemplo, se muestran los datashares entrantes de un clúster consumidor.

   ```
   SHOW DATASHARES LIKE 'sales%';
   
   
    share_name | share_owner | source_database | consumer_database | share_type | createdate | is_publicaccessible | share_acl | producer_account |          producer_namespace
   ------------+-------------+-----------------+-------------------+------------+------------+---------------------+-----------+------------------+--------------------------------------
    salesshare |             |                 |                   | INBOUND    |            |         t           |           |   123456789012   | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d
   ```

1. Como superusuario de bases de datos, puede crear bases de datos locales que hacen referencia a los recursos compartidos de datos. Para obtener más información, consulte [CREATE DATABASE](r_CREATE_DATABASE.md).

   ```
   CREATE DATABASE sales_db FROM DATASHARE salesshare OF NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
   ```

   Si desea tener un control más detallado del acceso a los objetos de la base de datos local, utilice la cláusula WITH PERMISSIONS al crear la base de datos. De este modo, podrá conceder permisos en el nivel de objeto para los objetos de la base de datos en el paso 4. 

   ```
   CREATE DATABASE sales_db WITH PERMISSIONS FROM DATASHARE salesshare OF NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
   ```

   Puede ver las bases de datos que creó a partir del datashare consultando la vista [SVV\$1REDSHIFT\$1DATABASES](r_SVV_REDSHIFT_DATABASES.md). Puede conectarse a estas bases de datos directamente o puede conectarse a una base de datos local en el clúster del consumidor y realizar una consulta entre bases de datos para consultar los datos de las bases de datos de recursos compartidos de datos. 
**nota**  
No puede crear un datashare encima de los objetos de base de datos creados a partir de un datashare existente. No obstante, puede copiar los datos en una tabla diferente en el clúster consumidor, llevar a cabo el procesamiento que sea necesario y, a continuación, compartir los objetos nuevos que se hayan creado.

   También puede utilizar la consola de Amazon Redshift para crear bases de datos a partir de datashares. Para obtener más información, consulte [Creación de bases de datos a partir de datashares](query-datashare-console.md#create-database-from-datashare-console).

------

# Concesión de permisos de objeto a usuarios y roles de consumidor en Amazon Redshift
<a name="writes-granting"></a>

Como administrador de consumidores, puede conceder permisos a los usuarios y roles de consumidor en el objeto siguiendo estos pasos. 

------
#### [ SQL ]

Si ha creado su base de datos sin WITH PERMISSIONS, solo podrá asignar permisos a toda la base de datos creada a partir del recurso compartido de datos a los usuarios y los roles. 

```
GRANT USAGE ON DATABASE sales_db TO Bob;
```

```
GRANT USAGE ON SCHEMA sales_schema TO ROLE Analyst_role;
```

También puede crear vistas de enlace de tiempo de ejecución encima de los objetos compartidos y utilizarlas para asignar permisos pormenorizados. También puede considerar la posibilidad de indicar a los clústeres productores que creen datashares adicionales en su nombre con el nivel de detalle requerido. 

Si ha creado la base de datos con WITH PERMISSIONS, debe asignar permisos de objeto para los objetos de la base de datos compartida. Un usuario que solo tenga el permiso USAGE no podrá acceder a ningún objeto de una base de datos creada con WITH PERMISSIONS hasta que se le concedan permisos adicionales en el nivel de objeto.

```
GRANT SELECT ON sales_db.public.tickit_sales_redshift to Bob;
```

------

Para obtener más información sobre cómo conceder permisos con escrituras de varios almacenamientos, consulte [Administración de permisos para un recurso compartido de datos en Amazon Redshift](writes-managing-permissions.md).

# Consulta de datos en un recurso compartido de datos de Amazon Redshift
<a name="writes-querying"></a>

Con Amazon Redshift, puede consultar datos entre recursos compartidos de datos de clústeres de productores para acceder de forma segura a los datos en directo sin necesidad de copiarlos ni transferirlos. En la siguiente sección, se explica la consulta de los recursos compartidos de datos en el entorno de Amazon Redshift.

Los usuarios y los roles que tengan permisos en las bases de datos del consumidor y los esquemas de los clústeres del consumidor pueden explorar y navegar por los metadatos de cualquier objeto compartido. También pueden navegar por los objetos locales de un clúster consumidor y explorarlos. Para ello, utilizan controladores JDBC u ODBC, o vistas SVV\$1ALL y SVV\$1REDSHIFT.

Los clústeres productores pueden tener muchos esquemas en la base de datos y muchas tablas y vistas dentro de cada esquema. Los usuarios del lado del consumidor solo pueden ver el subconjunto de objetos que se han puesto a disposición a través del datashare. Estos usuarios no pueden ver todos los metadatos del clúster productor. Este enfoque ayuda a proporcionar un control pormenorizado de la seguridad de los metadatos con el uso compartido de datos.

Continúa conectándose a las bases de datos locales del clúster. No obstante, ahora, también es posible leer de las bases de datos y los esquemas que se crean a partir de los datashares utilizando la notación de tres partes database.schema.table. Puede realizar consultas que abarquen todas las bases de datos visibles para usted. Estas pueden ser bases de datos locales del clúster o bases de datos creadas a partir de los datashares. Los clústeres consumidores no pueden conectarse a las bases de datos que se hayan creado a partir de los datashares.

Puede acceder a los datos mediante la cualificación completa. Para obtener más información, consulte [Ejemplos de consultas entre bases de datos](cross-database_example.md).

------
#### [ SQL ]

```
SELECT * FROM sales_db.public.tickit_sales_redshift ORDER BY 1,2 LIMIT 5;

 salesid | listid | sellerid | buyerid | eventid | dateid | qtysold | pricepaid | commission |      saletime
---------+--------+----------+---------+---------+--------+---------+-----------+------------+---------------------
       1 |      1 |    36861 |   21191 |    7872 |   1875 |       4 |    728.00 |     109.20 | 2008-02-18 02:36:48
       2 |      4 |     8117 |   11498 |    4337 |   1983 |       2 |     76.00 |      11.40 | 2008-06-06 05:00:16
       3 |      5 |     1616 |   17433 |    8647 |   1983 |       2 |    350.00 |      52.50 | 2008-06-06 08:26:17
       4 |      5 |     1616 |   19715 |    8647 |   1986 |       1 |    175.00 |      26.25 | 2008-06-09 08:38:52
       5 |      6 |    47402 |   14115 |    8240 |   2069 |       2 |    154.00 |      23.10 | 2008-08-31 09:17:02
```

Solo se pueden utilizar las instrucciones SELECT en los objetos compartidos. No obstante, puede crear tablas en el clúster consumidor consultando los datos de los objetos compartidos de una base de datos local diferente.

------