

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.

# Amazon OpenSearch Serverless
<a name="serverless"></a>

Amazon OpenSearch Serverless es una configuración de autoescalado bajo demanda para Amazon OpenSearch Service. A diferencia de OpenSearch los dominios aprovisionados, que requieren una administración manual de la capacidad, una colección OpenSearch Serverless escala automáticamente los recursos de cómputo en función de las necesidades de la aplicación.

OpenSearch Serverless ofrece una solución rentable para cargas de trabajo poco frecuentes, intermitentes o impredecibles. Optimiza los costos al escalar automáticamente la capacidad de cómputo según el uso de su aplicación. Las colecciones sin servidor utilizan el mismo volumen de almacenamiento de alta capacidad, distribuido y de alta disponibilidad que los dominios de servicio aprovisionados. OpenSearch 

OpenSearch Las colecciones sin servidor siempre están cifradas. Puede elegir la clave de cifrado, pero no puede desactivar el cifrado. Para obtener más información, consulte [Cifrado en Amazon OpenSearch Serverless](serverless-encryption.md)

## Ventajas
<a name="serverless-benefits"></a>

OpenSearch Serverless tiene las siguientes ventajas:
+ **Más simple que el aprovisionamiento**: OpenSearch sin servidor elimina gran parte de la complejidad de administrar los OpenSearch clústeres y la capacidad. Ajusta y dimensiona de forma automática los clústeres, y se encarga de la administración del ciclo de vida de las particiones y los índices. También gestiona las actualizaciones del software de servicio y las actualizaciones de OpenSearch versiones. Todas las actualizaciones y mejoras no son disruptivas.
+ **Rentable**: cuando utiliza OpenSearch Serverless, solo paga por los recursos que consume. Esto elimina la necesidad del aprovisionamiento inicial y del aprovisionamiento excesivo para las cargas de trabajo máximas.
+ **Alta disponibilidad**: OpenSearch Serverless admite cargas de trabajo de producción con redundancia para proteger contra las interrupciones en las zonas de disponibilidad y los fallos de infraestructura.
+ **Escalable**: OpenSearch Serverless escala automáticamente los recursos para mantener tasas de ingesta de datos y tiempos de respuesta a las consultas consistentemente rápidos.

# ¿Qué es Amazon OpenSearch Serverless?
<a name="serverless-overview"></a>

Amazon OpenSearch Serverless es una opción sin servidor y bajo demanda para Amazon OpenSearch Service que elimina la complejidad operativa del aprovisionamiento, la configuración y el ajuste de los clústeres. OpenSearch Es ideal para organizaciones que prefieren no administrar sus propios clústeres o que no cuentan con los recursos y el conocimiento experto necesarios para operar implementaciones a gran escala. Con OpenSearch Serverless, puede buscar y analizar grandes volúmenes de datos sin administrar la infraestructura subyacente.

Una *colección OpenSearch * sin servidor es un grupo de OpenSearch índices que funcionan juntos para respaldar una carga de trabajo o un caso de uso específicos. Las colecciones simplifican las operaciones en comparación con los OpenSearch clústeres autogestionados, que requieren un aprovisionamiento manual.

Las colecciones utilizan el mismo almacenamiento de alta capacidad, distribuido y de alta disponibilidad que los dominios de OpenSearch servicio aprovisionados, pero reducen aún más la complejidad al eliminar la configuración y los ajustes manuales. Los datos de una colección se cifran en tránsito. OpenSearch Serverless también es compatible con los OpenSearch paneles de control, lo que proporciona una interfaz para el análisis de datos.

Actualmente, las colecciones sin servidor funcionan OpenSearch con la versión 2.17.x. A medida que se lanzan nuevas versiones, OpenSearch Serverless actualiza automáticamente las colecciones para incorporar nuevas funciones, correcciones de errores y mejoras de rendimiento.

OpenSearch Serverless admite las mismas operaciones de API de ingesta y consulta que la suite de código OpenSearch abierto, por lo que puede seguir utilizando sus clientes y aplicaciones actuales. Sus clientes deben ser compatibles con la versión OpenSearch 2.x para poder funcionar con Serverless. OpenSearch Para obtener más información, consulte [Ingerir datos en colecciones de Amazon OpenSearch Serverless](serverless-clients.md).

**Topics**
+ [Casos de uso de Serverless OpenSearch](#serverless-use-cases)
+ [Funcionamiento](#serverless-process)
+ [Elección de un tipo de colección](#serverless-usecase)
+ [Precios](#serverless-pricing)
+ [Compatible Regiones de AWS](#serverless-regions)
+ [Limitaciones](#serverless-limitations)
+ [Comparación entre OpenSearch servicio y sin servidor OpenSearch](serverless-comparison.md)

## Casos de uso de Serverless OpenSearch
<a name="serverless-use-cases"></a>

OpenSearch Serverless admite dos casos de uso principales:
+ **Análisis de registros**: el segmento de análisis de registros se centra en analizar grandes volúmenes de datos de series temporales semiestructurados y generados por máquinas para obtener información operativa y sobre el comportamiento de los usuarios.
+ **Búsqueda de texto completo**: el segmento de búsqueda de texto completo potencia las aplicaciones de sus redes internas (sistemas de administración de contenido, documentos legales) y las aplicaciones orientadas a Internet, como la búsqueda de contenido de sitios web de comercio electrónico. 

 Al crear una colección, debe elegir uno de estos casos de uso. Para obtener más información, consulte [Elección de un tipo de colección](#serverless-usecase).

## Funcionamiento
<a name="serverless-process"></a>

 OpenSearch Los clústeres tradicionales tienen un único conjunto de instancias que realizan operaciones de indexación y búsqueda, y el almacenamiento de índices está estrechamente relacionado con la capacidad de procesamiento. Por el contrario, OpenSearch Serverless utiliza una arquitectura nativa de la nube que separa los componentes de indexación (ingesta) de los componentes de búsqueda (consulta), con Amazon S3 como almacenamiento de datos principal para los índices. 

Esta arquitectura desacoplada permite escalar las funciones de búsqueda e indexación de forma independiente entre ellas y de los datos indexados en S3. La arquitectura también proporciona aislamiento para las operaciones de ingesta y consulta, de modo que puedan ejecutarse de forma simultánea sin contención de recursos. 

*Cuando escribe datos en una colección, OpenSearch Serverless los distribuye a las unidades informáticas de indexación.* Las unidades de computación de indexación ingieren los datos entrantes y mueven los índices a S3. Al realizar una búsqueda en los datos de la recopilación, OpenSearch Serverless dirige las solicitudes a las unidades de cálculo de *búsqueda* que contienen los datos que se están consultando. Las unidades de computación de búsqueda descargan los datos indexados de forma directa desde S3 (si aún no están almacenados en la memoria caché local), ejecutan operaciones de búsqueda y realizan agregaciones. 

La siguiente imagen ilustra esta arquitectura desacoplada:

![\[Diagram showing indexing and search processes using compute units and Amazon S3 storage.\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/images/Serverless.png)


OpenSearch La capacidad informática sin servidor para la ingesta, búsqueda y consulta de datos se mide en OpenSearch unidades de cálculo (). OCUs Cada OCU es una combinación de 6 GiB de memoria y la CPU virtual (vCPU) correspondiente, así como la transferencia de datos a Amazon S3. Cada OCU incluye suficiente almacenamiento efímero en caliente para 120 GiB de datos de índice.

Cuando creas tu primera colección, OpenSearch Serverless crea dos instancias OCUs: una para indexar y otra para buscar. Para garantizar la alta disponibilidad, también lanza un conjunto de nodos en espera en otra zona de disponibilidad. Para fines de desarrollo y pruebas, puede deshabilitar la configuración **Habilitar redundancia** para una colección, lo que elimina las dos réplicas en espera y solo crea instancias de dos. OCUs De forma predeterminada, las réplicas activas redundantes están habilitadas, lo que significa que se OCUs crean instancias de un total de cuatro para la primera recopilación de una cuenta.

 OCUs Existen incluso cuando no hay actividad en ningún punto final de la recopilación. Todas las colecciones posteriores las OCUs comparten. Cuando crea colecciones adicionales en la misma cuenta, OpenSearch Serverless solo agrega más OCUs para su búsqueda e ingesta según sea necesario para respaldar las colecciones, de acuerdo con los [límites de capacidad](serverless-scaling.md#serverless-scaling-configure) que especifique. La capacidad no se reduce verticalmente a medida que disminuye el uso de computación.

Para obtener información sobre cómo se facturan estas OCUs, consulte. [Precios](#serverless-pricing)

## Elección de un tipo de colección
<a name="serverless-usecase"></a>

OpenSearch Serverless admite tres tipos de colecciones principales:

**Series temporales**: el segmento de análisis de registros que analiza grandes volúmenes de datos semiestructurados generados por máquinas en tiempo real y que proporciona información sobre operaciones, seguridad, comportamiento de usuarios y rendimiento del negocio.

**Búsqueda**: búsqueda de texto completo que habilita aplicaciones dentro de redes internas, como sistemas de administración de contenido y repositorios de documentos legales, así como aplicaciones orientadas a internet, como búsquedas en sitios de comercio electrónico y detección de contenido.

**Búsqueda vectorial**: la búsqueda semántica basada en incrustaciones vectoriales simplifica la administración de datos vectoriales y habilita experiencias de búsqueda mejoradas con machine learning (ML). Es compatible con aplicaciones de IA generativa, como chatbots, asistentes personales y detección de fraude.

El tipo de colección se elige cuando se crea una colección por primera vez:

![\[Three collection type options: Time series, Search, and Vector search for different data use cases.\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/images/serverless-collection-type.png)


El tipo de colección que elija dependerá del tipo de datos que piensa incorporar a la colección y de cómo piensa consultarlos. No puede cambiar el tipo de colección después de crearla.

Los tipos de colecciones presentan las siguientes **diferencias** notables:
+ En el caso de las colecciones de *búsqueda* y de *búsqueda vectorial*, todos los datos se almacenan en un almacenamiento en caliente para garantizar tiempos de respuesta rápidos a las consultas. Las colecciones de *series temporales* utilizan una combinación de almacenamiento en caliente y templado, donde los datos más recientes se guardan en un almacenamiento en caliente para optimizar los tiempos de respuesta a las consultas para los datos a los que se accede con más frecuencia.
+ En el caso de las colecciones de *series temporales* y de *búsqueda vectorial*, no puede indexar por identificador de documento personalizado ni actualizarlas mediante solicitudes indirectas. Esta operación se reserva para los casos de uso de búsqueda. En su lugar, puede actualizar por ID de documento. Para obtener más información, consulte [Operaciones y permisos de OpenSearch API compatibles](serverless-genref.md#serverless-operations).
+ Para las recopilaciones de *series temporales* y de *búsqueda*, no puede utilizar índices de tipo k-NN.

## Precios
<a name="serverless-pricing"></a>

AWS le cobra por los siguientes componentes de OpenSearch Serverless:
+ Computación de la ingesta de datos
+ Computación de búsquedas y consultas
+ Almacenamiento retenido en Amazon S3

Una OCU consta de 6 GB de RAM, la vCPU correspondiente GP3 , el almacenamiento y la transferencia de datos a Amazon S3. La unidad más pequeña por la que se puede facturar es de 0,5 OCU. AWS factura a OCU por horas, con una granularidad de segundo nivel. En tu estado de cuenta, verás una entrada para calcular en OCU-hours con una etiqueta para la ingesta de datos y otra para la búsqueda. AWS también le factura mensualmente los datos almacenados en Amazon S3. No le cobra por usar los OpenSearch paneles de control.

Cuando crea una colección con réplicas activas redundantes, se le factura un mínimo de 1 OCU (0,5 OCU × 2) por la ingesta, incluidas las principales y en espera, y 1 OCU (0,5 OCU × 2) por la búsqueda:
+ 1 OCU (0,5 OCU × 2) para ingesta, incluye tanto la primaria como la de respaldo
+ 1 OCU (0,5 OCU × 2) para la búsqueda

Si usted deshabilita las réplicas activas redundantes, se le factura un mínimo de 1 OCU (0,5 OCU × 2) para la primera colección en su cuenta. OCUsTodas las colecciones posteriores pueden compartirlas.

OpenSearch Serverless agrega más OCU OCUs en incrementos de 1 OCU en función de la potencia de cómputo y el almacenamiento necesarios para respaldar sus colecciones. Puede configurar un número máximo de OCUs para su cuenta a fin de controlar los costes.

**nota**  
Las colecciones con características únicas no se AWS KMS keys pueden compartir OCUs con otras colecciones.

OpenSearch Serverless intenta utilizar los recursos mínimos necesarios para tener en cuenta los cambios en las cargas de trabajo. El número de OCUs aprovisionados en cualquier momento puede variar y no es exacto. Con el tiempo, el algoritmo que utiliza OpenSearch Serverless seguirá mejorando para minimizar mejor el uso del sistema.

Para obtener información completa sobre los precios, consulta los [precios OpenSearch de Amazon Service](https://aws.amazon.com/opensearch-service/pricing/).

## Compatible Regiones de AWS
<a name="serverless-regions"></a>

OpenSearch Serverless está disponible en un subconjunto de Regiones de AWS ese OpenSearch servicio en el que está disponible. Para ver una lista de las regiones compatibles, consulta los [puntos de conexión y las cuotas de Amazon OpenSearch Service](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html) en. *Referencia general de AWS*

## Limitaciones
<a name="serverless-limitations"></a>

OpenSearch Serverless tiene las siguientes limitaciones:
+ Algunas operaciones OpenSearch de la API no son compatibles. Consulte [Operaciones y permisos de OpenSearch API compatibles](serverless-genref.md#serverless-operations).
+ Algunos OpenSearch complementos no son compatibles. Consulte [OpenSearch Plugins compatibles](serverless-genref.md#serverless-plugins).
+ Actualmente, no hay forma de migrar automáticamente los datos de un dominio de OpenSearch servicio gestionado a una colección sin servidor. Debe volver a indexar los datos desde un dominio a una colección.
+ No se admiten el acceso entre cuentas a las colecciones. No puede incluir colecciones de otras cuentas en las políticas de cifrado o de acceso a los datos.
+ No se admiten los OpenSearch complementos personalizados.
+ Las instantáneas automatizadas son compatibles con las colecciones OpenSearch sin servidor. No se admiten las instantáneas manuales. Para obtener más información, consulte [Hacer copias de seguridad de las colecciones mediante instantáneas](serverless-snapshots.md).
+ No se admiten la búsqueda y la replicación entre regiones.
+ Hay límites para la cantidad de recursos sin servidor que puede tener en una sola cuenta y región. Consulte [OpenSearch Cuotas sin servidor.](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-limits-serverless)
+ El intervalo de actualización de los índices de las colecciones de búsqueda vectorial es de aproximadamente 60 segundos. El intervalo de actualización de los índices de las colecciones de búsqueda y serie temporal es de aproximadamente 10 segundos.
+ El número de fragmentos, el número de intervalos y el intervalo de actualización no se pueden modificar y son gestionados por Serverless. OpenSearch La estrategia de partición se basa en el tipo de colección y el tráfico. Por ejemplo, una colección de series temporales escala las particiones principales en función de los cuellos de botella del tráfico de escritura.
+ Se admiten las funciones geoespaciales disponibles en OpenSearch las versiones anteriores a la 2.1.

# Comparación entre OpenSearch servicio y sin servidor OpenSearch
<a name="serverless-comparison"></a>

En OpenSearch Serverless, algunos conceptos y características son diferentes a la característica correspondiente para un dominio de servicio aprovisionado OpenSearch . Por ejemplo, una diferencia importante es que OpenSearch Serverless no tiene el concepto de clúster o nodo.

En la siguiente tabla se describe en qué se diferencian las funciones y los conceptos importantes de OpenSearch Serverless de la función equivalente de un dominio de servicio aprovisionado OpenSearch .


| Característica | OpenSearch Servicio | OpenSearch Sin servidor | 
| --- | --- | --- | 
|  **Dominios frente a colecciones**  |  Los índices se guardan en *dominios, que son clústeres* aprovisionados previamente OpenSearch . Para obtener más información, consulte [Creación y administración de dominios OpenSearch de Amazon Service](createupdatedomains.md).  |  Los índices se encuentran en *colecciones*, que son agrupaciones lógicas de índices que representan una carga de trabajo o un caso de uso específicos. Para obtener más información, consulte [Administración de colecciones de Amazon OpenSearch Serverless](serverless-manage.md).  | 
|  **Tipos de nodos y administración de la capacidad**  |  Crea un clúster con tipos de nodos que cumplen con sus especificaciones de costo y rendimiento. Debe calcular sus propios requisitos de almacenamiento y elegir un tipo de instancia para su dominio. Para obtener más información, consulte [Dimensionamiento de los dominios de Amazon OpenSearch Service](sizing-domains.md).  |  OpenSearch Serverless escala y aprovisiona automáticamente unidades de cómputo adicionales para su cuenta en función del uso de la capacidad. Para obtener más información, consulte [Administración de los límites de capacidad de Amazon OpenSearch Serverless](serverless-scaling.md).  | 
|  **Facturación**  |  Paga por cada hora de uso de una instancia EC2 y por el tamaño acumulado de cualquier volumen de almacenamiento de EBS adjunto a sus instancias. Para obtener más información, consulte [Precios de Amazon OpenSearch Service](what-is.md#pricing).  |  Se le cobrará en horas de OCU por la computación para la ingesta de datos, la computación para las búsquedas y las consultas y el almacenamiento retenido en S3. Para obtener más información, consulte [Precios](serverless-overview.md#serverless-pricing).  | 
|  **Cifrado**  |  El cifrado en reposo es *opcional* para los dominios. Para obtener más información, consulte [Cifrado de datos en reposo para Amazon OpenSearch Service](encryption-at-rest.md).  |  El cifrado en reposo es *obligatorio* para las colecciones. Para obtener más información, consulte [Cifrado en Amazon OpenSearch Serverless](serverless-encryption.md).  | 
|  **Control de acceso a los datos**  |  El acceso a los datos dentro de los dominios se determina mediante políticas de IAM y un [control de acceso detallado](fgac.md).  |  El acceso a los datos dentro de las colecciones se determina mediante las [políticas de acceso a los datos](serverless-data-access.md).  | 
| Operaciones compatibles OpenSearch |  OpenSearch El servicio admite un subconjunto de todas las operaciones de la OpenSearch API. Para obtener más información, consulte [Operaciones compatibles en Amazon OpenSearch Service](supported-operations.md).  |  OpenSearch Serverless admite un subconjunto diferente de operaciones de OpenSearch API. Para obtener más información, consulte [Operaciones y complementos compatibles en Amazon OpenSearch Serverless](serverless-genref.md).  | 
| Inicio de sesión en Dashboards |  Inicio de sesión con un nombre de usuario y una contraseña. Para obtener más información, consulte [Acceder a los OpenSearch paneles de control como usuario maestro](fgac.md#fgac-dashboards).  |  Si has iniciado sesión en la AWS consola y accedes a la URL de tu panel de control, iniciarás sesión automáticamente. Para obtener más información, consulte [Acceso a OpenSearch los paneles](serverless-dashboards.md).  | 
| APIs |  Interactúa programáticamente con el OpenSearch Servicio mediante las operaciones de la [API del OpenSearch Servicio](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/Welcome.html).  |  [Interactúe mediante programación con OpenSearch Serverless mediante las operaciones de la API Serverless. OpenSearch ](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/Welcome.html)  | 
| Acceso a la red |  La configuración de red de un dominio se aplica tanto al punto final del dominio como al punto final de Dashboards. OpenSearch El acceso a la red para ambos está vinculado de forma estrecha.  |  La configuración de red para el punto final del dominio y el punto final de OpenSearch Dashboards está disociada. Puede optar por no configurar el acceso a la red para los OpenSearch paneles. Para obtener más información, consulte [Acceso a la red para Amazon OpenSearch Serverless](serverless-network.md).  | 
| Firma de solicitudes |  Utilice los clientes REST de nivel OpenSearch alto y bajo para firmar las solicitudes. Especifique el nombre del servicio como `es`.  |  En este momento, OpenSearch Serverless admite un subconjunto de clientes compatibles OpenSearch con Service. Al firmar las solicitudes, especifique el nombre del servicio como `aoss`. El encabezado `x-amz-content-sha256` es obligatorio. Para obtener más información, consulte [Firma de solicitudes HTTP con otros clientes](serverless-clients.md#serverless-signing).  | 
| OpenSearch actualizaciones de versión |  Los dominios se actualizan manualmente a medida que hay nuevas versiones OpenSearch disponibles de. Es responsable de garantizar que su dominio cumpla con los requisitos de actualización y de que solucionar cualquier cambio importante.  |  OpenSearch Serverless actualiza automáticamente tus colecciones a nuevas OpenSearch versiones. Las actualizaciones no siempre se producen en cuanto está disponible una nueva versión.  | 
| Actualizaciones del software del servicio |  De forma manual, aplique las actualizaciones del software del servicio a su dominio a medida que estén disponibles.  |  OpenSearch Serverless actualiza automáticamente sus colecciones para incluir las últimas correcciones de errores, funciones y mejoras de rendimiento.  | 
| Acceso mediante VPC |  Puede [aprovisionar su dominio dentro de una VPC](vpc.md). También puede crear [puntos finales de OpenSearch VPC gestionados por el servicio](vpc-interface-endpoints.md) adicionales para acceder al dominio.  |  Usted crea uno o más puntos de enlace de [VPC OpenSearch gestionados por Serverless](serverless-vpc.md) para su cuenta. A continuación, incluya estos puntos de conexión dentro de las [políticas de red](serverless-network.md).  | 
| Autenticación SAML |  La autenticación SAML se habilita por dominio. Para obtener más información, consulte [Autenticación SAML para paneles OpenSearch](saml.md).  |  Configura uno o más proveedores de SAML a nivel de cuenta y, a continuación, incluye el usuario y el grupo asociados en las políticas de acceso a los datos. IDs  Para obtener más información, consulte [Autenticación SAML para Amazon Serverless OpenSearch](serverless-saml.md).  | 
| Transport Layer Security (TLS) | OpenSearch El servicio es compatible con TLS 1.2, pero se recomienda usar TLS 1.3. | OpenSearch Serverless es compatible con TLS 1.2, pero se recomienda usar TLS 1.3. | 

# Tutorial: Introducción a Amazon OpenSearch Serverless
<a name="serverless-getting-started"></a>

En este tutorial, se explican los pasos básicos para poner en marcha rápidamente una colección de *búsquedas* de Amazon OpenSearch Serverless. Una colección de búsqueda le permite potenciar las aplicaciones de sus redes internas y las aplicaciones orientadas a Internet, como la búsqueda en sitios web de comercio electrónico y la búsqueda de contenido. 

Para obtener información sobre cómo utilizar una colección de *búsqueda vectorial*, consulte. [Trabajo con colecciones de búsqueda vectorial](serverless-vector-search.md) Para obtener información detallada sobre el uso de colecciones, consulte [Administración de colecciones de Amazon OpenSearch Serverless](serverless-manage.md) y los demás temas de esta guía.

En este tutorial, deberá completar los siguientes pasos:

1. [Configurar permisos](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-getting-started.html#serverless-gsg-permissions)

1. [Crear una colección](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-getting-started.html#serverless-gsg-create)

1. [Cargar y buscar datos](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-getting-started.html#serverless-gsg-index)

1. [Eliminar la colección](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-getting-started.html#serverless-gsg-delete)
**nota**  
Recomendamos que usted utilice únicamente caracteres ASCII para su `IndexName`. Si no utiliza caracteres ASCII`IndexName`, las CloudWatch métricas de entrada se convertirán a un formato codificado `IndexName` en URL para caracteres que no sean ASCII.

## Paso 1: configurar permisos
<a name="serverless-gsg-permissions"></a>

Para completar este tutorial y utilizar OpenSearch Serverless en general, debe tener los permisos de IAM correctos. En este tutorial, creará una colección, cargará y buscará datos y, a continuación, eliminará la colección.

Su usuario o rol debe tener adjunta una [política basada en la identidad](security-iam-serverless.md#security-iam-serverless-id-based-policies) con los siguientes permisos mínimos:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "aoss:CreateCollection",
        "aoss:ListCollections",
        "aoss:BatchGetCollection",
        "aoss:DeleteCollection",
        "aoss:CreateAccessPolicy",
        "aoss:ListAccessPolicies",
        "aoss:UpdateAccessPolicy",
        "aoss:CreateSecurityPolicy",
        "aoss:GetSecurityPolicy",
        "aoss:UpdateSecurityPolicy",
        "iam:ListUsers",
        "iam:ListRoles"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
```

------

Para obtener más información sobre los permisos de IAM OpenSearch sin servidor, consulte. [Identity and Access Management para Amazon OpenSearch Serverless](security-iam-serverless.md)

## Paso 2: crear una colección
<a name="serverless-gsg-create"></a>

Una colección es un grupo de OpenSearch índices que funcionan juntos para respaldar una carga de trabajo o un caso de uso específicos.

**Para crear una colección OpenSearch sin servidor**

1. Abre la consola OpenSearch de Amazon Service en [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home ).

1. Seleccione **Colecciones** en el panel de navegación de la izquierda y elija **Crear colección**.

1. Asigne un nombre a las **películas** de la colección.

1. Para el tipo de colección, seleccione **Buscar**. Para obtener más información, consulte [Choosing a collection type](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-overview.html#serverless-usecase) (Elección de un tipo de recopilación).

1. En **Seguridad**, elija **Creación estándar**.

1. En **Cifrado**, seleccione **Utilizar Clave propiedad de AWS**. Esto es AWS KMS key lo que OpenSearch Serverless utilizará para cifrar sus datos.

1. En **Red**, configure los ajustes de red para la colección.
   + Para el tipo de acceso, seleccione **Público**.
   + Para el tipo de recurso, elija Habilitar el **acceso a los OpenSearch puntos finales y Habilitar** **el acceso a** los paneles. OpenSearch Como cargará y buscará datos mediante los OpenSearch paneles de control, debe habilitar ambas opciones.

1. Elija **Siguiente**.

1. En **Configurar el acceso a los datos**, defina los ajustes de acceso a la colección. Las [políticas de acceso a los datos](serverless-data-access.md) le permiten a los usuarios y a los roles acceder a los datos de una colección. En este tutorial, le brindaremos a un solo usuario los permisos necesarios para indexar y buscar datos en la colección de *películas*.

   Cree una sola regla que proporcione acceso a la colección *películas*. Asígnele a la regla el nombre **Acceso a la colección de películas**.

1. Elija **Agregar directores**, **usuarios y roles de IAM y** seleccione el usuario o rol que usará para iniciar sesión en los OpenSearch paneles e indexar datos. Seleccione **Save**.

1. En **Indexar permisos**, seleccione todos los permisos.

1. Seleccione **Siguiente**.

1. En la configuración de la política de acceso, seleccione **Crear una nueva política de acceso a datos** y póngale el nombre **películas** a la política.

1. Seleccione **Siguiente**.

1. Revise la configuración de la colección y seleccione **Enviar**. Espere unos minutos hasta que el estado de la colección cambie a `Active`.

## Paso 3: cargar y buscar datos
<a name="serverless-gsg-index"></a>

Puedes cargar datos a una colección OpenSearch sin servidor mediante [Postman](https://www.postman.com/downloads/) o cURL. Para abreviar, en estos ejemplos se utilizan las **herramientas de desarrollo** de la consola de Dashboards. OpenSearch 

**Para indexar y buscar datos en la colección de películas**

1. Seleccione **Colecciones** en el panel de navegación de la izquierda y elija la colección de **películas** para abrir su página de detalles.

1. Elija la URL de los OpenSearch paneles de control para la colección. La URL toma el formato `https://dashboards.{region}.aoss.amazonaws.com/_login/?collectionId={collection-id}`. 

1. En los OpenSearch paneles, abra el panel de navegación izquierdo y elija **Dev** Tools.

1. Para crear un índice único llamado *índice de películas*, envíe la siguiente solicitud:

   ```
   PUT movies-index 
   ```  
![\[OpenSearch Dashboards console showing PUT request for movies-index with JSON response.\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/images/serverless-gsg-create.png)

1. Para indexar un solo documento en *índice de películas*, envíe la siguiente solicitud:

   ```
   PUT movies-index/_doc/1
   { 
     "title": "Shawshank Redemption",
     "genre": "Drama",
     "year": 1994
   }
   ```

1. Para buscar datos en los OpenSearch paneles, debe configurar al menos un patrón de índice. OpenSearch utiliza estos patrones para identificar los índices que desea analizar. Abra el menú principal del panel, seleccione **Administración de pilas**. Luego, seleccione **Patrones de índices** y, a continuación, seleccione **Crear patrón de índice**. Para este tutorial, escriba *Películas*.

1. seleccione **Siguiente paso** y, a continuación, seleccione **Crear patrón de índice**. Una vez creado el patrón, puede ver los diversos campos de documento, como `title` y `genre`.

1. Para comenzar a buscar los datos, abra el panel de navegación izquierdo y elija **Explorar** o utilice la [API de búsqueda](https://opensearch.org/docs/latest/api-reference/search/) dentro de Herramientas de desarrollo.

## Gestión de errores
<a name="serverless-gsg-data-plane-errors"></a>

Al ejecutar operaciones de indexación y búsqueda, usted puede recibir las siguientes respuestas de error:
+ `HTTP 507`: indica que se produjo un error interno del servidor. Este error generalmente indica que sus unidades de OpenSearch cómputo (OCUs) están sobrecargadas por el volumen o la complejidad de sus solicitudes. Si bien OpenSearch Serverless escala automáticamente para gestionar la carga, puede producirse un retraso en la implementación de recursos adicionales. 

  Para mitigar este error, implemente una política de reintentos con retroceso exponencial. Este enfoque reduce temporalmente la tasa de solicitudes para administrar la carga de manera eficaz. Para obtener más información, consulte el [comportamiento de los reintentos](https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html) en la Guía de *referencia de herramientas AWS SDKs y herramientas*.
+ `HTTP 402`— Indica que ha alcanzado el límite máximo de capacidad de la unidad de OpenSearch cómputo (OCU). Optimice su carga de trabajo para reducir el uso de OCU o solicite un aumento de cuota.

## Paso 4: eliminar la colección
<a name="serverless-gsg-delete"></a>

Dado que la colección de *películas* es para hacer pruebas, debe eliminarla cuando termine de experimentar.

**Para eliminar una colección OpenSearch sin servidor**

1. Vuelve a la consola ** OpenSearch de Amazon Service**.

1. Seleccione **Colecciones** en el panel de navegación de la izquierda y elija la colección de **películas**.

1. Seleccione **Eliminar** y confirme la eliminación.

## Siguientes pasos
<a name="serverless-gsg-next"></a>

Ahora que sabe cómo crear una colección e indexar datos, puede que desee probar algunos de los siguientes ejercicios:
+ Consulte opciones más avanzadas para crear una colección. Para obtener más información, consulte [Administración de colecciones de Amazon OpenSearch Serverless](serverless-manage.md).
+ Aprenda a configurar las políticas de seguridad para gestionar la seguridad de las colecciones a escala. Para obtener más información, consulte [Descripción general de la seguridad en Amazon OpenSearch Serverless](serverless-security.md).
+ Descubra otras formas de indexar datos en las colecciones. Para obtener más información, consulte [Ingerir datos en colecciones de Amazon OpenSearch Serverless](serverless-clients.md).

# Colecciones Amazon OpenSearch Serverless
<a name="serverless-collections"></a>

Una *colección* en Amazon OpenSearch Serverless es una agrupación lógica de uno o más índices que representan una carga de trabajo de análisis. OpenSearch Serverless administra y ajusta automáticamente la recopilación, lo que requiere una intervención manual mínima.

**Topics**
+ [Administración de colecciones de Amazon OpenSearch Serverless](serverless-manage.md)
+ [Trabajo con colecciones de búsqueda vectorial](serverless-vector-search.md)
+ [Uso de políticas del ciclo de vida de los datos con Amazon OpenSearch Serverless](serverless-lifecycle.md)
+ [Uso del AWS SDKs para interactuar con Amazon OpenSearch Serverless](serverless-sdk.md)
+ [Uso CloudFormation para crear colecciones de Amazon OpenSearch Serverless](serverless-cfn.md)
+ [Hacer copias de seguridad de las colecciones mediante instantáneas](serverless-snapshots.md)
+ [Soporte de códecs Zstandard en Amazon Serverless OpenSearch](serverless-zstd-compression.md)
+ [Ahorre almacenamiento mediante el uso de una fuente derivada](serverless-derived-source.md)

# Administración de colecciones de Amazon OpenSearch Serverless
<a name="serverless-manage"></a>

Una *colección* en Amazon OpenSearch Serverless es una agrupación lógica de uno o más índices que representan una carga de trabajo de análisis. OpenSearch Serverless administra y ajusta automáticamente la recopilación, lo que requiere una intervención manual mínima.

**Topics**
+ [Configuración de permisos para las colecciones](serverless-collection-permissions.md)
+ [Enriquecimiento semántico automático para Serverless](serverless-semantic-enrichment.md)
+ [Creación de colecciones](serverless-create.md)
+ [Acceso a OpenSearch los paneles](serverless-dashboards.md)
+ [Visualización de colecciones](serverless-list.md)
+ [Eliminación de colecciones](serverless-delete.md)

# Configuración de permisos para las colecciones
<a name="serverless-collection-permissions"></a>

OpenSearch Serverless utiliza los siguientes permisos AWS Identity and Access Management (IAM) para crear y administrar colecciones. Puede especificar las condiciones de IAM para restringir a los usuarios a colecciones específicas.
+ `aoss:CreateCollection`: cree una colección.
+ `aoss:ListCollections`: enumere las colecciones en la cuenta actual.
+ `aoss:BatchGetCollection`: obtenga detalles sobre una o más colecciones.
+ `aoss:UpdateCollection`: modifique una colección.
+ `aoss:DeleteCollection`: elimine una colección.

El siguiente ejemplo de política de acceso basada en la identidad proporciona los permisos mínimos necesarios para que un usuario administre una única colección denominada `Logs`:

```
[
   {
      "Sid":"Allows managing logs collections",
      "Effect":"Allow",
      "Action":[
         "aoss:CreateCollection",
         "aoss:ListCollections",
         "aoss:BatchGetCollection",
         "aoss:UpdateCollection",
         "aoss:DeleteCollection",
         "aoss:CreateAccessPolicy",
         "aoss:CreateSecurityPolicy"
      ],
      "Resource":"*",
      "Condition":{
         "StringEquals":{
            "aoss:collection":"Logs"
         }
      }
   }
]
```

`aoss:CreateAccessPolicy` y `aoss:CreateSecurityPolicy` se incluyen porque se requieren las políticas de cifrado, de red y de acceso a los datos para que una colección funcione de forma correcta. Para más información, consulte [Identity and Access Management para Amazon OpenSearch Serverless](security-iam-serverless.md).

**nota**  
Al crear la primera colección en su cuenta, también necesitará el permiso `iam:CreateServiceLinkedRole`. Para obtener más información, consulte [Uso de roles vinculados a servicios para crear colecciones sin servidor OpenSearch](serverless-service-linked-roles.md).

# Enriquecimiento semántico automático para Serverless
<a name="serverless-semantic-enrichment"></a>

## Introducción
<a name="serverless-semantic-enrichment-intro"></a>

La función de enriquecimiento semántico automático puede ayudar a mejorar la relevancia de la búsqueda hasta en un 20% con respecto a la búsqueda léxica. El enriquecimiento semántico automático elimina el pesado trabajo indiferenciado que supone gestionar tu propia infraestructura de modelos de aprendizaje automático (ML) y la integración con el motor de búsqueda. La función está disponible para los tres tipos de colecciones sin servidor: búsqueda, series temporales y vectoriales.

## ¿Qué es la búsqueda semántica
<a name="serverless-semantic-enrichment-whats-is"></a>

 Los motores de búsqueda tradicionales se basan en la word-to-word coincidencia (denominada búsqueda léxica) para encontrar los resultados de las consultas. Aunque esto funciona bien para consultas específicas, como números de modelos de televisores, tiene dificultades para realizar búsquedas más abstractas. Por ejemplo, al buscar «zapatos para la playa», una búsqueda léxica solo encuentra las palabras individuales «zapatos», «playa», «para» y «el» en los artículos del catálogo, y es posible que no aparezcan productos relevantes como «sandalias resistentes al agua» o «calzado de surf» que no contienen los términos de búsqueda exactos.

 La búsqueda semántica arroja resultados de consulta que incorporan no solo la coincidencia de palabras clave, sino también la intención y el significado contextual de la búsqueda del usuario. Por ejemplo, si un usuario busca «cómo tratar un dolor de cabeza», es posible que un sistema de búsqueda semántica arroje los siguientes resultados: 
+ Remedios para la migraña
+ Técnicas de manejo del dolor
+ Over-the-counter analgésicos 

## Detalles del modelo y punto de referencia de rendimiento
<a name="serverless-semantic-enrichment-model-detail"></a>

 Si bien esta función resuelve las complejidades técnicas entre bastidores sin exponer el modelo subyacente, ofrecemos transparencia mediante una breve descripción del modelo y resultados comparativos para ayudarlo a tomar decisiones informadas sobre la adopción de funciones en sus cargas de trabajo críticas.

 El enriquecimiento semántico automático utiliza un modelo disperso prediseñado y gestionado por el servicio que funciona de forma eficaz sin necesidad de ajustes personalizados. El modelo analiza los campos que especificas y los expande en vectores dispersos en función de las asociaciones aprendidas a partir de diversos datos de entrenamiento. Los términos ampliados y sus ponderaciones de significancia se almacenan en un formato de índice nativo de Lucene para una recuperación eficiente. Hemos optimizado este proceso mediante el [modo de solo documentos, en el que la codificación solo](https://docs.opensearch.org/docs/latest/vector-search/ai-search/neural-sparse-with-pipelines/#step-1a-choose-the-search-mode) se realiza durante la ingesta de datos. Las consultas de búsqueda simplemente se tokenizan en lugar de procesarse mediante un modelo disperso, lo que hace que la solución sea rentable y eficaz. 

 Nuestra validación del rendimiento durante el desarrollo de las funciones utilizó el conjunto de datos de recuperación de pasajes de [MS MARCO](https://huggingface.co/datasets/BeIR/msmarco), que incluía pasajes con un promedio de 334 caracteres. Para obtener una puntuación de relevancia, medimos la ganancia acumulada descontada normalizada (NDCG) de los 10 primeros resultados de búsqueda (ndcg @10) según el índice [BEIR](https://github.com/beir-cellar/beir) para contenido en inglés y la media ndcg @10 según MIRACL para contenido multilingüe. [Evaluamos la latencia mediante mediciones del percentil 90 (p90) del lado del cliente, y la respuesta de búsqueda p90 tomó valores.](https://github.com/beir-cellar/beir) Estos puntos de referencia proporcionan indicadores de rendimiento de referencia tanto para la relevancia de la búsqueda como para los tiempos de respuesta. Estas son las principales cifras de referencia: 
+ Idioma inglés: mejora la relevancia del 20% con respecto a la búsqueda léxica. También redujo la latencia de búsqueda del P90 en un 7,7% con respecto a la búsqueda léxica (BM25 es de 26 ms y el enriquecimiento semántico automático es de 24 ms).
+ Multilingüe: la relevancia mejoró un 105% con respecto a la búsqueda léxica, mientras que la latencia de la búsqueda del P90 aumentó un 38,4% con respecto a la búsqueda léxica (BM25 es de 26 ms y el enriquecimiento semántico automático es de 36 ms).

Dada la naturaleza única de cada carga de trabajo, le recomendamos que evalúe esta función en su entorno de desarrollo utilizando sus propios criterios de evaluación comparativa antes de tomar decisiones de implementación.

## Idiomas compatibles
<a name="serverless-semantic-enrichment-languages"></a>

La función es compatible con el inglés. Además, el modelo también admite árabe, bengalí, chino, finés, francés, hindi, indonesio, japonés, coreano, persa, ruso, español, swahili y telugu.

## Configure un índice de enriquecimiento semántico automático para las colecciones sin servidor
<a name="serverless-semantic-enrichment-index-setup"></a>

Configurar un índice con el enriquecimiento semántico automático activado para sus campos de texto es fácil y puede gestionarlo mediante la consola y las CloudFormation plantillas durante la creación de un APIs nuevo índice. Para habilitarlo en un índice existente, debe volver a crear el índice con el enriquecimiento semántico automático activado para los campos de texto. 

Experiencia de consola: la AWS consola le permite crear fácilmente un índice con campos de enriquecimiento semántico automático. Cuando selecciones una colección, encontrarás el botón de creación de índice en la parte superior de la consola. Al hacer clic en el botón de creación de índice, encontrará opciones para definir campos de enriquecimiento semántico automáticos. En un índice, puede tener combinaciones de enriquecimiento semántico automático para campos en inglés y multilingüe, así como para campos léxicos.

![\[alt text not found\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/images/ase-console-exp-serverless.png)


Experiencia con las API: para crear un índice de enriquecimiento semántico automático mediante la interfaz de línea de comandos (AWS CLI), utilice el AWS comando create-index: 

```
aws opensearchserverless create-index \
--id [collection_id] \
--index-name [index_name] \
--index-schema [index_body] \
```

 ***En el siguiente ejemplo de esquema de índice, el campo *title\$1semantic tiene un tipo de campo establecido en texto y el parámetro semantic\$1enrichment* establecido en el estado ENABLED.*** *Si se establece el parámetro semantic\$1enrichment, se habilita el enriquecimiento *semántico automático en el campo title\$1semantic*.* ***Puede usar el campo language\$1options para especificar el inglés o el multilingüe.*** 

```
    aws opensearchserverless create-index \
    --id XXXXXXXXX \
    --index-name 'product-catalog' \
    --index-schema '{
    "mappings": {
        "properties": {
            "product_id": {
                "type": "keyword"
            },
            "title_semantic": {
                "type": "text",
                "semantic_enrichment": {
                    "status": "ENABLED",
                    "language_options": "english"
                }
            },
            "title_non_semantic": {
                "type": "text"
            }
        }
    }
}'
```

Para describir el índice creado, utilice el siguiente comando:

```
aws opensearchserverless get-index \
--id [collection_id] \
--index-name [index_name] \
```

También puede usar CloudFormation plantillas (tipo:AWS::OpenSearchServerless::CollectionIndex) para crear una búsqueda semántica durante el aprovisionamiento de la colección y después de crearla.

## Ingestión y búsqueda de datos
<a name="serverless-semantic-enrichment-data-ingest"></a>

Una vez que haya creado un índice con el enriquecimiento semántico automático activado, la función funcionará automáticamente durante el proceso de ingesta de datos, sin necesidad de realizar ninguna configuración adicional.

Ingesta de datos: al añadir documentos al índice, el sistema automáticamente:
+ Analiza los campos de texto que designó para el enriquecimiento semántico
+ Genera codificaciones semánticas mediante OpenSearch un modelo disperso gestionado por el servicio
+ Almacena estas representaciones enriquecidas junto con los datos originales

Este proceso utiliza los conectores OpenSearch de aprendizaje automático integrados y las canalizaciones de ingesta, que se crean y administran automáticamente entre bastidores.

Búsqueda: los datos de enriquecimiento semántico ya están indexados, por lo que las consultas se ejecutan de manera eficiente sin tener que volver a invocar el modelo de aprendizaje automático. Esto significa que obtiene una mayor relevancia de búsqueda sin sobrecargar la latencia de búsqueda adicional.

## Configuración de permisos para el enriquecimiento semántico automático
<a name="serverless-semantic-enrichment-permissions"></a>

Antes de crear un índice de enriquecimiento semántico automatizado, debe configurar los permisos necesarios. En esta sección, se explican los permisos necesarios y cómo configurarlos.

### Permisos de política de IAM
<a name="iam-policy-permissions"></a>

Utilice la siguiente política AWS Identity and Access Management (IAM) para conceder los permisos necesarios para trabajar con el enriquecimiento semántico automático:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AutomaticSemanticEnrichmentPermissions",
            "Effect": "Allow",
            "Action": [
                "aoss:CreateIndex",
                "aoss:GetIndex",
                "aoss:UpdateIndex",
                "aoss:DeleteIndex",
                "aoss:APIAccessAll"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**Permisos de claves**  
+ Los permisos `aoss:*Index` permiten la administración de índices.
+ El `aoss:APIAccessAll` permiso permite las operaciones de la API OpenSearch 
+ Para restringir los permisos a una colección específica, reemplace `"Resource": "*"` con el ARN de la colección.

### Configurar los permisos de acceso a datos
<a name="serverless-collection-permissions-data-network"></a>

A fin de configurar un índice para el enriquecimiento semántico automático, debe contar con las políticas de acceso a datos adecuadas que concedan permiso de acceso a los recursos de índices, canalizaciones y colecciones de modelos. Para obtener más información acerca de las políticas de acceso a datos, consulte [Control de acceso a datos para Amazon OpenSearch Serverless](serverless-data-access.md). Para obtener información acerca del procedimiento de configuración de una política de acceso a datos, consulte [Creación de políticas de acceso a los datos (consola)](serverless-data-access.md#serverless-data-access-console).

#### Permisos de acceso a datos
<a name="serverless-collection-data-access-permissions"></a>

```
[
    {
        "Description": "Create index permission",
        "Rules": [
            {
                "ResourceType": "index",
                "Resource": ["index/collection_name/*"],
                "Permission": [
                  "aoss:CreateIndex", 
                  "aoss:DescribeIndex",
                  "aoss:UpdateIndex",
                  "aoss:DeleteIndex"
                ]
            }
        ],
        "Principal": [
            "arn:aws:iam::account_id:role/role_name"
        ]
    },
    {
        "Description": "Create pipeline permission",
        "Rules": [
            {
                "ResourceType": "collection",
                "Resource": ["collection/collection_name"],
                "Permission": [
                  "aoss:CreateCollectionItems",
                  "aoss:DescribeCollectionItems"
                ]
            }
        ],
        "Principal": [
            "arn:aws:iam::account_id:role/role_name"
        ]
    },
    {
        "Description": "Create model permission",
        "Rules": [
            {
                "ResourceType": "model",
                "Resource": ["model/collection_name/*"],
                "Permission": ["aoss:CreateMLResource"]
            }
        ],
        "Principal": [
            "arn:aws:iam::account_id:role/role_name"
        ]
    },
]
```

#### Permisos de acceso a la red
<a name="serverless-collection-network-access-permissions"></a>

Para permitir que el servicio acceda APIs a las colecciones privadas, debe configurar políticas de red que permitan el acceso necesario entre la API del servicio y la colección. Para obtener más información sobre las políticas de red, consulte [Acceso a la red para Amazon OpenSearch Serverless](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html).

```
[
   {
      "Description":"Enable automatic semantic enrichment in a private collection",
      "Rules":[
         {
            "ResourceType":"collection",
            "Resource":[
               "collection/collection_name"
            ]
         }
      ],
      "AllowFromPublic":false,
      "SourceServices":[
         "aoss.amazonaws.com"
      ],
   }
]
```

**Configuración de los permisos de acceso a la red para una colección privada**

1. Inicie sesión en la consola de OpenSearch servicio de [https://console.aws.amazon.com/aos/su casa.](https://console.aws.amazon.com/aos/home)

1. En el panel de navegación de la izquierda, seleccione *Políticas de red*. A continuación, realice alguna de las operaciones siguientes:
   + Elija un nombre de política existente y seleccione *Editar*.
   + Elija *Crear política de red* y configure los detalles de la política.

1. En el área *Tipo de acceso*, seleccione *Privado (recomendado)* y, a continuación, seleccione *Acceso privado al servicio de AWS *.

1. En el campo de búsqueda, seleccione *Servicio* y, a continuación, *aoss.amazonaws.com*.

1. En el área *Tipo de recurso*, selecciona la casilla *Habilitar el acceso al OpenSearch punto final*.

1. Para *Buscar en colecciones o introducir términos prefijos específicos*, en el campo de búsqueda, seleccione *Nombre de la colección*. A continuación, escriba o seleccione el nombre de las colecciones que desee asociar a la política de red.

1. Seleccione *Crear* para una nueva política de red o *Actualizar* para una política de red existente.

## La consulta se reescribe
<a name="serverless-collection-query-rewrite"></a>

El enriquecimiento semántico automático convierte automáticamente las consultas «coincidentes» existentes en consultas de búsqueda semántica sin necesidad de modificar las consultas. Si una consulta de coincidencia forma parte de una consulta compuesta, el sistema recorre la estructura de la consulta, busca las consultas coincidentes y las reemplaza por consultas de dispersión neuronal. Actualmente, la función solo permite reemplazar las consultas «coincidentes», tanto si se trata de una consulta independiente como si forma parte de una consulta compuesta. No se admite la opción «multi\$1match». Además, la función admite todas las consultas compuestas para reemplazar sus consultas de coincidencia anidadas. Las consultas compuestas incluyen: bool, boost, constant\$1score, dis\$1max, function\$1score e hybrid. 

## Limitaciones del enriquecimiento semántico automático
<a name="serverless-collection-ase-limitation"></a>

La búsqueda semántica automática es más eficaz cuando se aplica a campos small-to-medium dimensionados que contienen contenido en lenguaje natural, como títulos de películas, descripciones de productos, reseñas y resúmenes. Si bien la búsqueda semántica aumenta la relevancia en la mayoría de los casos de uso, puede que no sea óptima en algunos escenarios. Ten en cuenta las siguientes limitaciones a la hora de decidir si vas a implementar el enriquecimiento semántico automático para tu caso de uso específico. 
+ Documentos muy largos: el modelo disperso actual procesa solo los primeros 8.192 símbolos de cada documento en inglés. En el caso de los documentos multilingües, se trata de 512 fichas. En el caso de artículos extensos, considere la posibilidad de implementar la fragmentación de documentos para garantizar un procesamiento completo del contenido.
+ Cargas de trabajo de análisis de registros: el enriquecimiento semántico aumenta significativamente el tamaño del índice, lo que puede resultar innecesario en el análisis de registros, donde la coincidencia exacta suele ser suficiente. El contexto semántico adicional rara vez mejora la eficacia de la búsqueda de registros lo suficiente como para justificar el aumento de los requisitos de almacenamiento. 
+ El enriquecimiento semántico automático no es compatible con la función Fuente derivada. 
+ Limitación: las solicitudes de inferencia de indexación actualmente tienen un límite de 100 TPS para sistemas sin servidor. OpenSearch Este es un límite flexible; ponte en contacto con AWS Support para obtener límites más altos.

## Precios
<a name="serverless-collection-ase-pricing"></a>

 OpenSearch Serverless factura el enriquecimiento semántico automático en función de las unidades de OpenSearch cálculo (OCUs) consumidas durante la generación de vectores dispersos en el momento de la indexación. Solo se le cobrará por el uso real durante la indexación. Puedes monitorizar este consumo mediante la SemanticSearch OCU CloudWatch métrica de Amazon. [Para obtener detalles específicos sobre los límites de los tokens del modelo, el volumen de procesamiento por OCU y un ejemplo de cálculo, visita OpenSearch Precios de servicios.](https://aws.amazon.com/opensearch-service/pricing/) 

# Creación de colecciones
<a name="serverless-create"></a>

Puede usar la consola o la AWS CLI para crear una colección sin servidor. En estos pasos se explica cómo crear una *búsqueda* o una colección de *series temporales*. Para crear una colección de *búsquedas vectoriales*, consulte [Trabajo con colecciones de búsqueda vectorial](serverless-vector-search.md). 

**Topics**
+ [Crear una colección (consola)](serverless-create-console.md)
+ [Para crear una colección (CLI)](serverless-create-cli.md)

# Crear una colección (consola)
<a name="serverless-create-console"></a>

Utilice los procedimientos de esta sección para crear una colección mediante la Consola de administración de AWS. En estos pasos se explica cómo crear una *búsqueda* o una colección de *series temporales*. Para crear una colección de *búsquedas vectoriales*, consulte [Trabajo con colecciones de búsqueda vectorial](serverless-vector-search.md). 

**Topics**
+ [Configurar los ajustes de la colección](#serverless-create-console-step-2)
+ [Configurar campos de búsqueda adicionales](#serverless-create-console-step-3)

## Configurar los ajustes de la colección
<a name="serverless-create-console-step-2"></a>

Utilice el siguiente procedimiento para configurar la información de la colección. 

**Para configurar los ajustes de la colección mediante la consola**

1. Ve a la consola de Amazon OpenSearch Service en [https://console.aws.amazon.com/aos/casa/](https://console.aws.amazon.com/aos/home/).

1. Expanda **Sin servidor** en el panel de navegación de la izquierda y seleccione **Colecciones**. 

1. Seleccione **Crear colección**.

1. Escriba un nombre y una descripción para la colección. El nombre debe cumplir los siguientes criterios:
   + Es exclusivo de tu cuenta y Región de AWS
   + Contener solo letras minúsculas de la a a la z, números del 0 al 9 y un guion (-)
   + Contener entre 3 y 32 caracteres

1. Seleccione un tipo de colección:
   + **Series temporales**: segmento de análisis de registros que se centra en analizar grandes volúmenes de datos semiestructurados generados por máquinas. Se almacenan al menos 24 horas de datos en los índices calientes y el resto permanece en almacenamiento templado.
   + **Búsqueda**: búsqueda de texto completo que potencia las aplicaciones de sus redes internas y las aplicaciones orientadas a Internet. Todos los datos de búsqueda se almacenan en almacenamiento en caliente para garantizar un tiempo de respuesta rápido a las consultas.
**nota**  
Elija esta opción si va a habilitar la búsqueda semántica automática, tal y como se describe en [Configurar los ajustes de la colección](#serverless-create-console-step-2).
   + **Búsqueda vectorial**: búsqueda semántica en incrustaciones vectoriales que simplifica la administración de datos vectoriales. Impulsa las experiencias de búsqueda aumentada con machine learning (ML) y las aplicaciones de IA generativa, como los chatbots, los asistentes personales y la detección de fraudes.

   Para obtener más información, consulte [Elección de un tipo de colección](serverless-overview.md#serverless-usecase).

1. En **Tipo de implementación**, elija la configuración de redundancia de la colección. De forma predeterminada, cada colección tiene redundancia, lo que significa que cada una de las unidades de OpenSearch cálculo de indexación y búsqueda (OCUs) tiene sus propias réplicas en espera en una zona de disponibilidad diferente. Para fines de desarrollo y pruebas, puedes optar por deshabilitar la redundancia, lo que reduce el número de unidades de OCUs tu colección a dos. Para obtener más información, consulte [Funcionamiento](serverless-overview.md#serverless-process).

1. En **Seguridad**, elija **Creación estándar**.

1. Para el **cifrado**, elija una AWS KMS clave con la que cifrar los datos. OpenSearch Serverless le notifica si el nombre de la colección que ha introducido coincide con un patrón definido en una política de cifrado. Puede optar por mantener esta coincidencia o anularla con una configuración de cifrado única. Para obtener más información, consulte [Cifrado en Amazon OpenSearch Serverless](serverless-encryption.md).

1. En **Configuración de acceso a la red**, configure el acceso a la red para la colección.
   + En **Tipo de acceso**, seleccione acceso público o privado. 

     Si elige el privado, especifique qué puntos de conexión de VPC y Servicios de AWS pueden acceder a la colección.
     + **Puntos de conexión de VPC para el acceso**: especifique uno o más puntos de conexión de VPC para permitir el acceso. Para crear un punto de conexión de VPC, consulte [Acceso al plano de datos a través de AWS PrivateLink](serverless-vpc.md).
     + **Servicio de AWS acceso privado**: seleccione uno o más servicios compatibles a los que permitir el acceso.
   + En **Tipo de recurso**, seleccione si los usuarios pueden acceder a la colección a través de su *OpenSearch*punto final (para realizar llamadas a la API a través de cURL, Postman, etc.), a través del punto final de *OpenSearch Dashboards* (para trabajar con visualizaciones y realizar llamadas a la API a través de la consola) o ambos.
**nota**  
Servicio de AWS El acceso privado solo se aplica al OpenSearch punto final, no al punto final de Dashboards. OpenSearch 

   OpenSearch Serverless le notifica si el nombre de la colección que ha introducido coincide con un patrón definido en una política de red. Puede optar por mantener esta coincidencia o anularla con una configuración de red personalizada. Para más información, consulte [Acceso a la red para Amazon OpenSearch Serverless](serverless-network.md).

1. (Opcional) Agregue una o varias etiquetas a la colección. Para más información, consulte [Etiquetado de colecciones de Amazon OpenSearch Serverless](tag-collection.md).

1. Elija **Siguiente**.

## Configurar campos de búsqueda adicionales
<a name="serverless-create-console-step-3"></a>

Las opciones que aparecen en la página dos del flujo de trabajo de creación de colecciones dependen del tipo de colección que se esté creando. En esta sección, se describe cómo configurar campos de búsqueda adicionales para cada tipo de colección. En esta sección, también se describe cómo configurar el enriquecimiento semántico automático. Omita cualquier sección que no se aplique a su tipo de colección.

**Topics**
+ [Configurar el enriquecimiento semántico automático](#serverless-create-console-step-3-semantic-enrichment-fields)
+ [Configurar los campos de búsqueda de series temporales](#serverless-create-console-step-3-time-series-fields)
+ [Configurar los campos de búsqueda léxica](#serverless-create-console-step-3-lexical-fields)
+ [Configurar los campos de búsqueda vectorial](#serverless-create-console-step-3-vector-search-fields)

### Configurar el enriquecimiento semántico automático
<a name="serverless-create-console-step-3-semantic-enrichment-fields"></a>

Al crear o editar una colección, puede configurar el enriquecimiento semántico automático, lo que simplifica la implementación y las capacidades de la búsqueda semántica en Amazon Service. OpenSearch La búsqueda semántica arroja resultados de consulta que incorporan no solo la coincidencia de palabras clave, sino también la intención y el significado contextual de la búsqueda del usuario. Para obtener más información, consulte [Enriquecimiento semántico automático para Serverless](serverless-semantic-enrichment.md).

**Para configurar el enriquecimiento semántico automático**

1. En la sección **Detalles del índice**, en **Nombre del índice**, especifique un nombre.

1. En la sección **Campos de enriquecimiento semántico automático**, elija **Agregar campo de búsqueda semántica**.

1. En el campo **Nombre del campo de entrada para el enriquecimiento semántico**, escriba el nombre del campo que desea enriquecer.

1. El **Tipo de datos** es **Texto**. No puede cambiar este valor.

1. En **Idioma**, seleccione **Inglés** o **Multilingüe**.

1. Seleccione **Agregar campo**.

1. Cuando termine de configurar los campos opcionales para la colección, seleccione **Siguiente**. Revise los cambios y seleccione **Enviar** para crear la colección.

### Configurar los campos de búsqueda de series temporales
<a name="serverless-create-console-step-3-time-series-fields"></a>

Las opciones de la sección **Campos de búsqueda de series temporales** se refieren a los datos de series temporales y a los flujos de datos. Para obtener más información acerca de estos temas, consulte [Gestión de datos de series temporales en Amazon OpenSearch Service con flujos de datos](data-streams.md).

**Para configurar los campos de búsqueda de series temporales**

1. En la sección **Campos de búsqueda de series temporales**, seleccione **Agregar campo de series temporales**.

1. En **Nombre del campo**, escriba un nombre.

1. En **Tipo de datos**, seleccione un tipo de la lista.

1. Seleccione **Agregar campo**.

1. Cuando termine de configurar los campos opcionales para la colección, seleccione **Siguiente**. Revise los cambios y seleccione **Enviar** para crear la colección.

### Configurar los campos de búsqueda léxica
<a name="serverless-create-console-step-3-lexical-fields"></a>

La búsqueda léxica busca una coincidencia exacta entre una consulta de búsqueda y términos o palabras clave indexados.

**Para configurar los campos de búsqueda léxica**

1. En la sección **Campos de búsqueda léxica**, seleccione **Agregar campo de búsqueda**.

1. En **Nombre del campo**, escriba un nombre.

1. En **Tipo de datos**, seleccione un tipo de la lista.

1. Seleccione **Agregar campo**.

1. Cuando termine de configurar los campos opcionales para la colección, seleccione **Siguiente**. Revise los cambios y seleccione **Enviar** para crear la colección.

### Configurar los campos de búsqueda vectorial
<a name="serverless-create-console-step-3-vector-search-fields"></a>

**Para configurar los campos de búsqueda vectorial**

1. En la sección **Campos vectoriales**, seleccione **Agregar campo vectorial**.

1. En **Nombre del campo**, escriba un nombre.

1. En **Motor**, seleccione un tipo de la lista.

1. Escriba el número de dimensiones.

1. En **Métrica de distancia**, seleccione un tipo de la lista.

1. Cuando termine de configurar los campos opcionales para la colección, seleccione **Siguiente**.

1. Revise los cambios y seleccione **Enviar** para crear la colección.

# Para crear una colección (CLI)
<a name="serverless-create-cli"></a>

Utilice los procedimientos de esta sección para crear una colección OpenSearch sin servidor mediante. AWS CLI

**Topics**
+ [Antes de empezar](#serverless-create-cli-before-you-begin)
+ [Creación de una colección](#serverless-create-cli-creating)
+ [Crear una colección con un índice de enriquecimiento semántico automático](#serverless-create-cli-automatic-semantic-enrichment)

## Antes de empezar
<a name="serverless-create-cli-before-you-begin"></a>

Antes de crear una colección mediante el AWS CLI, utilice el siguiente procedimiento para crear las políticas necesarias para la colección.

**nota**  
En cada uno de los siguientes procedimientos, al especificar un nombre para una colección, el nombre debe cumplir los siguientes criterios:  
Es exclusivo de su cuenta y Región de AWS
Contener solo letras minúsculas de la a a la z, números del 0 al 9 y un guion (-)
Contener entre 3 y 32 caracteres

**Para crear las políticas necesarias de una colección**

1. Abra AWS CLI y ejecute el siguiente comando para crear una [política de cifrado](serverless-encryption.md) con un patrón de recursos que coincida con el nombre deseado de la colección. 

   ```
   &aws opensearchserverless create-security-policy \
     --name policy name \
     --type encryption --policy "{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/collection name\"]}],\"AWSOwnedKey\":true}"
   ```

   Por ejemplo, si planea nombrar la colección como *registros de la aplicación*, puede crear una política de cifrado como esta:

   ```
   &aws opensearchserverless create-security-policy \
     --name logs-policy \
     --type encryption --policy "{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/logs-application\"]}],\"AWSOwnedKey\":true}"
   ```

   Si piensa utilizar la política para colecciones adicionales, puede hacer que la regla sea más amplia, como `collection/logs*` o `collection/*`.

1. Ejecute el siguiente comando para configurar los ajustes de la red para la colección mediante una [política de red](serverless-network.md). Es posible crear políticas de red después de crear una colección, pero le recomendamos que lo haga de antemano.

   ```
   &aws opensearchserverless create-security-policy \
     --name policy name \
     --type network --policy "[{\"Description\":\"description\",\"Rules\":[{\"ResourceType\":\"dashboard\",\"Resource\":[\"collection\/collection name\"]},{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/collection name\"]}],\"AllowFromPublic\":true}]"
   ```

   Para seguir con el ejemplo anterior, *logs-application*, puede crear la siguiente política de red:

   ```
   &aws opensearchserverless create-security-policy \
     --name logs-policy \
     --type network --policy "[{\"Description\":\"Public access for logs collection\",\"Rules\":[{\"ResourceType\":\"dashboard\",\"Resource\":[\"collection\/logs-application\"]},{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/logs-application\"]}],\"AllowFromPublic\":true}]"
   ```

## Creación de una colección
<a name="serverless-create-cli-creating"></a>

En el siguiente procedimiento, se utiliza la acción de la [CreateCollection](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateCollection.html)API para crear una colección del tipo `SEARCH` o`TIMESERIES`. Si no especifica ningún tipo de colección en la solicitud, se usa `TIMESERIES` de forma predeterminada. Para obtener más información acerca de estos tipos, consulte [Elección de un tipo de colección](serverless-overview.md#serverless-usecase). Para crear una colección de *búsquedas vectoriales*, consulte [Trabajo con colecciones de búsqueda vectorial](serverless-vector-search.md). 

Si su colección está cifrada con un Clave propiedad de AWS, `kmsKeyArn` es `auto` en lugar de un ARN.

**importante**  
Después de crear una colección, no podrá acceder a ella a menos que coincida con una política de acceso a los datos. Para obtener más información, consulte [Control de acceso a datos para Amazon OpenSearch Serverless](serverless-data-access.md).

**Creación de una colección**

1. Compruebe que ha creado las políticas necesarias que se describen en [Antes de empezar](#serverless-create-cli-before-you-begin).

1. Ejecute el comando siguiente. En `type`, especifique `SEARCH` o `TIMESERIES`.

   ```
   &aws opensearchserverless create-collection --name "collection name" --type collection type --description "description"
   ```

## Crear una colección con un índice de enriquecimiento semántico automático
<a name="serverless-create-cli-automatic-semantic-enrichment"></a>

Utilice el siguiente procedimiento para crear una nueva colección OpenSearch sin servidor con un índice que esté configurado para el enriquecimiento [semántico automático](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-semantic-enrichment.html). El procedimiento utiliza la acción de la API OpenSearch sin servidor [CreateIndex](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateIndex.html).

**Para crear una nueva colección con un índice configurado con el enriquecimiento semántico automático**

Ejecute el siguiente comando para crear la colección y un índice.

```
&aws opensearchserverless create-index \
--region Region ID \
--id collection name --index-name index name \
--index-schema \
'mapping in json'
```

A continuación se muestra un ejemplo.

```
&aws opensearchserverless create-index \
--region us-east-1 \
--id conversation_history --index-name conversation_history_index \
--index-schema \ 
'{
    "mappings": {
        "properties": {
            "age": {
                "type": "integer"
            },
            "name": {
                "type": "keyword"
            },
            "user_description": {
                "type": "text"
            },
            "conversation_history": {
                "type": "text",
                "semantic_enrichment": {
                    "status": "ENABLED",
                    // Specifies the sparse tokenizer for processing multi-lingual text
                    "language_option": "MULTI-LINGUAL", 
                    // If embedding_field is provided, the semantic embedding field will be set to the given name rather than original field name + "_embedding"
                    "embedding_field": "conversation_history_user_defined" 
                }
            },
            "book_title": {
                "type": "text",
                "semantic_enrichment": {
                    // No embedding_field is provided, so the semantic embedding field is set to "book_title_embedding"
                    "status": "ENABLED",
                    "language_option": "ENGLISH"
                }
            },
            "abstract": {
                "type": "text",
                "semantic_enrichment": {
                    // If no language_option is provided, it will be set to English.
                    // No embedding_field is provided, so the semantic embedding field is set to "abstract_embedding"
                    "status": "ENABLED" 
                }
            }
        }
    }
}'
```

# Acceso a OpenSearch los paneles
<a name="serverless-dashboards"></a>

Después de crear una colección con Consola de administración de AWS, puede navegar hasta la URL de los OpenSearch paneles de control de la colección. Para encontrar la URL de Dashboards, seleccione **Colecciones** en el panel de navegación izquierdo y elija la colección para abrir su página de detalles. La URL toma el formato `https://dashboards.us-east-1.aoss.amazonaws.com/_login/?collectionId=07tjusf2h91cunochc`. Cuando navegue hasta la URL, iniciará sesión automáticamente en Dashboards.

Si ya tiene disponible la URL de los OpenSearch paneles, pero no está en ella Consola de administración de AWS, si llama a la URL de los paneles desde el navegador, se redirigirá a la consola. Una vez que introduzcas tus AWS credenciales, iniciarás sesión automáticamente en Dashboards. Para obtener información sobre cómo acceder a las colecciones para SAML, consulte [Acceder a los OpenSearch paneles](serverless-saml.md#serverless-saml-dashboards) de control con SAML.

El tiempo de espera de la consola de OpenSearch Dashboards es de una hora y no se puede configurar.

**nota**  
El 10 de mayo de 2023, OpenSearch introdujimos un punto final global común para los OpenSearch paneles. Ahora puede navegar a los OpenSearch paneles de control en el navegador con una URL que adopte el formato. `https://dashboards.us-east-1.aoss.amazonaws.com/_login/?collectionId=07tjusf2h91cunochc` Para garantizar la compatibilidad con versiones anteriores, seguiremos admitiendo los puntos finales de OpenSearch Dashboards específicos de la colección existente con este formato. `https://07tjusf2h91cunochc.us-east-1.aoss.amazonaws.com/_dashboards`

# Visualización de colecciones
<a name="serverless-list"></a>

Puedes ver las colecciones existentes Cuenta de AWS en la pestaña **Colecciones** de la consola de Amazon OpenSearch Service.

Para enumerar las colecciones junto con sus colecciones IDs, envía una [ListCollections](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListCollections.html)solicitud.

```
&aws opensearchserverless list-collections
```

**Respuesta de ejemplo**

```
{
   "collectionSummaries":[
      {
         "arn":"arn:aws:aoss:us-east-1:123456789012:collection/07tjusf2h91cunochc",
         "id":"07tjusf2h91cunochc",
         "name":"my-collection",
         "status":"CREATING"
      }
   ]
}
```

Para limitar los resultados de la búsqueda, utilice filtros de colección. Esta solicitud filtra la respuesta a las colecciones en estado `ACTIVE`: 

```
&aws opensearchserverless list-collections --collection-filters '{ "status": "ACTIVE" }'
```

Para obtener información más detallada sobre una o más colecciones, incluidos el OpenSearch punto final y el punto final de OpenSearch Dashboards, envía una [BatchGetCollection](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_BatchGetCollection.html)solicitud:

```
&aws opensearchserverless batch-get-collection --ids "07tjusf2h91cunochc" "1iu5usc4rame"
```

**nota**  
Puede incluir `--names` o `--ids` en la solicitud, pero no ambos.

**Respuesta de ejemplo**

```
{
   "collectionDetails":[
      {
         "id": "07tjusf2h91cunochc",
         "name": "my-collection",
         "status": "ACTIVE",
         "type": "SEARCH",
         "description": "",
         "arn": "arn:aws:aoss:us-east-1:123456789012:collection/07tjusf2h91cunochc",
         "kmsKeyArn": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab",
         "createdDate": 1667446262828,
         "lastModifiedDate": 1667446300769,
         "collectionEndpoint": "https://07tjusf2h91cunochc.us-east-1.aoss.amazonaws.com",
         "dashboardEndpoint": "https://07tjusf2h91cunochc.us-east-1.aoss.amazonaws.com/_dashboards"
      },
      {
         "id": "178ukvtg3i82dvopdid",
         "name": "another-collection",
         "status": "ACTIVE",
         "type": "TIMESERIES",
         "description": "",
         "arn": "arn:aws:aoss:us-east-1:123456789012:collection/178ukvtg3i82dvopdid",
         "kmsKeyArn": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab",
         "createdDate": 1667446262828,
         "lastModifiedDate": 1667446300769,
         "collectionEndpoint": "https://178ukvtg3i82dvopdid.us-east-1.aoss.amazonaws.com",
         "dashboardEndpoint": "https://178ukvtg3i82dvopdid.us-east-1.aoss.amazonaws.com/_dashboards"
      }
   ],
   "collectionErrorDetails":[]
}
```

# Eliminación de colecciones
<a name="serverless-delete"></a>

Al eliminar una colección, se eliminan todos los datos e índices en la colección. No se pueden recuperar las colecciones después de eliminarlas.

**Para eliminar una colección mediante la consola**

1. En el panel **Colecciones** de la consola de Amazon OpenSearch Service, selecciona la colección que deseas eliminar.

1. Seleccione **Eliminar** y confirme la eliminación.

Para eliminar una colección mediante el AWS CLI, envía una [DeleteCollection](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_DeleteCollection.html)solicitud:

```
&aws opensearchserverless delete-collection --id 07tjusf2h91cunochc
```

**Respuesta de ejemplo**

```
{
   "deleteCollectionDetail":{
      "id":"07tjusf2h91cunochc",
      "name":"my-collection",
      "status":"DELETING"
   }
}
```

# Trabajo con colecciones de búsqueda vectorial
<a name="serverless-vector-search"></a>

El tipo de colección *de búsqueda vectorial* en OpenSearch Serverless proporciona una capacidad de búsqueda por similitud que es escalable y de alto rendimiento. Le facilita la creación de experiencias de búsqueda aumentada de machine learning (ML) modernas y aplicaciones de inteligencia artificial (IA) generativa sin tener que gestionar la infraestructura de base de datos vectorial subyacente. 

Los casos de uso de las colecciones de búsquedas vectoriales incluyen búsquedas de imágenes, búsquedas de documentos, recuperación de música, recomendaciones de productos, búsquedas de vídeos, búsquedas basadas en la ubicación, detección de fraudes y detección de anomalías. 

Como el motor vectorial de OpenSearch Serverless funciona con la [función de búsqueda del vecino más cercano (k-NN)](https://opensearch.org/docs/latest/search-plugins/knn/index/) de la empresa OpenSearch, se obtiene la misma funcionalidad con la sencillez de un entorno sin servidor. El motor es compatible con la [API del complemento k-NN](https://opensearch.org/docs/latest/search-plugins/knn/api/). Con estas operaciones, puede sacar provecho de la búsqueda de texto completo, el filtrado avanzado, las agregaciones, las consultas geoespaciales, las consultas anidadas para una recuperación más rápida de los datos y la mejora de los resultados de búsqueda.

El motor vectorial proporciona métricas de distancia, como la distancia euclidiana, la similitud de coseno y la similitud de productos de puntos, y puede acomodar 16 000 dimensiones. Puede almacenar campos con varios tipos de datos para los metadatos, como números, valores booleanos, fechas, palabras clave y geopuntos. También puede almacenar campos con texto para obtener información descriptiva y añadir más contexto a los vectores almacenados. La ubicación de los tipos de datos reduce la complejidad, aumenta la capacidad de mantenimiento y evita la duplicación de datos, los problemas de compatibilidad de versiones y los problemas de licencia. 

**nota**  
Tenga en cuenta la siguiente información:  
Amazon OpenSearch Serverless admite la cuantificación escalar de 16 bits de Faiss, que se puede utilizar para realizar conversiones entre vectores flotantes de 32 bits y vectores de 16 bits. Para obtener más información, consulte [Cuantificación escalar de 16 bits de Faiss](https://opensearch.org/docs/latest/search-plugins/knn/knn-vector-quantization/#faiss-16-bit-scalar-quantization). También puede utilizar vectores binarios para reducir los costos de memoria. Para obtener más información, consulte [Vectores binarios](https://opensearch.org/docs/latest/field-types/supported-field-types/knn-vector#binary-vectors).
Amazon OpenSearch Serverless admite la búsqueda vectorial basada en disco. La búsqueda vectorial basada en disco reduce considerablemente los costos operativos de las cargas de trabajo de vector en entornos con poca memoria. Para obtener más información, consulte [Búsqueda vectorial basada en disco](https://docs.opensearch.org/2.19/vector-search/optimizing-storage/disk-based-vector-search/).

## Introducción a las colecciones de búsqueda vectorial
<a name="serverless-vector-tutorial"></a>

En este tutorial, debe completar los siguientes pasos para almacenar, buscar y recuperar incrustaciones vectoriales en tiempo real:

1. [Configurar permisos](#serverless-vector-permissions)

1. [Crear una colección](#serverless-vector-create)

1. [Cargar y buscar datos](#serverless-vector-index)

1. [Eliminar la colección](#serverless-vector-delete)

### Paso 1: configurar permisos
<a name="serverless-vector-permissions"></a>

Para completar este tutorial (y para usar OpenSearch Serverless en general), debe tener los permisos AWS Identity and Access Management (de IAM) correctos. En este tutorial, crea una colección, carga y busca datos y, a continuación, elimina la colección.

Su usuario o rol debe tener adjunta una [política basada en la identidad](security-iam-serverless.md#security-iam-serverless-id-based-policies) con los siguientes permisos mínimos:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "aoss:CreateCollection",
        "aoss:ListCollections",
        "aoss:BatchGetCollection",
        "aoss:DeleteCollection",
        "aoss:CreateAccessPolicy",
        "aoss:ListAccessPolicies",
        "aoss:UpdateAccessPolicy",
        "aoss:CreateSecurityPolicy",
        "iam:ListUsers",
        "iam:ListRoles"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
```

------

Para obtener más información sobre los permisos de IAM OpenSearch sin servidor, consulte. [Identity and Access Management para Amazon OpenSearch Serverless](security-iam-serverless.md)

### Paso 2: crear una colección
<a name="serverless-vector-create"></a>

Una *colección* es un grupo de OpenSearch índices que funcionan juntos para respaldar una carga de trabajo o un caso de uso específicos.

**Para crear una colección OpenSearch sin servidor**

1. Abre la consola OpenSearch de Amazon Service en [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home ).

1. Seleccione **Colecciones** en el panel de navegación de la izquierda y elija **Crear colección**.

1. Asigne un nombre a la **carcasa** de la colección.

1. Para el tipo de colección, seleccione **Búsqueda vectorial**. Para obtener más información, consulte [Elección de un tipo de colección](serverless-overview.md#serverless-usecase).

1. En **Tipo de implementación**, elimine **Habilitar redundancia (réplicas activas)**. Esto crea una colección en modo de desarrollo o prueba y reduce el número de unidades de OpenSearch cómputo (OCUs) de la colección a dos. Si desea crear un entorno de producción en este tutorial, deje la casilla seleccionada. 

1. En **Seguridad**, seleccione **Crear fácilmente** para optimizar la configuración de seguridad. De forma predeterminada, todos los datos del motor vectorial se cifran en tránsito y en reposo. El motor vectorial admite permisos de IAM detallados para que pueda definir quién puede crear, actualizar y eliminar cifrados, redes, colecciones e índices.

1. Seleccione **Siguiente**.

1. Revise la configuración de la colección y seleccione **Enviar**. Espere unos minutos hasta que el estado de la colección cambie a `Active`.

### Paso 3: cargar y buscar datos
<a name="serverless-vector-index"></a>

Un *índice* es una colección de documentos con un esquema de datos común que permite almacenar, buscar y recuperar las incrustaciones vectoriales y otros campos. [Puedes crear y cargar datos en los índices de una colección OpenSearch sin servidor mediante la consola [Dev Tools](https://opensearch.org/docs/latest/dashboards/dev-tools/index-dev/) de OpenSearch Dashboards o una herramienta HTTP como [Postman](https://www.postman.com/downloads/) o awscurl.](https://github.com/okigan/awscurl) En este tutorial se utilizan Herramientas para desarrolladores.

**Para indexar y buscar datos en la colección de viviendas**

1. Para crear un índice único para su nueva colección, envíe la siguiente solicitud en la consola de [Herramientas para desarrolladores](https://opensearch.org/docs/latest/dashboards/dev-tools/index-dev/). De forma predeterminada, se crea un índice con un motor `nmslib` y una distancia euclidiana.

   ```
   PUT housing-index
   {
      "settings": {
         "index.knn": true
      },
      "mappings": {
         "properties": {
            "housing-vector": {
               "type": "knn_vector",
               "dimension": 3
            },
            "title": {
               "type": "text"
            },
            "price": {
               "type": "long"
            },
            "location": {
               "type": "geo_point"
            }
         }
      }
   }
   ```

1. Para indexar un solo documento en *housing-index*, envíe la siguiente solicitud:

   ```
   POST housing-index/_doc
   {
     "housing-vector": [
       10,
       20,
       30
     ],
     "title": "2 bedroom in downtown Seattle",
     "price": "2800",
     "location": "47.71, 122.00"
   }
   ```

1. Para buscar propiedades similares a las del índice, envíe la siguiente consulta:

   ```
   GET housing-index/_search
   {
       "size": 5,
       "query": {
           "knn": {
               "housing-vector": {
                   "vector": [
                       10,
                       20,
                       30
                   ],
                   "k": 5
               }
           }
       }
   }
   ```

### Paso 4: eliminar la colección
<a name="serverless-vector-delete"></a>

Dado que la colección de *housing* es para hacer pruebas, debe eliminarla cuando termine de experimentar.

**Para eliminar una colección OpenSearch sin servidor**

1. Vuelve a la consola ** OpenSearch de Amazon Service**.

1. Seleccione **Colecciones** en el panel de navegación izquierdo y elija la colección de **propiedades**.

1. Para confirmar la eliminación, seleccione **Eliminar**.

## Búsqueda filtrada
<a name="serverless-vector-filter"></a>

Puede usar filtros para mejorar los resultados de búsqueda semántica. Para crear un índice y realizar una búsqueda filtrada en sus documentos, sustituya los [datos de carga y búsqueda](#serverless-vector-index) en el tutorial anterior por las siguientes instrucciones. Los demás pasos siguen siendo los mismos. Para obtener más información acerca de los filtros, consulte [búsqueda k-NN con filtros](https://opensearch.org/docs/latest/search-plugins/knn/filter-search-knn/).

**Para indexar y buscar datos en la colección de viviendas**

1. Para crear un índice único para su colección, envíe la siguiente solicitud en la consola de [Herramientas para desarrolladores](https://opensearch.org/docs/latest/dashboards/dev-tools/index-dev/):

   ```
   PUT housing-index-filtered
   {
     "settings": {
       "index.knn": true
     },
     "mappings": {
       "properties": {
         "housing-vector": {
           "type": "knn_vector",
           "dimension": 3,
           "method": {
             "engine": "faiss",
             "name": "hnsw"
           }
         },
         "title": {
           "type": "text"
         },
         "price": {
           "type": "long"
         },
         "location": {
           "type": "geo_point"
         }
       }
     }
   }
   ```

1. Para indexar un solo documento *housing-index-filtered*, envíe la siguiente solicitud:

   ```
   POST housing-index-filtered/_doc
   {
     "housing-vector": [
       10,
       20,
       30
     ],
     "title": "2 bedroom in downtown Seattle",
     "price": "2800",
     "location": "47.71, 122.00"
   }
   ```

1. Para buscar los datos de un apartamento en Seattle por un precio determinado y dentro de una distancia determinada de un punto geográfico, envíe la siguiente solicitud:

   ```
   GET housing-index-filtered/_search
   {
     "size": 5,
     "query": {
       "knn": {
         "housing-vector": {
           "vector": [
             0.1,
             0.2,
             0.3
           ],
           "k": 5,
           "filter": {
             "bool": {
               "must": [
                 {
                   "query_string": {
                     "query": "Find me 2 bedroom apartment in Seattle under $3000 ",
                     "fields": [
                       "title"
                     ]
                   }
                 },
                 {
                   "range": {
                     "price": {
                       "lte": 3000
                     }
                   }
                 },
                 {
                   "geo_distance": {
                     "distance": "100miles",
                     "location": {
                       "lat": 48,
                       "lon": 121
                     }
                   }
                 }
               ]
             }
           }
         }
       }
     }
   }
   ```

## Cargas de trabajo a escala de mil millones
<a name="serverless-vector-billion"></a>

Las colecciones de búsquedas vectoriales admiten cargas de trabajo con miles de millones de vectores. No necesita reindexar para escalar porque el escalado automático lo hace por usted. Si tienes millones de vectores (o más) con un gran número de dimensiones y necesitas más de 200 OCUs, ponte en contacto con [AWS Support](https://aws.amazon.com/premiumsupport/) para aumentar el número máximo de unidades de OpenSearch cómputo (OCUs) de tu cuenta. 

## Limitaciones
<a name="serverless-vector-limitations"></a>

Las colecciones de búsqueda vectorial presentan las siguientes limitaciones:
+ Las colecciones de búsqueda vectorial no son compatibles con el motor ANN Apache Lucene.
+ Las colecciones de búsqueda vectorial solo admiten el algoritmo HNSW con Faiss y no admiten FIV ni IVFQ.
+ Las colecciones de búsqueda vectorial no admiten las operaciones de la API de calentamiento, estadística y entrenamiento de modelos.
+ Las colecciones de búsqueda vectorial no admiten scripts en línea ni almacenados.
+ La información sobre el recuento de índices no está disponible en Consola de administración de AWS las colecciones de búsquedas vectoriales. 
+ El intervalo de actualización de los índices de las colecciones de búsqueda vectorial es de 60 segundos.

## Siguientes pasos
<a name="serverless-vector-next"></a>

Ahora que sabe cómo crear una colección de búsquedas vectoriales e indexar datos, puede que desee probar algunos de los siguientes ejercicios:
+ Utilice el cliente OpenSearch Python para trabajar con colecciones de búsqueda vectorial. Consulte este tutorial en [GitHub](https://github.com/opensearch-project/opensearch-py/blob/main/guides/plugins/knn.md). 
+ Utilice el cliente OpenSearch Java para trabajar con colecciones de búsquedas vectoriales. Consulte este tutorial en [GitHub](https://github.com/opensearch-project/opensearch-java/blob/main/guides/plugins/knn.md). 
+ Configurado LangChain para usarse OpenSearch como una tienda de vectores. LangChain es un marco de código abierto para desarrollar aplicaciones basadas en modelos de lenguaje. Para obtener más información, consulte la [Documentación de LangChain ](https://python.langchain.com/docs/integrations/vectorstores/opensearch).

# Uso de políticas del ciclo de vida de los datos con Amazon OpenSearch Serverless
<a name="serverless-lifecycle"></a>

Una política del ciclo de vida de los datos en Amazon OpenSearch Serverless define durante cuánto tiempo OpenSearch Serverless conserva los datos de una recopilación de series temporales. Por ejemplo, puede establecer una política para conservar los datos de registro durante 30 días antes de que OpenSearch Serverless los elimine.

Puede configurar una política independiente para cada índice dentro de cada colección de series temporales de su. Cuenta de AWS OpenSearch Serverless conserva los documentos durante al menos el tiempo que especifique en la política. A continuación, borra automáticamente los documentos según lo mejor que pueda, normalmente en un plazo de 48 horas o en un 10 % del periodo de retención, lo que sea más largo.

Solo las recopilaciones de series temporales admiten las políticas del ciclo de vida de los datos. Las colecciones de búsqueda y búsqueda vectorial no las admiten.

**Topics**
+ [Políticas de ciclo de vida de los datos](#serverless-lifecycle-policies)
+ [Permisos necesarios](#serverless-lifecycle-permissions)
+ [Prioridad política](#serverless-lifecycle-precedence)
+ [Sintaxis de la política](#serverless-lifecycle-syntax)
+ [Creación de políticas del ciclo de vida de los datos](#serverless-lifecycle-create)
+ [Actualización de políticas de ciclo de vida de los datos](#serverless-lifecycle-update)
+ [Eliminación de políticas de ciclo de vida de los datos](#serverless-lifecycle-delete)

## Políticas de ciclo de vida de los datos
<a name="serverless-lifecycle-policies"></a>

En una política de ciclo de vida de los datos, especifique una serie de reglas. La política de ciclo de vida de los datos le permite administrar el período de retención de los datos asociados a los índices o colecciones que cumplen estas reglas. Estas reglas definen el período de retención de los datos de un índice o grupo de índices. Cada regla consta de un tipo de recurso (`index`), un período de retención y una lista de recursos (índices) a los que se aplica el período de retención.

El período de retención se define con uno de los siguientes formatos:
+ `"MinIndexRetention": "24h"`— OpenSearch Serverless conserva los datos de índice durante el período especificado en horas o días. Puede configurar este período para que sea de `24h` a `3650d`.
+ `"NoMinIndexRetention": true`— OpenSearch Serverless conserva los datos de índice de forma indefinida.

En el siguiente ejemplo de política, la primera regla especifica un período de retención de 15 días para todos los índices de la colección `marketing`. La segunda regla especifica que todos los nombres de índice que comiencen por `log` en la colección `finance` no tienen un período de retención establecido y se conservarán indefinidamente.

```
{
   "lifeCyclePolicyDetail": {
      "type": "retention",
      "name": "my-policy",
      "policyVersion": "MTY4ODI0NTM2OTk1N18x",
      "policy": {
         "Rules": [
            {
            "ResourceType":"index",
            "Resource":[
               "index/marketing/*"
            ],
            "MinIndexRetention": "15d"
         },
         {
            "ResourceType":"index",
            "Resource":[
               "index/finance/log*"
            ],
            "NoMinIndexRetention": true
         }
         ]
      },
      "createdDate": 1688245369957,
      "lastModifiedDate": 1688245369957
   }
}
```

En el siguiente ejemplo de regla de política, OpenSearch Serverless conserva indefinidamente los datos de todos los índices de todas las colecciones de la cuenta.

```
{
   "Rules": [
      {
         "ResourceType": "index",
         "Resource": [
            "index/*/*"
         ]
      }
   ],
   "NoMinIndexRetention": true
}
```

## Permisos necesarios
<a name="serverless-lifecycle-permissions"></a>

Las políticas de ciclo de vida de OpenSearch Serverless utilizan los siguientes permisos AWS Identity and Access Management (IAM). Puede especificar condiciones de IAM para restringir a los usuarios a las políticas de ciclo de vida de los datos asociadas con colecciones e índices específicos.
+ `aoss:CreateLifecyclePolicy`: cree una política de ciclo de vida de los datos.
+ `aoss:ListLifecyclePolicies`: enumere todas las políticas de ciclo de vida de los datos de la cuenta actual.
+ `aoss:BatchGetLifecyclePolicy`: consulte una política del ciclo de vida de los datos asociada a un nombre de cuenta o política.
+ `aoss:BatchGetEffectiveLifecyclePolicy`: consulte una política del ciclo de vida de los datos para un recurso determinado (`index` es el único recurso compatible).
+ `aoss:UpdateLifecyclePolicy`: modifique una política de ciclo de vida de los datos determinada y cambie su configuración o recurso de retención.
+ `aoss:DeleteLifecyclePolicy`: elimine una política de ciclo de vida de los datos.

La siguiente política de acceso basada en identidades permite al usuario ver todas las políticas de ciclo de vida de los datos y actualizarlas según el patrón de recursos `index/application-logs`:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "aoss:UpdateLifecyclePolicy"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aoss:collection": "application-logs"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "aoss:ListLifecyclePolicies",
                "aoss:BatchGetLifecyclePolicy"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Prioridad política
<a name="serverless-lifecycle-precedence"></a>

Puede haber situaciones en las que las reglas de la política de ciclo de vida de los datos se superpongan, dentro de las políticas o entre ellas. Cuando esto sucede, una regla con un nombre o patrón de recurso más específico para un índice anula una regla con un nombre o patrón de recurso más general para cualquier índice que sea común a *ambas* reglas.

Por ejemplo, en la siguiente política, se aplican dos reglas a un índice `index/sales/logstash`. En esta situación, la segunda regla tiene prioridad porque `index/sales/log*` es la que coincide más tiempo con `index/sales/logstash`. Por lo tanto, OpenSearch Serverless no establece ningún período de retención para el índice.

```
{
      "Rules":[
         {
            "ResourceType":"index",
            "Resource":[
               "index/sales/*",
            ],
            "MinIndexRetention": "15d"
         },
         {
            "ResourceType":"index",
            "Resource":[
               "index/sales/log*",
            ],
            "NoMinIndexRetention": true
         }
      ]
   }
```

## Sintaxis de la política
<a name="serverless-lifecycle-syntax"></a>

Proporcione una o más *reglas*. Estas reglas definen la configuración del ciclo de vida de los datos para los índices OpenSearch Serverless.

Cada regla contiene los siguientes elementos. Puede proporcionar `MinIndexRetention` o `NoMinIndexRetention` en cada regla, pero no ambas. 


| Element | Description (Descripción) | 
| --- | --- | 
| Tipo de recurso | El tipo de recurso al que se aplica la regla. La única opción admitida para las políticas del ciclo de vida de los datos es index. | 
| Resource | Una lista de patrones de nombres and/or de recursos. Los patrones son un prefijo seguido de un comodín (\$1), que permiten que los permisos asociados se apliquen a varios recursos. Por ejemplo, index/<collection-name\$1pattern>/<index-name\$1pattern>. | 
| MinIndexRetention | El período mínimo, en días (d) u horas (h), para retener el documento en el índice. El límite inferior es 24h y el límite superior es 3650d. | 
| NoMinIndexRetention | Sitrue, OpenSearch Serverless conserva los documentos indefinidamente. | 

En el siguiente ejemplo, la primera regla se aplica a todos los índices incluidos en el patrón `autoparts-inventory` (`index/autoparts-inventory/*`) y exige que los datos se conserven durante al menos 20 días antes de que se pueda realizar cualquier acción, como eliminarlos o archivarlos. 

La segunda regla se dirige a los índices que coinciden con el patrón `auto*/gear` (`index/auto*/gear`) y establece un periodo de retención mínimo de 24 horas.

La tercera regla se aplica específicamente al índice `tires` y no tiene un periodo mínimo de retención, lo que significa que los datos de este índice se pueden eliminar o archivar de forma inmediata o en función de otros criterios. Estas reglas ayudan a administrar la retención de los datos del índice con tiempos de retención variables o sin restricciones de retención.

```
{
  "Rules": [
    {
      "ResourceType": "index",
      "Resource": [
        "index/autoparts-inventory/*"
      ],
      "MinIndexRetention": "20d"
    },
    {
      "ResourceType": "index",
      "Resource": [
        "index/auto*/gear"
      ],
      "MinIndexRetention": "24h"
    },
    {
      "ResourceType": "index",
      "Resource": [
        "index/autoparts-inventory/tires"
      ],
      "NoMinIndexRetention": true
    }
  ]
}
```

## Creación de políticas del ciclo de vida de los datos
<a name="serverless-lifecycle-create"></a>

Para crear una política del ciclo de vida de los datos, debe definir reglas que administren la retención y la eliminación de los datos en función de criterios específicos. 

### Consola
<a name="serverless-lifecycle-create-console"></a>

**Para crear una política del ciclo de vida de los datos**

1. Inicia sesión en la consola OpenSearch de Amazon Service desde [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. En el panel de navegación de la izquierda, seleccione **Políticas de ciclo de vida de los datos**.

1. Seleccione **Creación de una política de ciclo de vida de los datos**.

1. Escriba un nombre descriptivo para la política.

1. Para **Ciclo de vida de los datos**, elija **Agregar** y seleccione las colecciones e índices de la política. 

   Comience por elegir las colecciones a las que pertenecen los índices. A continuación, seleccione el índice de la lista o ingrese un patrón de índice. Para seleccionar todas las colecciones como orígenes, escriba un asterisco (`*`).

1. Para la **retención de datos**, puede optar por conservar los datos indefinidamente o deseleccionar **Ilimitado (nunca eliminar)** y especificar un período de tiempo después OpenSearch del cual Serverless eliminará automáticamente los datos de Amazon S3.

1. Seleccione **Guardar** y, a continuación, **Crear**.

### AWS CLI
<a name="serverless-lifecycle-create-cli"></a>

Para crear una política de ciclo de vida de los datos mediante el AWS CLI, utilice el [create-lifecycle-policy](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/create-lifecycle-policy.html)comando con las siguientes opciones:
+ `--name`: el nombre de la política.
+ `--type`: el tipo de política. El único valor disponible actualmente es `retention`.
+ `--policy`: la política del ciclo de vida de los datos. Este parámetro acepta tanto políticas insertadas como archivos .json. Debe codificar las políticas insertadas como una cadena de escape de JSON. Para proporcionar la política en un archivo, utilice el formato `--policy file://my-policy.json`.

**Example**  

```
aws opensearchserverless create-lifecycle-policy \
  --name my-policy \
  --type retention \
  --policy "{\"Rules\":[{\"ResourceType\":\"index\",\"Resource\":[\"index/autoparts-inventory/*\"],\"MinIndexRetention\": \"81d\"},{\"ResourceType\":\"index\",\"Resource\":[\"index/sales/orders*\"],\"NoMinIndexRetention\":true}]}"
```

## Actualización de políticas de ciclo de vida de los datos
<a name="serverless-lifecycle-update"></a>

Para actualizar una política del ciclo de vida de los datos, puede modificar las reglas existentes para reflejar los cambios en sus requisitos de retención o eliminación de datos. Esto le permite adaptar sus políticas a medida que evolucionen sus necesidades de administración de datos.

Es posible que transcurran algunos minutos entre el momento en que se actualiza la política y el momento en que OpenSearch Serverless comienza a aplicar los nuevos períodos de retención.

### Consola
<a name="serverless-lifecycle-update-console"></a>

**Para actualizar una política del ciclo de vida de los datos**

1. Inicia sesión en la consola OpenSearch de Amazon Service desde [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. En el panel de navegación de la izquierda, seleccione **Políticas de ciclo de vida de los datos**.

1. Seleccione la política del ciclo de vida de los datos que desee actualizar y, a continuación, elija **Editar**.

1. Modifique la política mediante el editor visual o el editor JSON.

1. Seleccione **Save**.

### AWS CLI
<a name="serverless-lifecycle-update-cli"></a>

Para actualizar una política del ciclo de vida de los datos mediante el AWS CLI, usa el [update-lifecycle-policy](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/update-lifecycle-policy.html)comando. 

Debe incluir el parámetro `--policy-version` en la solicitud. Puede recuperar el control de versiones de la política mediante los comandos [list-lifecycle-policies](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/list-lifecycle-policies.html) o [batch-get-lifecycle-policy](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/batch-get-lifecycle-policy.html). Recomendamos incluir la versión más reciente de la política para evitar que se sobrescriban accidentalmente los cambios de otros usuarios.

La siguiente solicitud actualiza una política del ciclo de vida de los datos con un nuevo documento JSON de política.

**Example**  

```
aws opensearchserverless update-lifecycle-policy \
  --name my-policy \
  --type retention \
  --policy-version MTY2MzY5MTY1MDA3Ml8x \
  --policy file://my-new-policy.json
```

## Eliminación de políticas de ciclo de vida de los datos
<a name="serverless-lifecycle-delete"></a>

Al eliminar una política del ciclo de vida de los datos, OpenSearch Serverless ya no la aplica en ningún índice coincidente.

### Consola
<a name="serverless-lifecycle-delete-console"></a>

**Para eliminar una política del ciclo de vida de los datos**

1. Inicia sesión en la consola OpenSearch de Amazon Service desde [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. En el panel de navegación de la izquierda, seleccione **Políticas de ciclo de vida de los datos**.

1. Seleccione la política de configuración que desea eliminar y, a continuación, elija **Eliminar** y confirme la eliminación.

### AWS CLI
<a name="serverless-lifecycle-delete-cli"></a>

Para eliminar una política del ciclo de vida de los datos mediante el AWS CLI, usa el [delete-lifecycle-policy](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/delete-lifecycle-policy.html)comando.

**Example**  

```
aws opensearchserverless delete-lifecycle-policy \
  --name my-policy \
  --type retention
```

# Uso del AWS SDKs para interactuar con Amazon OpenSearch Serverless
<a name="serverless-sdk"></a>

En esta sección se incluyen ejemplos de cómo utilizarlos AWS SDKs para interactuar con Amazon OpenSearch Serverless. Estos ejemplos de código muestran cómo crear políticas de seguridad y colecciones, y cómo consultar colecciones.

**nota**  
Actualmente estamos creando estos ejemplos de código. Si quieres contribuir con un ejemplo de código (Java, Go, etc.), abre una solicitud de extracción directamente en el [GitHub repositorio](https://github.com/awsdocs/amazon-opensearch-service-developer-guide/blob/master/doc_source/serverless-sdk.md).

**Topics**
+ [Python](#serverless-sdk-python)
+ [JavaScript](#serverless-sdk-javascript)

## Python
<a name="serverless-sdk-python"></a>

El siguiente script de ejemplo utiliza [AWS SDK para Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/opensearchserverless.html), así como también el cliente para Python [opensearch-py](https://pypi.org/project/opensearch-py/) para crear políticas de acceso a datos, de cifrado y de redes, crear colecciones de coincidencias e indexar algunos datos de ejemplo.

Ejecute los siguientes comandos para asegurarse de que dispone de todas las dependencias necesarias:

```
pip install opensearch-py
pip install boto3
pip install botocore
pip install requests-aws4auth
```

En el script, reemplace `Principal` por el nombre de recurso de Amazon (ARN) del usuario o rol que firma la solicitud. También puede modificar opcionalmente el archivo `region`.

```
from opensearchpy import OpenSearch, RequestsHttpConnection
from requests_aws4auth import AWS4Auth
import boto3
import botocore
import time

# Build the client using the default credential configuration.
# You can use the CLI and run 'aws configure' to set access key, secret
# key, and default region.

client = boto3.client('opensearchserverless')
service = 'aoss'
region = 'us-east-1'
credentials = boto3.Session().get_credentials()
awsauth = AWS4Auth(credentials.access_key, credentials.secret_key,
                   region, service, session_token=credentials.token)


def createEncryptionPolicy(client):
    """Creates an encryption policy that matches all collections beginning with tv-"""
    try:
        response = client.create_security_policy(
            description='Encryption policy for TV collections',
            name='tv-policy',
            policy="""
                {
                    \"Rules\":[
                        {
                            \"ResourceType\":\"collection\",
                            \"Resource\":[
                                \"collection\/tv-*\"
                            ]
                        }
                    ],
                    \"AWSOwnedKey\":true
                }
                """,
            type='encryption'
        )
        print('\nEncryption policy created:')
        print(response)
    except botocore.exceptions.ClientError as error:
        if error.response['Error']['Code'] == 'ConflictException':
            print(
                '[ConflictException] The policy name or rules conflict with an existing policy.')
        else:
            raise error


def createNetworkPolicy(client):
    """Creates a network policy that matches all collections beginning with tv-"""
    try:
        response = client.create_security_policy(
            description='Network policy for TV collections',
            name='tv-policy',
            policy="""
                [{
                    \"Description\":\"Public access for TV collection\",
                    \"Rules\":[
                        {
                            \"ResourceType\":\"dashboard\",
                            \"Resource\":[\"collection\/tv-*\"]
                        },
                        {
                            \"ResourceType\":\"collection\",
                            \"Resource\":[\"collection\/tv-*\"]
                        }
                    ],
                    \"AllowFromPublic\":true
                }]
                """,
            type='network'
        )
        print('\nNetwork policy created:')
        print(response)
    except botocore.exceptions.ClientError as error:
        if error.response['Error']['Code'] == 'ConflictException':
            print(
                '[ConflictException] A network policy with this name already exists.')
        else:
            raise error


def createAccessPolicy(client):
    """Creates a data access policy that matches all collections beginning with tv-"""
    try:
        response = client.create_access_policy(
            description='Data access policy for TV collections',
            name='tv-policy',
            policy="""
                [{
                    \"Rules\":[
                        {
                            \"Resource\":[
                                \"index\/tv-*\/*\"
                            ],
                            \"Permission\":[
                                \"aoss:CreateIndex\",
                                \"aoss:DeleteIndex\",
                                \"aoss:UpdateIndex\",
                                \"aoss:DescribeIndex\",
                                \"aoss:ReadDocument\",
                                \"aoss:WriteDocument\"
                            ],
                            \"ResourceType\": \"index\"
                        },
                        {
                            \"Resource\":[
                                \"collection\/tv-*\"
                            ],
                            \"Permission\":[
                                \"aoss:CreateCollectionItems\"
                            ],
                            \"ResourceType\": \"collection\"
                        }
                    ],
                    \"Principal\":[
                        \"arn:aws:iam::123456789012:role\/Admin\"
                    ]
                }]
                """,
            type='data'
        )
        print('\nAccess policy created:')
        print(response)
    except botocore.exceptions.ClientError as error:
        if error.response['Error']['Code'] == 'ConflictException':
            print(
                '[ConflictException] An access policy with this name already exists.')
        else:
            raise error


def createCollection(client):
    """Creates a collection"""
    try:
        response = client.create_collection(
            name='tv-sitcoms',
            type='SEARCH'
        )
        return(response)
    except botocore.exceptions.ClientError as error:
        if error.response['Error']['Code'] == 'ConflictException':
            print(
                '[ConflictException] A collection with this name already exists. Try another name.')
        else:
            raise error


def waitForCollectionCreation(client):
    """Waits for the collection to become active"""
    response = client.batch_get_collection(
        names=['tv-sitcoms'])
    # Periodically check collection status
    while (response['collectionDetails'][0]['status']) == 'CREATING':
        print('Creating collection...')
        time.sleep(30)
        response = client.batch_get_collection(
            names=['tv-sitcoms'])
    print('\nCollection successfully created:')
    print(response["collectionDetails"])
    # Extract the collection endpoint from the response
    host = (response['collectionDetails'][0]['collectionEndpoint'])
    final_host = host.replace("https://", "")
    indexData(final_host)


def indexData(host):
    """Create an index and add some sample data"""
    # Build the OpenSearch client
    client = OpenSearch(
        hosts=[{'host': host, 'port': 443}],
        http_auth=awsauth,
        use_ssl=True,
        verify_certs=True,
        connection_class=RequestsHttpConnection,
        timeout=300
    )
    # It can take up to a minute for data access rules to be enforced
    time.sleep(45)

    # Create index
    response = client.indices.create('sitcoms-eighties')
    print('\nCreating index:')
    print(response)

    # Add a document to the index.
    response = client.index(
        index='sitcoms-eighties',
        body={
            'title': 'Seinfeld',
            'creator': 'Larry David',
            'year': 1989
        },
        id='1',
    )
    print('\nDocument added:')
    print(response)


def main():
    createEncryptionPolicy(client)
    createNetworkPolicy(client)
    createAccessPolicy(client)
    createCollection(client)
    waitForCollectionCreation(client)


if __name__ == "__main__":
    main()
```

## JavaScript
<a name="serverless-sdk-javascript"></a>

El siguiente script de ejemplo utiliza el [SDK de Node.js](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-opensearchserverless/), así como el cliente [opensearch-js](https://www.npmjs.com/package/@opensearch-project/opensearch) JavaScript, para crear políticas de cifrado, redes y acceso a los datos, crear una colección coincidente, crear un índice e indexar algunos datos de ejemplo. JavaScript 

Ejecute los siguientes comandos para asegurarse de que dispone de todas las dependencias necesarias:

```
npm i aws-sdk
npm i aws4
npm i @opensearch-project/opensearch
```

En el script, reemplace `Principal` por el nombre de recurso de Amazon (ARN) del usuario o rol que firma la solicitud. También puede modificar opcionalmente el archivo `region`.

```
var AWS = require('aws-sdk');
var aws4 = require('aws4');
var {
    Client,
    Connection
} = require("@opensearch-project/opensearch");
var {
    OpenSearchServerlessClient,
    CreateSecurityPolicyCommand,
    CreateAccessPolicyCommand,
    CreateCollectionCommand,
    BatchGetCollectionCommand
} = require("@aws-sdk/client-opensearchserverless");
var client = new OpenSearchServerlessClient();

async function execute() {
    await createEncryptionPolicy(client)
    await createNetworkPolicy(client)
    await createAccessPolicy(client)
    await createCollection(client)
    await waitForCollectionCreation(client)
}

async function createEncryptionPolicy(client) {
    // Creates an encryption policy that matches all collections beginning with 'tv-'
    try {
        var command = new CreateSecurityPolicyCommand({
            description: 'Encryption policy for TV collections',
            name: 'tv-policy',
            type: 'encryption',
            policy: " \
        { \
            \"Rules\":[ \
                { \
                    \"ResourceType\":\"collection\", \
                    \"Resource\":[ \
                        \"collection\/tv-*\" \
                    ] \
                } \
            ], \
            \"AWSOwnedKey\":true \
        }"
        });
        const response = await client.send(command);
        console.log("Encryption policy created:");
        console.log(response['securityPolicyDetail']);
    } catch (error) {
        if (error.name === 'ConflictException') {
            console.log('[ConflictException] The policy name or rules conflict with an existing policy.');
        } else
            console.error(error);
    };
}

async function createNetworkPolicy(client) {
    // Creates a network policy that matches all collections beginning with 'tv-'
    try {
        var command = new CreateSecurityPolicyCommand({
            description: 'Network policy for TV collections',
            name: 'tv-policy',
            type: 'network',
            policy: " \
            [{ \
                \"Description\":\"Public access for television collection\", \
                \"Rules\":[ \
                    { \
                        \"ResourceType\":\"dashboard\", \
                        \"Resource\":[\"collection\/tv-*\"] \
                    }, \
                    { \
                        \"ResourceType\":\"collection\", \
                        \"Resource\":[\"collection\/tv-*\"] \
                    } \
                ], \
                \"AllowFromPublic\":true \
            }]"
        });
        const response = await client.send(command);
        console.log("Network policy created:");
        console.log(response['securityPolicyDetail']);
    } catch (error) {
        if (error.name === 'ConflictException') {
            console.log('[ConflictException] A network policy with that name already exists.');
        } else
            console.error(error);
    };
}

async function createAccessPolicy(client) {
    // Creates a data access policy that matches all collections beginning with 'tv-'
    try {
        var command = new CreateAccessPolicyCommand({
            description: 'Data access policy for TV collections',
            name: 'tv-policy',
            type: 'data',
            policy: " \
            [{ \
                \"Rules\":[ \
                    { \
                        \"Resource\":[ \
                            \"index\/tv-*\/*\" \
                        ], \
                        \"Permission\":[ \
                            \"aoss:CreateIndex\", \
                            \"aoss:DeleteIndex\", \
                            \"aoss:UpdateIndex\", \
                            \"aoss:DescribeIndex\", \
                            \"aoss:ReadDocument\", \
                            \"aoss:WriteDocument\" \
                        ], \
                        \"ResourceType\": \"index\" \
                    }, \
                    { \
                        \"Resource\":[ \
                            \"collection\/tv-*\" \
                        ], \
                        \"Permission\":[ \
                            \"aoss:CreateCollectionItems\" \
                        ], \
                        \"ResourceType\": \"collection\" \
                    } \
                ], \
                \"Principal\":[ \
                    \"arn:aws:iam::123456789012:role\/Admin\" \
                ] \
            }]"
        });
        const response = await client.send(command);
        console.log("Access policy created:");
        console.log(response['accessPolicyDetail']);
    } catch (error) {
        if (error.name === 'ConflictException') {
            console.log('[ConflictException] An access policy with that name already exists.');
        } else
            console.error(error);
    };
}

async function createCollection(client) {
    // Creates a collection to hold TV sitcoms indexes
    try {
        var command = new CreateCollectionCommand({
            name: 'tv-sitcoms',
            type: 'SEARCH'
        });
        const response = await client.send(command);
        return (response)
    } catch (error) {
        if (error.name === 'ConflictException') {
            console.log('[ConflictException] A collection with this name already exists. Try another name.');
        } else
            console.error(error);
    };
}

async function waitForCollectionCreation(client) {
    // Waits for the collection to become active
    try {
        var command = new BatchGetCollectionCommand({
            names: ['tv-sitcoms']
        });
        var response = await client.send(command);
        while (response.collectionDetails[0]['status'] == 'CREATING') {
            console.log('Creating collection...')
            await sleep(30000) // Wait for 30 seconds, then check the status again
            function sleep(ms) {
                return new Promise((resolve) => {
                    setTimeout(resolve, ms);
                });
            }
            var response = await client.send(command);
        }
        console.log('Collection successfully created:');
        console.log(response['collectionDetails']);
        // Extract the collection endpoint from the response
        var host = (response.collectionDetails[0]['collectionEndpoint'])
        // Pass collection endpoint to index document request
        indexDocument(host)
    } catch (error) {
        console.error(error);
    };
}

async function indexDocument(host) {

    var client = new Client({
        node: host,
        Connection: class extends Connection {
            buildRequestObject(params) {
                var request = super.buildRequestObject(params)
                request.service = 'aoss';
                request.region = 'us-east-1'; // e.g. us-east-1
                var body = request.body;
                request.body = undefined;
                delete request.headers['content-length'];
                request.headers['x-amz-content-sha256'] = 'UNSIGNED-PAYLOAD';
                request = aws4.sign(request, AWS.config.credentials);
                request.body = body;

                return request
            }
        }
    });

    // Create an index
    try {
        var index_name = "sitcoms-eighties";

        var response = await client.indices.create({
            index: index_name
        });

        console.log("Creating index:");
        console.log(response.body);

        // Add a document to the index
        var document = "{ \"title\": \"Seinfeld\", \"creator\": \"Larry David\", \"year\": \"1989\" }\n";

        var response = await client.index({
            index: index_name,
            body: document
        });

        console.log("Adding document:");
        console.log(response.body);
    } catch (error) {
        console.error(error);
    };
}

execute()
```

# Uso CloudFormation para crear colecciones de Amazon OpenSearch Serverless
<a name="serverless-cfn"></a>

Puede utilizarlos CloudFormation para crear recursos de Amazon OpenSearch Serverless, como colecciones, políticas de seguridad y puntos de enlace de VPC. Para obtener una CloudFormation referencia completa sobre OpenSearch Serverless, consulte [Amazon OpenSearch Serverless](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_OpenSearchServerless.html) en la Guía del *CloudFormation usuario*.

La siguiente CloudFormation plantilla de ejemplo crea una política sencilla de acceso a los datos, una política de red y una política de seguridad, así como una colección coincidente. Es una buena forma de empezar a utilizar Amazon OpenSearch Serverless rápidamente y de aprovisionar los elementos necesarios para crear y usar una colección.

**importante**  
En este ejemplo, se utiliza el acceso a la red pública, que no se recomienda para las cargas de trabajo de producción. Recomendamos usar el acceso de VPC para proteger tus colecciones. Para obtener más información, consulte [AWS::OpenSearchServerless::VpcEndpoint](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html) y [Acceso al plano de datos a través de AWS PrivateLink](serverless-vpc.md).

```
AWSTemplateFormatVersion: 2010-09-09
Description: 'Amazon OpenSearch Serverless template to create an IAM user, encryption policy, data access policy and collection'
Resources:
  IAMUSer:
    Type: 'AWS::IAM::User'
    Properties:
      UserName:  aossadmin
  DataAccessPolicy:
    Type: 'AWS::OpenSearchServerless::AccessPolicy'
    Properties:
      Name: quickstart-access-policy
      Type: data
      Description: Access policy for quickstart collection
      Policy: !Sub >-
        [{"Description":"Access for cfn user","Rules":[{"ResourceType":"index","Resource":["index/*/*"],"Permission":["aoss:*"]},
        {"ResourceType":"collection","Resource":["collection/quickstart"],"Permission":["aoss:*"]}],
        "Principal":["arn:aws:iam::${AWS::AccountId}:user/aossadmin"]}]
  NetworkPolicy:
    Type: 'AWS::OpenSearchServerless::SecurityPolicy'
    Properties:
      Name: quickstart-network-policy
      Type: network
      Description: Network policy for quickstart collection
      Policy: >-
        [{"Rules":[{"ResourceType":"collection","Resource":["collection/quickstart"]}, {"ResourceType":"dashboard","Resource":["collection/quickstart"]}],"AllowFromPublic":true}]
  EncryptionPolicy:
    Type: 'AWS::OpenSearchServerless::SecurityPolicy'
    Properties:
      Name: quickstart-security-policy
      Type: encryption
      Description: Encryption policy for quickstart collection
      Policy: >-
        {"Rules":[{"ResourceType":"collection","Resource":["collection/quickstart"]}],"AWSOwnedKey":true}
  Collection:
    Type: 'AWS::OpenSearchServerless::Collection'
    Properties:
      Name: quickstart
      Type: TIMESERIES
      Description: Collection to holds timeseries data
    DependsOn: EncryptionPolicy
Outputs:
  IAMUser:
    Value: !Ref IAMUSer
  DashboardURL:
    Value: !GetAtt Collection.DashboardEndpoint
  CollectionARN:
    Value: !GetAtt Collection.Arn
```

# Hacer copias de seguridad de las colecciones mediante instantáneas
<a name="serverless-snapshots"></a>

Las instantáneas son point-in-time copias de seguridad de sus colecciones de Amazon OpenSearch Serverless que proporcionan funciones de recuperación ante desastres. OpenSearch Serverless crea y administra automáticamente las instantáneas de sus colecciones, lo que garantiza la continuidad empresarial y la protección de los datos. Cada instantánea contiene metadatos de índice (ajustes y mapeos de sus índices), metadatos de clúster (plantillas de índice y alias) y datos de índice (todos los documentos y datos almacenados en sus índices).

OpenSearch Serverless ofrece copias de seguridad automáticas cada hora, sin configuración manual, sin gastos de mantenimiento ni costes de almacenamiento adicionales, con una recuperación rápida en caso de pérdida accidental de datos y la posibilidad de restaurar índices específicos a partir de una instantánea.

Antes de trabajar con instantáneas, comprenda estas importantes consideraciones. La creación de una instantánea tarda en completarse y no es instantánea. Los documentos nuevos o las actualizaciones que se realicen durante la creación de la instantánea no se incluirán en la instantánea. Solo puede restaurar instantáneas en su colección original y no en una nueva. Cuando se restauran, los índices reciben versiones nuevas UUIDs que difieren de sus versiones originales. La restauración a un índice abierto existente en OpenSearch Serverless sobrescribirá los datos de ese índice siempre que no se proporcione un nuevo nombre de índice o un patrón de prefijo. Esto difiere del comportamiento principal. OpenSearch Solo puede ejecutar una operación de restauración a la vez y no puede iniciar varias operaciones de restauración en la misma colección simultáneamente. Si se intenta restaurar los índices durante una operación de restauración activa, se produce un error en la operación. Durante una operación de restauración, las solicitudes a los índices fallan.

## Permisos necesarios
<a name="serverless-snapshots-permissions"></a>

Para trabajar con instantáneas, configure los siguientes permisos en su política de acceso a datos. Para obtener más información acerca de las políticas de acceso a datos, consulte [Políticas de acceso a datos frente a políticas de IAM](serverless-data-access.md#serverless-data-access-vs-iam).


****  

| Política de acceso a los datos | APIs | 
| --- | --- | 
| Aoss: DescribeSnapshot | AUTOMATIZA /\$1 cat/snapshots/aossOBTENGA \$1/snapshot/aoss-automated/snapshot | 
| aoss: RestoreSnapshot | POST /\$1 /\$1restore snapshot/aoss-automated/snapshot | 
| aoss: DescribeCollectionItems | GET /\$1cat/recovery | 

Puede configurar las políticas mediante los siguientes AWS CLI comandos:

1.  [ create-access-policy](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/create-access-policy.html) 

1.  [ delete-access-policy ](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/delete-access-policy.html) 

1. [ get-access-policy ](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/get-access-policy.html)

1. [ update-access-policy ](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/update-access-policy.html)

Este es un ejemplo de comando CLI para crear una política de acceso. En el comando, sustituya el *example* contenido por su información específica.

```
aws opensearchserverless create-access-policy \
--type data \
--name Example-data-access-policy \
--region aws-region \
--policy '[
  {
    "Rules": [
      {
        "Resource": [
          "collection/Example-collection"
        ],
        "Permission": [
          "aoss:DescribeSnapshot",
          "aoss:RestoreSnapshot",
          "aoss:DescribeCollectionItems"
        ],
        "ResourceType": "collection"
      }
    ],
    "Principal": [
      "arn:aws:iam::111122223333:user/UserName"
    ],
    "Description": "Data policy to support snapshot operations."
  }
]'
```

## Uso de instantáneas
<a name="serverless-snapshots-working-with"></a>

De forma predeterminada, al crear una nueva colección, OpenSearch Serverless crea instantáneas automáticamente cada hora. No es necesario realizar ninguna acción. Cada instantánea incluye todos los índices de la colección. Una vez que OpenSearch Serverless haya creado las instantáneas, puede enumerarlas y revisar los detalles de la instantánea mediante los siguientes procedimientos.

### Enumere las instantáneas
<a name="serverless-snapshots-listing"></a>

Utilice los siguientes procedimientos para enumerar todas las instantáneas de una colección y revisar sus detalles.

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

1. Abre la consola OpenSearch de Amazon Service en [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. En el panel de navegación izquierdo, selecciona **Serverless** y, a continuación, **Colecciones**.

1. Elige el nombre de tu colección para abrir su página de detalles.

1. Seleccione la pestaña **Instantáneas** para ver todas las instantáneas generadas.

1. Revise la información de las instantáneas, que incluye:
   + **ID de la instantánea**: identificador único de la instantánea
   + **Estado**: estado actual (disponible, en curso)
   + **Hora de creación: momento** en que se tomó la instantánea

------
#### [ AWS CLI ]
+ Utilice el siguiente comando para enumerar todas las instantáneas de una colección.

  ```
  GET /_cat/snapshots/aoss-automated
  ```

  OpenSearch Serverless devuelve una respuesta como la siguiente:

  ```
  id                                 status  start_epoch start_time end_epoch  end_time    duration    indexes successful_shards failed_shards total_shards
  snapshot-ExampleSnapshotID1     SUCCESS 1737964331  07:52:11   1737964382 07:53:02    50.4s       1                                             
  snapshot-ExampleSnapshotID2     SUCCESS 1737967931  08:52:11   1737967979 08:52:59    47.7s       2                                             
  snapshot-ExampleSnapshotID3     SUCCESS 1737971531  09:52:11   1737971581 09:53:01    49.1s       3                                             
  snapshot-ExampleSnapshotID4 IN_PROGRESS 1737975131  10:52:11   -          -            4.8d       3
  ```

------

### Obtenga detalles de la instantánea
<a name="serverless-snapshots-get-details"></a>

Utilice los siguientes procedimientos para recuperar información detallada sobre una instantánea específica.

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

1. Abre la consola OpenSearch de Amazon Service en [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. En el panel de navegación izquierdo, selecciona **Serverless** y, a continuación, **Colecciones**.

1. Elige el nombre de tu colección para abrir su página de detalles.

1. Elija la pestaña **Snapshots (Instantáneas)**.

1. Elija el identificador del trabajo de la instantánea para mostrar información detallada sobre la instantánea, incluidos los metadatos, los índices incluidos y la información de temporización.

------
#### [ AWS CLI ]
+ Utilice el siguiente comando para recuperar información sobre una instantánea. En el comando, sustituya el *example* contenido por su información específica.

  ```
  GET _snapshot/aoss-automated/snapshot/
  ```

  Solicitud de ejemplo:

  ```
  GET _snapshot/aoss-automated/snapshot-ExampleSnapshotID1/
  ```

  Respuesta de ejemplo:

  ```
  {
      "snapshots": [
          {
              "snapshot": "snapshot-ExampleSnapshotID1-5e01-4423-9833Example",
              "uuid": "Example-5e01-4423-9833-9e9eb757Example",
              "version_id": 136327827,
              "version": "2.11.0",
              "remote_store_index_shallow_copy": true,
              "indexes": [
                  "Example-index-0117"
              ],
              "data_streams": [],
              "include_global_state": true,
              "metadata": {},
              "state": "SUCCESS",
              "start_time": "2025-01-27T09:52:11.953Z",
              "start_time_in_millis": 1737971531953,
              "end_time": "2025-01-27T09:53:01.062Z",
              "end_time_in_millis": 1737971581062,
              "duration_in_millis": 49109,
              "failures": [],
              "shards": {
                  "total": 0,
                  "failed": 0,
                  "successful": 0
              }
          }
      ]
  }
  ```

------

La respuesta a la instantánea incluye varios campos clave: `id` proporciona un identificador único para la operación de instantánea, `status` devuelve el estado actual `SUCCESS` o `IN_PROGRESS` `duration` indica el tiempo necesario para completar la operación de instantánea y `indexes` devuelve el número de índices incluidos en la instantánea.

## Restauración a partir de una instantánea
<a name="serverless-snapshots-restoring"></a>

Al restaurar a partir de una instantánea, se recuperan los datos de una copia de seguridad realizada anteriormente. Este proceso es crucial para la recuperación ante desastres y la administración de datos en OpenSearch Serverless. Antes de realizar la restauración, tenga en cuenta que los índices restaurados tendrán versiones diferentes UUIDs a las originales; la restauración a un índice abierto existente en OpenSearch Serverless sobrescribirá los datos de ese índice siempre que no se proporcione un nuevo nombre de índice o un patrón de prefijo; las instantáneas solo se pueden restaurar a su colección original (no se admite la restauración cruzada de colecciones); además, las operaciones de restauración afectarán al rendimiento del clúster, así que planifique en consecuencia.

Utilice los siguientes procedimientos para restaurar los índices respaldados a partir de una instantánea.

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

1. Abre la consola OpenSearch de Amazon Service en [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. En el panel de navegación izquierdo, selecciona **Serverless** y, a continuación, **Colecciones**.

1. Elige el nombre de tu colección para abrir su página de detalles.

1. Selecciona la pestaña **Instantáneas** para ver las instantáneas disponibles.

1. Elija la instantánea desde la que desee realizar la restauración y, a continuación, seleccione **Restaurar a partir de** una instantánea.

1. En el cuadro de diálogo **Restaurar a partir de una instantánea**:
   + En el **nombre de la instantánea**, compruebe el ID de la instantánea seleccionada.
   + Para el **ámbito de la instantánea**, elija una de las siguientes opciones:
     + **Todos los índices de la colección**: restaure todos los índices de la instantánea
     + **Índices específicos: seleccione los índices** individuales que desee restaurar
   + En **Destination**, selecciona la colección en la que deseas realizar la restauración.
   + (Opcional) Configure los **ajustes de cambio de nombre** para cambiar el nombre de los índices restaurados:
     + **No cambie el nombre**: conserve los nombres de los índices originales
     + **Añadir un prefijo a los nombres de índice restaurados**: añada un prefijo para evitar conflictos
     + **Cambie el nombre mediante una expresión regular**: utilice patrones de cambio de nombre avanzados
   + (Opcional) Configure los ajustes de **notificación** para que se le notifique cuando la restauración se complete o detecte errores.

1. Seleccione **Guardar** para iniciar la operación de restauración.

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

1. Ejecute el siguiente comando para identificar la instantánea adecuada.

   ```
   GET /_snapshot/aoss-automated/_all
   ```

   Para obtener una lista de instantáneas más pequeña, ejecute el siguiente comando.

   ```
   GET /_cat/snapshots/aoss-automated
   ```

1. Ejecute el siguiente comando para verificar los detalles de la instantánea antes de restaurar. En el comando, sustituya el *example* contenido por su información específica.

   ```
   GET _snapshot/aoss-automated/snapshot-ExampleSnapshotID1/
   ```

1. Ejecute el siguiente comando para restaurar a partir de una instantánea específica.

   ```
   POST /_snapshot/aoss-automated/snapshot-ID/_restore
   ```

   Puede personalizar la operación de restauración incluyendo el cuerpo de la solicitud. A continuación se muestra un ejemplo.

   ```
   POST /_snapshot/aoss-automated/snapshot-ExampleSnapshotID1-5e01-4423-9833Example/_restore
   {
     "indices": "opensearch-dashboards*,my-index*",
     "ignore_unavailable": true,
     "include_global_state": false,
     "include_aliases": false,
     "rename_pattern": "opensearch-dashboards(.+)",
     "rename_replacement": "restored-opensearch-dashboards$1"
   }
   ```

1. Ejecute el siguiente comando para ver el progreso de la restauración.

   ```
   GET /_cat/recovery
   ```

------

**nota**  
Al restaurar una instantánea con un comando que incluye el cuerpo de la solicitud, puede usar varios parámetros para controlar el comportamiento de la restauración. El `indices` parámetro especifica qué índices se van a restaurar y admite patrones comodín. Configúrelo `ignore_unavailable` para continuar con la operación de restauración incluso si falta un índice en la instantánea. Se utiliza `include_global_state` para determinar si se debe restaurar el estado del clúster y `include_aliases` para controlar si se restauran los alias asociados. Los `rename_replacement` parámetros `rename_pattern` y cambian el nombre de los índices durante la operación de restauración.

# Soporte de códecs Zstandard en Amazon Serverless OpenSearch
<a name="serverless-zstd-compression"></a>

Los códecs de índice determinan cómo se comprimen y almacenan los campos almacenados de un índice en el disco y en S3. El códec de índice se controla mediante la `index.codec` configuración estática que especifica el algoritmo de compresión. Esta configuración afecta tanto al tamaño del fragmento del índice como al rendimiento de la operación del índice.

De forma predeterminada, los índices de OpenSearch Serverless utilizan el códec predeterminado con el algoritmo de compresión. LZ4 OpenSearch Serverless también admite `zstd` `zstd_no_dict` códecs con niveles de compresión configurables del 1 al 6.

**importante**  
Como `index.codec` es una configuración estática, no se puede cambiar después de la creación del índice.

Para obtener más información, consulte la documentación de los [códecs OpenSearch indexados](https://opensearch.org/docs/latest/im-plugin/index-codecs/).

## Creación de un índice con el códec ZSTD
<a name="serverless-zstd-create-index"></a>

Puede especificar el códec ZSTD durante la creación del índice mediante la configuración: `index.codec`

```
PUT /your_index
{
  "settings": {
    "index.codec": "zstd"
  }
}
```

## Niveles de compresión
<a name="serverless-zstd-compression-levels"></a>

Los códecs ZSTD admiten niveles de compresión opcionales mediante la `index.codec.compression_level` configuración y aceptan números enteros en el rango [1, 6]. Los niveles de compresión más altos dan como resultado mejores relaciones de compresión (almacenamiento más pequeño) pero velocidades de compresión y descompresión más lentas. El nivel de compresión predeterminado es 3.

```
PUT /your_index
{
  "settings": {
    "index.codec": "zstd",
    "index.codec.compression_level": 2
  }
}
```

## Análisis comparativo de rendimiento
<a name="serverless-zstd-performance"></a>

Según las pruebas comparativas realizadas con el conjunto de datos nyc\$1taxi, la compresión ZSTD logró una compresión entre un 26 y un 32% mejor en comparación con la línea base en diferentes combinaciones de niveles de compresión `zstd` y, `zstd_no_dict`


| Métrica | ZSTD L1 | ZSTD L6 | ZSTD\$1NO\$1DICT L1 | ZSTD\$1NO\$1DICT L6 | 
| --- | --- | --- | --- | --- | 
| Reducción del tamaño del índice | 28,10% | 32% | 26,90% | 28,70% | 
| Cambio en el rendimiento de indexación | -0,50% | -23,80% | -0,50% | -5,30% | 
| Mejora de la latencia de Match-all Query p90 | -16,40% | 29,50% | -16,40% | 23,40% | 
| Mejora de la latencia de Range Query p90 | 90,90% | 92,40% | -282,90% | 92,50% | 
| Mejora de la latencia Agg de la cantidad de distancia p90 | 2% | 24,70% | 2% | 13,80% | 

Para obtener más información, consulte el [AWS OpenSearch blog](https://aws.amazon.com/blogs/big-data/optimize-storage-costs-in-amazon-opensearch-service-using-zstandard-compression/).

# Ahorre almacenamiento mediante el uso de una fuente derivada
<a name="serverless-derived-source"></a>

De forma predeterminada, OpenSearch Serverless almacena cada documento ingerido en el `_source` campo, que contiene el cuerpo del documento JSON original, e indexa los campos individuales para su búsqueda. Si bien el `_source` campo no se puede buscar, se conserva para poder devolver el documento completo al ejecutar solicitudes de recuperación, como get y search. Cuando la fuente derivada está habilitada, OpenSearch Serverless omite el almacenamiento del `_source` campo y, en su lugar, lo reconstruye dinámicamente bajo demanda, por ejemplo, durante las operaciones de búsqueda, obtención, mget, reindexación o actualización. El uso de la configuración de fuente derivada puede reducir el uso del almacenamiento hasta en un 50%.

## Configuración
<a name="serverless-derived-source-config"></a>

Para configurar la fuente derivada para su índice, cree el índice con la siguiente `index.derived_source.enabled` configuración:

```
PUT my-index1
{
  "settings": {
    "index": {
      "derived_source": {
        "enabled": true
      }
    }
  }
}
```

## Consideraciones importantes
<a name="serverless-derived-source-considerations"></a>
+ Solo se admiten ciertos tipos de campos. Para obtener una lista de los campos y limitaciones admitidos, consulta la [OpenSearch documentación](https://docs.opensearch.org/latest/mappings/metadata-fields/source/#supported-fields-and-parameters). Si crea un índice con una fuente derivada y un campo no compatible, no se podrá crear el índice. Si intenta ingerir un documento con un campo no compatible en un índice con código fuente derivado activado, la ingestión fallará. Utilice esta función solo cuando conozca los tipos de campos que se agregarán al índice.
+ La configuración `index.derived_source.enabled` es estática. Esto no se puede cambiar una vez creado el índice.

## Limitaciones en las respuestas a las consultas
<a name="serverless-derived-source-limitations"></a>

Cuando la fuente derivada está habilitada, se imponen ciertas limitaciones a la forma en que se generan y devuelven las respuestas a las consultas.
+ Los campos de fecha con varios formatos especificados utilizan siempre el primer formato de la lista para todos los documentos solicitados, independientemente del formato original introducido.
+ Los valores de los puntos geográficos se devuelven en un `{"lat": lat_val, "lon": lon_val}` formato fijo y pueden perder algo de precisión.
+ Las matrices con varios valores se pueden ordenar y los campos de palabras clave se pueden deduplicar.

[Para obtener más información, consulte el blog. OpenSearch ](https://opensearch.org/blog/save-up-to-2x-on-storage-with-derived-source/)

## Evaluación comparativa del rendimiento
<a name="serverless-derived-source-performance"></a>

Según las pruebas comparativas realizadas con el conjunto de datos nyc\$1taxi, la fuente derivada logró una reducción del 58% en el tamaño del índice en comparación con el valor inicial.


| Métrica | Fuente derivada | 
| --- | --- | 
| Reducción del tamaño del índice | 58,3% | 
| Cambio en el rendimiento de indexación | 3,7% | 
| Indexando el cambio de latencia del p90 | 6,9% | 
| Mejora de la latencia de Match-all Query p90 | 19% | 
| Mejora de la latencia de Range Query p90 | -18,8% | 
| Mejora de la latencia Agg de la cantidad de distancia p90 | -7,3% | 

Para obtener más información, consulte el [OpenSearch blog](https://opensearch.org/blog/save-up-to-2x-on-storage-with-derived-source/).

# Grupos de recopilación de Amazon OpenSearch Serverless
<a name="serverless-collection-groups"></a>

*Los grupos de colecciones* de Amazon OpenSearch Serverless organizan varias colecciones y permiten compartir recursos de cómputo entre colecciones con diferentes claves de KMS. Este modelo de cómputo compartido reduce los costos al eliminar la necesidad de unidades de OpenSearch cómputo (OCUs) independientes para cada clave de KMS.

Cada colección OpenSearch sin servidor que cree está protegida mediante el cifrado de los datos en reposo, que se utiliza AWS KMS para almacenar y administrar las claves de cifrado. Las colecciones del mismo grupo de colecciones comparten los recursos informáticos y el espacio de memoria de la OCU, incluso cuando utilizan claves KMS diferentes para el cifrado.

Los grupos de colecciones proporcionan aislamiento para cumplir con los requisitos de seguridad y rendimiento. Puede agrupar las colecciones con la misma clave de KMS en un único grupo de recopilación para aislarlas por motivos de seguridad, o bien combinar las colecciones con diferentes claves de KMS en el mismo grupo para optimizar los costes. Esta flexibilidad le permite equilibrar los requisitos de seguridad con la eficiencia de los recursos.

Al añadir una colección a un grupo de colecciones, OpenSearch Serverless la asigna a los recursos informáticos compartidos del grupo. El sistema administra automáticamente la distribución de las cargas de trabajo entre estos recursos y, al mismo tiempo, mantiene la seguridad al cifrar los datos de cada colección con la clave KMS designada. Los controles de acceso siguen aplicándose a nivel de recopilación, y los recursos informáticos compartidos acceden a varias claves de KMS según sea necesario para atender las colecciones del grupo.

La asignación de recursos se controla mediante el establecimiento de límites mínimos y máximos de OCU a nivel de grupo de recopilación. Estos límites se aplican a todas las colecciones del grupo y le ayudan a gestionar los costes y, al mismo tiempo, a garantizar un rendimiento uniforme.

De forma predeterminada, hay una cuota de servicio (límite) para el número de colecciones de un grupo de colecciones, el número de índices de una colección y el número de colecciones de OCUs un grupo de colecciones. Para obtener más información, consulte Cuotas [OpenSearch sin servidor](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-limits-serverless).

## Conceptos clave
<a name="collection-groups-concepts"></a>

Grupo de recopilación  
 AWS Recurso que actúa como contenedor de una o más colecciones. Cada grupo de colecciones tiene un identificador único y puede tener sus propios límites de capacidad y ajustes de configuración.

Computación compartida  
Las colecciones del mismo grupo de colecciones comparten el mismo conjunto de OCUs, independientemente de las claves de KMS que utilicen. Este uso compartido reduce los costos al eliminar la necesidad de recursos de cómputo independientes para cada clave de KMS.

Límites de capacidad  
Puede establecer límites de OCU mínimos y máximos para las operaciones de indexación y búsqueda a nivel de grupo de recopilación. Estos límites ayudan a controlar los costes y a garantizar un rendimiento uniforme.

# Límites de capacidad de los grupos de recolección
<a name="collection-groups-capacity-limits"></a>

Los grupos de recolección proporcionan un control detallado sobre la asignación de recursos mediante límites mínimos y máximos de OCU. Estos límites se aplican a todas las colecciones del grupo y funcionan independientemente de la configuración de capacidad a nivel de cuenta.

De forma predeterminada, hay una cuota de servicio (límite) para el número de colecciones de un grupo de colecciones, el número de índices de una colección y el número de colecciones de un grupo OCUs de colecciones. Para obtener más información, consulte Cuotas [OpenSearch sin servidor](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-limits-serverless).

## Descripción de los límites de capacidad de los grupos de recopilación
<a name="collection-groups-capacity-overview"></a>

Puede configurar los límites mínimos y máximos de OCU para las operaciones de indexación y búsqueda a nivel de grupo de colecciones. Estos límites controlan la forma en que OpenSearch Serverless escala los recursos de las colecciones del grupo:
+ **OCU mínima**: la cantidad mínima OCUs que OpenSearch Serverless mantiene para el grupo de recopilación, lo que garantiza un rendimiento de referencia uniforme.
  + Si la carga de trabajo requiere menos OCU que el valor mínimo especificado, OpenSearch Serverless seguirá manteniendo el valor mínimo especificado de OCU y la facturación reflejará lo mismo.
  + Si la carga de trabajo requiere un número de OCU superior al valor mínimo especificado, OpenSearch Serverless mantendrá el nivel de OCU necesario para la carga de trabajo y la facturación reflejará la mayor utilización de las OCU.
+ **OCU máxima**: la cantidad máxima de unidades OpenSearch sin servidor OCUs que pueden ampliarse para el grupo de recolección, lo que le ayuda a controlar los costos.

Los límites de capacidad de los grupos de cobranza están disociados de los límites a nivel de cuenta. La configuración máxima de OCU a nivel de cuenta se aplica solo a las colecciones que no están asociadas a ningún grupo de colecciones, mientras que la configuración máxima de OCU por grupo de colecciones se aplica a las colecciones de ese grupo específico.

## Valores límite de capacidad válidos
<a name="collection-groups-capacity-values"></a>

Al establecer los límites mínimos y máximos de OCU para un grupo de recopilación, solo puede usar valores del siguiente conjunto: 1, 2, 4, 8, 16 y múltiplos de 16 (por ejemplo, 32, 48, 64, 80, 96) hasta un máximo de 1696. OCUs

Los límites mínimos y máximos de OCU son opcionales al crear un grupo de recopilación. Si no especificas un límite máximo de OCU, OpenSearch Serverless utiliza un valor predeterminado de 96. OCUs

El límite mínimo de OCU debe ser inferior o igual al límite máximo de OCU.

## Comprender la relación entre los límites de OCU a nivel de cuenta y de grupo de cobranza
<a name="collection-groups-capacity-relationship"></a>

Al planificar su capacidad OpenSearch sin servidor, es importante entender cómo interactúan los límites de las OCU a nivel de cuenta y los límites de las OCU de los grupos de cobranza. La suma de la configuración máxima de OCU en todos los grupos de recopilación más la configuración máxima de OCU a nivel de cuenta debe ser inferior o igual al límite de la cuota de servicio por cuenta. Para ver los valores límite actuales, consulte Cuotas [OpenSearch sin servidor](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-limits-serverless).

**nota**  
La configuración máxima de OCU a nivel de cuenta solo se aplica a las colecciones que no están asociadas a ningún grupo de colecciones. Los cobros dentro de los grupos de cobranza se rigen por sus respectivos límites de grupo de cobranza, no por los límites a nivel de cuenta.

Esta restricción se aplica tanto a la indexación como a la búsqueda de forma independiente. OCUs Por ejemplo, si configura los ajustes a nivel de cuenta y los grupos de recopilación, debe asegurarse de que el total no supere el límite de la cuota de servicio para la indexación y, por separado, no OCUs supere el límite de la cuota de servicio para la búsqueda. OCUs Además, puede crear un máximo de 300 grupos de recopilación por cuenta.

**Ejemplo: planificar la capacidad con límites a nivel de cuenta y de grupo de cobranza**  
Si estableces la OCU máxima de búsqueda a nivel de cuenta en 500 y el límite de cuota de servicio es de 1700:
+ Y cree 2 grupos de recopilación, la suma de la OCU máxima para los 2 grupos de recopilación no debe ser superior a 1200 (1700 - 500)
+ Puede dejar cada grupo de colecciones en la OCU máxima predeterminada de 96 (96 \$1 96 \$1 500 = 692), dejando espacio para un futuro crecimiento.
+ O puede aumentar el máximo de cada grupo de recolección a 600 (600 \$1 600 \$1 500 = 1700), utilizando toda la capacidad permitida por la cuota de servicio

Esta relación es fundamental para la planificación de la capacidad. Antes de crear nuevos grupos de recopilación o aumentar los límites máximos de la OCU, compruebe que la asignación total no supere el límite de la cuota de servicio. Si alcanza este límite, debe reducir la configuración máxima de OCU en los grupos de cobranza existentes o disminuir la configuración máxima de OCU a nivel de cuenta para dejar espacio para nuevas asignaciones.

## Configuración de los límites de capacidad
<a name="collection-groups-capacity-configure"></a>

Puede establecer límites de capacidad al crear un grupo de recopilación o actualizarlos más adelante. Para configurar los límites de AWS CLI capacidad mediante los [UpdateCollectionGroup](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateCollectionGroup.html)comandos [CreateCollectionGroup](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateCollectionGroup.html)o:

```
aws opensearchserverless create-collection-group \
    --name my-collection-group \
    --capacity-limits maxIndexingCapacityInOCU=32,maxSearchCapacityInOCU=32,minIndexingCapacityInOCU=4,minSearchCapacityInOCU=4
```

Para actualizar los límites de capacidad de un grupo de recopilación existente:

```
aws opensearchserverless update-collection-group \
    --id abcdef123456 \
    --capacity-limits maxIndexingCapacityInOCU=48,maxSearchCapacityInOCU=48,minIndexingCapacityInOCU=8,minSearchCapacityInOCU=8
```

## Supervisión de la capacidad de un grupo de recopilación
<a name="collection-groups-capacity-monitoring"></a>

OpenSearch Serverless emite las siguientes métricas de Amazon CloudWatch Logs a intervalos de un minuto para ayudarle a supervisar los límites de uso y capacidad de la OCU a nivel de grupo de recopilación:
+ `IndexingOCU`— El número de indexación que utiliza OCUs actualmente el grupo de recopilación.
+ `SearchOCU`— El número de búsquedas que utiliza OCUs actualmente el grupo de colecciones.

OpenSearch Serverless también emite métricas de OCU a nivel de cuenta para las colecciones que no están asociadas a ningún grupo de colecciones. Puede agregar estas métricas CloudWatch para visualizar la suma de OCUs todos los grupos de cobros y cobros a nivel de cuenta.

Configure alarmas para que le notifiquen cuando su grupo de recolección se acerque a sus límites de capacidad para que pueda ajustar la configuración según sea necesario. Para obtener más información sobre las métricas de OpenSearch Serverless, consulte[Supervisión de Amazon OpenSearch Serverless](serverless-monitoring.md).

## Cómo se aplican los límites de capacidad
<a name="collection-groups-capacity-enforcement"></a>

OpenSearch Serverless impone los límites de capacidad de los grupos de recopilación durante las operaciones de escalado. Cuando sus colecciones necesitan recursos adicionales, OpenSearch Serverless se amplía hasta el límite máximo de OCU. Cuando la demanda disminuye, OpenSearch Serverless se reduce pero mantiene al menos el límite mínimo de OCU para garantizar un rendimiento uniforme.

Los límites de capacidad se aplican solo cuando el grupo de recopilación contiene al menos una colección. Los grupos de recolección vacíos no consumen OCUs ni imponen límites de capacidad.

Si una operación de escalado supera el límite máximo de OCU o infringe el requisito mínimo de OCU, OpenSearch Serverless rechaza la operación para mantener el cumplimiento de los límites configurados.

# Claves de cifrado y KMS en grupos de recopilación
<a name="collection-groups-kms-keys"></a>

Cada colección OpenSearch sin servidor que cree está protegida mediante el cifrado de los datos en reposo, que se utiliza AWS KMS para almacenar y administrar sus claves de cifrado. Al trabajar con grupos de colecciones, tiene flexibilidad a la hora de especificar la clave KMS para sus colecciones.

Puede proporcionar la clave KMS asociada a una colección de dos maneras:
+ **En la CreateCollection solicitud**: especifique la clave de KMS directamente al crear la colección mediante el `encryption-config` parámetro.
+ **En las políticas de seguridad**: defina la asociación de claves KMS en una política de seguridad de cifrado.

Al especificar una clave de KMS en ambas ubicaciones, la clave de KMS proporcionada en la CreateCollection solicitud tiene prioridad sobre la configuración de la política de seguridad.

Esta flexibilidad simplifica la administración de las colecciones a escala, especialmente cuando se necesitan crear varias colecciones con claves KMS únicas. En lugar de crear y administrar miles de políticas de cifrado, puede especificar la clave KMS directamente durante la creación de la colección.

## Compartir OCUs entre diferentes claves de KMS
<a name="collection-groups-kms-sharing"></a>

Los grupos de colecciones permiten compartir recursos de cómputo entre colecciones con diferentes claves de KMS. Las colecciones del mismo grupo de colecciones comparten el espacio de memoria de la OCU, independientemente de sus claves de cifrado. Este modelo de procesamiento compartido reduce los costos al eliminar la necesidad de separar OCUs cada clave KMS.

Los grupos de recopilación proporcionan aislamiento para cumplir con los requisitos de seguridad y rendimiento. Puede agrupar las colecciones con la misma clave de KMS en un único grupo de recopilación para aislarlas por motivos de seguridad, o bien combinar las colecciones con diferentes claves de KMS en el mismo grupo para optimizar los costes. Esta flexibilidad le permite equilibrar los requisitos de seguridad con la eficiencia de los recursos.

El sistema mantiene la seguridad al cifrar los datos de cada colección con la clave KMS designada. Los controles de acceso siguen aplicándose a nivel de recopilación y los recursos informáticos compartidos acceden a varias claves de KMS según sea necesario para atender las recopilaciones del grupo.

## Permisos de KMS necesarios
<a name="collection-groups-kms-permissions"></a>

Cuando especificas una clave KMS en la CreateCollection solicitud, necesitas los siguientes permisos adicionales:
+ `kms:DescribeKey`— Permite a OpenSearch Serverless recuperar información sobre la clave KMS.
+ `kms:CreateGrant`— Permite a OpenSearch Serverless crear una concesión para la clave KMS a fin de habilitar las operaciones de cifrado.

Estos permisos no son necesarios cuando se utilizan claves AWS propias.

# Crea grupos de recopilación
<a name="serverless-collection-groups-procedures"></a>

En este tema se describe cómo crear, configurar y administrar grupos de colecciones en Amazon OpenSearch Serverless. Utilice los grupos de colecciones para organizar las colecciones y compartir los recursos de cómputo a fin de optimizar los costos. Establezca límites mínimos y máximos de OCU a nivel de grupo de recopilación para controlar el rendimiento y los gastos.

## Cree un grupo de recolección
<a name="collection-groups-create"></a>

Utilice los siguientes procedimientos para crear un nuevo grupo de recopilación y configurar sus ajustes. Cree un grupo de colecciones mediante la consola OpenSearch Serverless o la AWS SDKs . AWS CLI Al crear un grupo de recopilación, se especifican los límites de capacidad y otras opciones de configuración.

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

1. Abre la consola OpenSearch de Amazon Service en [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. En el panel de navegación izquierdo, selecciona **Serverless** y, a continuación, selecciona Grupos **de colección**

1. Selecciona **Crear grupo de colecciones**.

1. En **Nombre del grupo de colecciones**, introduce un nombre para tu grupo de colecciones. El nombre debe tener entre 3 y 32 caracteres, empezar con una letra minúscula y contener únicamente letras minúsculas, números y guiones.

1. (Opcional) En **Descripción, introduce una descripción para tu** grupo de colección.

1. En la sección **Administración de la capacidad**, configure los límites de la OCU:
   + **Capacidad máxima de indexación**: la cantidad máxima de indexación a la OCUs que pueden ampliarse las colecciones de este grupo.
   + **Capacidad máxima de búsqueda**: el número máximo de búsquedas al OCUs que pueden ampliarse las colecciones de este grupo.
   + **Capacidad mínima de indexación**: la cantidad mínima de indexación que se debe mantener OCUs para lograr un rendimiento uniforme.
   + **Capacidad mínima de búsqueda**: la cantidad mínima de búsquedas que se deben mantener OCUs para lograr un rendimiento uniforme.

1. (Opcional) En la sección **Etiquetas**, añade etiquetas para ayudar a organizar e identificar tu grupo de recopilación.

1. Selecciona **Crear grupo de colecciones**.

------
#### [ AWS CLI ]
+ Utilice el [create-collection-group](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/create-collection-group.html)comando para crear un nuevo grupo de colecciones. En el comando, sustituya el *example* contenido por su propia información específica.

  ```
  aws opensearchserverless create-collection-group \
      --name my-collection-group \
      --description "Collection group for production workloads" \
      --capacity-limits maxIndexingCapacityInOCU=20,maxSearchCapacityInOCU=20,minIndexingCapacityInOCU=2,minSearchCapacityInOCU=2 \
      --tags key=Environment,value=Production key=Team,value=DataEngineering
  ```

  El comando devuelve detalles sobre el grupo de colecciones creado, incluidos su identificador único y su ARN.

------

## Agrega una colección nueva a un grupo de colecciones
<a name="create-collection-in-group"></a>

Al crear una nueva colección, especifique el nombre de un grupo de colecciones existente al que asociar la colección. Utilice los siguientes procedimientos para añadir una nueva colección a un grupo de colecciones. 

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

1. Abre la consola OpenSearch de Amazon Service en [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. **En el panel de navegación izquierdo, selecciona **Serverless** y, a continuación, Colecciones**

1. Seleccione **Crear colección**.

1. En **Nombre de colección**, ingresa un nombre para tu colección. El nombre debe tener entre 3 y 28 caracteres, empezar con una letra minúscula y contener únicamente letras minúsculas, números y guiones.

1. (Opcional) En Descripción, introduce una **descripción para tu** colección.

1. En la sección **Grupo de colecciones**, seleccione el grupo de colecciones al que desea que se asigne la colección. Una colección solo puede pertenecer a un grupo de colecciones a la vez.

   (Opcional) También puedes elegir **crear un grupo nuevo**. Esto te llevará al flujo de trabajo **Crear un grupo de colecciones**. Cuando termine de crear el grupo de colecciones, vuelva al paso 1 de este procedimiento para empezar a crear la nueva colección.

1. Continúe con el flujo de trabajo para crear la colección.
**importante**  
No te salgas del flujo de trabajo de **creación de colecciones**. Si lo hace, se detendrá la configuración de la colección. La página **de detalles de la colección** aparece una vez finalizada la configuración.

------
#### [ AWS CLI ]
+ Utilice el comando [create-collection](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/create-collection.html) para crear una nueva colección y añadirla a un grupo de colecciones existente. En el comando, sustituya el *example* contenido por su propia información específica.

  ```
  aws opensearchserverless create-collection \
      --name my-collection \
      --type SEARCH \
      --collection-group-name my-collection-group \
      --description "Collection for search workloads"
  ```

------

# Administrar grupos de recopilación de Amazon OpenSearch Serverless
<a name="manage-collection-group"></a>

Tras crear los grupos de colecciones de Amazon OpenSearch Serverless, puede modificar su configuración a medida que cambien sus necesidades. Utilice estas operaciones de administración para actualizar los límites de capacidad y ver los detalles de los grupos de recopilación. Estos cambios le ayudan a optimizar la asignación de recursos y a mantener una organización eficiente de sus colecciones.

## Vea los grupos de colecciones
<a name="view-collection-groups"></a>

Muestre sus grupos de colecciones OpenSearch sin servidor para revisar sus configuraciones, las colecciones asociadas y el estado actual.

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

1. Abre la consola OpenSearch de Amazon Service en [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. **En el panel de navegación izquierdo, selecciona **Serverless** y, a continuación, Colecciones**

1. Seleccione la **pestaña Grupos de colecciones**. Se muestran los grupos de colecciones de tu cuenta.

1.  Elija el **nombre** de un grupo de recopilación para mostrar sus detalles.

------
#### [ AWS CLI ]
+ Utilice el [list-collection-groups](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/list-collection-groups.html)comando para enumerar todos los grupos de colecciones de su cuenta. Utilice el [batch-get-collection-group](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/batch-get-collection-group.html)comando para ver los detalles sobre grupos de recopilación específicos. En los siguientes comandos, sustituya el *example* contenido por su propia información específica.

  Para enumerar todos los grupos de colecciones:

  ```
  aws opensearchserverless list-collection-groups
  ```

  Para obtener detalles sobre grupos de colecciones específicos:

  ```
  aws opensearchserverless batch-get-collection-group \
      --names my-collection-group another-group
  ```

------

## Actualiza la configuración de los grupos de colecciones
<a name="update-collection-group"></a>

Actualice la configuración del grupo de recopilación OpenSearch Serverless para modificar configuraciones como los límites de capacidad y la descripción.

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

1. Abre la consola OpenSearch de Amazon Service en [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. **En el panel de navegación izquierdo, selecciona **Serverless** y, a continuación, Colecciones**

1. Seleccione la **pestaña Grupos de colecciones**. Se muestran los grupos de colecciones de tu cuenta.

1.  Elija el **nombre** de un grupo de recopilación para mostrar sus detalles.

1. En **Detalles del grupo de colecciones**, seleccione **Editar**.

1. Realice los cambios que desee y, a continuación, seleccione **Guardar**.

------
#### [ AWS CLI ]
+ Utilice el [update-collection-group](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/update-collection-group.html)comando para actualizar la descripción y los límites de capacidad de un grupo de recopilación existente. En el siguiente comando, sustituya el *example* contenido por su propia información.

  ```
  aws opensearchserverless update-collection-group \
      --id abcdef123456 \
      --description "Updated description for production workloads" \
      --capacity-limits maxIndexingCapacityInOCU=30,maxSearchCapacityInOCU=30,minIndexingCapacityInOCU=4,minSearchCapacityInOCU=4
  ```

------

Los cambios en los límites de capacidad se aplican inmediatamente y pueden afectar al comportamiento de escalado de las colecciones del grupo.

## Eliminar grupos de colecciones
<a name="delete-collection-group"></a>

Para poder eliminar un grupo de colecciones, primero debe eliminar todas las colecciones del grupo. No puede eliminar un grupo de colecciones que contenga colecciones.

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

1. Abre la consola OpenSearch de Amazon Service en [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. **En el panel de navegación izquierdo, selecciona **Serverless** y, a continuación, Colecciones**

1. Seleccione la **pestaña Grupos de colecciones**. Se muestran los grupos de colecciones de tu cuenta.

1.  Elige el **nombre** del grupo de recopilación que deseas eliminar.
**importante**  
Elimine todas las colecciones del grupo de colecciones actualizando cada colección para eliminar la asociación de grupos de colecciones o moviéndolas a otros grupos de colecciones.

1. En la parte superior de la página, elija **Eliminar**.

1. Confirme la eliminación y, a continuación, seleccione **Eliminar**.

------
#### [ AWS CLI ]
+ Utilice el [delete-collection-group](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/delete-collection-group.html)comando para eliminar un grupo de colecciones.
**importante**  
Elimine todas las colecciones del grupo de colecciones actualizando cada colección para eliminar la asociación del grupo de colecciones o moviéndolas a otros grupos de colecciones.

  En el siguiente comando, sustituya el *example* contenido por su propia información.

  Elimine el grupo de colecciones vacío:

  ```
  aws opensearchserverless delete-collection-group \
      --id abcdef123456
  ```

------

# Administración de los límites de capacidad de Amazon OpenSearch Serverless
<a name="serverless-scaling"></a>

Con Amazon OpenSearch Serverless, no tiene que administrar la capacidad usted mismo. OpenSearch Serverless escala automáticamente la capacidad de cómputo de su cuenta en función de la carga de trabajo actual. La capacidad de cómputo sin servidor se mide en *unidades de OpenSearch cómputo* ()OCUs. Cada OCU es una combinación de 6 GiB de memoria y la CPU virtual (vCPU) correspondiente, así como la transferencia de datos a Amazon S3. Para obtener más información sobre la arquitectura desacoplada de OpenSearch Serverless, consulte. [Funcionamiento](serverless-overview.md#serverless-process)

Al crear la primera colección, OpenSearch Serverless crea instancias en OCUs función de la configuración de redundancia. De forma predeterminada, las réplicas activas redundantes están habilitadas, lo que crea cuatro instancias (dos para la indexación y dos para la OCUs búsqueda). Esto garantiza una alta disponibilidad con los nodos en espera en otra zona de disponibilidad.

Para el desarrollo y las pruebas, puede deshabilitar la configuración **Habilitar redundancia** para una colección. Esto elimina las réplicas en espera y utiliza solo dos OCUs (una para la indexación y otra para la búsqueda).

 OCUs Siempre existen, incluso cuando no hay actividad de indexación o búsqueda. Todas las colecciones posteriores pueden compartirlas OCUs, excepto las colecciones con AWS KMS claves únicas, que crean una instancia de su propio conjunto de claves. OCUs Todas las colecciones asociadas a un grupo de colecciones pueden compartir el mismo conjunto de. OCUs Solo se puede incluir un tipo de colección (búsqueda, serie temporal o búsqueda vectorial) en un único grupo de colecciones. Para obtener más información, consulte [Grupos de recopilación de Amazon OpenSearch Serverless](serverless-collection-groups.md).

OpenSearch Serverless se amplía y agrega automáticamente a OCUs medida que aumenta el uso de la indexación y las búsquedas. Cuando el tráfico disminuye, la capacidad se reduce a la cantidad mínima OCUs requerida para el tamaño de los datos.

En el caso de las recopilaciones de series temporales y de búsqueda, la cantidad OCUs necesaria cuando están inactivas es proporcional al tamaño de los datos y al recuento de índices. En el caso de las colecciones vectoriales, los requisitos de la OCU dependen de la memoria (RAM) para almacenar los gráficos vectoriales y del espacio en disco para almacenar los índices. Cuando no está inactiva, los requisitos de la OCU tienen en cuenta ambos factores.

Las colecciones vectoriales almacenan los datos de índice en el almacenamiento local de la OCU. Los límites de RAM de la OCU se alcanzan más rápido que los límites del disco, lo que restringe las colecciones de vectores por espacio de RAM.

Con la redundancia habilitada, la capacidad de la OCU se reduce a un mínimo de 1 OCU (0,5 OCU x 2) para la indexación y 1 OCU (0,5 OCU x 2) para la búsqueda. Al deshabilitar la redundancia, la colección se puede reducir a 0,5 OCU para la indexación y a 0,5 OCU para la búsqueda.

La escalabilidad también tiene en cuenta la cantidad de particiones necesarias para su colección o índice. Cada OCU admite un número específico de fragmentos, y el número de índices debe ser proporcional al número de fragmentos. La cantidad total de bases OCUs requerida es el máximo de sus requisitos de datos, memoria y partición. Para obtener más información, consulte [las funcionalidades de búsqueda rentables de Amazon OpenSearch Serverless, a cualquier escala](https://aws.amazon.com/blogs/big-data/amazon-opensearch-serverless-cost-effective-search-capabilities-at-any-scale/), en el *blog sobre AWS macrodatos*. 

En el caso de las colecciones de *búsqueda* y de *búsquedas vectoriales*, todos los datos se almacenan en índices calientes para garantizar tiempos de respuesta rápidos a las consultas. Las colecciones de *series temporales* utilizan una combinación de almacenamiento en caliente y templado, lo que almacena los datos más recientes en un almacenamiento en caliente para optimizar los tiempos de respuesta a las consultas para los datos a los que se accede con mayor frecuencia. Para obtener más información, consulte [Elección de un tipo de colección](serverless-overview.md#serverless-usecase). 

**nota**  
Una colección de búsqueda vectorial no se puede compartir OCUs con colecciones de *búsqueda* y *series temporales*, incluso si la colección de búsqueda vectorial utiliza la misma clave KMS que las colecciones de *búsqueda* o *series temporales*. Se creará un nuevo conjunto de OCUs vectores para tu primera colección vectorial. Las colecciones OCUs de vectores se comparten entre las mismas colecciones de claves de KMS.

Para administrar la capacidad de sus colecciones y controlar los costos, puede especificar la capacidad máxima general de indexación y búsqueda para la cuenta corriente y la región, y OpenSearch Serverless amplía los recursos de su colección automáticamente en función de estas especificaciones.

Como la capacidad de indexación y búsqueda se escalan por separado, debe especificar los límites de cuenta para cada una de ellas:
+ **Capacidad máxima de indexación**: OpenSearch Serverless puede aumentar la capacidad de indexación hasta este número de. OCUs
+ **Capacidad máxima de búsqueda**: OpenSearch Serverless puede aumentar la capacidad de búsqueda hasta este número de. OCUs

**nota**  
En este momento, la configuración de capacidad solo se aplica según el nivel de cuenta. No puede configurar los límites de capacidad por colección.

El objetivo debe ser garantizar que la capacidad máxima sea lo bastante alta como para asumir los picos de carga de trabajo. Según su configuración, OpenSearch Serverless reduce automáticamente el número de colecciones OCUs para procesar la carga de trabajo de indexación y búsqueda.

**Topics**
+ [Como establecer los parámetros de capacidad](#serverless-scaling-configure)
+ [Límites de la capacidad máxima](#serverless-scaling-limits)
+ [Monitoreo del uso de la capacidad](#serverless-scaling-monitoring)

## Como establecer los parámetros de capacidad
<a name="serverless-scaling-configure"></a>

**Para configurar los ajustes de capacidad en la consola OpenSearch Serverless, expanda **Serverless** en el panel de navegación izquierdo y seleccione Panel de control.** Especifique la capacidad máxima de indexación y búsqueda en **Administración de capacidades**:

![\[Capacity management dashboard showing indexing and search capacity graphs with 10 OCU limits.\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/images/ServerlessCapacity.png)


Para configurar la capacidad mediante el AWS CLI, envíe una [UpdateAccountSettings](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateAccountSettings.html)solicitud:

```
aws opensearchserverless update-account-settings \
    --capacity-limits '{ "maxIndexingCapacityInOCU": 8,"maxSearchCapacityInOCU": 9 }'
```

## Límites de la capacidad máxima
<a name="serverless-scaling-limits"></a>

El total máximo de índices que puede contener una colección es 1000. Para los tres tipos de recopilaciones, la capacidad máxima predeterminada de la OCU es de 10 OCUs para la indexación y 10 OCUs para la búsqueda. La capacidad mínima de OCU permitida para una cuenta es de 1 OCU [0,5 OCU x 2] para indexación y 1 OCU [0,5 OCU x 2] para búsqueda. Para todas las colecciones, la capacidad máxima permitida es de 1700 para la indexación y de 1700 OCUs para la búsqueda. OCUs Puede configurar el recuento de OCU para que sea cualquier número desde 2 hasta la capacidad máxima permitida, en múltiplos de 2. 

Cada OCU incluye suficiente almacenamiento efímero en caliente para 120 GiB de datos de índice. OpenSearch *Serverless admite hasta 1 TiB de datos por índice *en* las colecciones de búsqueda *y búsqueda vectorial*, y 100 TiB de datos importantes por índice en una colección de series temporales.* En el caso de las recopilaciones de series temporales, puede incorporar aún más datos, que se pueden almacenar como datos templados en S3.

[Para ver una lista de todas las cuotas, consulta OpenSearch Cuotas sin servidor.](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-limits-serverless)

## Monitoreo del uso de la capacidad
<a name="serverless-scaling-monitoring"></a>

Puedes monitorizar las métricas `SearchOCU` y las CloudWatch métricas a `IndexingOCU` nivel de cuenta para entender cómo están escalando tus colecciones. Le recomendamos que configure alarmas para que le notifiquen si su cuenta se está acercando a un límite para las métricas relacionadas con la capacidad, de modo que pueda ajustar su configuración de capacidad en consecuencia.

Además, puede utilizar estas métricas para determinar si su configuración de capacidad máxima es adecuada o si necesita ajustarla. Analice estas métricas para centrar sus esfuerzos para optimizar la eficiencia de sus colecciones. Para obtener más información sobre las métricas a las que envía OpenSearch Serverless, consulte. CloudWatch [Supervisión de Amazon OpenSearch Serverless](serverless-monitoring.md)

# Ingerir datos en colecciones de Amazon OpenSearch Serverless
<a name="serverless-clients"></a>

En estas secciones se proporcionan detalles sobre las canalizaciones de ingesta compatibles para la ingesta de datos en las colecciones de Amazon OpenSearch Serverless. También incluyen algunos de los clientes que puede utilizar para interactuar con las operaciones de la API. OpenSearch Sus clientes deben ser compatibles con la versión OpenSearch 2.x para poder integrarse con OpenSearch Serverless.

**Topics**
+ [Permisos mínimos necesarios](#serverless-ingestion-permissions)
+ [OpenSearch Ingestión](#serverless-osis-ingestion)
+ [Fluent Bit](#serverless-fluentbit)
+ [Amazon Data Firehose](#serverless-kdf)
+ [Go](#serverless-go)
+ [Java](#serverless-java)
+ [JavaScript](#serverless-javascript)
+ [Logstash](#serverless-logstash)
+ [Python](#serverless-python)
+ [Ruby](#serverless-ruby)
+ [Firma de solicitudes HTTP con otros clientes](#serverless-signing)

## Permisos mínimos necesarios
<a name="serverless-ingestion-permissions"></a>

[Para incorporar datos a una colección OpenSearch sin servidor, el director que escribe los datos debe tener los siguientes permisos mínimos asignados en una política de acceso a los datos:](serverless-data-access.md)

```
[
   {
      "Rules":[
         {
            "ResourceType":"index",
            "Resource":[
               "index/target-collection/logs"
            ],
            "Permission":[
               "aoss:CreateIndex",
               "aoss:WriteDocument",
               "aoss:UpdateIndex"
            ]
         }
      ],
      "Principal":[
         "arn:aws:iam::123456789012:user/my-user"
      ]
   }
]
```

Los permisos pueden ser más amplios si planea escribir en índices adicionales. Por ejemplo, en lugar de especificar un índice objetivo único, puede conceder permisos a todos los índices (index/ *target-collection* /\$1) o a un subconjunto de índices (index//). *target-collection* *logs\$1*

Para obtener una referencia de todas las operaciones de OpenSearch API disponibles y sus permisos asociados, consulte. [Operaciones y complementos compatibles en Amazon OpenSearch Serverless](serverless-genref.md)

## OpenSearch Ingestión
<a name="serverless-osis-ingestion"></a>

En lugar de utilizar un cliente de terceros para enviar datos directamente a una colección OpenSearch sin servidor, puede utilizar Amazon OpenSearch Ingestion. Usted configura sus generadores de datos para que envíen datos a OpenSearch Ingestion y esta entrega automáticamente los datos a la colección que usted especifique. También puede configurar OpenSearch Ingestion para transformar los datos antes de entregarlos. Para obtener más información, consulte [Información general sobre Amazon OpenSearch Ingestion](ingestion.md).

Una canalización de OpenSearch ingestión necesita permiso para escribir en una colección OpenSearch sin servidor que esté configurada como sumidero. Estos permisos incluyen la capacidad de describir la colección y enviarle solicitudes HTTP. Para obtener instrucciones sobre cómo usar OpenSearch Ingestión para añadir datos a una colección, consulte. [Otorgar a Amazon OpenSearch Ingestion pipelines acceso a las colecciones](pipeline-collection-access.md)

Para empezar a usar OpenSearch Ingestion, consulte. [Tutorial: Ingerir datos en una colección mediante Amazon OpenSearch Ingestion](osis-serverless-get-started.md)

## Fluent Bit
<a name="serverless-fluentbit"></a>

Puede utilizar la [imagen AWS de Fluent Bit](https://github.com/aws/aws-for-fluent-bit#public-images) y el [complemento OpenSearch de salida](https://docs.fluentbit.io/manual/pipeline/outputs/opensearch) para introducir datos en colecciones OpenSearch sin servidor.

**nota**  
Debe tener la versión 2.30.0 o posterior de la imagen de Fluent Bit AWS para poder integrarla con Serverless. OpenSearch 

**Ejemplo de configuración**:

Este ejemplo de sección de resultados del archivo de configuración muestra cómo utilizar una colección OpenSearch Serverless como destino. La adición importante es el parámetro `AWS_Service_Name`, que es `aoss`. `Host` es el punto de conexión de la colección.

```
[OUTPUT]
    Name  opensearch
    Match *
    Host  collection-endpoint.us-west-2.aoss.amazonaws.com
    Port  443
    Index  my_index
    Trace_Error On
    Trace_Output On
    AWS_Auth On
    AWS_Region <region>
    AWS_Service_Name aoss
    tls     On
    Suppress_Type_Name On
```

## Amazon Data Firehose
<a name="serverless-kdf"></a>

Firehose admite OpenSearch Serverless como destino de entrega. Para obtener instrucciones sobre cómo enviar datos a OpenSearch Serverless, consulte [Crear una transmisión de entrega de Kinesis Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) [y OpenSearch elegir Serverless para su destino](https://docs.aws.amazon.com/firehose/latest/dev/create-destination.html#create-destination-opensearch-serverless) en la Guía para desarrolladores de *Amazon* Data Firehose.

El rol de IAM que proporcione a Firehose para la entrega se debe especificar dentro de una política de acceso a datos con el permiso mínimo `aoss:WriteDocument` para la colección de destino y debe tener un índice preexistente al que enviar datos. Para obtener más información, consulte [Permisos mínimos necesarios](#serverless-ingestion-permissions).

Antes de enviar datos a OpenSearch Serverless, es posible que deba realizar transformaciones en los datos. Para obtener más información acerca de cómo utilizar las funciones de Lambda para realizar esta tarea, consulte [Amazon Kinesis Data Firehose Data Transformation](https://docs.aws.amazon.com/firehose/latest/dev/data-transformation.html) en la misma guía.

## Go
<a name="serverless-go"></a>

El siguiente código de ejemplo utiliza el cliente [opensearch-go para Go](https://github.com/opensearch-project/opensearch-go) a fin de establecer una conexión segura con la colección OpenSearch Serverless especificada y crear un índice único. Debe proporcionar valores para `region` y `host`.

```
package main

import (
  "context"
  "log"
  "strings"
  "github.com/aws/aws-sdk-go-v2/aws"
  "github.com/aws/aws-sdk-go-v2/config"
  opensearch "github.com/opensearch-project/opensearch-go/v2"
  opensearchapi "github.com/opensearch-project/opensearch-go/v2/opensearchapi"
  requestsigner "github.com/opensearch-project/opensearch-go/v2/signer/awsv2"
)

const endpoint = "" // serverless collection endpoint

func main() {
	ctx := context.Background()

	awsCfg, err := config.LoadDefaultConfig(ctx,
		config.WithRegion("<AWS_REGION>"),
		config.WithCredentialsProvider(
			getCredentialProvider("<AWS_ACCESS_KEY>", "<AWS_SECRET_ACCESS_KEY>", "<AWS_SESSION_TOKEN>"),
		),
	)
	if err != nil {
		log.Fatal(err) // don't log.fatal in a production-ready app
	}

	// create an AWS request Signer and load AWS configuration using default config folder or env vars.
	signer, err := requestsigner.NewSignerWithService(awsCfg, "aoss") // "aoss" for Amazon OpenSearch Serverless
	if err != nil {
		log.Fatal(err) // don't log.fatal in a production-ready app
	}

	// create an opensearch client and use the request-signer
	client, err := opensearch.NewClient(opensearch.Config{
		Addresses: []string{endpoint},
		Signer:    signer,
	})
	if err != nil {
		log.Fatal("client creation err", err)
	}

	indexName := "go-test-index"

  // define index mapping
	mapping := strings.NewReader(`{
	 "settings": {
	   "index": {
	        "number_of_shards": 4
	        }
	      }
	 }`)

	// create an index
	createIndex := opensearchapi.IndicesCreateRequest{
		Index: indexName,
    Body: mapping,
	}
	createIndexResponse, err := createIndex.Do(context.Background(), client)
	if err != nil {
		log.Println("Error ", err.Error())
		log.Println("failed to create index ", err)
		log.Fatal("create response body read err", err)
	}
	log.Println(createIndexResponse)

	// delete the index
	deleteIndex := opensearchapi.IndicesDeleteRequest{
		Index: []string{indexName},
	}

	deleteIndexResponse, err := deleteIndex.Do(context.Background(), client)
	if err != nil {
		log.Println("failed to delete index ", err)
		log.Fatal("delete index response body read err", err)
	}
	log.Println("deleting index", deleteIndexResponse)
}

func getCredentialProvider(accessKey, secretAccessKey, token string) aws.CredentialsProviderFunc {
	return func(ctx context.Context) (aws.Credentials, error) {
		c := &aws.Credentials{
			AccessKeyID:     accessKey,
			SecretAccessKey: secretAccessKey,
			SessionToken:    token,
		}
		return *c, nil
	}
}
```

## Java
<a name="serverless-java"></a>

En el siguiente código de ejemplo, se utiliza el cliente [opensearch-java para Java](https://search.maven.org/artifact/org.opensearch.client/opensearch-java) a fin de establecer una conexión segura con la colección OpenSearch Serverless especificada y crear un índice único. Debe proporcionar valores para `region` y `host`.

La diferencia importante en comparación con los *dominios* de OpenSearch servicio es el nombre del servicio (`aoss`en lugar de). `es`

```
// import OpenSearchClient to establish connection to OpenSearch Serverless collection
import org.opensearch.client.opensearch.OpenSearchClient;

SdkHttpClient httpClient = ApacheHttpClient.builder().build();
// create an opensearch client and use the request-signer
OpenSearchClient client = new OpenSearchClient(
    new AwsSdk2Transport(
        httpClient,
        "...us-west-2.aoss.amazonaws.com", // serverless collection endpoint
        "aoss" // signing service name
        Region.US_WEST_2, // signing service region
        AwsSdk2TransportOptions.builder().build()
    )
);

String index = "sample-index";

// create an index
CreateIndexRequest createIndexRequest = new CreateIndexRequest.Builder().index(index).build();
CreateIndexResponse createIndexResponse = client.indices().create(createIndexRequest);
System.out.println("Create index reponse: " + createIndexResponse);

// delete the index
DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest.Builder().index(index).build();
DeleteIndexResponse deleteIndexResponse = client.indices().delete(deleteIndexRequest);
System.out.println("Delete index reponse: " + deleteIndexResponse);

httpClient.close();
```

El siguiente código de ejemplo vuelve a establecer una conexión segura y, a continuación, busca en un índice.

```
import org.opensearch.client.opensearch.OpenSearchClient;

SdkHttpClient httpClient = ApacheHttpClient.builder().build();

OpenSearchClient client = new OpenSearchClient(
    new AwsSdk2Transport(
        httpClient,
        "...us-west-2.aoss.amazonaws.com", // serverless collection endpoint
        "aoss" // signing service name
        Region.US_WEST_2, // signing service region
        AwsSdk2TransportOptions.builder().build()
    )
);

Response response = client.generic()
    .execute(
        Requests.builder()
            .endpoint("/" + "users" + "/_search?typed_keys=true")
            .method("GET")
            .json("{"
                + "    \"query\": {"
                + "        \"match_all\": {}"
                + "    }"
                + "}")
            .build());

httpClient.close();
```

## JavaScript
<a name="serverless-javascript"></a>

El siguiente código de ejemplo utiliza el cliente [opensearch-js](https://www.npmjs.com/package/@opensearch-project/opensearch) JavaScript para establecer una conexión segura con la colección OpenSearch Serverless especificada, crear un índice único, agregar un documento y eliminar el índice. Debe proporcionar valores para `node` y `region`.

La diferencia importante en comparación con los *dominios* de OpenSearch servicio es el nombre del servicio (`aoss`en lugar de). `es`

------
#### [ Version 3 ]

En este ejemplo, se utiliza la [versión 3](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/) del SDK para JavaScript Node.js.

```
const { defaultProvider } = require('@aws-sdk/credential-provider-node');
const { Client } = require('@opensearch-project/opensearch');
const { AwsSigv4Signer } = require('@opensearch-project/opensearch/aws');

async function main() {
    // create an opensearch client and use the request-signer
    const client = new Client({
        ...AwsSigv4Signer({
            region: 'us-west-2',
            service: 'aoss',
            getCredentials: () => {
                const credentialsProvider = defaultProvider();
                return credentialsProvider();
            },
        }),
        node: '' # // serverless collection endpoint
    });

    const index = 'movies';

    // create index if it doesn't already exist
    if (!(await client.indices.exists({ index })).body) {
        console.log((await client.indices.create({ index })).body);
    }

    // add a document to the index
    const document = { foo: 'bar' };
    const response = await client.index({
        id: '1',
        index: index,
        body: document,
    });
    console.log(response.body);

    // delete the index
    console.log((await client.indices.delete({ index })).body);
}

main();
```

------
#### [ Version 2 ]

En este ejemplo, se usa la [versión 2](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/) del SDK para JavaScript Node.js.

```
const AWS = require('aws-sdk');
const { Client } = require('@opensearch-project/opensearch');
const { AwsSigv4Signer } = require('@opensearch-project/opensearch/aws');

async function main() {
    // create an opensearch client and use the request-signer
    const client = new Client({
        ...AwsSigv4Signer({
            region: 'us-west-2',
            service: 'aoss',
            getCredentials: () =>
                new Promise((resolve, reject) => {
                    AWS.config.getCredentials((err, credentials) => {
                        if (err) {
                            reject(err);
                        } else {
                            resolve(credentials);
                        }
                    });
                }),
        }),
        node: '' # // serverless collection endpoint
    });

    const index = 'movies';

    // create index if it doesn't already exist
    if (!(await client.indices.exists({ index })).body) {
        console.log((await client.indices.create({
            index
        })).body);
    }

    // add a document to the index
    const document = {
        foo: 'bar'
    };
    const response = await client.index({
        id: '1',
        index: index,
        body: document,
    });
    console.log(response.body);

    // delete the index
    console.log((await client.indices.delete({ index })).body);
}

main();
```

------

## Logstash
<a name="serverless-logstash"></a>

Puede usar el [ OpenSearch complemento Logstash](https://github.com/opensearch-project/logstash-output-opensearch) para publicar registros en colecciones OpenSearch sin servidor. 

**Para usar Logstash para enviar datos a Serverless OpenSearch**

1. Instale la versión *2.0.0 o posterior* del [logstash-output-opensearch](https://github.com/opensearch-project/logstash-output-opensearch)complemento mediante Docker o Linux.

------
#### [ Docker ]

   [Docker aloja el software Logstash OSS con el complemento de OpenSearch salida preinstalado: opensearchproject/ -output-plugin. logstash-oss-with-opensearch](https://hub.docker.com/r/opensearchproject/logstash-oss-with-opensearch-output-plugin/tags?page=1&ordering=last_updated&name=8.4.0) Puede extraer la imagen como cualquier otra:

   ```
   docker pull opensearchproject/logstash-oss-with-opensearch-output-plugin:latest
   ```

------
#### [ Linux ]

   En primer lugar, [instale la última versión de Logstash](https://www.elastic.co/guide/en/logstash/current/installing-logstash.html) si aún no lo hizo. A continuación, instale la versión 2.0.0 del complemento de salida:

   ```
   cd logstash-8.5.0/
   bin/logstash-plugin install --version 2.0.0 logstash-output-opensearch
   ```

   Si el complemento ya está instalado, actualícelo a la versión más reciente:

   ```
   bin/logstash-plugin update logstash-output-opensearch 
   ```

   A partir de la versión 2.0.0 del complemento, el SDK usa la versión 3. AWS Si utilizas una versión de Logstash anterior a la 8.4.0, debes eliminar todos los AWS complementos preinstalados e instalar el complemento: `logstash-integration-aws`

   ```
   /usr/share/logstash/bin/logstash-plugin remove logstash-input-s3
   /usr/share/logstash/bin/logstash-plugin remove logstash-input-sqs
   /usr/share/logstash/bin/logstash-plugin remove logstash-output-s3
   /usr/share/logstash/bin/logstash-plugin remove logstash-output-sns
   /usr/share/logstash/bin/logstash-plugin remove logstash-output-sqs
   /usr/share/logstash/bin/logstash-plugin remove logstash-output-cloudwatch
   
   /usr/share/logstash/bin/logstash-plugin install --version 0.1.0.pre logstash-integration-aws
   ```

------

1. Para que el complemento de OpenSearch salida funcione con OpenSearch Serverless, debes realizar las siguientes modificaciones en la sección de salida de logstash.conf: `opensearch`
   + Especifique `aoss` como el `service_name` en `auth_type`.
   + Especifique el punto de conexión de la colección para `hosts`.
   + Agregue los parámetros `default_server_major_version` y `legacy_template`. Estos parámetros son necesarios para que el complemento funcione con Serverless. OpenSearch 

   ```
   output {
     opensearch {
       hosts => "collection-endpoint:443"
       auth_type => {
         ...
         service_name => 'aoss'
       }
       default_server_major_version => 2
       legacy_template => false
     }
   }
   ```

   Este ejemplo de archivo de configuración toma las entradas de los archivos de un bucket de S3 y las envía a una colección OpenSearch Serverless:

   ```
   input {
     s3  {
       bucket => "my-s3-bucket"
       region => "us-east-1"
     }
   }
   
   output {
     opensearch {
       ecs_compatibility => disabled
       hosts => "https://my-collection-endpoint.us-east-1.aoss.amazonaws.com:443"
       index => my-index
       auth_type => {
         type => 'aws_iam'
         aws_access_key_id => 'your-access-key'
         aws_secret_access_key => 'your-secret-key'
         region => 'us-east-1'
         service_name => 'aoss'
       }
       default_server_major_version => 2
       legacy_template => false
     }
   }
   ```

1. A continuación, ejecute Logstash con la nueva configuración para probar el complemento:

   ```
   bin/logstash -f config/test-plugin.conf
   ```

## Python
<a name="serverless-python"></a>

El siguiente código de ejemplo usa el [cliente opensearch-py](https://pypi.org/project/opensearch-py/) para Python para establecer una conexión segura con la colección OpenSearch Serverless especificada, crear un índice único y buscar en ese índice. Debe proporcionar valores para `region` y `host`.

La diferencia importante en comparación con los *dominios* de OpenSearch servicio es el nombre del servicio (`aoss`en lugar de). `es`

```
from opensearchpy import OpenSearch, RequestsHttpConnection, AWSV4SignerAuth
import boto3

host = ''  # serverless collection endpoint, without https://
region = ''  # e.g. us-east-1

service = 'aoss'
credentials = boto3.Session().get_credentials()
auth = AWSV4SignerAuth(credentials, region, service)

# create an opensearch client and use the request-signer
client = OpenSearch(
    hosts=[{'host': host, 'port': 443}],
    http_auth=auth,
    use_ssl=True,
    verify_certs=True,
    connection_class=RequestsHttpConnection,
    pool_maxsize=20,
)

# create an index
index_name = 'books-index'
create_response = client.indices.create(
    index_name
)

print('\nCreating index:')
print(create_response)

# index a document
document = {
  'title': 'The Green Mile',
  'director': 'Stephen King',
  'year': '1996'
}

response = client.index(
    index = 'books-index',
    body = document,
    id = '1'
)


# delete the index
delete_response = client.indices.delete(
    index_name
)

print('\nDeleting index:')
print(delete_response)
```

## Ruby
<a name="serverless-ruby"></a>

La `opensearch-aws-sigv4` gema proporciona acceso a OpenSearch Serverless, junto con OpenSearch Service, de forma inmediata. Dispone de todas las funciones del cliente [opensearch-ruby](https://rubygems.org/gems/opensearch-ruby), ya que es una dependencia de esta gema.

Cuando cree una instancia del firmante de Sigv4, especifique `aoss` como nombre del servicio:

```
require 'opensearch-aws-sigv4'
require 'aws-sigv4'

signer = Aws::Sigv4::Signer.new(service: 'aoss',
                                region: 'us-west-2',
                                access_key_id: 'key_id',
                                secret_access_key: 'secret')

# create an opensearch client and use the request-signer
client = OpenSearch::Aws::Sigv4Client.new(
  { host: 'https://your.amz-opensearch-serverless.endpoint',
    log: true },
  signer)

# create an index
index = 'prime'
client.indices.create(index: index)

# insert data
client.index(index: index, id: '1', body: { name: 'Amazon Echo', 
                                            msrp: '5999', 
                                            year: 2011 })

# query the index
client.search(body: { query: { match: { name: 'Echo' } } })

# delete index entry
client.delete(index: index, id: '1')

# delete the index
client.indices.delete(index: index)
```

## Firma de solicitudes HTTP con otros clientes
<a name="serverless-signing"></a>

Los siguientes requisitos se aplican a la hora de [firmar solicitudes](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) en colecciones OpenSearch sin servidor cuando se crean solicitudes HTTP con otros clientes.
+ Debe especificar el nombre del servicio como `aoss`.
+ El encabezado `x-amz-content-sha256` es obligatorio para todas las solicitudes de Signature Version 4 de AWS . Proporciona un hash de la carga de solicitud. Si hay una carga útil de solicitud, defina el valor en su hash criptográfico () del algoritmo de hash seguro (SHA). SHA256 Si no hay ninguna carga de solicitud, establezca el valor en `e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855`, que es el hash de una cadena vacía.

**Topics**
+ [Indexación con cURL](#serverless-signing-curl)
+ [Indexación con Postman](#serverless-signing-postman)

### Indexación con cURL
<a name="serverless-signing-curl"></a>

La siguiente solicitud de ejemplo utiliza la biblioteca de solicitudes de URL de cliente (cURL) para enviar un único documento a un índice denominado `movies-index` dentro de una colección:

```
curl -XPOST \
    --user "$AWS_ACCESS_KEY_ID":"$AWS_SECRET_ACCESS_KEY" \
    --aws-sigv4 "aws:amz:us-east-1:aoss" \
    --header "x-amz-content-sha256: $REQUEST_PAYLOAD_SHA_HASH" \
    --header "x-amz-security-token: $AWS_SESSION_TOKEN" \
    "https://my-collection-endpoint.us-east-1.aoss.amazonaws.com/movies-index/_doc" \
    -H "Content-Type: application/json" -d '{"title": "Shawshank Redemption"}'
```

### Indexación con Postman
<a name="serverless-signing-postman"></a>

La siguiente imagen muestra cómo enviar solicitudes a una colección con Postman. Para obtener instrucciones sobre cómo autenticarse, consulte el flujo de trabajo de [autenticación con AWS firma](https://learning.postman.com/docs/sending-requests/authorization/aws-signature/) en Postman.

![\[JSON response showing creation of a "movies-index" with successful result and no shards.\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/images/ServerlessPostman.png)


# Configuración de Machine Learning en Amazon OpenSearch Serverless
<a name="serverless-configure-machine-learning"></a>

## Machine Learning
<a name="serverless-configure-machine-learning-what-is"></a>

Machine Learning (ML) proporciona capacidades de ML en forma de algoritmos de ML y modelos remotos. Con el acceso a estos modelos, puede ejecutar varios flujos de trabajo de IA, como RAG o la búsqueda semántica. ML permite la experimentación y la implementación en producción de casos de uso de IA generativa mediante el uso de los últimos modelos alojados externamente que se pueden configurar con conectores. Después de configurar un conector, debe configurarlo en un modelo y, a continuación, implementarlo para realizar una predicción.

## Connectors
<a name="serverless-configure-machine-learning-connectors"></a>

Los conectores facilitan el acceso a los modelos de alojados en plataformas de ML de terceros. Sirven como puerta de enlace entre su OpenSearch clúster y un modelo remoto. Para obtener más información, consulte la siguiente documentación sobre :
+ [Creación de conectores para plataformas de aprendizaje automático de terceros](https://docs.opensearch.org/latest/ml-commons-plugin/remote-models/connectors/) en el sitio web de *OpenSearch documentación*
+ [Conectores para plataformas externas](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-external-connector.html)
+ [Conectores para Servicios de AWS](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html)
**importante**  
Al crear una política de confianza, **ml.opensearchservice.amazonaws.com** agréguela como principio OpenSearch de servicio.
Omita los pasos de la página [Conectores](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html) que muestran cómo configurar un dominio en la política.
Agregue la sentencia `iam:PassRole` en el paso de [Configuración de permisos](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html#connector-sagemaker-prereq).
Omita el paso **Asignar la función de aprendizaje automático** en los OpenSearch paneles de control. No es necesaria la configuración del rol de backend. Esto se aplica a los [conectores para Servicios de AWS](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html) plataformas externas y a los [conectores para plataformas externas](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-external-connector.html).
En su solicitud de SigV4 al punto de conexión de la colección, defina el nombre del servicio como **aoss** en lugar de **es**.

## Modelos
<a name="serverless-configure-machine-learning-models"></a>

Un modelo es la funcionalidad principal que se utiliza en varios flujos de trabajo de IA. Por lo general, se asocia el conector a un modelo para realizar una predicción mediante el conector. Una vez que el modelo está en estado desplegando, puede ejecutar la predicción. Para obtener más información, consulte [Registrar un modelo alojado en una plataforma de terceros](https://docs.opensearch.org/latest/ml-commons-plugin/api/model-apis/register-model/#register-a-model-hosted-on-a-third-party-platform) en el sitio web de *OpenSearch documentación*.

**nota**  
No todas las funciones del modelo son compatibles con OpenSearch Serverless, como los modelos locales. Para obtener más información, consulte [Machine Learning APIs y funciones no compatibles](serverless-machine-learning-unsupported-features.md).

## Configurar permisos para Machine Learning
<a name="serverless-configure-machine-learning-permissions"></a>

En la siguiente sección, se describen las políticas de acceso a los datos de recopilación necesarias para Machine Learning (ML). *placeholder values*Sustitúyala por su información específica. Para obtener más información, consulte [Permisos de política compatibles](serverless-data-access.md#serverless-data-supported-permissions).

```
{
    "Rules": [
        {
            "Resource": [
                "model/collection_name/*"
            ],
            "Permission": [
                "aoss:DescribeMLResource",
                "aoss:CreateMLResource",
                "aoss:UpdateMLResource",
                "aoss:DeleteMLResource",
                "aoss:ExecuteMLResource"
            ],
            "ResourceType": "model"
        }
    ],
    "Principal": [
        "arn:aws:iam::account_id:role/role_name"
    ],
    "Description": "ML full access policy for collection_name"
}
```
+ **AOSS:Describe MLResource**: otorga permiso para buscar y consultar conectores, modelos y grupos de modelos.
+ **AOSS:CreateMLResource: otorga permiso para crear** conectores, modelos y grupos de modelos.
+ **AOSS:Update MLResource** — Otorga permiso para actualizar conectores, modelos y grupos de modelos.
+ **AOSS:Delete MLResource** — Otorga permiso para eliminar conectores, modelos y grupos de modelos.
+ **AOSS:Execute MLResource** — Otorga permiso para realizar predicciones en los modelos.

# Machine Learning APIs y funciones no compatibles
<a name="serverless-machine-learning-unsupported-features"></a>

## No es compatible APIs
<a name="serverless-unsupported-ml-api"></a>

Amazon OpenSearch Serverless no admite los siguientes sistemas de Machine Learning (ML) APIs :
+ Funcionalidad de modelo local
+ API de entrenamiento de modelos
+ API de algoritmos de predicción de modelos
+ API de predicción por lotes
+ API de agentes y sus herramientas correspondientes
+ Servidor MCP APIs
+ Memoria APIs
+ Controlador APIs
+ API de ejecución de algoritmos
+ API de perfil de ML
+ API de estadísticas de ML

Para obtener más información sobre ML APIs, consulte [ML APIs](https://docs.opensearch.org/latest/ml-commons-plugin/api/index/) en el sitio web de *OpenSearch documentación*.

## Características no admitidas
<a name="serverless-unsupported-ml-features"></a>

Amazon OpenSearch Serverless no admite las siguientes funciones de aprendizaje automático:
+ Agentes y herramientas
+ Modelos locales
+ El procesador de inferencia de machine learning dentro de las canalizaciones de búsqueda y de ingesta
  + Procesador de ingesta de inferencia de ML
  + Procesador de respuesta de búsqueda de inferencia de ML
  + Procesador de petición de búsqueda de inferencia de ML

Para obtener más información sobre estas funciones, consulte la siguiente documentación en el sitio web de *OpenSearch documentación*:
+ [Machine learning](https://docs.opensearch.org/latest/ml-commons-plugin)
+ [Procesador de inferencias de ML](https://docs.opensearch.org/latest/ingest-pipelines/processors/ml-inference/)
+ [Busque canalizaciones](https://docs.opensearch.org/latest/search-plugins/search-pipelines/index/)

# Configurar la búsqueda neuronal y la búsqueda híbrida en entornos OpenSearch sin servidor
<a name="serverless-configure-neural-search"></a>

## Búsqueda neuronal
<a name="serverless-configure-neural-search-what-is"></a>

Amazon OpenSearch Serverless admite la funcionalidad de búsqueda neuronal para realizar operaciones de búsqueda semántica en sus datos. La búsqueda neuronal utiliza modelos de machine learning para comprender el significado semántico y el contexto de sus peticiones, lo que proporciona resultados de búsqueda más relevantes que las búsquedas tradicionales basadas en palabras clave. En esta sección, se explica cómo configurar la búsqueda neuronal en OpenSearch Serverless, incluidos los permisos necesarios, los procesadores compatibles y las principales diferencias con respecto a la implementación estándar. OpenSearch 

Con la búsqueda neuronal, usted puede realizar búsquedas semánticas en sus datos, lo que considera el significado semántico para comprender la intención de sus peticiones de búsqueda. Esta capacidad se basa en los siguientes componentes:
+ Procesador de canalización de ingesta de incrustaciones de texto
+ Consulta neuronal
+ Consulta neuronal dispersa

## Búsqueda híbrida
<a name="serverless-configure-hybrid-search"></a>

Con la búsqueda híbrida, usted puede mejorar la relevancia de la búsqueda combinando las capacidades de búsqueda por palabras clave y búsqueda semántica. Para usar la búsqueda híbrida, cree una canalización de búsqueda que procese sus resultados y combine las puntuaciones de los documentos. Para obtener más información, consulte las [canalizaciones de búsqueda](https://docs.opensearch.org/latest/search-plugins/search-pipelines/index/) en el sitio web de *OpenSearch documentación*. Use los siguientes componentes para implementar la búsqueda híbrida:
+ Procesador de canalización de búsqueda de normalización

**Técnicas de normalización compatibles**
  + `min_max`
  + `l2`

**Técnicas de combinación compatibles**
  + `arithmetic_mean`
  + `geometric_mean`
  + `harmonic_mean`

  Para obtener más información sobre las técnicas de normalización y combinación, consulte [los campos del cuerpo de la solicitud](https://docs.opensearch.org/latest/search-plugins/search-pipelines/normalization-processor/#request-body-fields) en el sitio web de *OpenSearchdocumentación*.
+ Consulta híbrida

## Consultas neuronales e híbridas
<a name="serverless-configure-neural-search-hybrid-queries"></a>

De forma predeterminada, OpenSearch calcula las puntuaciones de los documentos mediante el BM25 algoritmo Okapi basado en palabras clave, que funciona bien para las consultas de búsqueda que contienen palabras clave. La búsqueda neuronal proporciona nuevos tipos de consultas para consultas en lenguaje natural y la capacidad de combinar búsqueda semántica y por palabras clave.

**Example : `neural`**  

```
"neural": {
  "vector_field": {
    "query_text": "query_text",
    "query_image": "image_binary",
    "model_id": "model_id",
    "k": 100
  }
}
```

*Para obtener más información, consulte la [consulta neuronal](https://docs.opensearch.org/latest/query-dsl/specialized/neural/) en el sitio web de documentación. OpenSearch *

**Example : `hybrid`**  

```
"hybrid": {
      "queries": [
        array of lexical, neural, or combined queries
      ]
    }
```

Para obtener más información, consulte la [consulta híbrida](https://docs.opensearch.org/latest/query-dsl/compound/hybrid/) en el sitio web de *OpenSearch documentación*.

Para configurar los componentes de búsqueda semántica en Amazon OpenSearch Serverless, siga los pasos del [tutorial de Neural Search](https://docs.opensearch.org/latest/tutorials/vector-search/neural-search-tutorial/) del sitio web de *OpenSearch documentación*. Tenga en cuenta estas diferencias importantes:
+ OpenSearch Serverless solo admite modelos remotos. Debe configurar los conectores para los modelos alojados de forma remota. No es necesario implementar o eliminar modelos remotos. Para obtener más información, consulte [Introducción a la búsqueda semántica e híbrida](https://docs.opensearch.org/latest/tutorials/vector-search/neural-search-tutorial/) en el sitio web de *OpenSearch documentación*.
+ Espere hasta 15 segundos de latencia cuando realice búsquedas en su índice vectorial o busque canalizaciones de búsqueda e ingesta creadas recientemente.

## Configuración de permisos
<a name="serverless-configure-neural-search-permissions"></a>

La búsqueda neuronal en OpenSearch Serverless requiere los siguientes permisos. Para obtener más información, consulte [Permisos de política compatibles](serverless-data-access.md#serverless-data-supported-permissions).

**Example : Política de búsqueda neuronal**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "NeuralSearch",
            "Effect": "Allow",
            "Action": [
              "aoss:CreateIndex",
              "aoss:CreateCollection",
              "aoss:UpdateCollection",
              "aoss:DeleteIndex",
              "aoss:DeleteCollection"
            ],
            "Resource": "arn:aws:aoss:us-east-1:111122223333:collection/your-collection-name"
        }
    ]
}
```
+ **aoss:\$1Index**: crea un índice vectorial donde se almacenan las incrustaciones de texto.
+ **aoss: \$1 CollectionItems** — Crea canalizaciones de ingesta y búsqueda.
+ **aoss: \$1 MLResource** — Crea y registra modelos de incrustación de texto.
+ **aoss: APIAccess All:** proporciona acceso a las operaciones de OpenSearch APIs búsqueda e ingesta.

A continuación, se describen las políticas de acceso a datos de la colección necesarias para la búsqueda neuronal. Sustitúyalo *placeholder values* por su información específica.

**Example Política de acceso a los datos**  

```
[
    {
        "Description": "Create index permission",
        "Rules": [
            {
                "ResourceType": "index",
                "Resource": ["index/collection_name/*"],
                "Permission": [
                  "aoss:CreateIndex", 
                  "aoss:DescribeIndex",
                  "aoss:UpdateIndex",
                  "aoss:DeleteIndex"
                ]
            }
        ],
        "Principal": [
            "arn:aws:iam::account_id:role/role_name"
        ]
    },
    {
        "Description": "Create pipeline permission",
        "Rules": [
            {
                "ResourceType": "collection",
                "Resource": ["collection/collection_name"],
                "Permission": [
                  "aoss:CreateCollectionItems",
                  "aoss:DescribeCollectionItems",
                  "aoss:UpdateCollectionItems",
                  "aoss:DeleteCollectionItems"
                ]
            }
        ],
        "Principal": [
            "arn:aws:iam::account_id:role/role_name"
        ]
    },
    {
        "Description": "Create model permission",
        "Rules": [
            {
                "ResourceType": "model",
                "Resource": ["model/collection_name/*"],
                "Permission": ["aoss:CreateMLResources"]
            }
        ],
        "Principal": [
            "arn:aws:iam::account_id:role/role_name"
        ]
    }
]
```

# Configuración de flujos de trabajo en Amazon OpenSearch Serverless
<a name="serverless-configure-workflows"></a>

## Flujos de trabajo
<a name="serverless-configure-workflows-what-is"></a>

Los flujos de trabajo ayudan a los desarrolladores a innovar en las aplicaciones de IA. OpenSearch El proceso actual de utilizar las ofertas de aprendizaje automático (ML) OpenSearch, como la búsqueda semántica, requiere tareas complejas de configuración y preprocesamiento, además de consultas detalladas de los usuarios, que pueden llevar mucho tiempo y ser propensas a errores. Los flujos de trabajo son un marco de simplificación para encadenar múltiples llamadas a la API. OpenSearch

Para obtener información sobre la configuración y el uso, consulte [Automatizar las configuraciones](https://docs.opensearch.org/docs/latest/automating-configurations/index/) en el *OpenSearch*sitio web. Cuando utilice flujos de trabajo en OpenSearch Serverless, tenga en cuenta estas importantes diferencias:
+ OpenSearch Serverless usa solo modelos remotos en los pasos del flujo de trabajo. No es necesario implementar estos modelos.
+ OpenSearch Serverless no admite el paso de **reindexación** del flujo de trabajo.
+ Cuando busque **flujos de trabajo** y estados de **flujos de trabajo** después de otras llamadas a la API, espere hasta 15 segundos de latencia para que aparezcan las actualizaciones.

OpenSearch Las colecciones sin servidor admiten los flujos de trabajo cuando se utilizan como fuente de datos en la aplicación de interfaz de usuario. OpenSearch Para obtener más información, consulte [Administración de asociaciones de orígenes de datos](application-data-sources-and-vpc.md).

## Configuración de permisos
<a name="serverless-configure-workflows-permissions"></a>

Antes de crear y aprovisionar una plantilla, verifique que tenga los permisos necesarios. Si necesita ayuda, póngase en contacto con el administrador de su cuenta. OpenSearch Los flujos de trabajo sin servidor requieren los siguientes permisos. Usted puede delimitar los permisos a una colección específica definiendo el ARN del recurso de la colección en su política de IAM.

**Example : Política de flujos de trabajo**    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "NeuralSearch",
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::111122223333:role/Cognito_identitypoolname/Auth_Role"
        ]
      },
      "Action": [
        "aoss:CreateIndex",
        "aoss:CreateCollection",
        "aoss:UpdateCollection",
        "aoss:DeleteIndex",
        "aoss:DeleteCollection"
      ],
      "Resource": "arn:aws:aoss:us-east-1:111122223333:collection/your-collection-name"
    }
  ]
}
```
+ **aoss: \$1 CollectionItems** — Otorga permiso para crear y administrar plantillas y aprovisionar canalizaciones de [búsqueda e ingesta](serverless-configure-neural-search.md).
+ **aoss: \$1Index**: otorga permiso para crear y eliminar índices mediante operaciones de API. OpenSearch 
+ **aoss: \$1 MLResource** — Otorga permiso para aprovisionar los pasos del flujo de trabajo que utilizan [Configure Machine Learning](serverless-configure-machine-learning.md).

# Descripción general de la seguridad en Amazon OpenSearch Serverless
<a name="serverless-security"></a>

La seguridad de Amazon OpenSearch Serverless se diferencia fundamentalmente de la seguridad de Amazon OpenSearch Service en los siguientes aspectos:


| Característica | OpenSearch Servicio | OpenSearch Sin servidor | 
| --- | --- | --- | 
| Control de acceso a los datos | El acceso a los datos está determinado por las políticas de IAM y el control de acceso detallado. | El acceso a los datos está determinado por las políticas de acceso a los datos. | 
| Cifrado en reposo | El cifrado en reposo es opcional para los dominios. | El cifrado en reposo es obligatorio para las colecciones. | 
| Configuración y administración de seguridad | Debe configurar la red, el cifrado y el acceso a los datos de forma individual para cada dominio. | Puede usar políticas de seguridad para administrar la configuración de seguridad de varias colecciones a escala. | 

El siguiente diagrama ejemplifica los componentes de seguridad que componen una colección funcional. A una colección se le debe asignar una clave de cifrado, una configuración de acceso a la red y una política de acceso a los datos coincidente que otorgue permisos a sus recursos.

![\[Diagram showing encryption, network, data access, and authentication policies for a collection.\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/images/serverless-security.png)


**Topics**
+ [Políticas de cifrado](#serverless-security-encryption)
+ [Políticas de red](#serverless-security-network)
+ [Políticas de acceso a datos](#serverless-security-data-access)
+ [Autenticación SAML e IAM](#serverless-security-authentication)
+ [Seguridad de la infraestructura](#serverless-infrastructure-security)
+ [Introducción a la seguridad en Amazon OpenSearch Serverless](serverless-tutorials.md)
+ [Identity and Access Management para Amazon OpenSearch Serverless](security-iam-serverless.md)
+ [Cifrado en Amazon OpenSearch Serverless](serverless-encryption.md)
+ [Acceso a la red para Amazon OpenSearch Serverless](serverless-network.md)
+ [Conformidad con FIPS en Amazon Serverless OpenSearch](fips-compliance-opensearch-serverless.md)
+ [Control de acceso a datos para Amazon OpenSearch Serverless](serverless-data-access.md)
+ [Acceso al plano de datos a través de AWS PrivateLink](serverless-vpc.md)
+ [Acceso al plano de control a través de AWS PrivateLink](serverless-vpc-cp.md)
+ [Autenticación SAML para Amazon Serverless OpenSearch](serverless-saml.md)
+ [Validación de conformidad para Amazon OpenSearch Serverless](serverless-compliance-validation.md)

## Políticas de cifrado
<a name="serverless-security-encryption"></a>

[Las políticas de cifrado](serverless-encryption.md) definen si sus colecciones se cifran con una clave gestionada por el cliente Clave propiedad de AWS o con una clave gestionada por el cliente. Las políticas de cifrado constan de dos componentes: un **patrón de recursos** y una **clave de cifrado**. El patrón de recursos define a qué colección o colecciones se aplica la política. La clave de cifrado determina cómo se protegerán las colecciones asociadas.

Para aplicar una política a varias colecciones debe incluir un comodín (\$1) en la regla de política. Por ejemplo, la siguiente política se aplica a todas las colecciones cuyos nombres comiencen por “logs” (registros).

![\[Input field for specifying a prefix term or collection name, with "logs*" entered.\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/images/serverless-security-encryption.png)


Las políticas de cifrado agilizan el proceso de creación y administración de colecciones, especialmente cuando se hace mediante programación. Puede crear una colección especificando un nombre y, al crearla, se le asigna de forma automática una clave de cifrado. 

## Políticas de red
<a name="serverless-security-network"></a>

Las [políticas de red](serverless-network.md) definen si se puede acceder a las colecciones de forma privada o a través de Internet desde redes públicas. *Se puede acceder a las colecciones privadas a través de puntos de enlace de VPC OpenSearch gestionados sin servidor o mediante dispositivos específicos, Servicios de AWS como Amazon Bedrock, mediante acceso privado.Servicio de AWS * Al igual que las políticas de cifrado, las políticas de red se pueden aplicar a varias colecciones, lo que le permite administrar el acceso a la red para muchas colecciones a gran escala.

Las políticas de red constan de dos componentes: un **tipo de acceso** y un **tipo de recurso**. El tipo de acceso puede ser público o privado. El tipo de recurso determina si el acceso que elija se aplica al punto final de la colección, al punto final de Dashboards o a ambos. OpenSearch 

![\[Access type and resource type options for configuring network policies in OpenSearch.\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/images/serverless-security-network.png)


Si planea configurar el acceso a la VPC dentro de una política de red, primero debe crear uno o más puntos de enlace de VPC [OpenSearch administrados sin servidor](serverless-vpc.md). Estos puntos de enlace le permiten acceder a OpenSearch Serverless como si estuviera en su VPC, sin el uso de una puerta de enlace a Internet, un dispositivo NAT, una conexión VPN o una conexión. Direct Connect 

El acceso privado a solo Servicios de AWS se puede aplicar al punto final de la colección, no al OpenSearch punto final de Dashboards. OpenSearch Servicios de AWS no se le puede conceder acceso a los OpenSearch paneles.

## Políticas de acceso a datos
<a name="serverless-security-data-access"></a>

Las [políticas de acceso a datos](serverless-data-access.md) definen la forma en que los usuarios acceden a los datos de sus colecciones. Las políticas de acceso a datos le ayudan a administrar las colecciones a escala mediante la asignación automática de permisos de acceso a las colecciones e índices que coinciden con un patrón específico. Se pueden aplicar varias políticas a un solo recurso.

Las políticas de acceso a datos constan de un conjunto de reglas, cada una con tres componentes: un **tipo de recurso**, **los recursos concedidos** y un conjunto de **permisos**. El tipo de recurso puede ser una colección o un índice. Los recursos otorgados pueden ser collection/index nombres o patrones con un comodín (\$1). La lista de permisos especifica a qué [operaciones de OpenSearch API](serverless-genref.md#serverless-operations) concede acceso la política. Además, la política contiene una lista de **entidades principales**, que especifican los roles, los usuarios y las identidades SAML de IAM a los que se debe conceder acceso.

![\[Selected principals and granted resources with permissions for collection and index access.\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/images/serverless-data-access.png)


Para obtener más información sobre el formato de una política de acceso a datos, consulte la [sintaxis de la política](serverless-data-access.md#serverless-data-access-syntax).

Antes de crear una política de acceso a datos, debe tener uno o más roles o usuarios de IAM, o identidades SAML, a los que proporcionar acceso en la política. Para más información, consulte la siguiente sección.

**nota**  
Al cambiar del acceso público al privado para su colección, se eliminará la pestaña Índices de la consola de colecciones OpenSearch sin servidor.

## Autenticación SAML e IAM
<a name="serverless-security-authentication"></a>

 La entidad principal de IAM y las identidades de SAML son uno de los componentes básicos de una política de acceso a los datos. En la instrucción `principal` de una política de acceso puede incluir roles, usuarios e identidades SAML de IAM. A estas entidades principales se le conceden los permisos que usted especifique en las reglas de política asociadas.

```
[
   {
      "Rules":[
         {
            "ResourceType":"index",
            "Resource":[
               "index/marketing/orders*"
            ],
            "Permission":[
               "aoss:*"
            ]
         }
      ],
      "Principal":[
         "arn:aws:iam::123456789012:user/Dale",
         "arn:aws:iam::123456789012:role/RegulatoryCompliance",
         "saml/123456789012/myprovider/user/Annie"
      ]
   }
]
```

La autenticación SAML se configura directamente en Serverless. OpenSearch Para obtener más información, consulte [Autenticación SAML para Amazon Serverless OpenSearch](serverless-saml.md). 

## Seguridad de la infraestructura
<a name="serverless-infrastructure-security"></a>

Amazon OpenSearch Serverless está protegido por la seguridad de AWS la red global. Para obtener información sobre los servicios AWS de seguridad y cómo se AWS protege la infraestructura, consulte [Seguridad AWS en la nube](https://aws.amazon.com/security/). Para diseñar su AWS entorno utilizando las mejores prácticas de seguridad de la infraestructura, consulte [Protección de infraestructuras en un marco](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) de buena * AWS arquitectura basado en el pilar de la seguridad*.

Utiliza las llamadas a la API AWS publicadas para acceder a Amazon OpenSearch Serverless a través de la red. Los clientes deben admitir Transport Layer Security (TLS). Exigimos TLS 1.2 y recomendamos TLS 1.3. Para obtener una lista de los cifrados compatibles con TLS 1.3, consulte los [protocolos y cifrados TLS](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#tls-protocols-ciphers) en la documentación de Elastic Load Balancing.

Además, debe firmar las solicitudes mediante un ID de clave de acceso y una clave de acceso secreta que esté asociada a una entidad principal de IAM. También puede utilizar [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html) (AWS STS) para generar credenciales de seguridad temporales para firmar solicitudes.

# Introducción a la seguridad en Amazon OpenSearch Serverless
<a name="serverless-tutorials"></a>

Los siguientes tutoriales le ayudan a empezar a utilizar Amazon OpenSearch Serverless. Ambos tutoriales siguen los mismos pasos básicos, pero uno usa la consola mientras que el otro usa la AWS CLI.

Tenga en cuenta que los casos de uso de estos tutoriales están simplificados. Las políticas de red y seguridad son bastante abiertas. En las cargas de trabajo de producción, se recomienda configurar funciones de seguridad más sólidas, como la autenticación SAML, el acceso a la VPC y las políticas de acceso restrictivo a los datos.

**Topics**
+ [Tutorial: Introducción a la seguridad en Amazon OpenSearch Serverless (consola)](gsg-serverless.md)
+ [Tutorial: Introducción a la seguridad en Amazon OpenSearch Serverless (CLI)](gsg-serverless-cli.md)

# Tutorial: Introducción a la seguridad en Amazon OpenSearch Serverless (consola)
<a name="gsg-serverless"></a>

En este tutorial, se explican los pasos básicos para crear y gestionar políticas de seguridad mediante la consola Amazon OpenSearch Serverless.

En este tutorial, debe completar los siguientes pasos:

1. [Configurar permisos](#gsgpermissions)

1. [Crear una política de cifrado](#gsg-encryption)

1. [Crear una política de red](#gsg-network)

1. [Configurar la política de acceso a datos](#gsg-data-access)

1. [Crear una colección](#gsgcreate-collection)

1. [Cargar y buscar datos](#gsgindex-collection)

En este tutorial se explica cómo configurar una colección mediante. Consola de administración de AWS Para ver los mismos pasos con el AWS CLI, consulte[Tutorial: Introducción a la seguridad en Amazon OpenSearch Serverless (CLI)](gsg-serverless-cli.md).

## Paso 1: Configurar los permisos
<a name="gsgpermissions"></a>

**nota**  
Puedes omitir este paso si ya utilizas una política más amplia basada en la identidad, como `Action":"aoss:*"` o `Action":"*"`. Sin embargo, en entornos de producción, le recomendamos que siga la entidad principal del privilegio mínimo y solo asigne los permisos mínimos necesarios para completar una tarea.

Para completar este tutorial, debe tener los permisos de IAM correctos. Su usuario o rol debe tener adjunta una [política basada en la identidad](security-iam-serverless.md#security-iam-serverless-id-based-policies) con los siguientes permisos mínimos:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "aoss:ListCollections",
        "aoss:BatchGetCollection",
        "aoss:CreateCollection",
        "aoss:CreateSecurityPolicy",
        "aoss:GetSecurityPolicy",
        "aoss:ListSecurityPolicies",
        "aoss:CreateAccessPolicy",
        "aoss:GetAccessPolicy",
        "aoss:ListAccessPolicies"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
```

------

Para obtener una lista completa de los permisos OpenSearch sin servidor, consulte[Identity and Access Management para Amazon OpenSearch Serverless](security-iam-serverless.md).

## Paso 2: Crear una política de cifrado
<a name="gsg-encryption"></a>

[Las políticas de cifrado](serverless-encryption.md) especifican la AWS KMS clave que OpenSearch Serverless utilizará para cifrar la colección. Puede cifrar las colecciones con una clave Clave administrada de AWS o una clave diferente. Para simplificar este tutorial, cifraremos nuestra colección con un Clave administrada de AWS.

**Para crear una política de cifrado**

1. Abre la consola OpenSearch de Amazon Service en [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home ).

1. Expanda **Sin servidor** en el panel de navegación de la izquierda y seleccione **Políticas de red**.

1. Seleccione **Crear política de cifrado**.

1. Asigne el nombre de esta política a **los libros de políticas**. Para la descripción, introduzca **Política de cifrado para la colección de libros**.

1. En **Recursos**, introduzca **libros**, que es el nombre con el que llamará su colección. Si desea que este sea más extenso, puede incluir un asterisco (`books*`) para que la política se aplique a todas las colecciones que comiencen por la palabra “libros”.

1. Para el **cifrado**, mantén seleccionada la ** AWS opción Usar clave** propia.

1. Seleccione **Crear**.

## Paso 3: crear una política de red
<a name="gsg-network"></a>

[Las políticas de red](serverless-network.md) determinan si se puede acceder a la colección a través de Internet desde redes públicas o si se debe acceder a ella a través de puntos de conexión de VPC OpenSearch gestionados sin servidor. En este tutorial, configuraremos el acceso público.

**Crear una política de red**

1. Seleccione **Políticas** en el panel de navegación de la izquierda y, a continuación, **Crear política**.

1. Asigne el nombre de esta política a **los libros de políticas**. Para la descripción, introduzca **Política de redes para la colección de libros**.

1. En la **Regla 1**, asígnele un nombre a la regla **Acceso público a la colección de libros**.

1. Para simplificar este tutorial, configuraremos el acceso público para la colección de *libros*. Para el tipo de acceso, seleccione **Público**.

1. Vamos a acceder a la colección desde los paneles. OpenSearch Para ello, debe configurar el acceso a la red para los paneles *y* el OpenSearch punto final; de lo contrario, los paneles no funcionarán.

   Para el tipo de recurso, habilite el **acceso a los OpenSearch puntos finales y el **acceso** a** los paneles. OpenSearch

1. En ambos cuadros de entrada, introduzca **Nombre de la colección = libros**. Esta configuración reduce el alcance de la política para que solo se aplique a una única colección (`books`). La regla debe tener un aspecto similar al siguiente:  
![\[Search interface showing two input fields for collection or prefix term selection, both set to "books".\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/images/serverless-tutorial-network.png)

1. Seleccione **Crear**.

## Paso 4: crear una política de acceso a datos
<a name="gsg-data-access"></a>

No podrá acceder a los datos de su colección hasta que configure el acceso a los datos. Las [políticas de acceso a los datos](serverless-data-access.md) son independientes de la política basada en identidades de IAM que configuró en el paso 1. Permiten a los usuarios acceder a los datos reales de una colección.

En este tutorial, le brindamos a un solo usuario los permisos necesarios para indexar datos en la colección de *libros*.

**Para crear una política de acceso a datos**

1. En el panel de navegación de la izquierda, seleccione **Políticas de acceso a datos** y **Crear política de acceso**.

1. Asigne el nombre de esta política a **los libros de políticas**. Para la descripción, introduzca **Política de acceso de datos para la colección de libros**.

1. Seleccione **JSON** para el método de definición de políticas y pegue la siguiente política en el editor de JSON.

   Sustituya el ARN principal por el ARN de la cuenta que usará para iniciar sesión en los OpenSearch paneles e indexar datos.

   ```
   [
      {
         "Rules":[
            {
               "ResourceType":"index",
               "Resource":[
                  "index/books/*"
               ],
               "Permission":[
                  "aoss:CreateIndex",
                  "aoss:DescribeIndex", 
                  "aoss:ReadDocument",
                  "aoss:WriteDocument",
                  "aoss:UpdateIndex",
                  "aoss:DeleteIndex"
               ]
            }
         ],
         "Principal":[
            "arn:aws:iam::123456789012:user/my-user"
         ]
      }
   ]
   ```

   Esta política proporciona a un solo usuario los permisos mínimos necesarios para crear un índice en la colección de *libros*, indexar algunos datos y buscarlos.

1. Seleccione **Crear**.

## Paso 5: crear una colección
<a name="gsgcreate-collection"></a>

Como ya configuró las políticas de cifrado y red, puede crear una colección coincidente y la configuración de seguridad se le aplicará automáticamente.

**Para crear una colección sin servidor OpenSearch**

1. Seleccione **Colecciones** en el panel de navegación de la izquierda y elija **Crear colección**.

1. Nombre los **libros** de la colección.

1. Para el tipo de colección, seleccione **Buscar**.

1. En **Cifrado**, OpenSearch Serverless le informa de que el nombre de la colección coincide con la política de `books-policy` cifrado.

1. En la **configuración de acceso a la red**, OpenSearch Serverless le informa de que el nombre de la colección coincide con la política de `books-policy` red.

1. Elija **Siguiente**.

1. En **las opciones de la política de acceso a los datos**, OpenSearch Serverless le informa de que el nombre de la colección coincide con la política de acceso a los `books-policy` datos.

1. Elija **Siguiente**.

1. Revise la configuración de la colección y seleccione **Enviar**. Las colecciones suelen tardar menos de un minuto en inicializarse.

## Paso 6: Cargar y buscar datos
<a name="gsgindex-collection"></a>

Puede cargar datos a una colección OpenSearch sin servidor mediante Postman o curl. Para abreviar, en estos ejemplos se utilizan las **herramientas de desarrollo** de la consola de Dashboards. OpenSearch 

**Para indexar y buscar datos en la colección**

1. Seleccione **Colecciones** en el panel de navegación de la izquierda y elija la colección de **libros** para abrir su página de detalles.

1. Elija la URL de los OpenSearch paneles de control para la colección. La URL toma el formato `https://collection-id.us-east-1.aoss.amazonaws.com/_dashboards`. 

1. Inicie sesión en OpenSearch Dashboards con las [claves de AWS acceso y secreta](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-appendix-sign-up.html) del director que especificó en su política de acceso a los datos.

1. En los OpenSearch paneles, abra el menú de navegación de la izquierda y seleccione Herramientas de **desarrollo**.

1. Para crear un índice único denominado *books-index*, ejecute el siguiente comando:

   ```
   PUT books-index 
   ```  
![\[OpenSearch Dashboards console showing PUT request for books-index with JSON response.\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/images/serverless-createindex.png)

1. Para indexar un solo documento en *books-index*, ejecute el siguiente comando:

   ```
   PUT books-index/_doc/1
   { 
     "title": "The Shining",
     "author": "Stephen King",
     "year": 1977
   }
   ```

1. Para buscar datos en los OpenSearch paneles, debe configurar al menos un patrón de índice. OpenSearch utiliza estos patrones para identificar los índices que desea analizar. Abra el menú principal de Dashboards, seleccione **Gestión de pilas**, luego seleccione **Patrones de índice** y, a continuación, seleccione **Crear patrón de índice**. Para este tutorial, introduzca *books-index*.

1. seleccione **Siguiente paso** y, a continuación, seleccione **Crear patrón de índice**. Una vez creado el patrón, puede ver los diversos campos de documento, como `author` y `title`.

1. Para comenzar a buscar los datos, vuelva a abrir el menú principal y elija **Explorar** o utilice la [API de búsqueda](https://opensearch.org/docs/latest/opensearch/rest-api/search/).

# Tutorial: Introducción a la seguridad en Amazon OpenSearch Serverless (CLI)
<a name="gsg-serverless-cli"></a>

En este tutorial se explican los pasos descritos en el tutorial de [introducción a la consola](gsg-serverless.md) en materia de seguridad, pero se utiliza la consola de servicio AWS CLI en lugar de la consola de OpenSearch servicio. 

En este tutorial, deberá completar los siguientes pasos:

1. Creación de una política de permisos de IAM

1. Anexo de la política de IAM a un rol de IAM

1. Crear una política de cifrado

1. Crear una política de red

1. Crear una recopilación

1. Configurar la política de acceso a datos

1. Recuperación del punto de conexión de la colección

1. Carga de los datos a su conexión

1. Búsqueda de datos en su colección

El objetivo de este tutorial es configurar una única colección OpenSearch sin servidor con una configuración bastante sencilla de cifrado, red y acceso a los datos. Por ejemplo, configuraremos el acceso a la red pública, el cifrado y una Clave administrada de AWS política de acceso a los datos simplificada que conceda permisos mínimos a un solo usuario. 

En un escenario de producción, considere implementar una configuración más robusta, incluyendo autenticación SAML, una clave de cifrado personalizada y acceso VPC.

**Para empezar con las políticas de seguridad en OpenSearch Serverless**

1. 
**nota**  
Puede omitir este paso si ya utilizas una política más amplia basada en la identidad, como `Action":"aoss:*"` o `Action":"*"`. Sin embargo, en entornos de producción, le recomendamos que siga la entidad principal del privilegio mínimo y solo asigne los permisos mínimos necesarios para completar una tarea.

   Para empezar, cree una AWS Identity and Access Management política con los permisos mínimos necesarios para realizar los pasos de este tutorial. Le pondremos a la política el siguiente nombre `TutorialPolicy`:

   ```
   aws iam create-policy \
     --policy-name TutorialPolicy \
     --policy-document "{\"Version\": \"2012-10-17\",\"Statement\": [{\"Action\": [\"aoss:ListCollections\",\"aoss:BatchGetCollection\",\"aoss:CreateCollection\",\"aoss:CreateSecurityPolicy\",\"aoss:GetSecurityPolicy\",\"aoss:ListSecurityPolicies\",\"aoss:CreateAccessPolicy\",\"aoss:GetAccessPolicy\",\"aoss:ListAccessPolicies\"],\"Effect\": \"Allow\",\"Resource\": \"*\"}]}"
   ```

   **Respuesta de ejemplo**

   ```
   {
       "Policy": {
           "PolicyName": "TutorialPolicy",
           "PolicyId": "ANPAW6WRAECKG6QJWUV7U",
           "Arn": "arn:aws:iam::123456789012:policy/TutorialPolicy",
           "Path": "/",
           "DefaultVersionId": "v1",
           "AttachmentCount": 0,
           "PermissionsBoundaryUsageCount": 0,
           "IsAttachable": true,
           "CreateDate": "2022-10-16T20:57:18+00:00",
           "UpdateDate": "2022-10-16T20:57:18+00:00"
       }
   }
   ```

1. Asocie `TutorialPolicy` al rol de IAM que indexará y buscará datos en la colección. Le pondremos al usuario el siguiente nombre `TutorialRole`:

   ```
   aws iam attach-role-policy \
     --role-name TutorialRole \
     --policy-arn arn:aws:iam::123456789012:policy/TutorialPolicy
   ```

1. Antes de crear una colección, debe crear una [política de cifrado](serverless-encryption.md) que asigne una Clave propiedad de AWS a la colección de *libros* que creará en un paso posterior.

   Envíe la siguiente solicitud para crear una política de cifrado para la colección de *libros*:

   ```
   aws opensearchserverless create-security-policy \
     --name books-policy \
     --type encryption --policy "{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/books\"]}],\"AWSOwnedKey\":true}"
   ```

   **Respuesta de ejemplo**

   ```
   {
       "securityPolicyDetail": {
           "type": "encryption",
           "name": "books-policy",
           "policyVersion": "MTY2OTI0MDAwNTk5MF8x",
           "policy": {
               "Rules": [
                   {
                       "Resource": [
                           "collection/books"
                       ],
                       "ResourceType": "collection"
                   }
               ],
               "AWSOwnedKey": true
           },
           "createdDate": 1669240005990,
           "lastModifiedDate": 1669240005990
       }
   }
   ```

1. Cree una [política de red](serverless-network.md) que proporcione acceso público a la colección de *libros*:

   ```
   aws opensearchserverless create-security-policy --name books-policy --type network \
     --policy "[{\"Description\":\"Public access for books collection\",\"Rules\":[{\"ResourceType\":\"dashboard\",\"Resource\":[\"collection\/books\"]},{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/books\"]}],\"AllowFromPublic\":true}]"
   ```

   **Respuesta de ejemplo**

   ```
   {
       "securityPolicyDetail": {
           "type": "network",
           "name": "books-policy",
           "policyVersion": "MTY2OTI0MDI1Njk1NV8x",
           "policy": [
               {
                   "Rules": [
                       {
                           "Resource": [
                               "collection/books"
                           ],
                           "ResourceType": "dashboard"
                       },
                       {
                           "Resource": [
                               "collection/books"
                           ],
                           "ResourceType": "collection"
                       }
                   ],
                   "AllowFromPublic": true,
                   "Description": "Public access for books collection"
               }
           ],
           "createdDate": 1669240256955,
           "lastModifiedDate": 1669240256955
       }
   }
   ```

1. Crea la colección de *libros*:

   ```
   aws opensearchserverless create-collection --name books --type SEARCH
   ```

   **Respuesta de ejemplo**

   ```
   {
       "createCollectionDetail": {
           "id": "8kw362bpwg4gx9b2f6e0",
           "name": "books",
           "status": "CREATING",
           "type": "SEARCH",
           "arn": "arn:aws:aoss:us-east-1:123456789012:collection/8kw362bpwg4gx9b2f6e0",
           "kmsKeyArn": "auto",
           "createdDate": 1669240325037,
           "lastModifiedDate": 1669240325037
       }
   }
   ```

1. Cree una [política de acceso a datos](serverless-data-access.md) que proporcione los permisos mínimos para indexar y buscar datos en la colección de *libros*. Reemplace entidad principal de ARN por el ARN de `TutorialRole` del paso 1:

   ```
   aws opensearchserverless create-access-policy \
     --name books-policy \
     --type data \
     --policy "[{\"Rules\":[{\"ResourceType\":\"index\",\"Resource\":[\"index\/books\/books-index\"],\"Permission\":[\"aoss:CreateIndex\",\"aoss:DescribeIndex\",\"aoss:ReadDocument\",\"aoss:WriteDocument\",\"aoss:UpdateIndex\",\"aoss:DeleteIndex\"]}],\"Principal\":[\"arn:aws:iam::123456789012:role\/TutorialRole\"]}]"
   ```

   **Respuesta de ejemplo**

   ```
   {
       "accessPolicyDetail": {
           "type": "data",
           "name": "books-policy",
           "policyVersion": "MTY2OTI0MDM5NDY1M18x",
           "policy": [
               {
                   "Rules": [
                       {
                           "Resource": [
                               "index/books/books-index"
                           ],
                           "Permission": [
                               "aoss:CreateIndex",
                               "aoss:DescribeIndex",
                               "aoss:ReadDocument",
                               "aoss:WriteDocument",
                               "aoss:UpdateDocument",
                               "aoss:DeleteDocument"
                           ],
                           "ResourceType": "index"
                       }
                   ],
                   "Principal": [
                       "arn:aws:iam::123456789012:role/TutorialRole"
                   ]
               }
           ],
           "createdDate": 1669240394653,
           "lastModifiedDate": 1669240394653
       }
   }
   ```

   `TutorialRole` ahora debería poder indexar y buscar documentos en la colección de *libros*. 

1. Para realizar llamadas a la OpenSearch API, necesitas el punto final de recopilación. Envíe la siguiente solicitud para recuperar el parámetro `collectionEndpoint`:

   ```
   aws opensearchserverless batch-get-collection --names books  
   ```

   **Respuesta de ejemplo**

   ```
   {
       "collectionDetails": [
           {
               "id": "8kw362bpwg4gx9b2f6e0",
               "name": "books",
               "status": "ACTIVE",
               "type": "SEARCH",
               "description": "",
               "arn": "arn:aws:aoss:us-east-1:123456789012:collection/8kw362bpwg4gx9b2f6e0",
               "createdDate": 1665765327107,
               "collectionEndpoint": "https://8kw362bpwg4gx9b2f6e0.us-east-1.aoss.amazonaws.com",
               "dashboardEndpoint": "https://8kw362bpwg4gx9b2f6e0.us-east-1.aoss.amazonaws.com/_dashboards"
           }
       ],
       "collectionErrorDetails": []
   }
   ```
**nota**  
No podrá ver el punto de conexión de la colección hasta que el estado de la colección cambie a `ACTIVE`. Puede que tenga que hacer varias llamadas para comprobar el estado hasta que la colección se haya creado de forma correcta.

1. Utilice una herramienta HTTP como [Postman](https://www.getpostman.com/) o curl para indexar los datos de la colección de *libros*. Crearemos un índice llamado *books-index* y agregaremos un solo documento.

   Envíe la siguiente solicitud al punto de conexión de la colección que recuperó en el paso anterior, con las credenciales `TutorialRole`.

   ```
   PUT https://8kw362bpwg4gx9b2f6e0.us-east-1.aoss.amazonaws.com/books-index/_doc/1
   { 
     "title": "The Shining",
     "author": "Stephen King",
     "year": 1977
   }
   ```

   **Respuesta de ejemplo**

   ```
   {
     "_index" : "books-index",
     "_id" : "1",
     "_version" : 1,
     "result" : "created",
     "_shards" : {
       "total" : 0,
       "successful" : 0,
       "failed" : 0
     },
     "_seq_no" : 0,
     "_primary_term" : 0
   }
   ```

1. Para empezar a buscar datos en tu colección, utilice la [API de búsqueda](https://opensearch.org/docs/latest/opensearch/rest-api/search/). La siguiente consulta representa una búsqueda básica:

   ```
   GET https://8kw362bpwg4gx9b2f6e0.us-east-1.aoss.amazonaws.com/books-index/_search
   ```

   **Respuesta de ejemplo**

   ```
   {
       "took": 405,
       "timed_out": false,
       "_shards": {
           "total": 6,
           "successful": 6,
           "skipped": 0,
           "failed": 0
       },
       "hits": {
           "total": {
               "value": 2,
               "relation": "eq"
           },
           "max_score": 1.0,
           "hits": [
               {
                   "_index": "books-index:0::3xJq14MBUaOS0wL26UU9:0",
                   "_id": "F_bt4oMBLle5pYmm5q4T",
                   "_score": 1.0,
                   "_source": {
                       "title": "The Shining",
                       "author": "Stephen King",
                       "year": 1977
                   }
               }
           ]
       }
   }
   ```

# Identity and Access Management para Amazon OpenSearch Serverless
<a name="security-iam-serverless"></a>

AWS Identity and Access Management (IAM) es una herramienta Servicio de AWS que ayuda al administrador a controlar de forma segura el acceso a los recursos. AWS Los administradores de IAM controlan quién puede *autenticarse* (iniciar sesión) y quién puede *autorizarse* (tener permisos) para usar OpenSearch los recursos sin servidor. La IAM es una opción Servicio de AWS que puede utilizar sin coste adicional.

**Topics**
+ [Políticas basadas en la identidad para Serverless OpenSearch](#security-iam-serverless-id-based-policies)
+ [Acciones políticas para Serverless OpenSearch](#security-iam-serverless-id-based-policies-actions)
+ [Recursos de políticas para Serverless OpenSearch](#security-iam-serverless-id-based-policies-resources)
+ [Claves de condición de la política para Amazon OpenSearch Serverless](#security_iam_serverless-conditionkeys)
+ [ABAC con Serverless OpenSearch](#security_iam_serverless-with-iam-tags)
+ [Uso de credenciales temporales con Serverless OpenSearch](#security_iam_serverless-tempcreds)
+ [Funciones vinculadas a servicios para Serverless OpenSearch](#security_iam_serverless-slr)
+ [Otros tipos de políticas](#security_iam_access-manage-other-policies)
+ [Ejemplos de políticas basadas en la identidad para sistemas sin servidor OpenSearch](#security_iam_serverless_id-based-policy-examples)
+ [Soporte de IAM Identity Center para Amazon Serverless OpenSearch](serverless-iam-identity-center.md)

## Políticas basadas en la identidad para Serverless OpenSearch
<a name="security-iam-serverless-id-based-policies"></a>

**Compatibilidad con las políticas basadas en identidad:** sí

Las políticas basadas en identidad son documentos de políticas de permisos JSON que puede asociar a una identidad, como un usuario de IAM, un grupo de usuarios o un rol. Estas políticas controlan qué acciones pueden realizar los usuarios y los roles, en qué recursos y en qué condiciones. Para obtener más información sobre cómo crear una política basada en la identidad, consulte [Definición de permisos de IAM personalizados con políticas administradas por el cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) en la *Guía del usuario de IAM*.

Con las políticas basadas en identidades de IAM, puede especificar las acciones y los recursos permitidos o denegados, así como las condiciones en las que se permiten o deniegan las acciones. Para obtener más información sobre los elementos que puede utilizar en una política de JSON, consulte [Referencia de los elementos de la política de JSON de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) en la *Guía del usuario de IAM*.

### Ejemplos de políticas basadas en la identidad para Serverless OpenSearch
<a name="security_iam_id-based-policy-examples"></a>

Para ver ejemplos de políticas basadas en la identidad de OpenSearch Serverless, consulte. [Ejemplos de políticas basadas en la identidad para sistemas sin servidor OpenSearch](#security_iam_serverless_id-based-policy-examples)

## Acciones políticas para Serverless OpenSearch
<a name="security-iam-serverless-id-based-policies-actions"></a>

**Compatibilidad con las acciones de políticas:** sí

El elemento `Action` de una política JSON describe las acciones que puede utilizar para conceder o denegar el acceso en una política. Las acciones de política suelen tener el mismo nombre que la operación de AWS API asociada. Hay algunas excepciones, como *acciones de solo permiso* que no tienen una operación de API coincidente. También hay algunas operaciones que requieren varias acciones en una política. Estas acciones adicionales se denominan *acciones dependientes*.

Incluya acciones en una política para conceder permisos y así llevar a cabo la operación asociada.

Las acciones de política en OpenSearch Serverless utilizan el siguiente prefijo antes de la acción:

```
aoss
```

Para especificar varias acciones en una única instrucción, sepárelas con comas.

```
"Action": [
      "aoss:action1",
      "aoss:action2"
         ]
```

Puede especificar varias acciones utilizando caracteres comodín (\$1). Por ejemplo, para especificar todas las acciones que comiencen con la palabra `Describe`, incluya la siguiente acción:

```
"Action": "aoss:List*"
```

Para ver ejemplos de políticas basadas en la identidad de OpenSearch Serverless, consulte. [Ejemplos de políticas basadas en la identidad para Serverless OpenSearch](#security_iam_id-based-policy-examples)

## Recursos de políticas para Serverless OpenSearch
<a name="security-iam-serverless-id-based-policies-resources"></a>

**Compatibilidad con los recursos de políticas:** sí

Los administradores pueden usar las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué **entidad principal** puede realizar **acciones** en qué **recursos** y en qué **condiciones**.

El elemento `Resource` de la política JSON especifica el objeto u objetos a los que se aplica la acción. Como práctica recomendada, especifique un recurso utilizando el [Nombre de recurso de Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). En el caso de las acciones que no admiten permisos por recurso, utilice un carácter comodín (\$1) para indicar que la instrucción se aplica a todos los recursos.

```
"Resource": "*"
```

## Claves de condición de la política para Amazon OpenSearch Serverless
<a name="security_iam_serverless-conditionkeys"></a>

**Compatibilidad con claves de condición de políticas específicas del servicio:** sí

Los administradores pueden usar las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué **entidad principal** puede realizar **acciones** en qué **recursos** y en qué **condiciones**.

El elemento `Condition` especifica cuándo se ejecutan las instrucciones en función de criterios definidos. Puede crear expresiones condicionales que utilizan [operadores de condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), tales como igual o menor que, para que la condición de la política coincida con los valores de la solicitud. Para ver todas las claves de condición AWS globales, consulte las claves de [contexto de condición AWS globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) en la *Guía del usuario de IAM*.

Además del control de acceso basado en atributos (ABAC), OpenSearch Serverless admite las siguientes claves de condición:
+ `aoss:collection`
+ `aoss:CollectionId`
+ `aoss:index`

Puede utilizar estas claves de condición incluso al proporcionar políticas de acceso y de seguridad. Por ejemplo:

```
[
   {
      "Effect":"Allow",
      "Action":[
         "aoss:CreateAccessPolicy",
         "aoss:CreateSecurityPolicy"
      ],
      "Resource":"*",
      "Condition":{
         "StringLike":{
            "aoss:collection":"log"
         }
      }
   }
]
```

En este ejemplo, la condición se aplica a las políticas que contienen *reglas* que coinciden tanto con el nombre como con el patrón de una colección. Las condiciones funcionan de la el siguiente manera:
+ `StringEquals`: se aplica a políticas con reglas que contienen la cadena de *exacta* de recursos “log” (es decir,`collection/log`).
+ `StringLike`: se aplica a políticas con reglas que contienen la cadena de recursos que *incluye* la cadena “log” (es decir, `collection/log` pero también `collection/logs-application` o `collection/applogs123`).

**nota**  
Las claves de condiciones de *colección* no se aplican a nivel de índice. Por ejemplo, en la política anterior, la condición no se aplicaría a una política de acceso o seguridad que contenga la cadena de recursos`index/logs-application/*`.

Para ver una lista de claves de condición de OpenSearch Serverless, consulte [Claves de condición de Amazon OpenSearch Serverless](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonopensearchserverless.html#amazonopensearchserverless-policy-keys) en la Referencia de *autorización de servicio*. Para saber con qué acciones y recursos puede utilizar una clave de condición, consulte [Acciones definidas por Amazon OpenSearch Serverless](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonopensearchserverless.html#amazonopensearchserverless-actions-as-permissions).

## ABAC con Serverless OpenSearch
<a name="security_iam_serverless-with-iam-tags"></a>

**Admite ABAC (etiquetas en las políticas):** sí

El control de acceso basado en atributos (ABAC) es una estrategia de autorización que define permisos en función de atributos denominados etiquetas. Puede adjuntar etiquetas a las entidades y AWS los recursos de IAM y, a continuación, diseñar políticas de ABAC para permitir las operaciones cuando la etiqueta del principal coincida con la etiqueta del recurso.

Para controlar el acceso en función de etiquetas, debe proporcionar información de las etiquetas en el [elemento de condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) de una política utilizando las claves de condición `aws:ResourceTag/key-name`, `aws:RequestTag/key-name` o `aws:TagKeys`.

Si un servicio admite las tres claves de condición para cada tipo de recurso, el valor es **Sí** para el servicio. Si un servicio admite las tres claves de condición solo para algunos tipos de recursos, el valor es **Parcial**.

*Para obtener más información sobre ABAC, consulte [Definición de permisos con la autorización de ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) en la Guía del usuario de IAM*. Para ver un tutorial con los pasos para configurar ABAC, consulte [Uso del control de acceso basado en atributos (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) en la *Guía del usuario de IAM*.

Para obtener más información sobre el etiquetado de recursos OpenSearch sin servidor, consulte. [Etiquetado de colecciones de Amazon OpenSearch Serverless](tag-collection.md)

## Uso de credenciales temporales con Serverless OpenSearch
<a name="security_iam_serverless-tempcreds"></a>

**Compatibilidad con credenciales temporales:** sí

Las credenciales temporales proporcionan acceso a AWS los recursos a corto plazo y se crean automáticamente cuando se utiliza la federación o se cambia de rol. AWS recomienda generar credenciales temporales de forma dinámica en lugar de utilizar claves de acceso a largo plazo. Para obtener más información, consulte [Credenciales de seguridad temporales en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) y [Servicios de AWS que funcionan con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) en la *Guía del usuario de IAM*.

## Funciones vinculadas a servicios para Serverless OpenSearch
<a name="security_iam_serverless-slr"></a>

**Compatible con roles vinculados al servicio:** sí

 Un rol vinculado a un servicio es un tipo de rol de servicio que está vinculado a un. Servicio de AWS El servicio puede asumir el rol para realizar una acción en su nombre. Los roles vinculados al servicio aparecen en usted Cuenta de AWS y son propiedad del servicio. Un administrador de IAM puede ver, pero no editar, los permisos de los roles vinculados a servicios. 

Para obtener más información sobre la creación y administración de funciones vinculadas a servicios OpenSearch sin servidor, consulte. [Uso de roles vinculados a servicios para crear colecciones sin servidor OpenSearch](serverless-service-linked-roles.md)

## Otros tipos de políticas
<a name="security_iam_access-manage-other-policies"></a>

AWS admite tipos de políticas adicionales y menos comunes. Estos tipos de políticas pueden establecer el máximo de permisos que los tipos de políticas más frecuentes le conceden.
+ **Políticas de control de servicios (SCPs)**: SCPs son políticas de JSON que especifican los permisos máximos para una organización o unidad organizativa (OU). AWS Organizations AWS Organizations es un servicio para agrupar y administrar de forma centralizada varias AWS cuentas que son propiedad de su empresa. Si habilitas todas las funciones de una organización, puedes aplicar políticas de control de servicios (SCPs) a una o a todas tus cuentas. El SCP limita los permisos de las entidades en las cuentas de los miembros, incluido cada usuario raíz de la AWS cuenta. Para obtener más información sobre Organizations SCPs, consulte las [políticas de control de servicios](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) en la *Guía del AWS Organizations usuario*.
+ **Políticas de control de recursos (RCPs)**: RCPs son políticas de JSON que puedes usar para establecer los permisos máximos disponibles para los recursos de tus cuentas sin actualizar las políticas de IAM asociadas a cada recurso que poseas. La RCP limita los permisos de los recursos en las cuentas de miembros y puede afectar a los permisos efectivos de las identidades, incluidos los usuarios raíz de la cuenta de AWS , independientemente de si pertenecen a su organización. Para obtener más información sobre Organizations e RCPs incluir una lista de AWS los servicios compatibles RCPs, consulte [Políticas de control de recursos (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) en la *Guía del AWS Organizations usuario*.

## Ejemplos de políticas basadas en la identidad para sistemas sin servidor OpenSearch
<a name="security_iam_serverless_id-based-policy-examples"></a>

De forma predeterminada, los usuarios y los roles no tienen permiso para crear o modificar OpenSearch recursos de Serverless. Un administrador de IAM puede crear políticas de IAM para conceder permisos a los usuarios para realizar acciones en los recursos que necesitan.

Para obtener información acerca de cómo crear una política basada en identidades de IAM mediante el uso de estos documentos de políticas JSON de ejemplo, consulte [Creación de políticas de IAM (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) en la *Guía del usuario de IAM*.

Para obtener más información sobre las acciones y los tipos de recursos definidos por Amazon OpenSearch Serverless, incluido el ARNs formato de cada uno de los tipos de recursos, consulte [Acciones, recursos y claves de condición de Amazon OpenSearch Serverless](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonopensearchserverless.html) en la Referencia de *autorización de servicios*.

**Topics**
+ [Prácticas recomendadas sobre las políticas](#security_iam_serverless-policy-best-practices)
+ [Uso de Serverless en la consola OpenSearch](#security_iam_serverless_id-based-policy-examples-console)
+ [Administrar colecciones OpenSearch sin servidor](#security_iam_id-based-policy-examples-collection-admin)
+ [Visualización de colecciones OpenSearch sin servidor](#security_iam_id-based-policy-examples-view-collections)
+ [Uso de operaciones OpenSearch de API](#security_iam_id-based-policy-examples-data-plane)
+ [ABAC para operaciones de API OpenSearch](#security_iam_id-based-policy-examples-data-plane-abac)

### Prácticas recomendadas sobre las políticas
<a name="security_iam_serverless-policy-best-practices"></a>

Las políticas basadas en identidades son muy eficaces. Determinan si alguien puede crear, eliminar o acceder a los recursos de OpenSearch Serverless de su cuenta. Estas acciones pueden generar costos adicionales para su Cuenta de AWS. Siga estas directrices y recomendaciones al crear o editar políticas basadas en identidades:

Las políticas basadas en la identidad determinan si alguien puede crear recursos OpenSearch sin servidor de su cuenta, acceder a ellos o eliminarlos. Estas acciones pueden generar costos adicionales para su Cuenta de AWS. Siga estas directrices y recomendaciones al crear o editar políticas basadas en identidades:
+ **Comience con las políticas AWS administradas y avance hacia los permisos con privilegios mínimos: para empezar a conceder permisos** a sus usuarios y cargas de trabajo, utilice las *políticas AWS administradas* que otorgan permisos para muchos casos de uso comunes. Están disponibles en su. Cuenta de AWS Le recomendamos que reduzca aún más los permisos definiendo políticas administradas por el AWS cliente que sean específicas para sus casos de uso. Con el fin de obtener más información, consulte las [políticas administradas por AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) o las [políticas administradas por AWS para funciones de tarea](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) en la *Guía de usuario de IAM*.
+ **Aplique permisos de privilegio mínimo**: cuando establezca permisos con políticas de IAM, conceda solo los permisos necesarios para realizar una tarea. Para ello, debe definir las acciones que se pueden llevar a cabo en determinados recursos en condiciones específicas, también conocidos como *permisos de privilegios mínimos*. Con el fin de obtener más información sobre el uso de IAM para aplicar permisos, consulte [Políticas y permisos en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) en la *Guía del usuario de IAM*.
+ **Utilice condiciones en las políticas de IAM para restringir aún más el acceso**: puede agregar una condición a sus políticas para limitar el acceso a las acciones y los recursos. Por ejemplo, puede escribir una condición de políticas para especificar que todas las solicitudes deben enviarse utilizando SSL. También puedes usar condiciones para conceder el acceso a las acciones del servicio si se utilizan a través de una acción específica Servicio de AWS, por ejemplo CloudFormation. Para obtener más información, consulte [Elementos de la política de JSON de IAM: Condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) en la *Guía del usuario de IAM*.
+ **Utiliza el analizador de acceso de IAM para validar las políticas de IAM con el fin de garantizar la seguridad y funcionalidad de los permisos**: el analizador de acceso de IAM valida políticas nuevas y existentes para que respeten el lenguaje (JSON) de las políticas de IAM y las prácticas recomendadas de IAM. El analizador de acceso de IAM proporciona más de 100 verificaciones de políticas y recomendaciones procesables para ayudar a crear políticas seguras y funcionales. Para más información, consulte [Validación de políticas con el Analizador de acceso de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) en la *Guía del usuario de IAM*.
+ **Requerir autenticación multifactor (MFA**): si tiene un escenario que requiere usuarios de IAM o un usuario raíz en Cuenta de AWS su cuenta, active la MFA para mayor seguridad. Para exigir la MFA cuando se invoquen las operaciones de la API, añada condiciones de MFA a sus políticas. Para más información, consulte [Acceso seguro a la API con MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) en la *Guía del usuario de IAM*.

Para obtener más información sobre las prácticas recomendadas de IAM, consulte [Prácticas recomendadas de seguridad en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) en la *Guía del usuario de IAM*.

### Uso de Serverless en la consola OpenSearch
<a name="security_iam_serverless_id-based-policy-examples-console"></a>

Para acceder a OpenSearch Serverless desde la consola de OpenSearch servicio, debe tener un conjunto mínimo de permisos. Estos permisos deben permitirle enumerar y ver detalles sobre los recursos de OpenSearch Serverless de su AWS cuenta. Si se crea una política basada en identidades que es más restrictiva que los permisos necesarios mínimos, la consola no funcionará del modo esperado para las entidades (tales como roles de IAM) que tengan esa política.

No es necesario que concedas permisos mínimos de consola a los usuarios que solo realizan llamadas a la API AWS CLI o a la AWS API. En su lugar, permite acceso únicamente a las acciones que coincidan con la operación de API que intenta realizar.

La siguiente política permite a un usuario acceder a OpenSearch Serverless desde la consola OpenSearch de servicio:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Resource": "*",
            "Effect": "Allow",
            "Action": [
                "aoss:ListCollections",
                "aoss:BatchGetCollection",
                "aoss:ListAccessPolicies",
                "aoss:ListSecurityConfigs",
                "aoss:ListSecurityPolicies",
                "aoss:ListTagsForResource",
                "aoss:ListVpcEndpoints",
                "aoss:GetAccessPolicy",
                "aoss:GetAccountSettings",
                "aoss:GetSecurityConfig",
                "aoss:GetSecurityPolicy"
            ]
        }
    ]
}
```

------

### Administrar colecciones OpenSearch sin servidor
<a name="security_iam_id-based-policy-examples-collection-admin"></a>

Esta política es un ejemplo de una política de «administración de colecciones» que permite a un usuario gestionar y administrar las colecciones de Amazon OpenSearch Serverless. El usuario puede crear, ver y eliminar colecciones.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Resource": "arn:aws:aoss:us-east-1:111122223333:collection/*",
            "Action": [
                "aoss:CreateCollection",
                "aoss:DeleteCollection",
                "aoss:UpdateCollection"
            ],
            "Effect": "Allow"
        },
        {
            "Resource": "*",
            "Action": [
                "aoss:BatchGetCollection",
                "aoss:ListCollections",
                "aoss:CreateAccessPolicy",
                "aoss:CreateSecurityPolicy"
            ],
            "Effect": "Allow"
        }
    ]
}
```

------

### Visualización de colecciones OpenSearch sin servidor
<a name="security_iam_id-based-policy-examples-view-collections"></a>

Este ejemplo de política permite a un usuario ver los detalles de todas las colecciones de Amazon OpenSearch Serverless de su cuenta. El usuario no puede modificar las colecciones ni las políticas de seguridad asociadas.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Resource": "*",
            "Action": [
                "aoss:ListAccessPolicies",
                "aoss:ListCollections",
                "aoss:ListSecurityPolicies",
                "aoss:ListTagsForResource",
                "aoss:BatchGetCollection"
            ],
            "Effect": "Allow"
        }
    ]
}
```

------

### Uso de operaciones OpenSearch de API
<a name="security_iam_id-based-policy-examples-data-plane"></a>

Las operaciones de la API del plano de datos consisten en las funciones que se utilizan en OpenSearch Serverless para obtener el valor del servicio en tiempo real. Las operaciones de la API del plano de control consisten en las funciones que se utilizan para configurar el entorno. 

Para acceder al plano de datos APIs y a los OpenSearch paneles de Amazon OpenSearch Serverless desde el navegador, debe añadir dos permisos de IAM para los recursos de recopilación. Estos permisos son `aoss:APIAccessAll` y `aoss:DashboardsAccessAll`. 

**nota**  
A partir del 10 de mayo de 2023, OpenSearch Serverless requerirá estos dos nuevos permisos de IAM para los recursos de recopilación. El `aoss:APIAccessAll` permiso permite el acceso al plano de datos y el `aoss:DashboardsAccessAll` permiso permite acceder a los OpenSearch paneles desde el navegador. Si no se agregan los dos nuevos permisos de IAM, se produce un error 403. 

Este ejemplo de política permite a un usuario acceder al plano de datos APIs de una colección específica de su cuenta y acceder a los OpenSearch paneles de control de todas las colecciones de su cuenta.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
         {
            "Effect": "Allow",
            "Action": "aoss:APIAccessAll",
            "Resource": "arn:aws:aoss:us-east-1:111122223333:collection/collection-id"
        },
        {
            "Effect": "Allow",
            "Action": "aoss:DashboardsAccessAll",
            "Resource": "arn:aws:aoss:us-east-1:111122223333:dashboards/default"
        }
    ]
}
```

------

Ambos `aoss:APIAccessAll` `aoss:DashboardsAccessAll` otorgan permisos de IAM completos a los recursos de la colección, mientras que el permiso de paneles también proporciona OpenSearch acceso a los paneles. Cada permiso funciona de forma independiente, por lo que una denegación explícita de `aoss:APIAccessAll` no bloquea el acceso `aoss:DashboardsAccessAll` a los recursos, incluidas las herramientas para desarrolladores. Lo mismo ocurre con una denegación. `aoss:DashboardsAccessAll` OpenSearch Serverless admite las siguientes claves de condición globales: 
+ `aws:CalledVia`
+ `aws:CalledViaAWSService`
+ `aws:CalledViaFirst`
+ `aws:CalledViaLast`
+ `aws:CurrentTime`
+ `aws:EpochTime`
+ `aws:PrincipalAccount`
+ `aws:PrincipalArn`
+ `aws:PrincipallsAWSService`
+ `aws:PrincipalOrgID`
+ `aws:PrincipalOrgPaths`
+ `aws:PrincipalType`
+ `aws:PrincipalServiceName`
+ `aws:PrincipalServiceNamesList`
+ `aws:ResourceAccount`
+ `aws:ResourceOrgID`
+ `aws:ResourceOrgPaths`
+ `aws:RequestedRegion`
+ `aws:ResourceTag`
+ `aws:SourceIp`
+ `aws:SourceVpce`
+ `aws:SourceVpc`
+ `aws:userid`
+ `aws:username`
+ `aws:VpcSourceIp`

El siguiente es un ejemplo de cómo usar `aws:SourceIp` en el bloque de condición de la política de IAM de su principal para llamadas al plano de datos:

```
"Condition": {
    "IpAddress": {
         "aws:SourceIp": "203.0.113.0"
    }
}
```

El siguiente es un ejemplo de cómo usar `aws:SourceVpc` en el bloque de condición de la política de IAM de su principal para llamadas al plano de datos:

```
"Condition": {
    "StringEquals": {
        "aws:SourceVpc": "vpc-0fdd2445d8EXAMPLE"
    }
}
```

Además, se ofrece soporte para las siguientes claves específicas de OpenSearch Serverless: 
+ `aoss:CollectionId`
+ `aoss:collection`

El siguiente es un ejemplo de cómo usar `aoss:collection` en el bloque de condición de la política de IAM de su principal para llamadas al plano de datos:

```
"Condition": {
    "StringLike": {
         "aoss:collection": "log-*"
    }
}
```

### ABAC para operaciones de API OpenSearch
<a name="security_iam_id-based-policy-examples-data-plane-abac"></a>

Las políticas basadas en la identidad le permiten usar etiquetas para controlar el acceso al plano de datos de Amazon OpenSearch Serverless. APIs La siguiente política es un ejemplo para permitir que los directores adjuntos accedan al plano de datos APIs si la colección tiene la etiqueta: `team:devops`

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "aoss:APIAccessAll",
            "Resource": "arn:aws:aoss:us-east-1:111122223333:collection/collection-id",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/team": "devops"
                }
            }
        }
    ]
}
```

------

La siguiente política es un ejemplo para denegar a los directores adjuntos el acceso al plano de datos APIs y a los paneles si la colección tiene la etiqueta: `environment:production`

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "aoss:APIAccessAll",
                "aoss:DashboardsAccessAll"
            ],
            "Resource": "arn:aws:aoss:us-east-1:111122223333:collection/collection-id"
        }
    ]
}
```

------

Amazon OpenSearch Serverless no admite claves `RequestTag` de condición `TagKeys` globales para el plano de datos. APIs 

# Soporte de IAM Identity Center para Amazon Serverless OpenSearch
<a name="serverless-iam-identity-center"></a>

## Soporte de IAM Identity Center para Amazon Serverless OpenSearch
<a name="serverless-iam-identity-support"></a>

Puede utilizar los elementos principales del IAM Identity Center (usuarios y grupos) para acceder a los datos de Amazon OpenSearch Serverless a través de Amazon Applications. OpenSearch Para habilitar la compatibilidad con IAM Identity Center para Amazon OpenSearch Serverless, necesitará habilitar el uso de IAM Identity Center. Para obtener más información sobre cómo hacerlo, consulte [¿Qué es Centro de identidades de IAM?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)

**nota**  
Para acceder a las colecciones de Amazon OpenSearch Serverless mediante usuarios o grupos del Centro de Identidad de IAM, debe utilizar la función de OpenSearch interfaz de usuario (aplicaciones). No se admite el acceso directo a los paneles de control OpenSearch sin servidor con las credenciales del IAM Identity Center. Para obtener más información, consulte [Introducción a la OpenSearch interfaz de usuario](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/application.html).

Una vez creada la instancia del IAM Identity Center, el administrador de la cuenta del cliente debe crear una aplicación del IAM Identity Center para el servicio Amazon OpenSearch Serverless. [Esto se puede hacer llamando al:. CreateSecurityConfig](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateSecurityConfig.html) El administrador de la cuenta del cliente puede especificar qué atributos se usarán para autorizar la solicitud. Los atributos predeterminados que se usan son `UserId` y `GroupId.`.

La integración del Centro de identidad de IAM para Amazon OpenSearch Serverless utiliza los siguientes permisos del Centro de identidad de AWS IAM (IAM):
+ `aoss:CreateSecurityConfig`: crear un proveedor de Centro de identidades de IAM
+ `aoss:ListSecurityConfig`: enumerar todos los proveedores de Centro de identidades de IAM en la cuenta actual.
+ `aoss:GetSecurityConfig`: ver información del proveedor de Centro de identidades de IAM.
+ `aoss:UpdateSecurityConfig`: modificar una configuración determinada de Centro de identidades de IAM
+ `aoss:DeleteSecurityConfig`: eliminación de un proveedor de confianza de Centro de identidades de IAM. 

La siguiente política de acceso basada en la identidad se puede utilizar para gestionar todas las configuraciones del centro de identidad de IAM:

------
#### [ JSON ]

****  

```
{
"Version": "2012-10-17",
    "Statement": [
        {
"Action": [
                "aoss:CreateSecurityConfig",
                "aoss:DeleteSecurityConfig",
                "aoss:GetSecurityConfig",
                "aoss:UpdateSecurityConfig",
                "aoss:ListSecurityConfigs"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

------

**nota**  
El elemento `Resource` debe ser un comodín.

## Crear un proveedor de Centro de identidades de IAM (consola)
<a name="serverless-iam-console"></a>

Puede crear un proveedor de centros de identidad de IAM para habilitar la autenticación con la aplicación. OpenSearch Para habilitar la autenticación del IAM Identity Center para los OpenSearch paneles, lleve a cabo los siguientes pasos:

1. Inicia sesión en la [consola OpenSearch de Amazon Service](https://console.aws.amazon.com/aos/home.).

1. En el panel de navegación izquierdo, expanda **sin servidor** y elija **Autenticación**.

1. Seleccione **Autenticación de Centro de identidades de IAM**.

1. Seleccione **Editar**.

1. Marque la casilla junto a Autenticarse con Centro de identidades de IAM.

1. Seleccione la clave de atributo de **usuario y grupo** del menú desplegable. Los atributos de usuario se usarán para autorizar a los usuarios según `UserName`, `UserId` y `Email`. Los atributos de grupo se usarán para autenticar a los usuarios según `GroupName` y `GroupId`.

1. Seleccione la instancia de **Centro de identidades de IAM**.

1. Seleccione **Guardar**.

## Crear un proveedor de Centro de identidades de IAM (AWS CLI)
<a name="serverless-iam-identity-center-cli"></a>

Para crear un proveedor de un centro de identidad de IAM mediante AWS Command Line Interface (AWS CLI), utilice el siguiente comando:

```
aws opensearchserverless create-security-config \
--region us-east-2 \
--name "iamidentitycenter-config" \
--description "description" \
--type "iamidentitycenter" \
--iam-identity-center-options '{
    "instanceArn": "arn:aws:sso:::instance/ssoins-99199c99e99ee999",
    "userAttribute": "UserName",                  
    "groupAttribute": "GroupId"
}'
```

Después de habilitar un Centro de identidades de IAM, los clientes solo pueden modificar los **atributos de usuario y grupo**.

```
aws opensearchserverless update-security-config \
--region us-east-1 \
--id <id_from_list_security_configs> \
--config-version <config_version_from_get_security_config> \
--iam-identity-center-options-updates '{
    "userAttribute": "UserId",
    "groupAttribute": "GroupId"
}'
```

Para ver el proveedor del centro de identidad de IAM mediante el AWS Command Line Interface, utilice el siguiente comando:

```
aws opensearchserverless list-security-configs --type iamidentitycenter
```

## Eliminar un proveedor de Centro de identidades de IAM
<a name="serverless-iam-identity-center-deleting"></a>

 El IAM Identity Center ofrece dos instancias de proveedores, una para su cuenta de organización y otra para su cuenta de miembro. Si necesita cambiar su instancia del Centro de identidades de IAM, debe eliminar su configuración de seguridad a través de la API de `DeleteSecurityConfig` y crear una nueva configuración de seguridad usando la nueva instancia del Centro de identidades de IAM. El siguiente comando se puede usar para eliminar un proveedor de Centro de identidades de IAM:

```
aws opensearchserverless delete-security-config \
--region us-east-1 \
--id <id_from_list_security_configs>
```

## Conceder acceso de Centro de identidades de IAM a los datos de la colección
<a name="serverless-iam-identity-center-collection-data"></a>

Después de habilitar su proveedor del Centro de identidades de IAM, puede actualizar la política de acceso a los datos de la colección para incluir entidades principales del Centro de identidades de IAM. Las entidades principales de Centro de identidades de IAM deben actualizarse en el siguiente formato: 

```
[
   {
"Rules":[
       ...  
      ],
      "Principal":[
         "iamidentitycenter/<iamidentitycenter-instance-id>/user/<UserName>",
         "iamidentitycenter/<iamidentitycenter-instance-id>/group/<GroupId>"
      ]
   }
]
```

**nota**  
Amazon OpenSearch Serverless solo admite una instancia del centro de identidad de IAM para todas las colecciones de clientes y puede admitir hasta 100 grupos para un solo usuario. Si intenta usar más de la cantidad de instancias permitidas, experimentará inconsistencias con el procesamiento de autorización de la política de acceso a datos y recibirá un mensaje de error `403`. 

Puede concederles acceso a colecciones, índices o ambos. Si desea que diferentes usuarios tengan distintos permisos, deberá crear múltiples reglas. Para ver una lista de los permisos disponibles, consulta [Identity and Access Management in Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ac.html). Para obtener información sobre cómo formatear una política de acceso, consulte [Conceder acceso a identidades SAML a los datos de la colección](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-saml.html#serverless-saml-policies). 

# Cifrado en Amazon OpenSearch Serverless
<a name="serverless-encryption"></a>

## Cifrado en reposo
<a name="serverless-encryption-at-rest"></a>

Cada colección de Amazon OpenSearch Serverless que cree está protegida con el cifrado de los datos en reposo, una característica de seguridad que ayuda a evitar el acceso no autorizado a sus datos. El cifrado en reposo utiliza AWS Key Management Service (AWS KMS) para almacenar y administrar sus claves de cifrado. Utiliza el algoritmo estándar de cifrado avanzado con claves de 256 bits (AES-256) para realizar el cifrado.

**Topics**
+ [Políticas de cifrado](#serverless-encryption-policies)
+ [Consideraciones](#serverless-encryption-considerations)
+ [Permisos necesarios](#serverless-encryption-permissions)
+ [Política de claves para una clave administrada por el cliente](#serverless-customer-cmk-policy)
+ [Cómo utiliza Serverless las subvenciones en OpenSearch AWS KMS](#serverless-encryption-grants)
+ [Creación de políticas de cifrado (consola)](#serverless-encryption-console)
+ [Creación de políticas de cifrado (AWS CLI)](#serverless-encryption-cli)
+ [Visualización de políticas de cifrado](#serverless-encryption-list)
+ [Actualización de políticas de cifrado](#serverless-encryption-update)
+ [Eliminación de políticas de cifrado](#serverless-encryption-delete)

### Políticas de cifrado
<a name="serverless-encryption-policies"></a>

Con las políticas de cifrado, puede administrar numerosas colecciones a escala mediante la asignación automática de una clave de cifrado a las colecciones más recientes que coincidan con un nombre o un patrón específicos.

Al crear una política de cifrado, puede especificar un *prefijo*, que es una regla de coincidencia basada en caracteres comodín, como `MyCollection*`, o escribir un nombre de colección único. Después, cuando se cree una colección que coincida con ese patrón de nombre o prefijo, se le asignarán de forma automática la política y la clave de KMS correspondientes.

Al crear una colección, puede especificar una AWS KMS clave de dos maneras: mediante políticas de seguridad o directamente en la `CreateCollection` solicitud. Si proporciona una AWS KMS clave como parte de la `CreateCollection` solicitud, esta tendrá prioridad sobre cualquier política de seguridad coincidente. Con este enfoque, tiene la flexibilidad de anular la configuración de cifrado basada en políticas para colecciones específicas cuando sea necesario.

![\[Encryption policy creation process with rules and collection matching to KMS key.\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/images/serverless-encryption.png)


Las políticas de cifrado contienen los siguientes elementos:
+ `Rules`: una o más reglas de coincidencia de colecciones, cada una con los siguientes subelementos:
  + `ResourceType`: en la actualidad, la única opción es “colección”. Las políticas de cifrado solo se aplican a los recursos de colecciones.
  + `Resource`: uno o más nombres o patrones de colección a los que se aplicará la política, en el formato `collection/<collection name|pattern>`.
+ `AWSOwnedKey`: si se utiliza una Clave propiedad de AWS o no.
+ `KmsARN`: si configura el valor `AWSOwnedKey` en falso, especifique el nombre de recurso de Amazon (ARN) de la clave KMS con la que se va a cifrar las colecciones asociadas. Si incluye este parámetro, OpenSearch Serverless lo ignora. `AWSOwnedKey`

El siguiente ejemplo de política asignará una clave administrada por el cliente a cualquier colección futura denominada `autopartsinventory`, así como a las colecciones que comiencen por el término “ventas”:

```
{
   "Rules":[
      {
         "ResourceType":"collection",
         "Resource":[
            "collection/autopartsinventory",
            "collection/sales*"
         ]
      }
   ],
   "AWSOwnedKey":false,
   "KmsARN":"arn:aws:kms:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36"
}
```

Incluso si una política coincide con el nombre de una colección, puede optar por anular esta asignación automática durante la creación de la colección si el patrón de recursos contiene un comodín (\$1). Si decide anular la asignación automática de claves, OpenSearch Serverless crea una política de cifrado para usted denominada **auto-< *collection-name* >** y la adjunta a la colección. En un principio, la política solo se aplica a una única colección, pero se puede modificar para que incluya colecciones adicionales.

Si modifica las reglas de políticas para que dejen de coincidir con una colección, la clave KMS asociada continuará asignada a esa colección. La colección siempre permanece cifrada con su clave de cifrado inicial. Si desea cambiar la clave de cifrado de una colección, debe volver a crear la colección.

Si las reglas de varias políticas coinciden con una colección, se utiliza la regla más específica. Por ejemplo, si una política contiene una regla para `collection/log*` y otra para `collection/logSpecial`, se utiliza la clave de cifrado de la segunda política porque es más específica.

No puede usar un nombre o un prefijo en una política si ya existe en otra política. OpenSearch Serverless muestra un error si intenta configurar patrones de recursos idénticos en distintas políticas de cifrado.

### Consideraciones
<a name="serverless-encryption-considerations"></a>

Cuando configure el cifrado de las colecciones, tenga en cuenta lo siguiente:
+ El cifrado en reposo es *obligatorio* para todas las colecciones sin servidor.
+ Puede elegir entre utilizar una clave administrada por el cliente o una Clave propiedad de AWS. Si elige una clave administrada por el cliente, le recomendamos habilitar la [rotación automática de claves](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html).
+ No se puede cambiar la clave de cifrado de una colección después de su creación. Elija cuidadosamente cuál AWS KMS desea usar la primera vez que configure una colección.
+ Una colección solo puede coincidir con una única política de cifrado.
+ Las colecciones con claves KMS únicas no pueden compartir OpenSearch Compute Units (OCUs) con otras colecciones. Cada colección con una clave única requiere sus propias 4 OCUs.
+ Si actualiza la clave KMS de una política de cifrado, el cambio no afectará a las colecciones coincidentes existentes con claves KMS ya asignadas.
+ OpenSearch Serverless no comprueba explícitamente los permisos de usuario en las claves administradas por el cliente. Si un usuario tiene permisos para acceder a una colección mediante una política de acceso a los datos, podrá incorporar y consultar los datos cifrados con la clave asociada.

### Permisos necesarios
<a name="serverless-encryption-permissions"></a>

El cifrado en reposo para OpenSearch Serverless utiliza los siguientes permisos AWS Identity and Access Management (IAM). Puede especificar las condiciones de IAM para restringir a los usuarios a colecciones específicas.
+ `aoss:CreateSecurityPolicy`: cree una política de cifrado.
+ `aoss:ListSecurityPolicies` enumere todas las políticas y colecciones de cifrado a las que están adjuntas.
+ `aoss:GetSecurityPolicy`: consulte los detalles de una política de cifrado específica.
+ `aoss:UpdateSecurityPolicy`: modifique una política de cifrado.
+ `aoss:DeleteSecurityPolicy`: elimine una política de cifrado.

El siguiente ejemplo de política de acceso basada en la identidad proporciona los permisos mínimos necesarios para que un usuario administre las políticas de cifrado con el patrón de recursos `collection/application-logs`.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "aoss:CreateSecurityPolicy",
            "aoss:UpdateSecurityPolicy",
            "aoss:DeleteSecurityPolicy",
            "aoss:GetSecurityPolicy"
         ],
         "Resource":"*",
         "Condition":{
            "StringEquals":{
               "aoss:collection":"application-logs"
            }
         }
      },
      {
         "Effect":"Allow",
         "Action":[
            "aoss:ListSecurityPolicies"
         ],
         "Resource":"*"
      }
   ]
}
```

------

### Política de claves para una clave administrada por el cliente
<a name="serverless-customer-cmk-policy"></a>

Si selecciona una [clave administrada por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) para proteger una colección, OpenSearch Serverless obtiene permiso para usar la clave KMS en nombre del responsable que realiza la selección. Ese principal, un usuario o un rol, debe tener los permisos en la clave de KMS que requiere OpenSearch Serverless. Puede proporcionar estos permisos en una [política de claves](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) o en una [política de IAM](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html).

OpenSearch Serverless realiza `GenerateDataKey` llamadas a la API de `Decrypt` KMS durante las operaciones de mantenimiento, como el escalado automático y las actualizaciones de software. Es posible que observe que estas llamadas están fuera de sus patrones de tráfico habituales. Estas llamadas forman parte de las operaciones normales del servicio y no indican que haya tráfico de usuarios activos. 

OpenSearch Serverless lanza una `KMSKeyInaccessibleException` cuando no puede acceder a la clave KMS que cifra los datos en reposo. Esto ocurre al deshabilitar o eliminar la clave KMS, o al revocar las concesiones que permiten a OpenSearch Serverless usar la clave.

Como mínimo, OpenSearch Serverless requiere los siguientes permisos en una clave administrada por el cliente:
+ [kms: DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)
+ [km: CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)

Por ejemplo:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
        "Action": "kms:DescribeKey",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::123456789012:user/Dale"
        },
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "kms:ViaService": "aoss.us-east-1.amazonaws.com"
            }
        }
    },
    {
        "Action": "kms:CreateGrant",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::123456789012:user/Dale"
        },
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "kms:ViaService": "aoss.us-east-1.amazonaws.com"
            },
            "ForAllValues:StringEquals": {
                "kms:GrantOperations": [
                    "Decrypt",
                    "GenerateDataKey"
                ]
            },
            "Bool": {
                "kms:GrantIsForAWSResource": "true"
            }
        }
    }
  ]
}
```

------

OpenSearch Serverless crea una concesión con los permisos [kms: GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) y [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html).

Para más información, consulte [Uso de políticas de claves en AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) en la *Guía del desarrollador de AWS Key Management Service *.

### Cómo utiliza Serverless las subvenciones en OpenSearch AWS KMS
<a name="serverless-encryption-grants"></a>

OpenSearch Serverless requiere una [subvención](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) para poder utilizar una clave gestionada por el cliente.

Cuando creas una política de cifrado en tu cuenta con una clave nueva, OpenSearch Serverless crea una subvención en tu nombre enviando una [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)solicitud a. AWS KMS Las concesiones in AWS KMS se utilizan para permitir que OpenSearch Serverless acceda a una clave de KMS de la cuenta de un cliente.

OpenSearch Serverless requiere la concesión para utilizar la clave gestionada por el cliente en las siguientes operaciones internas:
+ Envíe [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)solicitudes AWS KMS a para comprobar que el identificador de clave simétrico gestionado por el cliente proporcionado es válido. 
+ Envíe [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)solicitudes a la clave KMS para crear claves de datos con las que cifrar objetos.
+ Envíe solicitudes de [descifrado](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) AWS KMS a para descifrar las claves de datos cifradas para que puedan usarse para cifrar sus datos. 

Puede revocar el acceso a la concesión o eliminar el acceso del servicio a la clave administrada por el cliente en cualquier momento. Si lo hace, OpenSearch Serverless no podrá acceder a ninguno de los datos cifrados por la clave gestionada por el cliente, lo que afectará a todas las operaciones que dependen de esos datos y provocará `AccessDeniedException` errores y fallas en los flujos de trabajo asíncronos.

OpenSearch Serverless retira las concesiones en un flujo de trabajo asíncrono cuando una clave determinada administrada por el cliente no está asociada a ninguna política o colección de seguridad.

### Creación de políticas de cifrado (consola)
<a name="serverless-encryption-console"></a>

En una política de cifrado, se especifica una clave KMS y una serie de patrones de colección a los que se aplicará la política. A cualquier colección nueva que coincida con uno de los patrones definidos en la política se le asignará la clave KMS correspondiente al crear la colección. Recomendamos que cree las políticas de cifrado *antes* de empezar a crear las colecciones.

**Para crear una política de cifrado sin servidor OpenSearch**

1. Abre la consola OpenSearch de Amazon Service en [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. En el panel de navegación izquierdo, amplíe **Sin servidor** y seleccione **Políticas de cifrado**.

1. Seleccione **Crear política de cifrado**.

1. Escriba un nombre y una descripción para la política.

1. En **Recursos**, ingrese uno o más patrones de recursos para esta política de cifrado. Todas las colecciones recién creadas en la región y Cuenta de AWS actuales que coincidan con uno de los patrones se asignan de forma automática a esta política. Por ejemplo, si introduce `ApplicationLogs` (sin comodín) y luego crea una colección con ese nombre, la política y la clave KMS correspondientes se asignarán a esa colección.

   También puede proporcionar un prefijo como `Logs*`, que asigna la política a cualquier colección nueva cuyo nombre comience por `Logs`. Mediante el uso de comodines, puede administrar la configuración de cifrado de varias colecciones a escala.

1. En **Cifrado**, seleccione la clave KMS que se debe utilizar.

1. Seleccione **Crear**.

#### Siguiente paso: crear colecciones
<a name="serverless-encryption-next"></a>

Después de configurar una o más políticas de cifrado, puede empezar a crear colecciones que coincidan con las reglas definidas en esas políticas. Para obtener instrucciones, consulte [Creación de colecciones](serverless-create.md).

En el paso de **cifrado** de la creación de la colección, OpenSearch Serverless le informa de que el nombre que ha introducido coincide con el patrón definido en una política de cifrado y asigna automáticamente la clave KMS correspondiente a la colección. Si el patrón de recursos contiene un comodín (\$1), puede anular la coincidencia y seleccionar su propia clave.

### Creación de políticas de cifrado (AWS CLI)
<a name="serverless-encryption-cli"></a>

Para crear una política de cifrado mediante las operaciones de la API OpenSearch sin servidor, debe especificar los patrones de recursos y una clave de cifrado en formato JSON. La [CreateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateSecurityPolicy.html)solicitud acepta tanto políticas en línea como archivos.json.

Las políticas de cifrado tienen el siguiente formato. El archivo de muestra `my-policy.json` coincidirá con cualquier colección futura con el nombre `autopartsinventory`, así como con cualquier colección cuyo nombre comience con `sales`.

```
{
   "Rules":[
      {
         "ResourceType":"collection",
         "Resource":[
            "collection/autopartsinventory",
            "collection/sales*"
         ]
      }
   ],
   "AWSOwnedKey":false,
   "KmsARN":"arn:aws:kms:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36"
}
```

Para usar una clave propiedad del servicio, configure la `AWSOwnedKey` como `true`:

```
{
   "Rules":[
      {
         "ResourceType":"collection",
         "Resource":[
            "collection/autopartsinventory",
            "collection/sales*"
         ]
      }
   ],
   "AWSOwnedKey":true
}
```

La siguiente solicitud crea la política de cifrado:

```
aws opensearchserverless create-security-policy \
    --name sales-inventory \
    --type encryption \
    --policy file://my-policy.json
```

A continuación, utilice la operación de la [CreateCollection](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateCollection.html)API para crear una o más colecciones que coincidan con uno de los patrones de recursos.

### Visualización de políticas de cifrado
<a name="serverless-encryption-list"></a>

Antes de crear una colección, puede que desee obtener una vista previa de las políticas de cifrado existentes en su cuenta para ver cuál tiene un patrón de recursos que coincide con el nombre de su colección. La siguiente [ListSecurityPolicies](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListSecurityPolicies.html)solicitud muestra todas las políticas de cifrado de tu cuenta:

```
aws opensearchserverless list-security-policies --type encryption
```

La solicitud devuelve información sobre todas las políticas de cifrado configuradas. Utilice el contenido del elemento `policy` para ver las reglas de patrón que se definen en la política:

```
{
   "securityPolicyDetails": [ 
      { 
         "createdDate": 1663693217826,
         "description": "Sample encryption policy",
         "lastModifiedDate": 1663693217826,
         "name": "my-policy",
         "policy": "{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection/autopartsinventory\",\"collection/sales*\"]}],\"AWSOwnedKey\":true}",
         "policyVersion": "MTY2MzY5MzIxNzgyNl8x",
         "type": "encryption"
      }
   ]
}
```

Para ver información detallada sobre una política específica, incluida la clave KMS, usa el [GetSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetSecurityPolicy.html)comando.

### Actualización de políticas de cifrado
<a name="serverless-encryption-update"></a>

Si actualiza la clave KMS en una política de cifrado, el cambio solo se aplica a las colecciones recién creadas que coincidan con el nombre o patrón configurado. No afecta a las colecciones existentes que ya tienen claves KMS asignadas. 

Lo mismo sucede con las reglas de coincidencia de las políticas. Si agrega, modifica o elimina una regla, el cambio solo se aplica a las colecciones recién creadas. Las colecciones existentes no pierden la clave KMS asignada si modifica las reglas de una política para que ya no coincida con el nombre de una colección.

Para actualizar una política de cifrado en la consola OpenSearch sin servidor, elija **Políticas de cifrado**, seleccione la política que desee modificar y elija **Editar**. Realice los cambios y elija **Guardar**.

Para actualizar una política de cifrado mediante la API OpenSearch sin servidor, utilice la [UpdateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateSecurityPolicy.html)operación. La siguiente solicitud actualiza una política de cifrado con un nuevo documento JSON de política:

```
aws opensearchserverless update-security-policy \
    --name sales-inventory \
    --type encryption \
    --policy-version 2 \
    --policy file://my-new-policy.json
```

### Eliminación de políticas de cifrado
<a name="serverless-encryption-delete"></a>

Cuando se elimina una política de cifrado, las colecciones que estén utilizando en ese momento la clave KMS definida en la política no se ven afectadas. **Para eliminar una política en la consola OpenSearch sin servidor, selecciónela y elija Eliminar.**

También puede utilizar la [DeleteSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_DeleteSecurityPolicy.html)operación:

```
aws opensearchserverless delete-security-policy --name my-policy --type encryption
```

## Cifrado en tránsito
<a name="serverless-encryption-in-transit"></a>

En OpenSearch Serverless, todas las rutas de una colección se cifran en tránsito mediante Transport Layer Security 1.2 (TLS) y un cifrado AES-256 estándar del sector. El acceso a todos los paneles APIs y a los paneles de Opensearch también se realiza a través de TLS 1.2. TLS es un conjunto de protocolos criptográficos estándares del sector que se utilizan para cifrar la información que se intercambia a través de la red.

# Acceso a la red para Amazon OpenSearch Serverless
<a name="serverless-network"></a>

La configuración de red de una colección de Amazon OpenSearch Serverless determina si se puede acceder a la colección a través de Internet desde redes públicas o si se debe acceder a ella de forma privada.

El acceso privado puede aplicarse a uno de los siguientes lugares o ambos:
+ OpenSearch Terminales de VPC gestionados sin servidor
+ Compatible Servicios de AWS , como Amazon Bedrock

Puede configurar el acceso a la red por separado para el *OpenSearch*punto final de una colección y el punto final de *OpenSearch Dashboards* correspondiente.

El acceso a la red es el mecanismo de aislamiento que permite el acceso desde diferentes redes de origen. Por ejemplo, si el punto final de los OpenSearch paneles de una colección es de acceso público, pero el punto final de la OpenSearch API no, el usuario solo podrá acceder a los datos de la recopilación a través de los paneles cuando se conecte desde una red pública. Si intenta llamarlos OpenSearch APIs directamente desde una red pública, se bloqueará. La configuración de red se puede utilizar para estas permutaciones de origen a tipo de recurso. Amazon OpenSearch Serverless es compatible con ambos tipos IPv4 de IPv6 conectividad.

**Topics**
+ [Políticas de red](#serverless-network-policies)
+ [Consideraciones](#serverless-network-considerations)
+ [Permisos necesarios para configurar políticas de red](#serverless-network-permissions)
+ [Prioridad política](#serverless-network-precedence)
+ [Creación de políticas de (consola)](#serverless-network-console)
+ [Creación de políticas de (AWS CLI)](#serverless-network-cli)
+ [Visualización de políticas de red](#serverless-network-list)
+ [Actualización de las políticas de red](#serverless-network-update)
+ [Eliminar las políticas de red](#serverless-network-delete)

## Políticas de red
<a name="serverless-network-policies"></a>

Las políticas de red le permiten administrar muchas colecciones a gran escala al asignar de forma automática la configuración de acceso a la red a las colecciones que cumplen con las reglas definidas en la política.

En una política de red, se especifican una serie de *reglas*. Estas reglas definen los permisos de acceso a los puntos de enlace de recopilación y a los puntos de enlace de OpenSearch Dashboards. Cada regla consta de un tipo de acceso (público o privado) y un tipo de recurso (punto final de colección o OpenSearch panel de control). Para cada tipo de recurso (`collection` y `dashboard`), especifique una serie de reglas que definen a qué colecciones se aplicará la política.

En este ejemplo de política, la primera regla especifica el acceso al punto de conexión de VPC tanto en el punto de conexión de la colección como al punto de conexión de Dashboards para todas las colecciones que comiencen por el término `marketing*`. También especifica el acceso a Amazon Bedrock. 

**nota**  
El acceso privado a Servicios de AWS Amazon Bedrock *solo* se aplica al punto final de la colección, no al OpenSearch punto final de OpenSearch Dashboards. Incluso si es así`dashboard`, Servicios de AWS no `ResourceType` se le puede conceder acceso a OpenSearch los paneles de control.

La segunda regla especifica el acceso público a la colección `finance`, pero solo para el punto de conexión de la colección (sin acceso a los paneles).

```
[
   {
      "Description":"Marketing access",
      "Rules":[
         {
            "ResourceType":"collection",
            "Resource":[
               "collection/marketing*"
            ]
         },
         {
            "ResourceType":"dashboard",
            "Resource":[
               "collection/marketing*"
            ]
         }
      ],
      "AllowFromPublic":false,
      "SourceVPCEs":[
         "vpce-050f79086ee71ac05"
      ],
      "SourceServices":[
         "bedrock.amazonaws.com"
      ],
   },
   {
      "Description":"Sales access",
      "Rules":[
         {
            "ResourceType":"collection",
            "Resource":[
               "collection/finance"
            ]
         }
      ],
      "AllowFromPublic":true
   }
]
```

Esta política solo proporciona acceso público a los OpenSearch paneles de control para las colecciones que comiencen por «finanzas». Cualquier intento de acceder directamente a la OpenSearch API fallará.

```
[
  {
    "Description": "Dashboards access",
    "Rules": [
      {
        "ResourceType": "dashboard",
        "Resource": [
          "collection/finance*"
        ]
      }
    ],
    "AllowFromPublic": true
  }
]
```

Las políticas de red pueden aplicarse a las colecciones existentes, así como a las colecciones futuras. Por ejemplo, puede crear una colección y, a continuación, crear una política de red con una regla que coincida con el nombre de la colección. No es necesario crear políticas de red para crear colecciones.

## Consideraciones
<a name="serverless-network-considerations"></a>

Al configurar el acceso a la red para sus colecciones, tenga en cuenta lo siguiente:
+ Si planea configurar el acceso al punto de enlace de VPC para una colección, primero debe crear al [OpenSearch menos un punto de enlace de VPC administrado](serverless-vpc.md) sin servidor.
+ El acceso privado Servicios de AWS solo se aplica al punto final de la colección, no al OpenSearch punto final de Dashboards. OpenSearch Incluso si es así`dashboard`, Servicios de AWS no `ResourceType` se le puede conceder acceso a los OpenSearch paneles de control.
+ Si se puede acceder a una colección desde redes públicas, también se puede acceder a ella desde todos los puntos finales de VPC OpenSearch gestionados por Serverless y todos ellos. Servicios de AWS
+ Se pueden aplicar varias políticas de red a una sola colección. Para obtener más información, consulte [Prioridad política](#serverless-network-precedence).

## Permisos necesarios para configurar políticas de red
<a name="serverless-network-permissions"></a>

El acceso a la red para OpenSearch Serverless utiliza los siguientes permisos (IAM). AWS Identity and Access Management Puede especificar condiciones de IAM para restringir a los usuarios a las políticas de red asociadas con colecciones específicas.
+ `aoss:CreateSecurityPolicy`: cree una política de acceso a la red.
+ `aoss:ListSecurityPolicies`: enumere todas las políticas de red de la cuenta actual.
+ `aoss:GetSecurityPolicy`: vea una especificación de la política de acceso a la red.
+ `aoss:UpdateSecurityPolicy`: modifique una política de acceso a la red determinada y cambiar el ID de VPC o la designación de acceso público.
+ `aoss:DeleteSecurityPolicy`: elimine una política de acceso a la red (después de separarla de todas las colecciones).

La siguiente política de acceso basada en identidades permite al usuario ver todas las políticas de red y actualizarlas según el patrón de recursos`collection/application-logs`:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "aoss:UpdateSecurityPolicy"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aoss:collection": "application-logs"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "aoss:ListSecurityPolicies",
                "aoss:GetSecurityPolicy"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**nota**  
Además, OpenSearch Serverless requiere los `aoss:DashboardsAccessAll` permisos `aoss:APIAccessAll` y los permisos para los recursos de recopilación. Para obtener más información, consulte [Uso de operaciones OpenSearch de API](security-iam-serverless.md#security_iam_id-based-policy-examples-data-plane).

## Prioridad política
<a name="serverless-network-precedence"></a>

Puede haber situaciones en las que las reglas de la política de red se superpongan, dentro de las políticas o entre ellas. Cuando esto ocurre, una regla que especifica el acceso público anula la regla que especifica el acceso privado para cualquier colección que sea común a *ambas* reglas.

Por ejemplo, en la siguiente política, ambas reglas asignan acceso a la red de la colección `finance`, pero una regla especifica el acceso a la VPC y la otra especifica el acceso público. En esta situación, el acceso público anula el acceso a la VPC *únicamente para la recaudación de fondos* (porque existe en ambas reglas), por lo que se podrá acceder a la colección de fondos desde las redes públicas. La colección de ventas tendrá acceso a VPC desde el punto de conexión especificado.

```
[
   {
      "Description":"Rule 1",
      "Rules":[
         {
            "ResourceType":"collection",
            "Resource":[
               "collection/sales",
               "collection/finance"
            ]
         }
      ],
      "AllowFromPublic":false,
      "SourceVPCEs":[
         "vpce-050f79086ee71ac05"
      ]
   },
   {
      "Description":"Rule 2",
      "Rules":[
         {
            "ResourceType":"collection",
            "Resource":[
               "collection/finance"
            ]
         }
      ],
      "AllowFromPublic":true
   }
]
```

Si se aplican varios puntos de conexión de VPC de diferentes reglas a una colección, las reglas son aditivas y se podrá acceder a la colección desde todos los puntos de conexión especificados. Si lo configura `AllowFromPublic` `true` pero también proporciona uno `SourceVPCEs` o más`SourceServices`, OpenSearch Serverless ignora los puntos finales de la VPC y los identificadores de servicio, y las colecciones asociadas tendrán acceso público.

## Creación de políticas de (consola)
<a name="serverless-network-console"></a>

Las políticas de red pueden aplicarse a las colecciones existentes, así como a las colecciones futuras. Se recomienda crear políticas de red antes de empezar a crear colecciones.

**Para crear una política de red sin servidor OpenSearch**

1. Abre la consola OpenSearch de Amazon Service en [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home ).

1. En el panel de navegación de la izquierda, expanda **Sin servidor** y seleccione **Políticas de red**.

1. Seleccione **Crear políticas de red**.

1. Escriba un nombre y una descripción para la política.

1. Proporcione una o más *reglas*. Estas reglas definen los permisos de acceso para sus colecciones OpenSearch sin servidor y sus puntos finales de OpenSearch Dashboards.

   Cada regla contiene los siguientes elementos:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-network.html)

   Para cada tipo de recurso que seleccione, puede elegir las colecciones existentes a las que aplicar la configuración de políticas y and/or crear uno o más patrones de recursos. Los patrones de recursos constan de un prefijo y un comodín (\$1) y definen a qué colecciones se aplicará la configuración de la política. 

   Por ejemplo, si incluye un patrón denominado `Marketing*`, a cualquier colección nueva o existente cuyo nombre comience por “Marketing” se le aplicará automáticamente la configuración de red de esta política. Un único comodín (`*`) aplica la política a todas las colecciones actuales y future.

   Además, puede especificar el nombre de una colección *futura* sin caracteres comodín, como`Finance`. OpenSearch Serverless aplicará la configuración de la política a cualquier colección recién creada con ese nombre exacto.

1. Cuando esté satisfecho, seleccione **Crear**.

## Creación de políticas de (AWS CLI)
<a name="serverless-network-cli"></a>

Para crear una política de red mediante las operaciones de la API OpenSearch sin servidor, debe especificar las reglas en formato JSON. La [CreateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateSecurityPolicy.html)solicitud acepta políticas en línea y archivos.json. Todas las colecciones y patrones deben tomar la forma `collection/<collection name|pattern>`.

**nota**  
El tipo de recurso `dashboards` solo permite el acceso a los OpenSearch paneles, pero para que los OpenSearch paneles funcionen, también debes permitir el acceso a la colección desde las mismas fuentes. Consulte la segunda política a continuación para ver un ejemplo.

Para especificar el acceso privado, incluya uno o los siguientes elementos:
+ `SourceVPCEs`— Especifique uno o más puntos finales de VPC OpenSearch gestionados sin servidor.
+ `SourceServices`— Especifique el identificador de uno o más de los compatibles. Servicios de AWS Actualmente, se admiten los siguientes identificadores de servicio:
  + `bedrock.amazonaws.com`: Amazon Bedrock

El siguiente ejemplo de política de red proporciona acceso privado, a una punto de conexión de VPC y Amazon Bedrock, a los puntos de conexión de las colecciones solo para las colecciones que comienzan con el prefijo `log*`. Los usuarios autenticados no pueden iniciar sesión en los OpenSearch paneles; solo pueden acceder al punto final de la colección mediante programación.

```
[
   {
      "Description":"Private access for log collections",
      "Rules":[
         {
            "ResourceType":"collection",
            "Resource":[
               "collection/log*"
            ]
         }
      ],
      "AllowFromPublic":false,
      "SourceVPCEs":[
         "vpce-050f79086ee71ac05"
      ],
      "SourceServices":[
         "bedrock.amazonaws.com"
      ],
   }
]
```

La siguiente política proporciona acceso público al OpenSearch punto final *y* a los OpenSearch paneles de control de una sola colección denominada. `finance` Si la colección no existe, la configuración de red se aplicará a la colección siempre y cuando se cree.

```
[
   {
      "Description":"Public access for finance collection",
      "Rules":[
         {
            "ResourceType":"dashboard",
            "Resource":[
               "collection/finance"
            ]
         },
         {
            "ResourceType":"collection",
            "Resource":[
               "collection/finance"
            ]
         }
      ],
      "AllowFromPublic":true
   }
]
```

La siguiente solicitud crea la política de red anterior:

```
aws opensearchserverless create-security-policy \
    --name sales-inventory \
    --type network \
    --policy "[{\"Description\":\"Public access for finance collection\",\"Rules\":[{\"ResourceType\":\"dashboard\",\"Resource\":[\"collection\/finance\"]},{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/finance\"]}],\"AllowFromPublic\":true}]"
```

Para proporcionar la política en un archivo JSON, utilice el formato`--policy file://my-policy.json`

## Visualización de políticas de red
<a name="serverless-network-list"></a>

Antes de crear una colección, puede que desee obtener una vista previa de las políticas de red existentes en su cuenta para ver cuáles tienen un patrón de recursos que coincide con el nombre de su colección. La siguiente [ListSecurityPolicies](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListSecurityPolicies.html)solicitud muestra todas las políticas de red de su cuenta:

```
aws opensearchserverless list-security-policies --type network
```

La solicitud devuelve información sobre todas las políticas de red configuradas. Para ver las reglas de patrón definidas en una política específica, busque la información de la política en el contenido del elemento `securityPolicySummaries` en la respuesta. Tenga en cuenta el `name` `type` final de esta política y utilice estas propiedades en una [GetSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetSecurityPolicy.html)solicitud para recibir una respuesta con los siguientes detalles de la política: 

```
{
    "securityPolicyDetail": [
        {
            "type": "network",
            "name": "my-policy",
            "policyVersion": "MTY2MzY5MTY1MDA3Ml8x",
            "policy": "[{\"Description\":\"My network policy rule\",\"Rules\":[{\"ResourceType\":\"dashboard\",\"Resource\":[\"collection/*\"]}],\"AllowFromPublic\":true}]",
            "createdDate": 1663691650072,
            "lastModifiedDate": 1663691650072
        }
    ]
}
```

Para ver información detallada sobre una política específica, utilice el [GetSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetSecurityPolicy.html)comando.

## Actualización de las políticas de red
<a name="serverless-network-update"></a>

Al modificar los puntos de conexión de VPC o la designación de acceso público de una red, todas las colecciones asociadas se ven afectadas. Para actualizar una política de red en la consola OpenSearch sin servidor, expanda **Políticas de red**, seleccione la política que desee modificar y elija **Editar**. Realice los cambios y elija **Guardar**.

Para actualizar una política de red mediante la API OpenSearch sin servidor, utilice el [UpdateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateSecurityPolicy.html)comando. Debe incluir un control de versiones de política en la solicitud. Puede recuperar el control de versiones de la política mediante los comandos `ListSecurityPolicies` o `GetSecurityPolicy`. Incluir la versión más reciente de la política garantiza que no se anule inadvertidamente un cambio realizado por otra persona. 

La siguiente solicitud actualiza una política de red con un nuevo documento JSON de política:

```
aws opensearchserverless update-security-policy \
    --name sales-inventory \
    --type network \
    --policy-version MTY2MzY5MTY1MDA3Ml8x \
    --policy file://my-new-policy.json
```

## Eliminar las políticas de red
<a name="serverless-network-delete"></a>

Para poder eliminar una política de red, debe desconectarla de todas las colecciones. **Para eliminar una política en la consola OpenSearch sin servidor, selecciónela y elija Eliminar.**

También puede usar el [DeleteSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_DeleteSecurityPolicy.html)comando:

```
aws opensearchserverless delete-security-policy --name my-policy --type network
```

# Conformidad con FIPS en Amazon Serverless OpenSearch
<a name="fips-compliance-opensearch-serverless"></a>

Amazon OpenSearch Serverless es compatible con los estándares federales de procesamiento de información (FIPS) 140-2, que son estándares gubernamentales de EE. UU. y Canadá que especifican los requisitos de seguridad para los módulos criptográficos que protegen la información confidencial. Cuando se conecta a puntos de conexión compatibles con FIPS con OpenSearch Serverless, las operaciones criptográficas se realizan mediante bibliotecas criptográficas validadas por FIPS.

OpenSearch Los puntos finales FIPS sin servidor están disponibles en los lugares en los que se admite FIPS. Regiones de AWS Estos puntos de conexión utilizan TLS 1.2 o una versión posterior y algoritmos criptográficos validados FIPS para todas las comunicaciones. Para obtener más información, consulte [Cumplimiento FIPS](https://docs.aws.amazon.com/verified-access/latest/ug/fips-compliance.html) en la *Guía del usuario de AWS Verified Access*.

**Topics**
+ [Uso de puntos finales FIPS con Serverless OpenSearch](#using-fips-endpoints-opensearch-serverless)
+ [Utilice los puntos finales de FIPS con AWS SDKs](#using-fips-endpoints-aws-sdks)
+ [Configurar grupos de seguridad para puntos de conexión de VPC](#configuring-security-groups-vpc-endpoints)
+ [Uso del punto de conexión de VPC compatible con FIPS](#using-fips-vpc-endpoint)
+ [Verificar el cumplimiento de FIPS](#verifying-fips-compliance)
+ [Solución de problemas de conectividad de puntos de conexión de FIPS en zonas alojadas privadas](serverless-fips-endpoint-issues.md)

## Uso de puntos finales FIPS con Serverless OpenSearch
<a name="using-fips-endpoints-opensearch-serverless"></a>

 Regiones de AWS Cuando se admite FIPS, se puede acceder a las colecciones OpenSearch sin servidor a través de puntos de conexión estándar y compatibles con FIPS. Para obtener más información, consulte [Cumplimiento FIPS](https://docs.aws.amazon.com/verified-access/latest/ug/fips-compliance.html) en la *Guía del usuario de AWS Verified Access*.

En los siguientes ejemplos, sustituya *collection\$1id* y por su identificador de colección y el *Región de AWS* suyo. Región de AWS
+ **Puntos de conexión estándar**: **https://*collection\$1id*.*Región de AWS*.aoss.amazonaws.com**.
+ **Punto de conexión compatible con FIPS**: **https://*collection\$1id*.*Región de AWS*.aoss-fips.amazonaws.com**.

Del mismo modo, se puede acceder a los OpenSearch paneles de control a través de puntos de conexión estándar y compatibles con el FIPS:
+ **Punto de conexión estándar de Dashboards**: **https://*collection\$1id*.*Región de AWS*.aoss.amazonaws.com/\$1dashboards**.
+ **Punto de conexión de Dashboards compatible con FIPS**: **https://*collection\$1id*.*Región de AWS*.aoss-fips.amazonaws.com/\$1dashboards**.

**nota**  
En las regiones habilitadas para FIPS, tanto los puntos de conexión estándar como los compatibles con FIPS proporcionan criptografía compatible con FIPS. Los puntos de conexión específicos de FIPS lo ayudan a cumplir con los requisitos de cumplimiento que exigen específicamente el uso de puntos de conexión con **FIPS** en el nombre.

## Utilice los puntos finales de FIPS con AWS SDKs
<a name="using-fips-endpoints-aws-sdks"></a>

Cuando lo utilice AWS SDKs, puede especificar el punto final de FIPS al crear el cliente. En el siguiente ejemplo, sustituya *collection\$1id* y *Región de AWS* por su identificador de colección y el suyo Región de AWS.

```
# Python SDK example
from opensearchpy import OpenSearch, RequestsHttpConnection, AWSV4SignerAuth
import boto3
host = '"https://collection_id.Región de AWS.aoss-fips.amazonaws.com"
region = 'us-west-2'
service = 'aoss'
credentials = boto3.Session().get_credentials()
auth = AWSV4SignerAuth(credentials, region, service)
client = OpenSearch(
    hosts = [{'host': host, 'port': 443}],
    http_auth = auth,
    use_ssl = True,
    verify_certs = True,
    connection_class = RequestsHttpConnection,
    pool_maxsize = 20
)
```

## Configurar grupos de seguridad para puntos de conexión de VPC
<a name="configuring-security-groups-vpc-endpoints"></a>

Para garantizar una comunicación adecuada con su punto final de Amazon VPC (VPC) compatible con FIPS, cree o modifique un grupo de seguridad para permitir el tráfico HTTPS entrante (puerto TCP 443) desde los recursos de su VPC que necesitan acceder a Serverless. OpenSearch Luego, asocie este grupo de seguridad con su punto de conexión de VPC durante la creación o modificando el punto de conexión después de la creación. Para obtener más información, consulte [Crear un grupo de seguridad](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html) en la *Guía del usuario de Amazon VPC*.

## Uso del punto de conexión de VPC compatible con FIPS
<a name="using-fips-vpc-endpoint"></a>

Después de crear el punto final de la VPC compatible con FIPS, puede usarlo para OpenSearch acceder a Serverless desde los recursos de su VPC. Para usar el punto de conexión en operaciones de API, configure su SDK para usar el punto de conexión regional FIPS según se describe en la sección [Uso de puntos finales FIPS con Serverless OpenSearch](#using-fips-endpoints-opensearch-serverless). Para acceder a los OpenSearch paneles, utilice la URL de paneles específica de la colección, que se enrutará automáticamente por el punto final de la VPC compatible con FIPS cuando se acceda a ellos desde su VPC. Para obtener más información, consulte [Uso de OpenSearch cuadros de mando con Amazon Service OpenSearch](dashboards.md).

## Verificar el cumplimiento de FIPS
<a name="verifying-fips-compliance"></a>

Para comprobar que tus conexiones a Serverless utilizan criptografía compatible con FIPS, OpenSearch úsala para supervisar las llamadas de API realizadas a Serverless. AWS CloudTrail OpenSearch Comprueba que el `eventSource` campo de los registros muestre las llamadas a la API CloudTrail . `aoss-fips.amazonaws.com` 

Para acceder a los OpenSearch paneles de control, puede utilizar las herramientas de desarrollo del navegador para inspeccionar los detalles de la conexión TLS y comprobar que se utilizan conjuntos de cifrado compatibles con el FIPS. 

# Solución de problemas de conectividad de puntos de conexión de FIPS en zonas alojadas privadas
<a name="serverless-fips-endpoint-issues"></a>

Los puntos de enlace FIPS funcionan con las colecciones de Amazon OpenSearch Serverless que tienen acceso público. Para las nuevas colecciones de VPC que utilizan puntos de conexión de VPC recién creados, los puntos de conexión de FIPS funcionan según lo esperado. Para otras colecciones de VPC, es posible que deba realizar una configuración manual para garantizar que los puntos de conexión de FIPS funcionen correctamente.

**Para configurar zonas alojadas privadas de FIPS en Amazon Route 53**

1. Abra la consola de Route 53 en. [https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)

1. Revise sus zonas alojadas:

   1. Localice las zonas alojadas en las que se encuentran Regiones de AWS sus colecciones.

   1. Compruebe los patrones de nomenclatura de las zonas alojadas:
      + Formato que no es de FIPS: `region.aoss.amazonaws.com`.
      + Formato que es de FIPS: `region.aoss-fips.amazonaws.com`.

   1. Confirme que el **Tipo** de todas sus zonas alojadas esté configurado como **Zona alojada privada**.

1. Si falta la zona alojada privada de FIPS:

   1. Seleccione la zona alojada privada no FIPS correspondiente.

   1. Copia la VPCs información **asociada**. Por ejemplo: `vpc-1234567890abcdef0 | us-east-2`.

   1. Busque el registro de dominio con comodín. Por ejemplo: `*.us-east-2.aoss.amazonaws.com`.

   1. Copie la información de **Valor/Dirigir el tráfico a**. Por ejemplo: `uoc1c1qsw7poexampleewjeno1pte3rw.3ym756xh7yj.aoss.searchservices.aws`.

1. Cree la zona alojada privada de FIPS:

   1. Cree una nueva zona alojada privada con el formato de FIPS. Por ejemplo: `us-east-2.aoss-fips.amazonaws.com`.

   1.  VPCsEn **Asociado**, introduzca la información de la VPC que copió de la zona alojada privada que no es de FIPS.

1. Agregue una nueva regla con las siguientes opciones de configuración:

   1. Nombre del registro: \$1

   1. Tipo de registro: CNAME

   1. Valor: ingrese la información de **Valor/Dirigir el tráfico a** que copió anteriormente.

## Problemas comunes
<a name="serverless-fips-endpoint-common-problems"></a>

Si tiene problemas de conectividad con los puntos de conexión de VPC compatibles con FIPS, consulte la siguiente información para ayudar a resolverlos.
+ Errores de resolución de DNS: no puede resolver el nombre de dominio del punto de conexión de FIPS en su VPC
+ Tiempos de espera de conexión: se agota el tiempo de espera de sus solicitudes al punto de conexión de FIPS
+ Errores de acceso denegado: la autenticación o la autorización fallan cuando se utilizan puntos de conexión de FIPS
+ Faltan registros de zonas alojadas privadas para colecciones exclusivas de VPC

**Para solucionar problemas de conectividad de puntos de conexión de FIPS**

1. Compruebe la configuración de su zona alojada privada:

   1. Confirme que existe una zona alojada privada para el dominio del punto de conexión de FIPS (`*.region.aoss-fips.amazonaws.com`).

   1. Compruebe que la zona alojada privada esté asociada a la VPC correcta.

      Para obtener más información, consulte [Zonas alojadas privadas](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted- zones-private.html) en la *Guía para desarrolladores de Amazon Route 53* y [Administración de nombres de DNS](https://docs.aws.amazon.com/vpc/latest/privatelink/manage-dns-names.html) en la *Guía de AWS PrivateLink *.

1. Pruebe de la resolución de DNS:

   1. Conéctese a una instancia de EC2 en su VPC.

   1. Use el siguiente comando:

      ```
      nslookup collection-id.region.aoss-fips.amazonaws.com
      ```

   1. Compruebe que la respuesta incluya la dirección IP privada del punto de conexión de VPC.

      Para obtener más información, consulte [Políticas de puntos de conexión](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints- access.html#endpoint-dns-verification) y [Atributos de DNS](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc- dns-troubleshooting) en la *Guía del usuario de Amazon VPC*.

1. Compruebe la configuración del grupo de seguridad:

   1. Compruebe que el grupo de seguridad adjunto al punto de conexión de VPC permita el tráfico HTTPS (puerto 443) desde sus recursos.

   1. Confirme que los grupos de seguridad de sus recursos permitan el tráfico saliente al punto de conexión de VPC.

   Para obtener más información, consulte [Políticas de puntos de conexión](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html#vpc-endpoint-security-groups) en la *Guía de AWS PrivateLink * y [Grupos de seguridad](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html#SecurityGroupRules) en la *Guía del usuario de Amazon VPC*.

1. Revise la configuración de la ACL de red:

   1. Compruebe que la red ACLs permita el tráfico entre sus recursos y el punto final de la VPC.

     Para obtener más información, consulte [Red ACLs](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network- acls.html#nacl-troubleshooting) en la Guía del *usuario de Amazon VPC*.

1. Revise su política de puntos de conexión:

   1. Compruebe que la política de puntos finales de la VPC permita las acciones necesarias en sus recursos OpenSearch sin servidor.

     Para obtener más información, consulte [Permisos de puntos de conexión de VPC necesarios](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html#serverless-vpc-permissions) y [Políticas de puntos de conexión](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints- access.html#vpc-endpoint-policies) en la *Guía de AWS PrivateLink *.

**sugerencia**  
Si utilizas resolutores de DNS personalizados en tu VPC, configúralos para que reenvíen las `*.amazonaws.com` solicitudes de dominios a AWS los servidores.

# Control de acceso a datos para Amazon OpenSearch Serverless
<a name="serverless-data-access"></a>

Con el control de acceso a los datos de Amazon OpenSearch Serverless, puede permitir que los usuarios accedan a colecciones e índices, independientemente de su mecanismo de acceso o fuente de red. Puede proporcionar acceso a roles de IAM e [identidades SAML](serverless-saml.md).

Los permisos de acceso se administran mediante las *políticas de acceso a los datos*, que se aplican a las colecciones y a los recursos de índice. Las políticas de acceso a datos le ayudan a administrar las colecciones a escala mediante la asignación automática de permisos de acceso a las colecciones e índices que coinciden con un patrón específico. Se pueden aplicar varias políticas de acceso a los datos a un solo recurso. Tenga en cuenta que debe tener una política de acceso a los datos para su colección para poder acceder a la URL de su OpenSearch panel de control.

**Topics**
+ [Políticas de acceso a datos frente a políticas de IAM](#serverless-data-access-vs-iam)
+ [Permisos de IAM necesarios para configurar las políticas de acceso a los datos](#serverless-data-access-permissions)
+ [Sintaxis de la política](#serverless-data-access-syntax)
+ [Permisos de política compatibles](#serverless-data-supported-permissions)
+ [Ejemplos de conjuntos de datos en paneles OpenSearch](#serverless-data-sample-index)
+ [Creación de políticas de acceso a los datos (consola)](#serverless-data-access-console)
+ [Creación de políticas de acceso a los datos (AWS CLI)](#serverless-data-access-cli)
+ [Visualización de políticas de acceso a los datos](#serverless-data-access-list)
+ [Actualización de las políticas de acceso a los datos](#serverless-data-access-update)
+ [Eliminación de políticas de acceso a los datos](#serverless-data-access-delete)
+ [Acceso a los datos entre cuentas](#serverless-data-access-cross)

## Políticas de acceso a datos frente a políticas de IAM
<a name="serverless-data-access-vs-iam"></a>

Las políticas de acceso a los datos son lógicamente independientes de las políticas AWS Identity and Access Management (de IAM). Los permisos de IAM controlan el acceso a las [operaciones de la API sin servidor](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/Welcome.html), como `CreateCollection` y `ListAccessPolicies`. Las políticas de acceso a los datos controlan el acceso a las [OpenSearch operaciones](#serverless-data-supported-permissions) compatibles con OpenSearch Serverless, como o. `PUT <index>` `GET _cat/indices`

Los permisos de IAM que controlan el acceso a las operaciones de la API de la política de acceso a los datos, como `aoss:CreateAccessPolicy` y `aoss:GetAccessPolicy` (que se describen en la siguiente sección), no afectan al permiso especificado en una política de acceso a los datos.

Por ejemplo, supongamos que una política de IAM niega a un usuario crear políticas de acceso a los datos para `collection-a`, pero le permite crear políticas de acceso a datos para todas las colecciones (`*`):

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "aoss:CreateAccessPolicy"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "aoss:collection": "collection-a"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "aoss:CreateAccessPolicy"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Si el usuario crea una política de acceso a los datos que permite ciertos permisos a *todas* las colecciones (`collection/*` o `index/*/*`), la política se aplicará a todas las colecciones, incluida la colección A.

**importante**  
Contar con permisos en el marco de una política de acceso a los datos no es suficiente para acceder a los datos de su colección OpenSearch Serverless. A una entidad principal *también* se le debe conceder acceso a los permisos de IAM `aoss:APIAccessAll` y `aoss:DashboardsAccessAll`. Ambos permisos otorgan acceso total a los recursos de la recopilación, mientras que el permiso de paneles también proporciona acceso a los OpenSearch paneles. Si una entidad principal no tiene estos dos permisos de IAM, recibirá errores 403 cuando intente enviar solicitudes a la colección. Para obtener más información, consulte [Uso de operaciones OpenSearch de API](security-iam-serverless.md#security_iam_id-based-policy-examples-data-plane).

## Permisos de IAM necesarios para configurar las políticas de acceso a los datos
<a name="serverless-data-access-permissions"></a>

El control de acceso a los datos para OpenSearch Serverless utiliza los siguientes permisos de IAM. Puede especificar las condiciones de IAM para restringir a los usuarios a nombres de políticas de acceso específicos.
+ `aoss:CreateAccessPolicy`: cree una política de acceso.
+ `aoss:ListAccessPolicies`: enumere todas las políticas de acceso.
+ `aoss:GetAccessPolicy`: consulte los detalles sobre una política de acceso específica.
+ `aoss:UpdateAccessPolicy`: modifique una política de acceso.
+ `aoss:DeleteAccessPolicy`: elimine una política de acceso.

La siguiente política de acceso basada en la identidad permite al usuario ver todas las políticas de acceso y actualizar las políticas que contienen el patrón de recursos `collection/logs`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "aoss:ListAccessPolicies",
                "aoss:GetAccessPolicy"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "aoss:UpdateAccessPolicy"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aoss:collection": [
                        "logs"
                    ]
                }
            }
        }
    ]
}
```

------

**nota**  
Además, OpenSearch Serverless requiere los `aoss:DashboardsAccessAll` permisos `aoss:APIAccessAll` y los permisos para los recursos de recopilación. Para obtener más información, consulte [Uso de operaciones OpenSearch de API](security-iam-serverless.md#security_iam_id-based-policy-examples-data-plane).

## Sintaxis de la política
<a name="serverless-data-access-syntax"></a>

Una política de acceso a datos incluye un conjunto de reglas, cada una con los siguientes elementos:


| Element | Description (Descripción) | 
| --- | --- | 
| ResourceType | El tipo de recurso (colección o índice) al que se le aplican los permisos. Los permisos de alias y plantillas se encuentran en el nivel de la colección, mientras que los permisos para crear, modificar y buscar datos están en el nivel del índice. Para más información, consulte [Permisos de políticas compatibles](#serverless-data-supported-permissions). | 
| Resource | Una lista de and/or patrones de nombres de recursos. Los patrones son prefijos seguidos de un comodín (\$1), que permiten que los permisos asociados se apliquen a varios recursos.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-data-access.html) | 
| Permission | Una lista de permisos a otorgar para los recursos especificados. Para obtener una lista completa de las operaciones de la API y de los permisos que permiten, consulte [Operaciones y permisos de OpenSearch API compatibles](serverless-genref.md#serverless-operations). | 
| Principal | Una lista de una o más entidades principales a las que conceder acceso. Los principales pueden ser identidades de rol de IAM ARNs o de SAML. Estas entidades principales deben estar dentro de la Cuenta de AWS actual. Las políticas de acceso a los datos no admiten directamente el acceso entre cuentas, pero puedes incluir en tu política una función que un usuario de otra cuenta Cuenta de AWS pueda asumir en la cuenta propietaria de la colección. Para obtener más información, consulte [Acceso a los datos entre cuentas](#serverless-data-access-cross). | 

La siguiente política de ejemplo otorga permisos de alias y plantillas a la colección llamada `autopartsinventory`, así como a cualquier colección que comience por el prefijo `sales*`. También otorga permisos de lectura y escritura a todos los índices dentro de la colección `autopartsinventory` y a todos los índices de la colección `salesorders` que comiencen por el prefijo `orders*`.

```
[
   {
      "Description": "Rule 1",
      "Rules":[
         {
            "ResourceType":"collection",
            "Resource":[
               "collection/autopartsinventory",
               "collection/sales*"
            ],
            "Permission":[
               "aoss:CreateCollectionItems",
               "aoss:UpdateCollectionItems",
               "aoss:DescribeCollectionItems"
            ]
         },
         {
            "ResourceType":"index",
            "Resource":[
               "index/autopartsinventory/*",
               "index/salesorders/orders*"
            ],
            "Permission":[
               "aoss:*"
            ]
         }
      ],
      "Principal":[
         "arn:aws:iam::123456789012:user/Dale",
         "arn:aws:iam::123456789012:role/RegulatoryCompliance",
         "saml/123456789012/myprovider/user/Annie",
         "saml/123456789012/anotherprovider/group/Accounting"
      ]
   }
]
```

No se puede denegar el acceso de forma explícita dentro de una política. Por lo tanto, todos los permisos de la política son aditivos. Por ejemplo, si una política concede el permiso `aoss:ReadDocument` a un usuario y otra `aoss:WriteDocument`, el usuario tendrá *ambos* permisos. Si una tercera política concede al mismo usuario el permiso `aoss:*`, el usuario puede realizar *todas* las acciones del índice asociado; los permisos más restrictivos no anulan los menos restrictivos.

## Permisos de política compatibles
<a name="serverless-data-supported-permissions"></a>

Las políticas de acceso a los datos admiten los siguientes permisos. Para ver las operaciones OpenSearch de API que permite cada permiso, consulte. [Operaciones y permisos de OpenSearch API compatibles](serverless-genref.md#serverless-operations)

**Permisos de colección**
+ `aoss:CreateCollectionItems`
+ `aoss:DeleteCollectionItems`
+ `aoss:UpdateCollectionItems`
+ `aoss:DescribeCollectionItems`
+ `aoss:*`

**Permisos de índice**
+ `aoss:ReadDocument`
+ `aoss:WriteDocument`
+ `aoss:CreateIndex`
+ `aoss:DeleteIndex`
+ `aoss:UpdateIndex`
+ `aoss:DescribeIndex`
+ `aoss:*`

## Ejemplos de conjuntos de datos en paneles OpenSearch
<a name="serverless-data-sample-index"></a>

OpenSearch Los paneles proporcionan [conjuntos de datos de muestra](https://opensearch.org/docs/latest/dashboards/quickstart-dashboards/#adding-sample-data) que incluyen visualizaciones, paneles y otras herramientas para ayudarlo a explorar los paneles antes de agregar sus propios datos. Para crear índices a partir de estos datos de ejemplo, necesita una política de acceso a los datos que otorgue permisos al conjunto de datos con el que desee trabajar. La siguiente política usa un comodín (`*`) para proporcionar permisos a los tres conjuntos de datos de ejemplo.

```
[
  {
    "Rules": [
      {
        "Resource": [
          "index/<collection-name>/opensearch_dashboards_sample_data_*"
        ],
        "Permission": [
          "aoss:CreateIndex",
          "aoss:DescribeIndex",
          "aoss:ReadDocument"
        ],
        "ResourceType": "index"
      }
    ],
    "Principal": [
      "arn:aws:iam::<account-id>:user/<user>"
    ]
  }
]
```

## Creación de políticas de acceso a los datos (consola)
<a name="serverless-data-access-console"></a>

Puede crear una política de acceso a los datos con el editor visual o en el formato JSON. A cualquier colección nueva que coincida con uno de los patrones definidos en la política se le asignarán los permisos correspondientes al crear la colección.

**Para crear una política de acceso a los datos sin servidor OpenSearch**

1. Abre la consola OpenSearch de Amazon Service en [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home ).

1. En el panel de navegación izquierdo, expanda **sin servidor** y, en **Seguridad**, elija **Políticas de acceso a datos**.

1. Seleccione **Crear política de acceso**.

1. Escriba un nombre y una descripción para la política.

1. Proporcione un nombre para la primera regla de la política. Por ejemplo, “Acceso a la colección de registros”.

1. Seleccione **Agregar entidades principales**, y luego uno o varios roles de IAM o [usuarios y grupos de SAML](serverless-saml.md) para proporcionarles acceso a los datos.
**nota**  
Para seleccionar las entidades principales desde los menús desplegables, debe tener los permisos `iam:ListUsers` y `iam:ListRoles` (para las entidades principales de IAM) y el permiso `aoss:ListSecurityConfigs` (para las identidades de SAML). 

1. Seleccione **Otorgar** y seleccione los permisos de alias, plantillas e índices que desea conceder a las entidades principales asociadas. Para obtener una lista completa de los permisos y el acceso que permiten, consulte [Operaciones y permisos de OpenSearch API compatibles](serverless-genref.md#serverless-operations).

1. (Opcional) Configure reglas adicionales para la política.

1. Seleccione **Crear**. Puede transcurrir alrededor de un minuto de retardo entre el momento en que se crea la política y el momento en el que se aplican los permisos. Si tarda más de 5 minutos, póngase en contacto con [Soporte](https://console.aws.amazon.com/support/home).

**importante**  
Si la política solo incluye permisos de índices (y no permisos de colecciones), es posible que siga apareciendo un mensaje sobre las colecciones coincidentes que indique lo siguiente: `Collection cannot be accessed yet. Configure data access policies so that users can access the data within this collection`. Puede omitir esta advertencia. Las entidades principales autorizadas pueden seguir realizando las operaciones relacionadas con índices que tengan asignadas en la colección.

## Creación de políticas de acceso a los datos (AWS CLI)
<a name="serverless-data-access-cli"></a>

Para crear una política de acceso a los datos mediante la API OpenSearch sin servidor, utilice el `CreateAccessPolicy` comando. El comando acepta políticas insertadas y archivos .json. Las políticas insertadas deben codificarse como una [cadena de escape de JSON](https://www.freeformatter.com/json-escape.html).

La siguiente solicitud crea una política de acceso a los datos:

```
aws opensearchserverless create-access-policy \
    --name marketing \
    --type data \
    --policy "[{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection/autopartsinventory\",\"collection/sales*\"],\"Permission\":[\"aoss:UpdateCollectionItems\"]},{\"ResourceType\":\"index\",\"Resource\":[\"index/autopartsinventory/*\",\"index/salesorders/orders*\"],\"Permission\":[\"aoss:ReadDocument\",\"aoss:DescribeIndex\"]}],\"Principal\":[\"arn:aws:iam::123456789012:user/Shaheen\"]}]"
```

Para proporcionar la política dentro de un archivo .json, utilice el formato `--policy file://my-policy.json`.

Los principales incluidos en la política ahora pueden usar [OpenSearch las operaciones a las](#serverless-data-supported-permissions) que se les concedió acceso.

## Visualización de políticas de acceso a los datos
<a name="serverless-data-access-list"></a>

Antes de crear una colección, puede que desee obtener una vista previa de las políticas de acceso a los datos existentes en la cuenta para ver cuáles tienen un patrón de recursos que coincide con el nombre de su colección. En la siguiente [ListAccessPolicies](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListAccessPolicies.html)solicitud, se enumeran todas las políticas de acceso a los datos de tu cuenta:

```
aws opensearchserverless list-access-policies --type data
```

La solicitud devuelve información sobre todas las políticas de acceso a los datos configuradas. Para ver las reglas de patrón definidas en una política específica, busque la información de la política en el contenido del elemento `accessPolicySummaries` en la respuesta. Tenga en cuenta el `name` `type` final de esta política y utilice estas propiedades en una [GetAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetAccessPolicy.html)solicitud para recibir una respuesta con los siguientes detalles de la política: 

```
{
    "accessPolicyDetails": [
        {
            "type": "data",
            "name": "my-policy",
            "policyVersion": "MTY2NDA1NDE4MDg1OF8x",
            "description": "My policy",
            "policy": "[{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection/autopartsinventory\",\"collection/sales*\"],\"Permission\":[\"aoss:UpdateCollectionItems\"]},{\"ResourceType\":\"index\",\"Resource\":[\"index/autopartsinventory/*\",\"index/salesorders/orders*\"],\"Permission\":[\"aoss:ReadDocument\",\"aoss:DescribeIndex\"]}],\"Principal\":[\"arn:aws:iam::123456789012:user/Shaheen\"]}]",
            "createdDate": 1664054180858,
            "lastModifiedDate": 1664054180858
        }
    ]
}
```

Puede incluir filtros de recursos para limitar los resultados a políticas que contengan colecciones o índices específicos:

```
aws opensearchserverless list-access-policies --type data --resource "index/autopartsinventory/*"
```

Para ver los detalles de una política específica, utilice el [GetAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetAccessPolicy.html)comando.

## Actualización de las políticas de acceso a los datos
<a name="serverless-data-access-update"></a>

Al actualizar una política de acceso a los datos, todas las colecciones asociadas se ven afectadas. Para actualizar una política de acceso a datos en la consola OpenSearch sin servidor, elija **Control de acceso a datos**, seleccione la política que desee modificar y elija **Editar**. Realice los cambios y elija **Guardar**.

Para actualizar una política de acceso a datos mediante la API OpenSearch sin servidor, envía una `UpdateAccessPolicy` solicitud. Debe incluir una versión de la política, que puede recuperar mediante los comandos `ListAccessPolicies` or `GetAccessPolicy`. Incluir la versión más reciente de la política garantiza que no se anule inadvertidamente un cambio realizado por otra persona.

La siguiente [UpdateAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateAccessPolicy.html)solicitud actualiza una política de acceso a datos con un nuevo documento JSON de política:

```
aws opensearchserverless update-access-policy \
    --name sales-inventory \
    --type data \
    --policy-version MTY2NDA1NDE4MDg1OF8x \
    --policy file://my-new-policy.json
```

Pueden transcurrir unos minutos de retardo entre el momento en que se actualiza la política y el momento en que se aplican los nuevos permisos.

## Eliminación de políticas de acceso a los datos
<a name="serverless-data-access-delete"></a>

Al eliminar una política de acceso a los datos, todas las colecciones asociadas pierden el acceso definido en la política. Asegúrese de que sus usuarios de IAM y SAML tengan el acceso adecuado a la colección antes de eliminar una política. Para eliminar una política en la consola OpenSearch sin servidor, selecciónela y elija **Eliminar**.

También puede usar el [DeleteAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_DeleteAccessPolicy.html)comando:

```
aws opensearchserverless delete-access-policy --name my-policy --type data
```

## Acceso a los datos entre cuentas
<a name="serverless-data-access-cross"></a>

Si bien no puede crear una política de acceso a los datos con identidades o colecciones entre cuentas, sí puede configurar el acceso entre cuentas con la opción de asumir un rol. Por ejemplo, si la `account-a` es propietaria de una colección a la que la `account-b` necesita acceso, el usuario de la `account-b` puede asumir un rol en la `account-a`. El rol debe tener los permisos de IAM `aoss:APIAccessAll` y `aoss:DashboardsAccessAll` y estar incluido en la política de acceso a los datos de la `account-a`.

# Acceso al plano de datos a través de AWS PrivateLink
<a name="serverless-vpc"></a>

Amazon OpenSearch Serverless admite dos tipos de AWS PrivateLink conexiones para las operaciones del plano de control y del plano de datos. Las operaciones del plano de control incluyen la creación y eliminación de colecciones y la administración de las políticas de acceso. Las operaciones del plano de datos sirven para indexar y consultar los datos de una colección. En esta página se describen los puntos finales de VPC del plano de datos. Para obtener información sobre los AWS PrivateLink puntos finales del plano de control, consulte. [Acceso al plano de control a través de AWS PrivateLink](serverless-vpc-cp.md)

Puede usarlo AWS PrivateLink para crear una conexión privada entre su VPC y Amazon OpenSearch Serverless. Puede acceder a OpenSearch Serverless como si estuviera en su VPC, sin el uso de una puerta de enlace a Internet, un dispositivo NAT, una conexión VPN o una conexión. Direct Connect Las instancias de su VPC no necesitan direcciones IP públicas para acceder OpenSearch a Serverless. Para obtener más información sobre el acceso a la red de VPC, consulte [Patrones de conectividad de red para Amazon OpenSearch Serverless](https://aws.amazon.com/blogs/big-data/network-connectivity-patterns-for-amazon-opensearch-serverless/).

Esta conexión privada se establece mediante la creación de un *punto de conexión de interfaz* alimentado por AWS PrivateLink. Creamos una interfaz de red de punto de conexión en cada subred especificada para el punto de conexión de interfaz. Se trata de interfaces de red administradas por el solicitante que sirven como punto de entrada para el tráfico destinado a Serverless. OpenSearch 

Para obtener más información, consulte [Acceso a Servicios de AWS a través de AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-access-aws-services.html) en la *Guía de AWS PrivateLink *.

**Topics**
+ [Resolución de DNS de los puntos de conexión de colección](#vpc-endpoint-dnc)
+ [VPCs y políticas de acceso a la red](#vpc-endpoint-network)
+ [VPCs y políticas de puntos finales](#vpc-endpoint-policy)
+ [Consideraciones](#vpc-endpoint-considerations)
+ [Permisos necesarios](#serverless-vpc-permissions)
+ [Cree un punto final de interfaz para Serverless OpenSearch](#serverless-vpc-create)
+ [Configuración de VPC compartida para Amazon Serverless OpenSearch](#shared-vpc-setup)

## Resolución de DNS de los puntos de conexión de colección
<a name="vpc-endpoint-dnc"></a>

Al crear un punto final de VPC del plano de datos a través de la consola OpenSearch sin servidor, el servicio crea una nueva [zona alojada Amazon Route 53 privada](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html) y la adjunta a la VPC. Esta zona alojada privada consta de un registro para convertir el registro DNS comodín de las colecciones OpenSearch sin servidor (`*.us-east-1.aoss.amazonaws.com`) en las direcciones de interfaz utilizadas para el punto final. Solo necesita un punto final de VPC OpenSearch sin servidor en una VPC para acceder a todas y cada una de las colecciones y paneles de control de cada una. Región de AWS Cada VPC con un punto final para OpenSearch Serverless tiene su propia zona alojada privada adjunta.

El punto final de la interfaz OpenSearch sin servidor también crea un registro DNS comodín público de Route 53 para todas las colecciones de la región. El nombre DNS se resuelve en las direcciones IP públicas OpenSearch sin servidor. Los clientes VPCs que no tengan un punto final de VPC OpenSearch sin servidor o los clientes de redes públicas pueden usar la resolución pública de Route 53 y acceder a las colecciones y los paneles con esas direcciones IP. El tipo de dirección IP (IPv4 IPv6, o Dualstack) del punto final de la VPC se determina en función de las subredes que se proporcionan al [crear un punto final de interfaz para Serverless](#serverless-vpc-create). OpenSearch 

**nota**  
OpenSearch Serverless crea una zona alojada privada ``<region>.opensearch.amazonaws.com` (`) de Amazon Route 53 adicional para OpenSearch una resolución de dominio de servicio. Puede actualizar su punto final de IPv4 VPC existente a Dualstack mediante el [update-vpc-endpoint](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/update-vpc-endpoint.html)comando de. AWS CLI

La dirección de resolver de DNS de una VPC determinada es la segunda dirección IP del CIDR de la VPC. Todos los clientes de la VPC deben usar ese resolver para obtener la dirección de punto de conexión de VPC para cualquier colección. El solucionador utiliza una zona alojada privada creada por Serverless. OpenSearch Basta con usar ese resolverr para todas las colecciones de cualquier cuenta. También es posible utilizar el resolver de VPC para algunos puntos de conexión de colección y el resolver público para otros, aunque normalmente no es necesario.

## VPCs y políticas de acceso a la red
<a name="vpc-endpoint-network"></a>

Para conceder permisos de red OpenSearch APIs y paneles de control a sus colecciones, puede utilizar las políticas de [acceso a la red OpenSearch ](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html) sin servidor. Puede controlar este acceso a la red desde sus puntos de conexión de VPC o desde la Internet pública. Como su política de red solo controla los permisos de tráfico, también debe configurar una [política de acceso a los datos](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html) que especifique los permisos para operar con los datos de una colección y sus índices. Piense en un punto final de VPC OpenSearch sin servidor como un punto de acceso al servicio, una política de acceso a la red como el punto de acceso a nivel de red a las colecciones y los paneles de control, y una política de acceso a los datos como el punto de acceso para un control de acceso detallado para cualquier operación con los datos de la recopilación. 

Como puede especificar varios puntos de enlace de VPC IDs en una política de red, le recomendamos que cree un punto de enlace de VPC para cada VPC que necesite acceder a una colección. VPCsPueden pertenecer a AWS cuentas distintas de la cuenta propietaria de la política de red y recopilación OpenSearch sin servidor. No le recomendamos que cree una VPC-to-VPC solución de interconexión u otra solución de proxy entre dos cuentas para que la VPC de una cuenta pueda utilizar el punto de enlace de VPC de otra cuenta. Esto es menos seguro y rentable que cada VPC que tenga su propio punto de conexión. El administrador de la otra VPC, que ha configurado el acceso al punto final de esa VPC en la política de red, no podrá ver fácilmente la primera VPC. 

## VPCs y políticas de puntos finales
<a name="vpc-endpoint-policy"></a>

 Amazon OpenSearch Serverless admite políticas de puntos finales para VPCs. Una política de punto final es una política de IAM basada en recursos que se adjunta a un punto final de VPC para controlar qué entidades AWS principales pueden usar el punto final para acceder a su servicio. AWS Para obtener más información, consulte [Controlar el acceso a puntos de conexión de VPC con políticas de punto de conexión](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html). 

Para usar una política de punto de conexión, primero debe crear un punto de conexión de interfaz. Puedes crear un punto final de interfaz mediante la consola sin servidor o la API OpenSearch sin servidor. OpenSearch Después de crear el punto de conexión de interfaz, tendrá que añadir la política del punto de conexión al punto de conexión. Para obtener más información, consulte [Cree un punto final de interfaz para Serverless OpenSearch](#serverless-vpc-create).

**nota**  
No puede definir una política de puntos finales directamente en la consola de OpenSearch servicio. 

Una política de punto de conexión no anula ni reemplaza otras políticas basadas en identidades, políticas basadas en recursos, políticas de red o políticas de acceso a datos que haya configurado. Para obtener información sobre cómo actualizar la política de puntos de conexión, consulte [Controlar el acceso a puntos de conexión de VPC con políticas de punto de conexión](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html).

De forma predeterminada, una política de punto de conexión concede acceso completo al punto de conexión de VPC. 

```
{
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "*",
            "Resource": "*"
        }
    ]
}
```

Si bien la política de puntos de conexión de VPC predeterminada concede acceso total a los puntos de conexión, puede configurar una política de puntos de conexión de VPC para permitir el acceso a roles y usuarios específicos. Para eso, vea el siguiente ejemplo:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "123456789012",
                    "987654321098"
                ]
            },
            "Action": "*",
            "Resource": "*"
        }
    ]
}
```

------

Puede especificar una colección OpenSearch sin servidor para incluirla como elemento condicional en su política de puntos finales de VPC. Para eso, vea el siguiente ejemplo:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aoss:collection": [
                        "coll-abc"
                    ]
                }
            }
        }
    ]
}
```

------

El soporte para `aoss:CollectionId` está disponible.

```
Condition": {
         "StringEquals": {
               "aoss:CollectionId": "collection-id"
          }
}
```

Puede usar las identidades de SAML en la política de puntos de conexión de VPC para determinar el acceso a esos puntos. Debe usar un comodín `(*)` en la sección de la entidad principal de la política de puntos de conexión de VPC. Para eso, vea el siguiente ejemplo:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "saml:cn": [
                        "saml/111122223333/idp123/group/football",
                        "saml/111122223333/idp123/group/soccer",
                        "saml/111122223333/idp123/group/cricket"
                    ]
                }
            }
        }
    ]
}
```

------

Además, puede configurar su política de puntos de conexión para que incluya una política de entidad principal de SAML específica. Para eso, vea lo siguiente:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:PrincipalTag/Department": [
                        "Engineering"]
                    }
                }
            }
        ]
    }
```

------

Para obtener más información sobre el uso de la autenticación SAML con Amazon OpenSearch Serverless, consulte Autenticación [SAML para Amazon](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-saml.html) Serverless. OpenSearch 

También puede incluir usuarios de IAM y SAML en la misma política de puntos de conexión de VPC. Para eso, vea el siguiente ejemplo:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "saml:cn": [
                        "saml/111122223333/idp123/group/football",
                        "saml/111122223333/idp123/group/soccer",
                        "saml/111122223333/idp123/group/cricket"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "111122223333"
                ]
            },
            "Action": "*",
            "Resource": "*"
        }
    ]
}
```

------

También puede acceder a una colección de Amazon OpenSearch Serverless desde Amazon EC2 a través de los puntos de enlace de la interfaz de la VPC. Para obtener más información, consulte [Acceder a una colección OpenSearch sin servidor desde Amazon EC2 (mediante puntos de enlace de la interfaz de VPC](https://aws.amazon.com/blogs/big-data/network-connectivity-patterns-for-amazon-opensearch-serverless/)).

## Consideraciones
<a name="vpc-endpoint-considerations"></a>

Antes de configurar un punto final de interfaz para OpenSearch Serverless, tenga en cuenta lo siguiente:
+ OpenSearch Serverless permite realizar llamadas a todas las operaciones de [OpenSearch API compatibles (no a las operaciones](serverless-genref.md#serverless-operations) de API de configuración) a través del punto final de la interfaz.
+ Después de crear un punto final de interfaz para OpenSearch Serverless, aún debe incluirlo en [las políticas de acceso a la red](serverless-network.md) para que pueda acceder a las colecciones sin servidor.
+ De forma predeterminada, se permite el acceso total a OpenSearch Serverless a través del punto final de la interfaz. Puede asociar un grupo de seguridad a las interfaces de red de los puntos finales para controlar el tráfico a OpenSearch Serverless a través del punto final de la interfaz.
+ Una sola unidad Cuenta de AWS puede tener un máximo de 50 puntos finales de VPC OpenSearch sin servidor.
+ Si habilita el acceso público a Internet a la API o los paneles de control de su colección en una política de red, cualquier VPC y la Internet pública pueden acceder a su colección.
+ Si está en las instalaciones y fuera de la VPC, no puede usar directamente una resolución de DNS para la resolución del punto final de la VPC OpenSearch sin servidor. Si necesita acceso a una VPN, la VPC necesita un resolver de proxy de DNS para que lo usen los clientes externos. Route 53 ofrece una opción de punto de conexión de entrada que puede usar para resolver consultas de DNS a su VPC desde su red en las instalaciones u otra VPC.
+ El servicio administra la zona alojada privada que OpenSearch Serverless crea y adjunta a la VPC, pero aparece en sus Amazon Route 53 recursos y se factura a su cuenta.
+ Para otras consideraciones, consulte [Consideraciones](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#considerations-interface-endpoints) en la *Guía de AWS PrivateLink *.

## Permisos necesarios
<a name="serverless-vpc-permissions"></a>

El acceso a la VPC para OpenSearch Serverless utiliza los siguientes permisos AWS Identity and Access Management (IAM). Puede especificar las condiciones de IAM para restringir a los usuarios a colecciones específicas.
+ `aoss:CreateVpcEndpoint`: cree un punto de conexión de VPC.
+ `aoss:ListVpcEndpoints`: enumere todos los puntos de conexión de VPC.
+ `aoss:BatchGetVpcEndpoint`: consulte los detalles sobre un subconjunto de puntos de conexión de VPC.
+ `aoss:UpdateVpcEndpoint`: modifique un punto de conexión de VPC.
+ `aoss:DeleteVpcEndpoint`: elimine un punto de conexión de VPC.

Además, necesita los siguientes permisos de Amazon EC2 y Route 53 para crear un punto de conexión de VPC.
+ `ec2:CreateTags`
+ `ec2:CreateVpcEndpoint`
+ `ec2:DeleteVpcEndPoints`
+ `ec2:DescribeSecurityGroups`
+ `ec2:DescribeSubnets`
+ `ec2:DescribeVpcEndpoints`
+ `ec2:DescribeVpcs`
+ `ec2:ModifyVpcEndPoint`
+ `route53:AssociateVPCWithHostedZone`
+ `route53:ChangeResourceRecordSets`
+ `route53:CreateHostedZone`
+ `route53:DeleteHostedZone`
+ `route53:GetChange`
+ `route53:GetHostedZone`
+ `route53:ListHostedZonesByName`
+ `route53:ListHostedZonesByVPC`
+ `route53:ListResourceRecordSets`

## Cree un punto final de interfaz para Serverless OpenSearch
<a name="serverless-vpc-create"></a>

Puede crear un punto final de interfaz para OpenSearch Serverless mediante la consola o la API OpenSearch Serverless. 

**Para crear un punto final de interfaz para una colección sin servidor OpenSearch**

1. Abre la consola OpenSearch de Amazon Service en [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. En el panel de navegación de la izquierda, expanda **Sin servidor** y seleccione **Puntos de conexión de VPC**.

1. Seleccione **Crear punto de conexión de VPC**.

1. Proporcione un nombre para el punto de conexión.

1. En el **caso de la VPC**, selecciona la VPC desde la que accederás a Serverless. OpenSearch 

1. En el caso de **las subredes**, selecciona una subred desde la que accederás a Serverless. OpenSearch 
   + La dirección IP y el tipo de DNS del punto de conexión se basan en el tipo de subred.
     + Dualstack: si todas las subredes tienen ambos rangos de direcciones IPv4 IPv6 
     + IPv6: Si todas las subredes son solo subredes IPv6 
     + IPv4: Si todas las subredes tienen rangos de direcciones IPv4 

1. En **Grupos de seguridad**, seleccione los grupos de seguridad que deban asociarse a las interfaces de red del punto de conexión. Este es un paso fundamental en el que se limitan los puertos, los protocolos y las fuentes del tráfico entrante que se autoriza a entrar en el punto final. Asegúrese de que las reglas del grupo de seguridad permitan que los recursos que utilizarán el punto final de la VPC se comuniquen con OpenSearch Serverless para comunicarse con la interfaz de red del punto final.

1. Seleccione **Crear punto de conexión**.

Para crear un punto final de VPC mediante la API OpenSearch sin servidor, utilice el comando. `CreateVpcEndpoint`

**nota**  
Después de crear un punto de conexión, registre su ID (por ejemplo, `vpce-abc123def4EXAMPLE`. Para proporcionar el acceso del punto de conexión a sus colecciones, debe incluir este ID en una o más políticas de acceso a la red. 

Tras crear un punto de conexión de interfaz, debe proporcionarles acceso a las colecciones mediante políticas de acceso a la red. Para obtener más información, consulte [Acceso a la red para Amazon OpenSearch Serverless](serverless-network.md).

## Configuración de VPC compartida para Amazon Serverless OpenSearch
<a name="shared-vpc-setup"></a>

Puede utilizar Amazon Virtual Private Cloud (VPC) para compartir subredes de VPC con otros Cuentas de AWS miembros de su organización, así como compartir la infraestructura de red, como una VPN, entre varios recursos. Cuentas de AWS

Actualmente, Amazon OpenSearch Serverless no admite la creación de una AWS PrivateLink conexión en una VPC compartida a menos que usted sea propietario de esa VPC. AWS PrivateLink tampoco admite el uso compartido de conexiones entre ellas. Cuentas de AWS

Sin embargo, en función de la arquitectura flexible y modular de OpenSearch Serverless, aún puede configurar una VPC compartida. Esto se debe a que la infraestructura de red OpenSearch sin servidor es independiente de la infraestructura de recopilación (OpenSearch servicio) individual. Por lo tanto, puede crear un AWS PrivateLink VPCe punto de conexión para una cuenta en la que esté ubicada una VPC y, a continuación, usar un VPCe ID en la política de red de otras cuentas para restringir el tráfico y evitar que provenga únicamente de esa VPC compartida. 

Los siguientes procedimientos se refieren a una *cuenta propietaria* y una *cuenta consumidora*.

Un propietario de la cuenta actúa como una cuenta de redes común en la que se configura una VPC y se comparte con otras cuentas. Las cuentas de consumidor son aquellas cuentas que crean y mantienen sus colecciones OpenSearch sin servidor en la VPC que comparte con ellos la cuenta del propietario. 

**Requisitos previos**  
Asegúrese de que se cumplan los siguientes requisitos antes de configurar la VPC compartida:
+ El propietario de la cuenta debe haber configurado previamente una VPC, subredes, tabla de enrutamiento y otros recursos necesarios en nube privada virtual de Amazon. Para obtener más información, consulte la *[Guía del usuario de Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/)*.
+ El propietario de la cuenta y las cuentas consumidoras deben pertenecer a la misma organización en AWS Organizations. Para obtener más información, consulte la *Guía del usuario de [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/)*.

**Para configurar una VPC compartida en una cuenta de account/common red propietaria.**

1. Inicia sesión en la consola OpenSearch de Amazon Service desde [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. Siga los pasos de [Cree un punto final de interfaz para Serverless OpenSearch](#serverless-vpc-create). Mientras realiza el procedimiento, haga las siguientes selecciones:
   + Seleccione una VPC y subredes que estén compartidas con las cuentas consumidoras de su organización.

1. Tras crear el punto de conexión, anota el VPCe ID que se genera y entrégalo a los administradores que van a realizar la tarea de configuración de las cuentas de los consumidores.

   VPCe IDs están en el formato`vpce-abc123def4EXAMPLE`.

**Para configurar una VPC compartida en una cuenta consumidora:**

1. Inicia sesión en la consola OpenSearch de Amazon Service desde [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. Use la información de [Administración de colecciones de Amazon OpenSearch Serverless](serverless-manage.md) para crear una colección, si aún no tiene una.

1. Use la información de [Creación de políticas de (consola)](serverless-network.md#serverless-network-console) para crear una política de red. A medida que avanza, realice las siguientes selecciones.
**nota**  
También puede actualizar una política de red existente para este fin.

   1. En **Tipo de acceso**, seleccione **VPC (recomendado)**.

   1. **Para acceder a los puntos finales de VPC**, elija el VPCe ID que le proporcionó la cuenta propietaria, en el formato. `vpce-abc123def4EXAMPLE`

   1. En el área **Tipo de recurso**, haga lo siguiente:
      + Seleccione la casilla **Habilitar el acceso al OpenSearch punto final** y, a continuación, seleccione el nombre de la colección o el patrón de recopilación que se utilizará para habilitar el acceso desde esa VPC compartida.
      + Seleccione la casilla **Habilitar el acceso al OpenSearch panel** de control y, a continuación, seleccione el nombre o el patrón de la colección que se utilizará para habilitar el acceso desde esa VPC compartida.

1. Para una nueva política, seleccione **Crear**. Para una política existente, seleccione **Actualizar**.

# Acceso al plano de control a través de AWS PrivateLink
<a name="serverless-vpc-cp"></a>

Amazon OpenSearch Serverless admite dos tipos de AWS PrivateLink conexiones para las operaciones del plano de control y del plano de datos. Las operaciones del plano de control incluyen la creación y eliminación de colecciones y la administración de las políticas de acceso. Las operaciones del plano de datos sirven para indexar y consultar los datos de una colección. Esta página describe el punto final del plano de control. AWS PrivateLink Para obtener información sobre los puntos finales de VPC del plano de datos, consulte. [Acceso al plano de datos a través de AWS PrivateLink](serverless-vpc.md)

## Creación de un punto final del plano de control AWS PrivateLink
<a name="serverless-vpc-privatelink"></a>

Puede mejorar la seguridad de su VPC configurando OpenSearch Serverless para que utilice un punto final de VPC de interfaz. Los puntos finales de la interfaz funcionan con. AWS PrivateLink Esta tecnología le permite acceder de forma privada a OpenSearch Serverless APIs sin una puerta de enlace a Internet, un dispositivo NAT, una conexión VPN o una conexión AWS Direct Connect.

Para obtener más información sobre AWS PrivateLink los puntos de enlace de VPC, consulte los puntos de enlace de [VPC en la Guía del usuario](https://docs.aws.amazon.com/vpc/latest/privatelink/concepts.html#concepts-vpc-endpoints) de Amazon VPC.

### Consideraciones
<a name="serverless-vpc-cp-considerations"></a>
+ Los puntos finales de VPC solo se admiten en la misma región.
+ Los puntos de conexión de VPC solo admiten DNS proporcionadas por Amazon a través de Amazon Route 53.
+ Los puntos de enlace de VPC admiten políticas de puntos finales para controlar el acceso a colecciones OpenSearch , políticas y. VpcEndpoints
+ OpenSearch Serverless solo admite puntos finales de interfaz. Los puntos de conexión de puerta de enlace no se admiten.

### Creación del punto final de la VPC
<a name="serverless-vpc-cp-create"></a>

*Para crear el punto de enlace de VPC del plano de control para Amazon OpenSearch Serverless, utilice el [procedimiento Acceso a un AWS servicio mediante un punto de enlace de VPC de interfaz de la Guía para desarrolladores de Amazon VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint).* Cree el siguiente punto final:
+ `com.amazonaws.region.aoss`

**Para crear un punto final de VPC del plano de control mediante la consola**

1. Abra la consola de Amazon VPC en [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. En el panel de navegación, elija **Puntos de conexión**.

1. Elija **Crear punto de conexión**.

1. En **Categoría de servicios**, elija **Servicios de AWS**.

1. Para **Servicios**, elija`com.amazonaws.region.aoss`. Por ejemplo, `com.amazonaws.us-east-1.aoss`.

1. En **VPC**, elija la VPC en la que desea crear el punto de conexión.

1. En **Subredes**, seleccione las subredes (zonas de disponibilidad) en las que va a crear las interfaces de red de punto de conexión.

1. En el **caso de los grupos** de seguridad, elija los grupos de seguridad que desee asociar a las interfaces de red de los puntos finales. Asegúrese de que se permita HTTPS (puerto 443).

1. En **Política**, selecciona **Acceso total** para permitir todas las operaciones o selecciona **Personalizado** para adjuntar una política personalizada.

1. Seleccione **Crear punto de conexión**.

### Creación de una política de punto de conexión
<a name="serverless-vpc-cp-endpoint-policy"></a>

Puede adjuntar una política de punto final a su punto de enlace de VPC que controle el acceso a Amazon OpenSearch Serverless. La política especifica la siguiente información:
+ La entidad principal que puede realizar acciones.
+ Las acciones que se pueden realizar.
+ Los recursos en los que se pueden llevar a cabo las acciones.

Para más información, consulte [Control del acceso a los servicios con puntos de enlace de la VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html) en la *Guía del usuario de Amazon VPC*.

**Example Política de puntos finales de VPC para Serverless OpenSearch**  

```
{  
  "Version": "2012-10-17",		 	 	   
  "Statement": [  
    {  
      "Effect": "Allow",  
      "Principal": "*",  
      "Action": [  
        "aoss:ListCollections",  
        "aoss:BatchGetCollection"  
      ],  
      "Resource": "*"  
    }  
  ]  
}
```

**Example Política restrictiva que solo permite operaciones de listas**  

```
{  
  "Version": "2012-10-17",		 	 	   
  "Statement": [  
    {  
      "Effect": "Allow",  
      "Principal": "*",  
      "Action": "aoss:ListCollections",  
      "Resource": "*"  
    }  
  ]  
}
```

# Autenticación SAML para Amazon Serverless OpenSearch
<a name="serverless-saml"></a>

Con la autenticación SAML para Amazon OpenSearch Serverless, puede usar su proveedor de identidad actual para ofrecer el inicio de sesión único (SSO) para los puntos de enlace de los OpenSearch paneles de control de las colecciones sin servidor.

La autenticación SAML le permite utilizar proveedores de identidad externos para iniciar sesión en Dashboards con el fin de indexar y buscar datos. OpenSearch OpenSearch Serverless es compatible con los proveedores que utilizan el estándar SAML 2.0, como IAM Identity Center, Okta, Keycloak, Active Directory Federation Services (AD FS) y Auth0. Puede configurar el Centro de identidades de IAM para sincronizar usuarios y grupos de otras fuentes de identidad, como Okta OneLogin y Microsoft Entra ID. Para obtener una lista de los orígenes de identidades que admite IAM Identity Center y los pasos para configurarlos, consulte [Getting started tutorials](https://docs.aws.amazon.com/singlesignon/latest/userguide/tutorials.html) en la *Guía del usuario de IAM Identity Center*.

**nota**  
La autenticación SAML solo sirve para acceder a los OpenSearch paneles de control a través de un navegador web. Los usuarios autenticados solo pueden realizar solicitudes a las operaciones de la OpenSearch API a través de las **herramientas de desarrollo** de los paneles de control. OpenSearch Sus credenciales de SAML *no* le permiten realizar solicitudes HTTP directas a las operaciones de la OpenSearch API.

Para configurar la autenticación SAML, primero debe configurar un proveedor de identidades (IdP) SAML. A continuación, se incluyen uno o más usuarios de ese IdP en una [política de acceso a datos](serverless-data-access.md). Esta política le otorga ciertos permisos para los and/or índices de colecciones. A continuación, un usuario puede iniciar sesión en los OpenSearch paneles de control y realizar las acciones que se permiten en la política de acceso a los datos.

![\[SAML authentication flow with data access policy, OpenSearch interface, and JSON configuration.\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/images/serverless-saml-flow.png)


**Topics**
+ [Consideraciones](#serverless-saml-considerations)
+ [Permisos necesarios](#serverless-saml-permissions)
+ [Crear proveedores SAML de (consola)](#serverless-saml-creating)
+ [Acceder a los paneles OpenSearch](#serverless-saml-dashboards)
+ [Concesión de acceso a las identidades de SAML a los datos de la colección](#serverless-saml-policies)
+ [Creación de proveedores SAML (AWS CLI)](#serverless-saml-creating-api)
+ [Ver proveedores SAML](#serverless-saml-viewing)
+ [Actualización de proveedores SAML](#serverless-saml-updating)
+ [Eliminar proveedores SAML](#serverless-saml-deleting)

## Consideraciones
<a name="serverless-saml-considerations"></a>

A la hora de configurar la autenticación SAML, tenga en cuenta lo siguiente:
+ No se admiten las solicitudes firmadas y cifradas.
+ No se admiten las aserciones cifradas.
+ No se admite la autenticación ni el cierre de sesión iniciada por el IDP.
+ Las políticas de control de servicios (SCP) no se aplicarán ni evaluarán en el caso de identidades que no sean de IAM (como SAML en OpenSearch Amazon Serverless y SAML y la autorización básica de usuario interna para Amazon Service). OpenSearch 

## Permisos necesarios
<a name="serverless-saml-permissions"></a>

La autenticación SAML para OpenSearch Serverless utiliza los siguientes permisos (IAM): AWS Identity and Access Management 
+ `aoss:CreateSecurityConfig`: cree un proveedor SAML.
+ `aoss:ListSecurityConfig`: enumere todos los proveedores de SAML en la cuenta actual.
+ `aoss:GetSecurityConfig`: vea la información del proveedor de SAML.
+ `aoss:UpdateSecurityConfig`: modifique la configuración de proveedor de SAML determinada, incluidos los metadatos XML.
+ `aoss:DeleteSecurityConfig`: elimine un proveedor SAML.

La siguiente política de acceso basada en la identidad permite al usuario administrar todas las configuraciones de IdP:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "aoss:CreateSecurityConfig",
                "aoss:DeleteSecurityConfig",
                "aoss:GetSecurityConfig",
                "aoss:UpdateSecurityConfig",
                "aoss:ListSecurityConfigs"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

------

Tenga en cuenta que el elemento `Resource` debe ser un comodín.

## Crear proveedores SAML de (consola)
<a name="serverless-saml-creating"></a>

En estos pasos se explica cómo crear proveedores de SAML. Esto permite la autenticación SAML con la autenticación iniciada por el proveedor de servicios (SP) para los paneles. OpenSearch No se admite la autenticación IdP.

**Para habilitar la autenticación SAML en los paneles OpenSearch**

1. Inicia sesión en la consola OpenSearch de Amazon Service desde [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home ).

1. En el panel de navegación de la izquierda, expanda **Sin servidor** y seleccione **Autenticación SAML**.

1. Seleccione **Agregar proveedor SAML**.

1. Escriba un nombre y una descripción para el proveedor.
**nota**  
El nombre que especifique es de acceso público y aparecerá en un menú desplegable cuando los usuarios inicien sesión en los OpenSearch paneles. Asegúrese de que el nombre sea fácilmente reconocible y no revele información confidencial sobre su proveedor de identidad.

1. En **Configurar IdP**, copie la URL del servicio al consumidor de aserciones (ACS).

1. Utilice la URL de ACS que acaba de copiar para configurar su proveedor de identidades. La terminología y los pasos varían según el proveedor. Consulte la documentación de su proveedor.

   En Okta, por ejemplo, se crea una “aplicación web SAML 2.0” y se especifica la URL de ACS como URL de inicio de **sesión única, URL** **de destinatario** y **URL de destino**. **En el caso de Auth0, debe especificarlo en Allowed Callback. URLs**

1. Indique la restricción de audiencia si su IdP tiene un campo para ello. La restricción de audiencia es un valor dentro de la aserción SAML que especifica a quién va dirigida esta. Con OpenSearch Serverless, puede hacer lo siguiente. Asegúrese de reemplazar el *content* siguiente ejemplo de código por su propio Cuenta de AWS ID: 

   1. Use la restricción de audiencia predeterminada `:opensearch:111122223333`.

   1. (Opcional) configure una restricción de audiencia personalizada mediante AWS CLI. Para obtener más información, consulte [Creación de proveedores SAML (AWS CLI)](#serverless-saml-creating-api).

   El nombre del campo de restricción de audiencia varía según el proveedor. Para Okta, es **Audiencia URI (ID de entidad del SP)**. En el caso de IAM Identity Center, es la **audiencia de Application SAML**.

1. Si utiliza IAM Identity Center, también debe especificar el siguiente [asignación de atributos](https://docs.aws.amazon.com/singlesignon/latest/userguide/attributemappingsconcept.html): `Subject=${user:name}`, con un formato de `unspecified`.

1. Después de configurar el proveedor de identidades, genera un archivo de metadatos de IdP. Este archivo XML contiene información sobre el proveedor, como un certificado TLS, puntos de conexión de inicio de sesión único y el ID de entidad del proveedor de identidad.

   Copie el texto del archivo de metadatos del IdP y péguelo en **Proporcionar metadatos desde el campo de IdP**. Alternativamente, seleccione **Importar desde archivo XML** y cargue el archivo. El archivo de metadatos debe tener un aspecto similar al siguiente:

   ```
   <?xml version="1.0" encoding="UTF-8"?>
   <md:EntityDescriptor entityID="entity-id" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata">
     <md:IDPSSODescriptor WantAuthnRequestsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
       <md:KeyDescriptor use="signing">
         <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
           <ds:X509Data>
             <ds:X509Certificate>tls-certificate</ds:X509Certificate>
           </ds:X509Data>
         </ds:KeyInfo>s
       </md:KeyDescriptor>
       <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
       <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>
       <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="idp-sso-url"/>
       <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="idp-sso-url"/>
     </md:IDPSSODescriptor>
   </md:EntityDescriptor>
   ```

1. Mantenga vacío el campo **Atributo ID de usuario personalizado** para utilizar el elemento `NameID` de la aserción SAML para el nombre de usuario. Si su aserción no utiliza este elemento estándar y, en su lugar, incluye el nombre de usuario como un atributo personalizado, especifique ese atributo aquí. Los atributos distinguen entre mayúsculas y minúsculas. Solo se admite un único atributo de usuario.

   El siguiente ejemplo muestra un atributo de anulación para `NameID` en la aserción SAML:

   ```
   <saml2:Attribute Name="UserId" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
     <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:type="xs:string">annie</saml2:AttributeValue>
   </saml2:Attribute>
   ```

1. (Opcional) Especifique un atributo personalizado en el campo **Atributos del grupo**, como `role` o `group`. Solo se admite un único atributo de grupo. No hay ningún atributo de grupo predeterminado. Si no especifica ninguna, sus políticas de acceso a datos solo pueden contener entidades principales de usuario.

   El siguiente ejemplo muestra un atributo de grupo en la aserción SAML:

   ```
   <saml2:Attribute Name="department" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
       <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xsi:type="xs:string">finance</saml2:AttributeValue>
   </saml2:Attribute>
   ```

1. De forma predeterminada, OpenSearch Dashboards cierra la sesión de los usuarios después de 24 horas. Puede configurar este valor en cualquier número entre 1 y 12 horas (15 y 720 minutos) especificando el tiempo de espera de los **OpenSearch paneles**. Si intenta establecer el tiempo de espera igual o inferior a 15 minutos, la sesión se restablecerá a una hora.

1. Seleccione **Crear proveedor**.

## Acceder a los paneles OpenSearch
<a name="serverless-saml-dashboards"></a>

Tras configurar un proveedor de SAML, todos los usuarios y grupos asociados a ese proveedor pueden navegar hasta el punto de conexión de los OpenSearch paneles. La URL de Dashboards tiene el formato `collection-endpoint/_dashboards/` *para todas las colecciones*. 

Si tienes SAML activado, al seleccionar el enlace que aparece en la Consola de administración de AWS página de selección de IdP, donde puedes iniciar sesión con tus credenciales de SAML. Primero, use el menú desplegable para seleccionar un proveedor de identidades:

![\[OpenSearch login page with dropdown menu for selecting SAML Identity Provider options.\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/images/idpList.png)


Inicie sesión con sus credenciales de usuario de IdP. 

Si no tienes el SAML activado, al seleccionar el enlace que aparece en él podrás Consola de administración de AWS iniciar sesión como usuario o rol de IAM, sin opción de usar SAML.

## Concesión de acceso a las identidades de SAML a los datos de la colección
<a name="serverless-saml-policies"></a>

Después de crear un proveedor de SAML, aún tendrá que concederles acceso a los datos de sus colecciones a los usuarios y grupos subyacentes. Para concederles el acceso deberá hacerlo a través de [políticas de acceso a datos](serverless-data-access.md). Hasta que no les proporcione acceso a los usuarios, estos no podrán leer, escribir ni eliminar ningún dato de sus colecciones.

Para conceder el acceso, cree una política de acceso a los datos y especifique su and/or grupo IDs de usuarios de SAML en la siguiente declaración: `Principal`

```
[
   {
      "Rules":[
       ...  
      ],
      "Principal":[
         "saml/987654321098/myprovider/user/Shaheen",
         "saml/987654321098/myprovider/group/finance"
      ]
   }
]
```

Puede concederles acceso a colecciones, índices o ambos. Si desea que diferentes usuarios tengan permisos diferentes, cree varias reglas. Para obtener una lista de los permisos disponibles, consulte [Permisos de políticas compatibles](serverless-data-access.md#serverless-data-supported-permissions). Para obtener información sobre cómo dar formato a una política de acceso, consulte [Sintaxis de políticas](serverless-data-access.md).

## Creación de proveedores SAML (AWS CLI)
<a name="serverless-saml-creating-api"></a>

Para crear un proveedor de SAML mediante la API OpenSearch sin servidor, envía una solicitud: [CreateSecurityConfig](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateSecurityConfig.html)

```
aws opensearchserverless create-security-config \
    --name myprovider \
    --type saml \
    --saml-options file://saml-auth0.json
```

Especifique `saml-options`, incluido el XML de los metadatos, como un mapa clave-valor dentro de un archivo .json. El XML de los metadatos debe estar codificado como una [cadena de escape JSON](https://www.freeformatter.com/json-escape.html).

```
{
   "sessionTimeout": 70,
   "groupAttribute": "department",
   "userAttribute": "userid",
   "openSearchServerlessEntityId": "aws:opensearch:111122223333:app1",
   "metadata": "EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" ... ... ... IDPSSODescriptor\r\n\/EntityDescriptor"
}
```

**nota**  
(Opcional) configure una restricción de audiencia personalizada mediante AWS CLI. Para obtener más información, consulte [Creación de proveedores SAML (AWS CLI)](#serverless-saml-creating-api).

## Ver proveedores SAML
<a name="serverless-saml-viewing"></a>

La siguiente [ListSecurityConfigs](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListSecurityConfigs.html)solicitud muestra una lista de todos los proveedores de SAML de tu cuenta:

```
aws opensearchserverless list-security-configs --type saml
```

La solicitud devuelve información sobre todos los proveedores de SAML existentes, incluidos los metadatos completos del IdP que genera su proveedor de identidades:

```
{
   "securityConfigDetails": [ 
      { 
         "configVersion": "MTY2NDA1MjY4NDQ5M18x",
         "createdDate": 1664054180858,
         "description": "Example SAML provider",
         "id": "saml/111122223333/myprovider",
         "lastModifiedDate": 1664054180858,
         "samlOptions": { 
            "groupAttribute": "department",
            "metadata": "EntityDescriptorxmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" ...... ...IDPSSODescriptor\r\n/EntityDescriptor",
            "sessionTimeout": 120,
            "openSearchServerlessEntityId": "aws:opensearch:111122223333:app1",
            "userAttribute": "userid"
         }
      }
   ]
}
```

Para ver los detalles de un proveedor específico, incluida la `configVersion` para actualizaciones futuras, envíe una solicitud `GetSecurityConfig`.

## Actualización de proveedores SAML
<a name="serverless-saml-updating"></a>

**Para actualizar un proveedor de SAML mediante la consola OpenSearch sin servidor, elige la **autenticación SAML**, selecciona tu proveedor de identidad y selecciona Editar.** Puede modificar todos los campos, incluidos los metadatos y los atributos personalizados.

Para actualizar un proveedor a través de la API OpenSearch sin servidor, envía una [UpdateSecurityConfig](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateSecurityConfig.html)solicitud e incluye el identificador de la política que se va a actualizar. También debe incluir una versión de configuración, que puede recuperar mediante los comandos `ListSecurityConfigs` o `GetSecurityConfig`. Incluir la versión más reciente garantiza que no se anule inadvertidamente un cambio realizado por otra persona.

La siguiente solicitud actualiza las opciones de SAML de un proveedor:

```
aws opensearchserverless update-security-config \
    --id saml/123456789012/myprovider \
    --type saml \
    --saml-options file://saml-auth0.json \
    --config-version MTY2NDA1MjY4NDQ5M18x
```

Especifique las opciones de configuración de SAML como un mapa clave-valor dentro de un archivo .json.

**importante**  
Las **actualizaciones de las opciones de SAML *no* son graduales**. Si al realizar una actualización no especifica el valor para un parámetro en el objeto `SAMLOptions`, los valores existentes se sustituirán por valores vacíos. Por ejemplo, si la configuración actual contiene un valor para `userAttribute` y luego hace una actualización y no incluye este valor, el valor se elimina de la configuración. Asegúrese de saber cuáles son los valores existentes antes de realizar una actualización llamando a la operación `GetSecurityConfig`.

## Eliminar proveedores SAML
<a name="serverless-saml-deleting"></a>

Al eliminar un proveedor de SAML, las referencias de los usuarios y grupos asociados en las políticas de acceso a datos dejan de funcionar. Para evitar confusiones, le recomendamos que elimine todas las referencias al punto de conexión en sus políticas de acceso antes de eliminar el punto de conexión.

**Para eliminar un proveedor de SAML mediante la consola OpenSearch sin servidor, elija **Autenticación**, seleccione el proveedor y elija Eliminar.**

Para eliminar un proveedor a través de la API OpenSearch sin servidor, envía una solicitud: [DeleteSecurityConfig](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_DeleteSecurityConfig.html)

```
aws opensearchserverless delete-security-config --id saml/123456789012/myprovider
```

# Validación de conformidad para Amazon OpenSearch Serverless
<a name="serverless-compliance-validation"></a>

Los auditores externos evalúan la seguridad y el cumplimiento de Amazon OpenSearch Serverless como parte de varios programas de AWS cumplimiento. Entre estos, se incluyen SOC, PCI e HIPAA.

Para saber si un programa de conformidad Servicio de AWS se encuentra dentro del ámbito de aplicación de programas de conformidad específicos, consulte [Servicios de AWS Alcance por programa de conformidad Servicios de AWS](https://aws.amazon.com/compliance/services-in-scope/) de conformidad y elija el programa de conformidad que le interese. Para obtener información general, consulte Programas de [AWS cumplimiento > Programas AWS](https://aws.amazon.com/compliance/programs/) .

Puede descargar informes de auditoría de terceros utilizando AWS Artifact. Para obtener más información, consulte [Descarga de informes en AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html) .

Su responsabilidad de cumplimiento al Servicios de AWS utilizarlos viene determinada por la confidencialidad de sus datos, los objetivos de cumplimiento de su empresa y las leyes y reglamentos aplicables. Para obtener más información sobre su responsabilidad de conformidad al utilizarlos Servicios de AWS, consulte [AWS la documentación de seguridad](https://docs.aws.amazon.com/security/).

# Etiquetado de colecciones de Amazon OpenSearch Serverless
<a name="tag-collection"></a>

Las etiquetas le permiten asignar información arbitraria a una colección de Amazon OpenSearch Serverless para que pueda categorizar y filtrar esa información. Una *etiqueta* es una etiqueta de metadatos que usted asigna o que AWS asigna a un recurso. AWS 

Cada etiqueta consta de una *clave* y un *valor*. En el caso de etiquetas que usted asigna, debe definir la clave y el valor. Por ejemplo, puede definir la clave como `stage` y el valor de un recurso como `test`.

Con las etiquetas, puede identificar y organizar sus AWS recursos. Muchos AWS servicios admiten el etiquetado, por lo que puede asignar la misma etiqueta a los recursos de diferentes servicios para indicar que los recursos están relacionados. Por ejemplo, puedes asignar la misma etiqueta a una colección OpenSearch sin servidor que a un dominio de Amazon OpenSearch Service.

En OpenSearch Serverless, el recurso principal es una colección. Puede usar la consola de OpenSearch servicio AWS CLI, las operaciones de la API OpenSearch sin servidor o la AWS SDKs para agregar, administrar y eliminar etiquetas de una colección.

## Permisos necesarios
<a name="collection-tag-permissions"></a>

OpenSearch Serverless utiliza los siguientes permisos AWS Identity and Access Management Access Analyzer (IAM) para etiquetar colecciones:
+ `aoss:TagResource`
+ `aoss:ListTagsForResource`
+ `aoss:UntagResource`

# Etiquetado de colecciones (consola)
<a name="tag-collection-console"></a>

La consola es la forma más sencilla para etiquetar un dominio.

****Para crear una etiqueta (consola)****

1. Inicia sesión en la consola OpenSearch de Amazon Service desde [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home ).

1. Expanda **Serverless** (Sin servidor) en el panel de navegación de la izquierda y seleccione **Collections** (Colecciones).

1. Seleccione la colección a la que desee agregar etiquetas y vaya a la pestaña **Tags** (Etiquetas).

1. Seleccione **Administrar** y **Add new tag** (Agregar nueva etiqueta).

1. Introduzca una clave de etiqueta y un valor opcional.

1. Seleccione **guardar**.

Para eliminar una etiqueta, siga los mismos pasos y elija **Quitar** en la página **Administrar etiquetas**.

Para obtener más información sobre cómo utilizar la consola para trabajar con etiquetas, consulte [Tag Editor](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html) en la *Guía de introducción a la consola de administración de AWS *.

# Etiquetado de colecciones (AWS CLI)
<a name="tag-collection-cli"></a>

Para etiquetar una colección mediante el AWS CLI, envía una [TagResource](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_TagResource.html)solicitud: 

```
aws opensearchserverless tag-resource
  --resource-arn arn:aws:aoss:us-east-1:123456789012:collection/my-collection 
  --tags Key=service,Value=aoss Key=source,Value=logs
```

Vea las etiquetas existentes de una colección con el [ListTagsForResource](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListTagsForResource.html)comando:

```
aws opensearchserverless list-tags-for-resource
  --resource-arn arn:aws:aoss:us-east-1:123456789012:collection/my-collection
```

Elimine las etiquetas de una colección mediante el [UntagResource](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UntagResource.html)comando:

```
aws opensearchserverless untag-resource
  --resource-arn arn:aws:aoss:us-east-1:123456789012:collection/my-collection
  --tag-keys service
```

# Operaciones y complementos compatibles en Amazon OpenSearch Serverless
<a name="serverless-genref"></a>

Amazon OpenSearch Serverless admite diversos OpenSearch complementos, así como un subconjunto de las [operaciones de la API](https://opensearch.org/docs/latest/opensearch/rest-api/index/) de indexación, búsqueda y metadatos disponibles en. OpenSearch Puede incluir los permisos en la columna izquierda de la tabla dentro de [las políticas de acceso a datos](serverless-data-access.md) para limitar el acceso a determinadas operaciones.

**Topics**
+ [Operaciones y permisos de OpenSearch API compatibles](#serverless-operations)
+ [OpenSearch Plugins compatibles](#serverless-plugins)

## Operaciones y permisos de OpenSearch API compatibles
<a name="serverless-operations"></a>

En la siguiente tabla, se enumeran las operaciones de API que admite OpenSearch Serverless, junto con sus correspondientes permisos de política de acceso a los datos:


| Permiso de política de acceso a datos | OpenSearch Operaciones de API | Descripción y advertencias | 
| --- | --- | --- | 
|  `aoss:CreateIndex`  | PUT <index> |  Crea índices. Para obtener más información, consulte la sección [Crear un índice](https://opensearch.org/docs/latest/api-reference/index-apis/create-index/).  Este permiso también se aplica a la creación de índices con los datos de muestra en los OpenSearch paneles.   | 
|  `aoss:DescribeIndex`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html)  |  Describe los índices. Para obtener más información, consulte los siguientes recursos: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html)  | 
|  `aoss:WriteDocument`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html)  |  Redacta y actualiza documentos. Para obtener más información, consulte los recursos de siguientes: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html)  Algunas operaciones solo están permitidas para colecciones de tipos `SEARCH`. Para obtener más información, consulte [Elección de un tipo de colección](serverless-overview.md#serverless-usecase).   | 
|  `aoss:ReadDocument`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html)  | Lee los documentos. Para obtener más información, consulte los siguientes recursos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html) | 
|  `aoss:DeleteIndex`  | DELETE <target> | Elimina índices. Para obtener más información, consulte [Eliminar índices](https://opensearch.org/docs/latest/api-reference/index-apis/delete-index/). | 
|  `aoss:UpdateIndex`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html)  |  Actualiza las configuraciones del índice. Para obtener más información, consulte los siguientes recursos: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html)  | 
|  `aoss:CreateCollectionItems`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html) | 
|  `aoss:DescribeCollectionItems`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html)  |  Describe cómo trabajar con alias, plantillas de índices y marcos y canalizaciones. Para obtener más información, consulte los siguientes recursos: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html)  | 
|  `aoss:UpdateCollectionItems`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html)  | Actualice los alias, las plantillas de índice y las plantillas de framework. Para obtener más información, consulte los siguientes recursos: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html) \$1. La API para desaprovisionar plantillas. Los servicios ML Commons Client y Serverless gestionan las políticas dependientes. OpenSearch   | 
|  `aoss:DeleteCollectionItems`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html)  |  Elimina alias, plantillas de índices y marcos, y canalizaciones. Para obtener más información, consulte los siguientes recursos: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html)  | 
|  `aoss:DescribeMLResource`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html)  |  Describe GET y la búsqueda APIs para recuperar información sobre modelos y conectores.   | 
|  `aoss:CreateMLResource`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html)  |  Proporciona permiso para crear recursos de ML.  | 
|  `aoss:UpdateMLResource`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html)  |  Otorga permiso para actualizar recursos de aprendizaje automático existentes.  | 
|  `aoss:DeleteMLResource`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html)  |  Proporciona permiso para eliminar recursos de aprendizaje automático.  | 
|  `aoss:ExecuteMLResource`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/opensearch-service/latest/developerguide/serverless-genref.html)  |  Proporciona permiso para ejecutar modelos.  | 

## OpenSearch Plugins compatibles
<a name="serverless-plugins"></a>

OpenSearch Las colecciones sin servidor vienen preempaquetadas con los siguientes complementos de la OpenSearch comunidad. La ejecución sin servidor implementa y administra automáticamente los complementos.

**Complementos de análisis**
+  [ICU Analysis](https://github.com/opensearch-project/OpenSearch/tree/main/plugins/analysis-icu) 
+  [Japanese (kuromoji) Analysis](https://github.com/opensearch-project/OpenSearch/tree/main/plugins/analysis-kuromoji)
+  [Análisis coreano (Nori)](https://github.com/opensearch-project/OpenSearch/tree/main/plugins/analysis-nori) 
+  [Phonetic Analysis](https://github.com/opensearch-project/OpenSearch/tree/main/plugins/analysis-phonetic) 
+  [Smart Chinese Analysis](https://github.com/opensearch-project/OpenSearch/tree/main/plugins/analysis-smartcn) 
+  [Stempel Polish Analysis](https://github.com/opensearch-project/OpenSearch/tree/main/plugins/analysis-stempel)
+  [Ukrainian Analysis](https://github.com/opensearch-project/OpenSearch/tree/main/plugins/analysis-ukrainian)

**Complementos de Mapper**
+  [Mapper Size](https://github.com/opensearch-project/OpenSearch/tree/main/plugins/mapper-size) 
+  [Mapper Murmur3](https://github.com/opensearch-project/OpenSearch/tree/main/plugins/mapper-murmur3) 
+  [Texto anotado de Mapper](https://github.com/opensearch-project/OpenSearch/tree/main/plugins/mapper-annotated-text)

**Complementos de la creación de scripts**
+  [Painless](https://opensearch.org/docs/latest/api-reference/script-apis/exec-script/)
+  [Expression](https://opensearch.org/docs/latest/data-prepper/pipelines/expression-syntax/) 
+  [Mustache](https://mustache.github.io/mustache.5.html)

Además, OpenSearch Serverless incluye todos los complementos que se envían como módulos. 

# Supervisión de Amazon OpenSearch Serverless
<a name="serverless-monitoring"></a>

La supervisión es una parte importante del mantenimiento de la fiabilidad, la disponibilidad y el rendimiento de Amazon OpenSearch Serverless y sus demás AWS soluciones. AWS proporciona las siguientes herramientas de monitoreo para monitorear OpenSearch Serverless, informar cuando algo anda mal y tomar medidas automáticas cuando sea apropiado:
+ *Amazon CloudWatch* monitorea tus AWS recursos y las aplicaciones en las que AWS ejecutas en tiempo real. Puede recopilar métricas y realizar un seguimiento de las métricas, crear paneles personalizados y definir alarmas que le advierten o que toman medidas cuando una métrica determinada alcanza el umbral que se especifique. 

  Por ejemplo, puede CloudWatch hacer un seguimiento del uso de la CPU u otras métricas de sus instancias de Amazon EC2 y lanzar automáticamente nuevas instancias cuando sea necesario. Para obtener más información, consulta la [Guía del CloudWatch usuario de Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).
+ *AWS CloudTrail* captura las llamadas a la API y los eventos relacionados realizados por su cuenta de Cuenta de AWS o en su nombre. Entrega los archivos de registro al bucket de Amazon S3 que se especifique. Puede identificar qué usuarios y cuentas llamaron AWS, la dirección IP de origen desde la que se realizaron las llamadas y cuándo se produjeron. Para obtener más información, consulte la [Guía del usuario de AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).
+ *Amazon EventBridge* ofrece una transmisión casi en tiempo real de los eventos del sistema que describen los cambios en sus dominios OpenSearch de servicio. Puede crear reglas que vigilen ciertos eventos y activen acciones automatizadas en otros Servicios de AWS cuando se produzcan estos eventos. Para obtener más información, consulta la [Guía del EventBridge usuario de Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/).

# Supervisión OpenSearch sin servidor con Amazon CloudWatch
<a name="monitoring-cloudwatch"></a>

Puede supervisar Amazon OpenSearch Serverless mediante Amazon Serverless CloudWatch, que recopila datos sin procesar y los procesa para convertirlos en métricas legibles prácticamente en tiempo real. Estas estadísticas se mantienen durante 15 meses, de forma que pueda obtener acceso a información histórica y disponer de una mejor perspectiva sobre el desempeño de su aplicación web o servicio. 

También puede establecer alarmas que vigilen determinados umbrales y enviar notificaciones o realizar acciones cuando se cumplan dichos umbrales. Para obtener más información, consulta la [Guía del CloudWatch usuario de Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).

OpenSearch Serverless informa de las siguientes métricas en el `AWS/AOSS` espacio de nombres.


| Métrica | Description (Descripción) | 
| --- | --- | 
| ActiveCollection |  Indica si una colección está activa. Un valor de 1 significa que la colección está en estado `ACTIVE`. Este valor se emite al crear correctamente una colección y permanece como 1 hasta que esta se elimine. La métrica no puede tener un valor de 0. **Estadísticas pertinentes**: máximo **Dimensiones**: `ClientId`, `CollectionId`, `CollectionName` **Frecuencia**: 60 segundos  | 
| DeletedDocuments |  El número total de documentos eliminados. **Estadísticas pertinentes**: promedio, suma **Dimensiones**: `ClientId`, `CollectionId`, `CollectionName`, `IndexId`, `IndexName` **Frecuencia**: 60 segundos  | 
| IndexingOCU |  El número de unidades de OpenSearch cómputo (OCUs) utilizadas para ingerir los datos de la recopilación. Esta métrica se aplica según el nivel de la cuenta. Representa el uso solo para las colecciones que no forman parte de ningún grupo de colecciones. **Estadísticas pertinentes**: suma **Dimensiones**: `ClientId` **Frecuencia**: 60 segundos  | 
| IndexingOCU |  El número de unidades de OpenSearch cómputo (OCUs) utilizadas para ingerir los datos de la recopilación. Esta métrica se aplica a nivel de grupo de recopilación. **Estadísticas pertinentes**: suma **Dimensiones**: `ClientId`, `CollectionGroupId`, `CollectionGroupName` **Frecuencia**: 60 segundos  | 
| IngestionDataRate |  La velocidad de indexación en GiB por segundo de una colección o índice. Esta métrica se aplica únicamente a las solicitudes de indexación masiva. **Estadísticas pertinentes**: suma **Dimensiones**: `ClientId`, `CollectionId`, `CollectionName`, `IndexId`, `IndexName` **Frecuencia**: 60 segundos  | 
| IngestionDocumentErrors |  Número total de errores del documento durante el procesamiento de una colección o índice. Tras una solicitud de indexación masiva satisfactoria, los redactores procesan la solicitud y emiten errores para todos los documentos fallidos incluidos en la solicitud. **Estadísticas pertinentes**: suma **Dimensiones**: `ClientId`, `CollectionId`, `CollectionName`, `IndexId`, `IndexName` **Frecuencia**: 60 segundos  | 
| IngestionDocumentRate |  La velocidad por segundo a la que se incorporan los documentos a una colección o índice. Esta métrica se aplica únicamente a las solicitudes de indexación masiva. **Estadísticas pertinentes**: suma **Dimensiones**: `ClientId`, `CollectionId`, `CollectionName`, `IndexId`, `IndexName` **Frecuencia**: 60 segundos  | 
| IngestionRequestErrors |  El número total de errores en las solicitudes de indexación masiva de una colección. OpenSearch Serverless emite esta métrica cuando una solicitud de indexación masiva falla por cualquier motivo, como un problema de autenticación o disponibilidad. **Estadísticas pertinentes**: suma **Dimensiones**: `ClientId`, `CollectionId`, `CollectionName` **Frecuencia**: 60 segundos  | 
| IngestionRequestLatency |  La latencia, en segundos, de las operaciones de escritura masiva en una colección. **Estadísticas pertinentes**: mínimo, máximo, promedio **Dimensiones**: `ClientId`, `CollectionId`, `CollectionName` **Frecuencia**: 60 segundos  | 
| IngestionRequestRate |  El número total de operaciones de escritura masiva recibidas por una colección. **Estadísticas pertinentes**: mínimo, máximo, promedio **Dimensiones**: `ClientId`, `CollectionId`, `CollectionName` **Frecuencia**: 60 segundos  | 
| IngestionRequestSuccess |  El número de operaciones de indexación de datos de una colección. **Estadísticas pertinentes**: suma **Dimensiones**: `ClientId`, `CollectionId`, `CollectionName` **Frecuencia**: 60 segundos  | 
| SearchableDocuments |  Número total de documentos susceptibles de búsqueda en una colección o índice. **Estadísticas pertinentes**: Suma **Dimensiones**: `ClientId`, `CollectionId`, `CollectionName`, `IndexId`, `IndexName` **Frecuencia**: 60 segundos  | 
| SearchRequestErrors |  El número total de errores de consulta por minuto de una colección. **Estadísticas pertinentes**: suma **Dimensiones**: `ClientId`, `CollectionId`, `CollectionName` **Frecuencia**: 60 segundos  | 
| SearchRequestLatency |  El tiempo promedio, en milisegundos, que se tarda en completar una operación de búsqueda en una colección. **Estadísticas pertinentes**: mínimo, máximo, promedio **Dimensiones**: `ClientId`, `CollectionId`, `CollectionName` **Frecuencia**: 60 segundos  | 
| SearchOCU |  El número de unidades de OpenSearch cómputo (OCUs) utilizadas para buscar los datos de recopilación. Esta métrica se aplica según el nivel de la cuenta. Representa el uso solo para las colecciones que no forman parte de ningún grupo de colecciones. **Estadísticas pertinentes**: suma **Dimensiones**: `ClientId` **Frecuencia**: 60 segundos  | 
| SearchOCU |  El número de unidades de OpenSearch cálculo (OCUs) utilizadas para buscar los datos de la recopilación. Esta métrica se aplica a nivel de grupo de recopilación. **Estadísticas pertinentes**: suma **Dimensiones**: `ClientId`, `CollectionGroupId`, `CollectionGroupName` **Frecuencia**: 60 segundos  | 
| SearchRequestRate |  El número total de solicitudes de búsqueda por minuto para una colección. **Estadísticas pertinentes**: promedio, máximo, suma **Dimensiones**: `ClientId`, `CollectionId`, `CollectionName` **Frecuencia**: 60 segundos  | 
| StorageUsedInS3 |  La cantidad, en bytes, de almacenamiento de Amazon S3 utilizada. OpenSearch La tecnología Serverless almacena los datos indexados en Amazon S3. Debe seleccionar el periodo en un minuto para obtener un valor preciso. **Estadísticas pertinentes**: suma **Dimensiones**: `ClientId`, `CollectionId`, `CollectionName`, `IndexId`, `IndexName` **Frecuencia**: 60 segundos  | 
| VectorIndexBuildAccelerationOCU |  El número de unidades de OpenSearch cómputo (OCUs) utilizadas para acelerar la indexación vectorial. Esta métrica se aplica a nivel de recopilación. **Estadísticas pertinentes**: suma **Dimensiones**: `ClientId`, `CollectionId` **Frecuencia**: 60 segundos  | 
| 2xx, 3xx, 4xx, 5xx |  El número de solicitudes para la colección que produjeron el código de respuesta HTTP especificado (2*xx*, 3*xx*, 4*xx*, 5*xx*). **Estadísticas pertinentes**: suma **Dimensiones**: `ClientId`, `CollectionId`, `CollectionName` **Frecuencia**: 60 segundos  | 

# Registrar las llamadas a la API OpenSearch sin servidor mediante AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

Amazon OpenSearch Serverless está integrado con AWS CloudTrail un servicio que proporciona un registro de las acciones realizadas por un usuario, un rol o un AWS servicio en Serverless. 

CloudTrail captura todas las llamadas a la API de OpenSearch Serverless como eventos. Las llamadas capturadas incluyen las llamadas de la sección Serverless de la consola de OpenSearch servicio y las llamadas en código a las operaciones de la API OpenSearch Serverless.

Si crea una ruta, puede habilitar la entrega continua de CloudTrail eventos a un bucket de Amazon S3, incluidos los eventos para OpenSearch Serverless. Si no configura una ruta, podrá ver los eventos más recientes en la CloudTrail consola, en el **historial** de eventos. 

Con la información recopilada por CloudTrail, puede determinar la solicitud que se realizó a OpenSearch Serverless, la dirección IP desde la que se realizó la solicitud, quién la hizo, cuándo se realizó y detalles adicionales.

Para obtener más información CloudTrail, consulte la [Guía del AWS CloudTrail usuario](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html).

## OpenSearch Información sobre sistemas sin servidor en CloudTrail
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail está habilitada en tu cuenta Cuenta de AWS al crear la cuenta. Cuando se produce una actividad en OpenSearch Serverless, esa actividad se registra en un CloudTrail evento junto con otros eventos de AWS servicio en el **historial** de eventos. Puede ver, buscar y descargar los eventos recientes en su Cuenta de AWS. Para obtener más información, consulte [Visualización de eventos con el historial de CloudTrail eventos](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html).

Para tener un registro continuo de tus eventos Cuenta de AWS, incluidos los eventos de OpenSearch Serverless, crea una ruta. Un *rastro* permite CloudTrail entregar archivos de registro a un bucket de Amazon S3. De forma predeterminada, cuando se crea un registro de seguimiento en la consola, el registro de seguimiento se aplica a todas las Regiones de AWS. 

La ruta registra los eventos de todas las regiones de la AWS partición y envía los archivos de registro al bucket de Amazon S3 que especifique. Además, puede configurar otros AWS servicios para analizar más a fondo los datos de eventos recopilados en los CloudTrail registros y actuar en función de ellos. Para más información, consulte los siguientes temas:
+ [Introducción a la creación de registros de seguimiento](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail servicios e integraciones compatibles](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [Configuración de las notificaciones de Amazon SNS para CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [Recibir archivos de CloudTrail registro de varias regiones](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) y [recibir archivos de CloudTrail registro de varias cuentas](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Todas las acciones de OpenSearch Serverless se registran CloudTrail y se documentan en la referencia de la [API OpenSearch Serverless](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/Welcome.html). Por ejemplo, las llamadas a las `CreateCollection` `DeleteCollection` acciones y las llamadas generan entradas en los archivos de CloudTrail registro. `ListCollections`

Cada entrada de registro o evento contiene información sobre quién generó la solicitud. La información de identidad lo ayuda a determinar:
+ Si la solicitud se realizó con credenciales de usuario root o AWS Identity and Access Management (IAM).
+ Si la solicitud se realizó con credenciales de seguridad temporales de un rol o fue un usuario federado.
+ Si la solicitud la realizó otro AWS servicio.

Para obtener más información, consulte el [elemento userIdentity de CloudTrail ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## OpenSearch Eventos de datos sin servidor en CloudTrail
<a name="cloudtrail-data-events"></a>

[Los eventos de datos](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events) proporcionan información sobre las operaciones de recursos que se realizan en un recurso o dentro de él (por ejemplo, buscar o indexar en una colección OpenSearch sin servidor). Se denominan también operaciones del plano de datos. Los eventos de datos suelen ser actividades de gran volumen. De forma predeterminada, CloudTrail no registra los eventos de datos. El **historial de CloudTrail eventos** no registra los eventos de datos.

Se aplican cargos adicionales a los eventos de datos. Para obtener más información sobre CloudTrail los precios, consulta [AWS CloudTrail Precios](https://aws.amazon.com/cloudtrail/pricing/).

Puede registrar eventos de datos para los tipos de `AWS::AOSS::Collection` recursos mediante la CloudTrail consola o las operaciones de la CloudTrail API. AWS CLI Para obtener más información sobre cómo registrar los eventos de datos, consulte [Registro de eventos de datos con la Consola de administración de AWS](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-console) y [Registro de eventos de datos con la AWS Command Line Interface](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-with-the-AWS-CLI) en la *Guía del usuario de AWS CloudTrail *.

Puede configurar selectores de eventos avanzados para filtrar según los campos `eventName`, `readOnly` y `resources.ARN` y así registrar solo los eventos que son importantes para usted. Para obtener más información acerca de estos campos, consulte [https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html) en la *Referencia de la API de AWS CloudTrail *.

## Descripción de las entradas de eventos de datos OpenSearch sin servidor
<a name="understanding-data-event-entries"></a>

En el siguiente ejemplo:
+ El campo `requestParameters` contiene detalles sobre la llamada a la API realizada a la colección. Incluye la ruta base de la petición (sin parámetros de consulta).
+ El campo `responseElements` incluye un código de estado que indica el resultado de su petición al modificar recursos. Este código de estado lo ayuda a verificar si los cambios se procesaron correctamente o si requieren atención.
+ OpenSearch Serverless registra los eventos CloudTrail de datos solo para las solicitudes que han completado correctamente la autenticación de IAM.

**Example**  

```
 {
      "eventVersion": "1.11",
      "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROA123456789EXAMPLE",
        "arn": "arn:aws::sts::111122223333:assumed-role/Admin/user-role",
        "accountId": "111122223333",
        "accessKeyId": "access-key",
        "userName": "",
        "sessionContext": {
          "sessionIssuer": {
            "type": "Role",
            "principalId": "AROA123456789EXAMPLE",
            "arn": "arn:aws:iam::111122223333:role/Admin",
            "accountId": "111122223333",
            "userName": "Admin"
          },
          "attributes": {
            "creationDate": "2025-08-15T22:57:38Z",
            "mfaAuthenticated": "false"
          },
          "sourceIdentity": "",
          "ec2RoleDelivery": "",
          "assumedRoot": ""
        },
        "identityProvider": "",
        "credentialId": ""
      },
      "eventTime": "2025-08-15T22:58:00Z",
      "eventSource": "aoss.amazonaws.com",
      "eventName": "Search",
      "awsRegion": "us-east-1",
      "sourceIPAddress": "AWS Internal",
      "userAgent": "python-requests/2.32.3",
      "requestParameters": {
        "pathPrefix": "/_search"
      },
      "responseElements": null,
      "requestID": "2cfee788-EXAM-PLE1-8617-4018cEXAMPLE",
      "eventID": "48d43617-EXAM-PLE1-9d9c-f7EXAMPLE",
      "readOnly": true,
      "resources": [
        {
          "type": "AWS::AOSS::Collection",
          "ARN": "arn:aws:aoss:us-east-1:111122223333:collection/aab9texampletu45xh77"
        }
      ],
      "eventType": "AwsApiCall",
      "managementEvent": false,
      "recipientAccountId": "111122223333",
      "eventCategory": "Data"
    }
  ]
}
```

## Descripción de las entradas de los eventos de OpenSearch administración sin servidor
<a name="understanding-service-name-entries"></a>

Un rastro es una configuración que permite la entrega de eventos como archivos de registro a un bucket de Amazon S3 que usted especifique. CloudTrail Los archivos de registro contienen una o más entradas de registro. 

Un evento representa una única solicitud desde cualquier origen. Incluye información sobre la acción solicitada, la fecha y la hora de la acción, los parámetros de la solicitud, etc. CloudTrail Los archivos de registro no son un registro ordenado de las llamadas a las API públicas, por lo que no aparecen en ningún orden específico. 

En el siguiente ejemplo, se muestra una entrada de CloudTrail registro que demuestra la `CreateCollection` acción.

```
{
   "eventVersion":"1.08",
   "userIdentity":{
      "type":"AssumedRole",
      "principalId":"AIDACKCEVSQ6C2EXAMPLE",
      "arn":"arn:aws:iam::123456789012:user/test-user",
      "accountId":"123456789012",
      "accessKeyId":"access-key",
      "sessionContext":{
         "sessionIssuer":{
            "type":"Role",
            "principalId":"AIDACKCEVSQ6C2EXAMPLE",
            "arn":"arn:aws:iam::123456789012:role/Admin",
            "accountId":"123456789012",
            "userName":"Admin"
         },
         "webIdFederationData":{
            
         },
         "attributes":{
            "creationDate":"2022-04-08T14:11:34Z",
            "mfaAuthenticated":"false"
         }
      }
   },
   "eventTime":"2022-04-08T14:11:49Z",
   "eventSource":"aoss.amazonaws.com",
   "eventName":"CreateCollection",
   "awsRegion":"us-east-1",
   "sourceIPAddress":"AWS Internal",
   "userAgent":"aws-cli/2.1.30 Python/3.8.8 Linux/5.4.176-103.347.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/aoss.create-collection",
   "errorCode":"HttpFailureException",
   "errorMessage":"An unknown error occurred",
   "requestParameters":{
      "accountId":"123456789012",
      "name":"test-collection",
      "description":"A sample collection",
      "clientToken":"d3a227d2-a2a7-49a6-8fb2-e5c8303c0718"
   },
   "responseElements": null,
   "requestID":"12345678-1234-1234-1234-987654321098",
   "eventID":"12345678-1234-1234-1234-987654321098",
   "readOnly":false,
   "eventType":"AwsApiCall",
   "managementEvent":true,
   "recipientAccountId":"123456789012",
   "eventCategory":"Management",
   "tlsDetails":{
      "clientProvidedHostHeader":"user.aoss-sample.us-east-1.amazonaws.com"
   }
}
```

# Supervisión de eventos OpenSearch sin servidor mediante Amazon EventBridge
<a name="serverless-monitoring-events"></a>

Amazon OpenSearch Service se integra con Amazon EventBridge para notificarte determinados eventos que afectan a tus dominios. Los eventos de AWS los servicios se envían casi EventBridge en tiempo real. Los mismos eventos también se envían a [Amazon CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatchEvents.html), la predecesora de Amazon EventBridge. Puede crear reglas para indicar qué eventos le resultan de interés, así como qué acciones automatizadas se van a realizar cuando un evento cumple una de las reglas. Entre los ejemplos de acciones que puede activar automáticamente se incluyen los siguientes:
+ Invocar una función AWS Lambda 
+ Invocar un Run Command de Amazon EC2
+ Desviar el evento a Amazon Kinesis Data Streams
+ Activación de una máquina de estados AWS Step Functions
+ Notificar un tema de Amazon SNS o una cola de Amazon SQS

Para obtener más información, consulta [Cómo empezar con Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-get-started.html) en la *Guía del EventBridge usuario de Amazon*.

## Configuración de notificaciones
<a name="monitoring-events-notifications"></a>

Puede utilizar [las notificaciones AWS de usuario](https://docs.aws.amazon.com/notifications/latest/userguide/what-is-service.html) para recibir notificaciones cuando se produzca un evento OpenSearch sin servidor. Un evento es un indicador de un cambio en un entorno OpenSearch sin servidor, por ejemplo, cuando se alcanza el límite máximo de uso de la OCU. Amazon EventBridge recibe el evento y envía una notificación al Centro de Consola de administración de AWS notificaciones y a los canales de entrega que elijas. Recibirá una notificación cuando un evento coincida con una regla que especifique.

## OpenSearch Eventos de unidades de cómputo (OCU)
<a name="monitoring-events-ocu"></a>

OpenSearch Serverless envía los eventos EventBridge cuando se produce uno de los siguientes eventos relacionados con la OCU. 

### Uso de OCU cercano al límite máximo
<a name="monitoring-events-ocu-approaching-max"></a>

OpenSearch Serverless envía este evento cuando el uso de la OCU de búsqueda o indexación alcanza el 75% del límite de capacidad. El uso de OCU se calcula en función del límite de capacidad configurado y del consumo actual de OCU.

**Ejemplo**

A continuación, se muestra un ejemplo de este evento (OCU de búsqueda):

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-012345678901",
  "detail-type": "OCU Utilization Approaching Max Limit",
  "source": "aws.aoss",
  "account": "123456789012",
  "time": "2016-11-01T13:12:22Z",
  "region": "us-east-1",
  "resources": ["arn:aws:es:us-east-1:123456789012:domain/test-domain"],
  "detail": {
    "eventTime" : 1678943345789,
    "description": "Your search OCU usage is at 75% and is approaching the configured maximum limit."
  }
}
```

A continuación, se muestra un ejemplo de este evento (OCU de indexación):

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-012345678901",
  "detail-type": "OCU Utilization Approaching Max Limit",
  "source": "aws.aoss",
  "account": "123456789012",
  "time": "2016-11-01T13:12:22Z",
  "region": "us-east-1",
  "resources": ["arn:aws:es:us-east-1:123456789012:domain/test-domain"],
  "detail": {
    "eventTime" : 1678943345789,
    "description": "Your indexing OCU usage is at 75% and is approaching the configured maximum limit."
  }
```

### El uso de OCU ha alcanzado el límite máximo
<a name="monitoring-events-ocu-approaching-max"></a>

OpenSearch Serverless envía este evento cuando el uso de la OCU de búsqueda o indexación alcanza el 100% del límite de capacidad. El uso de OCU se calcula en función del límite de capacidad configurado y del consumo actual de OCU.

**Ejemplo**

A continuación, se muestra un ejemplo de este evento (OCU de búsqueda):

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-012345678901",
  "detail-type": "OCU Utilization Reached Max Limit",
  "source": "aws.aoss",
  "account": "123456789012",
  "time": "2016-11-01T13:12:22Z",
  "region": "us-east-1",
  "resources": ["arn:aws:es:us-east-1:123456789012:domain/test-domain"],
  "detail": {
    "eventTime" : 1678943345789,
    "description": "Your search OCU usage has reached the configured maximum limit."
  }
}
```

A continuación, se muestra un ejemplo de este evento (OCU de indexación):

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-012345678901",
  "detail-type": "OCU Utilization Reached Max Limit",
  "source": "aws.aoss",
  "account": "123456789012",
  "time": "2016-11-01T13:12:22Z",
  "region": "us-east-1",
  "resources": ["arn:aws:es:us-east-1:123456789012:domain/test-domain"],
  "detail": {
    "eventTime" : 1678943345789,
    "description": "Your indexing OCU usage has reached the configured maximum limit."
  }
}
```