

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configurar permisos en recursos compartidos de datos de Amazon Redshift
<a name="setup-ds-perms"></a>

 En este tema se describen los pasos que debe seguir para aceptar una invitación a compartir datos, crear una base de datos federada y conceder permisos. Puede utilizar la consola de Lake Formation o AWS Command Line Interface (AWS CLI). Los ejemplos de este tema muestran el clúster de productores, el Catálogo de datos y el consumidor de datos en la misma cuenta.

Para obtener más información sobre las capacidades entre cuentas de Lake Formation, consulte [Compartir datos entre cuentas en Lake Formation](cross-account-permissions.md).

**Para configurar los permisos de un recurso compartido de datos**

1. Revise una invitación al recurso compartido de datos y acéptela.

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

   1.  Inicie sesión en la consola de Lake Formation como administrador del lago de datos en [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/). Acceda a la página **Intercambio de datos**. 

   1. Revise los recursos compartidos de datos para los que tiene autorización de acceso. La columna **Estado** indica su estado de participación actual en el recurso compartido de datos. El estado **Pendiente** indica que se le ha agregado a un recurso compartido de datos, pero que aún no lo ha aceptado o ha rechazado la invitación. 

   1.  Para responder a la invitación al recurso compartido de datos, seleccione el nombre del recurso compartido de datos y elija **Revisar la invitación**. En **Aceptar o rechazar recurso compartido de datos**, revise los detalles de la invitación. Seleccione **Aceptar** para aceptar la invitación o **Rechazar** para rechazarla. Si rechaza la invitación, no obtendrá acceso al recurso compartido de datos.

------
#### [ AWS CLI ]

   En los ejemplos siguientes se muestra cómo ver, aceptar y registrar la invitación. Sustituya el ID de Cuenta de AWS por un ID de Cuenta de AWS válido. Sustituya `data-share-arn` por el nombre de recurso de Amazon (ARN) real que hace referencia al recurso compartido de datos.

   1. Consulte una invitación pendiente.

      ```
      aws redshift describe-data-shares \
       --data-share-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds' \
      ```

   1. Acepte un recurso compartido de datos.

      ```
       aws redshift associate-data-share-consumer \
       --data-share-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds' \
       --consumer-arn 'arn:aws:glue:us-east-1:111122223333:catalog
      ```

   1. Registre el recurso compartido de datos en la cuenta de Lake Formation. Utilice la operación de la API [RegisterResource](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_RegisterResource.html) para registrar el recurso compartido de datos en Lake Formation `DataShareArn`es el parámetro de entrada de `ResourceArn`.
**nota**  
Este es un paso obligatorio.

      ```
      aws lakeformation register-resource \
       --resource-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds'
      ```

------

1. Cree una base de datos.

    Tras aceptar una invitación para un recurso compartido de datos, debe crear una base de datos que apunte a la base de datos de Amazon Redshift asociada al recurso compartido de datos. Debe ser administrador de un lago de datos para crear una base de datos. 

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

   1.  Seleccione el recurso compartido de datos en el panel **Invitaciones** y elija **Establecer los detalles de la base de datos**. 

   1.  En **Establecer los detalles de la base de datos**, introduzca un nombre e identificador únicos para el recurso compartido de datos. Este identificador se utiliza para asignar el recurso compartido de datos internamente en la jerarquía de metadatos (dbname.schema.Table). 

   1.  Seleccione **Siguiente** para conceder permisos a otros usuarios en la base de datos y las tablas compartidas. 

------
#### [ AWS CLI ]

    Utilice el siguiente código de ejemplo para crear una base de datos que apunte a la base de datos de Amazon Redshift compartida con Lake Formation mediante AWS CLI. 

   ```
   aws glue create-database --cli-input-json \
   
   '{
    "CatalogId": "111122223333",
    "DatabaseInput": {
     "Name": "tahoedb",
     "FederatedDatabase": {
          "Identifier": "arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds",
          "ConnectionName": "aws:redshift"
      }
    }
    }'
   ```

------

1. Concesión de permisos.

    Una vez creada la base de datos, puede conceder permisos a otros usuarios de su cuenta o a Cuentas de AWS y organizaciones externas. No podrá conceder permisos de escritura de datos (insertar, eliminar) ni permisos de metadatos (modificar, eliminar, crear) en la base de datos federada asignada a un recurso compartido de datos de Amazon Redshift. Para obtener más información sobre cómo conceder permisos, consulte [Administrar los permisos de Lake Formation](managing-permissions.md).
**nota**  
Como administrador del lago de datos, solo puede ver las tablas de las bases de datos federadas. Para realizar cualquier otra acción, debe concederse más permisos sobre dichas tablas.

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

   1. En la pantalla **Conceder permisos**, seleccione los usuarios a los que va a conceder los permisos.

   1. Elija **Conceder**. 

------
#### [ AWS CLI ]

   Utilice los siguientes ejemplos para conceder permisos de bases de datos y tablas mediante AWS CLI:

   ```
   aws lakeformation grant-permissions --input-cli-json file://input.json
   
   {
      "Principal": {
              "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/non-admin"
      },
      "Resource": {
             "Database": {
                   "CatalogId": "111122223333",
                    "Name": "tahoedb"
              }
       },
       "Permissions": [
                "DESCRIBE"
        ],
       "PermissionsWithGrantOption": [
                            
        ]
    }
   ```

   ```
   aws lakeformation grant-permissions --input-cli-json file://input.json
   
   {
                      "Principal": {
                             "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/non-admin"
                      },
                     "Resource": {
                            "Table": {
                                 "CatalogId": "111122223333",
                                 "DatabaseName": "tahoedb",
                                 "Name": "public.customer"
                          }
                     },
                    "Permissions": [
                           "SELECT"
                     ],
                    "PermissionsWithGrantOption": [
                            "SELECT"
                      ]
    }
   ```

------