

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Amazon sem OpenSearch servidor
<a name="serverless"></a>

O Amazon OpenSearch Serverless é uma configuração sob demanda e com escalabilidade automática para o Amazon Service. OpenSearch Ao contrário dos OpenSearch domínios provisionados, que exigem gerenciamento manual da capacidade, uma coleção OpenSearch sem servidor escala automaticamente os recursos de computação com base nas necessidades do seu aplicativo.

OpenSearch O Serverless oferece uma solução econômica para cargas de trabalho pouco frequentes, intermitentes ou imprevisíveis. Ele otimiza os custos ajustando automaticamente a capacidade computacional de acordo com o uso da aplicação. As coleções sem servidor usam o mesmo volume de armazenamento de alta capacidade, distribuído e altamente disponível dos domínios de serviços OpenSearch provisionados.

OpenSearch As coleções sem servidor são sempre criptografadas. É possível escolher a chave de criptografia, mas não é possível desabilitar a criptografia. Para saber mais, consulte . [Criptografia no Amazon OpenSearch Serverless](serverless-encryption.md)

## Benefícios
<a name="serverless-benefits"></a>

OpenSearch O Serverless tem os seguintes benefícios:
+ **Mais simples do que provisionado** — o OpenSearch Serverless remove grande parte da complexidade do gerenciamento de clusters e da capacidade. OpenSearch Ele dimensiona e ajusta automaticamente seus clusters e cuida do gerenciamento do ciclo de vida de fragmentos e índices. Ele também gerencia atualizações de software de serviço e upgrades de OpenSearch versão. Todas as atualizações e upgrades não causam interrupções.
+ **Econômico** — Ao usar o OpenSearch Serverless, você paga apenas pelos recursos que consome. Isso elimina a necessidade de provisionamento inicial e superprovisionamento para workloads de pico.
+ **Altamente disponível** — o OpenSearch Serverless suporta cargas de trabalho de produção com redundância para proteger contra interrupções na Zona de Disponibilidade e falhas na infraestrutura.
+ **Escalável** — O OpenSearch Serverless dimensiona automaticamente os recursos para manter taxas de ingestão de dados e tempos de resposta de consultas consistentemente rápidos.

# O que é Amazon OpenSearch Serverless?
<a name="serverless-overview"></a>

O Amazon OpenSearch Serverless é uma opção sob demanda e sem servidor para o OpenSearch Amazon Service que elimina a complexidade operacional do provisionamento, configuração e ajuste de clusters. OpenSearch É ideal para organizações que preferem não autogerenciar seus clusters ou que não têm recursos e expertise dedicados para operar implantações em grande escala. Com o OpenSearch Serverless, você pode pesquisar e analisar grandes volumes de dados sem gerenciar a infraestrutura subjacente.

Uma *coleção OpenSearch * sem servidor é um grupo de OpenSearch índices que trabalham juntos para dar suporte a uma carga de trabalho ou caso de uso específico. As coleções simplificam as operações em comparação com OpenSearch clusters autogerenciados, que exigem provisionamento manual.

As coleções usam o mesmo armazenamento de alta capacidade, distribuído e altamente disponível dos domínios de OpenSearch serviços provisionados, mas reduzem ainda mais a complexidade ao eliminar a configuração e o ajuste manuais. Os dados em uma coleção são criptografados em trânsito. OpenSearch O Serverless também oferece suporte a OpenSearch painéis, fornecendo uma interface para análise de dados.

Atualmente, as coleções sem servidor executam a OpenSearch versão 2.17.x. À medida que novas versões são lançadas, o OpenSearch Serverless atualiza automaticamente as coleções para incorporar novos recursos, correções de erros e melhorias de desempenho.

OpenSearch O Serverless suporta as mesmas operações de API de ingestão e consulta do pacote de código OpenSearch aberto, para que você possa continuar usando seus clientes e aplicativos existentes. Seus clientes devem ser compatíveis com OpenSearch 2.x para trabalhar com o OpenSearch Serverless. Para obter mais informações, consulte [Ingestão de dados em coleções Amazon OpenSearch Serverless](serverless-clients.md).

**Topics**
+ [Casos de uso do OpenSearch Serverless](#serverless-use-cases)
+ [Como funciona](#serverless-process)
+ [Escolha de um tipo de coleção](#serverless-usecase)
+ [Preços](#serverless-pricing)
+ [Suportado Regiões da AWS](#serverless-regions)
+ [Limitações](#serverless-limitations)
+ [Comparando OpenSearch serviços e sem OpenSearch servidor](serverless-comparison.md)

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

OpenSearch O Serverless oferece suporte a dois casos de uso principais:
+ **Análise de logs**: o segmento de analytics de logs se concentra na análise de grandes volumes de dados de séries temporais, semiestruturados e gerados por máquina para obter informações operacionais e de comportamento do usuário.
+ **Pesquisa de texto completo**: o segmento de pesquisa de texto completo alimenta aplicações em suas redes internas (sistemas de gerenciamento de conteúdo, documentos legais) e aplicações voltadas para a Internet, como a pesquisa de conteúdo de sites de comércio eletrônico. 

 Ao criar uma coleção, escolha um desses casos de uso. Para saber mais, consulte [Escolha de um tipo de coleção](#serverless-usecase).

## Como funciona
<a name="serverless-process"></a>

 OpenSearch Os clusters tradicionais têm um único conjunto de instâncias que realizam operações de indexação e pesquisa, e o armazenamento de índices está estreitamente associado à capacidade computacional. Por outro lado, o OpenSearch Serverless usa uma arquitetura nativa da nuvem que separa os componentes de indexação (ingestão) dos componentes de pesquisa (consulta), com o Amazon S3 como principal armazenamento de dados para índices. 

Essa arquitetura desacoplada permite escalar as funções de pesquisa e indexação de forma independente uma da outra e independentemente dos dados indexados no S3. A arquitetura também fornece isolamento para operações de ingestão e consulta para que elas possam ser executadas simultaneamente, sem contenção de recursos. 

Quando você grava dados em uma coleção, o OpenSearch Serverless os distribui para as unidades computacionais de *indexação*. As unidades computacionais de indexação ingerem os dados recebidos e movem os índices para S3. Quando você realiza uma pesquisa nos dados da coleta, o OpenSearch Serverless encaminha as solicitações para as unidades computacionais de *pesquisa* que contêm os dados que estão sendo consultados. As unidades computacionais de pesquisa baixam os dados indexados diretamente do S3 (se ainda não estiverem armazenados em cache localmente), executam operações de pesquisa e realizam agregações. 

A imagem a seguir ilustra essa arquitetura desacoplada:

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


OpenSearch A capacidade computacional sem servidor para ingestão, pesquisa e consulta de dados é medida em OpenSearch Unidades de Computação (). OCUs Cada OCU é uma combinação de 6 GiB de memória e CPU virtual (vCPU) correspondente e cria um pipeline de dados para o Amazon S3. Cada OCU inclui armazenamento efêmero de atividade muito alta que é suficiente para 120 GiB de dados de indexação.

Quando você cria sua primeira coleção, o OpenSearch Serverless instancia duas OCUs — uma para indexação e outra para pesquisa. Para garantir alta disponibilidade, ele também lança um conjunto de nós em espera em outra zona de disponibilidade. Para fins de desenvolvimento e teste, você pode desativar a configuração **Ativar redundância** para uma coleção, que elimina as duas réplicas em espera e instancia apenas duas. OCUs Por padrão, as réplicas ativas redundantes estão habilitadas, o que significa que um total de quatro OCUs são instanciadas para a primeira coleção em uma conta.

Eles OCUs existem mesmo quando não há atividade em nenhum endpoint de coleta. Todas as coleções subsequentes as compartilham OCUs. Quando você cria coleções adicionais na mesma conta, o OpenSearch Serverless só adiciona mais OCUs para pesquisa e ingestão conforme necessário para dar suporte às coleções, de acordo com os [limites de capacidade](serverless-scaling.md#serverless-scaling-configure) que você especificar. A capacidade é reduzida à medida que o uso da computação diminui.

Para obter informações sobre como você é cobrado por eles OCUs, consulte[Preços](#serverless-pricing).

## Escolha de um tipo de coleção
<a name="serverless-usecase"></a>

OpenSearch O Serverless oferece suporte a três tipos principais de coleção:

**Séries temporais**: o segmento de analytics de log que analisa em tempo real grandes volumes de dados semiestruturados gerados por máquinas, fornecendo insights sobre operações, segurança, comportamento do usuário e desempenho dos negócios.

**Pesquisa**: pesquisa em texto completo que habilita aplicações em redes internas, como sistemas de gerenciamento de conteúdo e repositórios de documentos jurídicos, assim como aplicações voltadas para a internet, como pesquisa em sites de comércio eletrônico e descoberta de conteúdo.

**Pesquisa vetorial**: a pesquisa semântica em incorporações vetoriais simplifica o gerenciamento de dados vetoriais e possibilita experiências de pesquisa aprimorada por machine learning (ML). É compatível com aplicações de IA generativa, como chatbots, assistentes pessoais e detecção de fraudes.

Você escolhe um tipo de coleção ao criar uma coleção pela primeira vez:

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


O tipo de coleção que você escolhe depende do tipo dos dados que planeja ingerir na coleção e de como você planeja consultá-los. Não é possível alterar o tipo da coleção depois de criá-la.

Os tipos de coleção têm as seguintes **diferenças** notáveis:
+ Para coleções de *pesquisa* e *pesquisa vetorial*, todos os dados são armazenados no armazenamento a quente para garantir tempos de resposta rápidos às consultas. As coleções de *séries temporais* usam uma combinação de armazenamento de atividade alta e muito alta, em que os dados mais recentes são mantidos em armazenamento de atividade muito alta para otimizar os tempos de resposta da consulta para dados acessados com mais frequência.
+ Para coleções de *séries temporais* e *pesquisa vetorial*, não é possível indexar por ID de documento personalizado nem atualizar por solicitações de upsert. Essa operação é reservada para casos de uso de pesquisa. Em vez disso, você pode atualizar por ID do documento. Para saber mais, consulte [Operações e permissões de OpenSearch API suportadas](serverless-genref.md#serverless-operations).
+ Para *pesquisas* e coleções de *séries temporais*, você não pode usar índices do tipo k-NN.

## Preços
<a name="serverless-pricing"></a>

AWS cobra pelos seguintes componentes OpenSearch sem servidor:
+ Computação de ingestão de dados
+ Computação de pesquisa e consulta
+ Armazenamento retido no Amazon S3

Uma OCU compreende 6 GB de RAM, vCPU GP3 , armazenamento e transferência de dados correspondentes para o Amazon S3. A menor unidade pela qual você pode ser cobrado é 0,5 OCU. AWS fatura a OCU por hora, com granularidade de segundo nível. No extrato da sua conta, você vê uma entrada para computação em horas de OCU com um rótulo para ingestão de dados e um rótulo para pesquisa. AWS também cobra mensalmente pelos dados armazenados no Amazon S3. Ele não cobra pelo uso de OpenSearch painéis.

Ao criar uma coleção com réplicas ativas redundantes, você é cobrado pelo menos 1 OCU (0,5 OCU × 2) para ingestão, incluindo primária e em espera, e 1 OCU (0,5 OCU × 2) para pesquisa:
+ 1 OCU (0,5 OCU × 2) por ingestão, incluindo primária e em espera
+ 1 OCU (0,5 OCU × 2) por pesquisa

Se você desabilitar réplicas ativas redundantes, será cobrado um mínimo de 1 OCU (0,5 OCU x 2) pela primeira coleção em sua conta. Todas as coleções subsequentes podem compartilhá-las OCUs.

OpenSearch O Serverless adiciona mais OCUs em incrementos de 1 OCU com base na potência computacional e no armazenamento necessários para dar suporte às suas coleções. Você pode configurar um número máximo de OCUs para sua conta para controlar os custos.

**nota**  
Coleções com itens exclusivos não AWS KMS keys podem ser compartilhadas OCUs com outras coleções.

OpenSearch O servidor tenta usar os recursos mínimos necessários para contabilizar as mudanças nas cargas de trabalho. O número de OCUs provisionados a qualquer momento pode variar e não é exato. Com o tempo, o algoritmo usado pelo OpenSearch Serverless continuará melhorando para minimizar melhor o uso do sistema.

Para obter detalhes completos sobre preços, consulte os [preços OpenSearch do Amazon Service](https://aws.amazon.com/opensearch-service/pricing/).

## Suportado Regiões da AWS
<a name="serverless-regions"></a>

OpenSearch O Serverless está disponível em um subconjunto Regiões da AWS desse OpenSearch Serviço disponível em. Para obter uma lista das regiões suportadas, consulte os [endpoints e cotas do Amazon OpenSearch Service](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html) no. *Referência geral da AWS*

## Limitações
<a name="serverless-limitations"></a>

OpenSearch O Serverless tem as seguintes limitações:
+ Algumas operações de OpenSearch API não são suportadas. Consulte [Operações e permissões de OpenSearch API suportadas](serverless-genref.md#serverless-operations).
+ Alguns OpenSearch plug-ins não são compatíveis. Consulte [OpenSearch Plugins compatíveis](serverless-genref.md#serverless-plugins).
+ Atualmente, não há como migrar automaticamente seus dados de um domínio de OpenSearch serviço gerenciado para uma coleção sem servidor. É necessário reindexar seus dados de um domínio para uma coleção.
+ Não há suporte para acesso entre contas a coleções. Não é possível incluir coleções de outras contas em suas políticas de criptografia ou acesso a dados.
+ Não há suporte para OpenSearch plug-ins personalizados.
+ Instantâneos automatizados são compatíveis com coleções OpenSearch sem servidor. Não há suporte para instantâneos manuais. Para obter mais informações, consulte [Fazer backup de coleções usando snapshots](serverless-snapshots.md).
+ Não há suporte para pesquisa e replicação entre regiões.
+ Há limites no número de recursos de tecnologia sem servidor possíveis em uma única conta e região. Consulte Cotas [OpenSearch sem servidor.](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-limits-serverless)
+ O intervalo de atualização dos índices nas coleções de pesquisa vetorial é de aproximadamente 60 segundos. O intervalo de atualização dos índices nas coleções de pesquisa e série temporal é de aproximadamente 10 segundos.
+ O número de fragmentos, o número de intervalos e o intervalo de atualização não são modificáveis e são gerenciados pelo Serverless. OpenSearch A estratégia de fragmentação é baseada no tipo de coleta e no tráfego. Por exemplo, uma coleção de séries temporais dimensiona os fragmentos primários com base nos gargalos do tráfego de gravação.
+ Os recursos geoespaciais disponíveis nas OpenSearch versões até 2.1 são suportados.

# Comparando OpenSearch serviços e sem OpenSearch servidor
<a name="serverless-comparison"></a>

No OpenSearch Serverless, alguns conceitos e recursos são diferentes dos recursos correspondentes para um domínio de serviço provisionado OpenSearch . Por exemplo, uma diferença importante é que o OpenSearch Serverless não tem o conceito de cluster ou nó.

A tabela a seguir descreve como os recursos e conceitos importantes do OpenSearch Serverless diferem do recurso equivalente em um domínio de serviço provisionado OpenSearch .


| Recurso | OpenSearch Serviço | OpenSearch Sem servidor | 
| --- | --- | --- | 
|  **Domínios versus coleções**  |  Os índices são mantidos em *domínios*, que são clusters OpenSearch pré-provisionados. Para obter mais informações, consulte [Criação e gerenciamento de domínios OpenSearch do Amazon Service](createupdatedomains.md).  |  Os índices são mantidos em *coleções*, que são agrupamentos lógicos de índices que representam uma workload ou um caso de uso específico. Para saber mais, consulte [Gerenciando coleções Amazon OpenSearch Serverless](serverless-manage.md).  | 
|  **Tipos de nós e gerenciamento de capacidade**  |  Você cria um cluster com tipos de nós que atendem às suas especificações de custo e performance. É necessário calcular seus próprios requisitos de armazenamento e escolher um tipo de instância para seu domínio. Para obter mais informações, consulte [Dimensionamento de domínios do Amazon OpenSearch Service](sizing-domains.md).  |  OpenSearch O Serverless dimensiona e provisiona automaticamente unidades de computação adicionais para sua conta com base no uso da capacidade. Para obter mais informações, consulte [Gerenciando limites de capacidade para Amazon OpenSearch Serverless](serverless-scaling.md).  | 
|  **Faturamento**  |  Você paga por hora de uso de uma instância do EC2 e pelo tamanho cumulativo de todos os volumes de armazenamento do EBS anexados às suas instâncias. Para saber mais, consulte [Preços do Amazon OpenSearch Service](what-is.md#pricing).  |  Você é cobrado em horas de OCU pela computação para ingestão de dados, computação para pesquisa e consulta e armazenamento retido no S3. Para saber mais, consulte [Preços](serverless-overview.md#serverless-pricing).  | 
|  **Criptografia**  |  A criptografia em repouso é *opcional* para domínios. Para saber mais, consulte [Criptografia de dados em repouso para o Amazon OpenSearch Service](encryption-at-rest.md).  |  A criptografia em repouso é *obrigatória* para coleções. Para saber mais, consulte [Criptografia no Amazon OpenSearch Serverless](serverless-encryption.md).  | 
|  **Controle de acesso a dados**  |  O acesso aos dados nos domínios é determinado pelas políticas do IAM e pelo [controle de acesso minucioso](fgac.md).  |  O acesso aos dados nas coleções é determinado pelas [políticas de acesso a dados](serverless-data-access.md).  | 
|  OpenSearchOperações suportadas |  OpenSearch O serviço oferece suporte a um subconjunto de todas as operações da OpenSearch API. Para obter mais informações, consulte [Operações suportadas no Amazon OpenSearch Service](supported-operations.md).  |  OpenSearch O Serverless oferece suporte a um subconjunto diferente de operações de OpenSearch API. Para obter mais informações, consulte [Operações e plug-ins compatíveis no Amazon OpenSearch Serverless](serverless-genref.md).  | 
| Login no Dashboards |  Faça login com um nome de usuário e senha. Para obter mais informações, consulte [Acessando OpenSearch painéis como usuário principal](fgac.md#fgac-dashboards).  |  Se você estiver conectado ao AWS console e navegar até a URL do seu painel, você fará login automaticamente. Para obter mais informações, consulte [Acessando OpenSearch painéis](serverless-dashboards.md).  | 
| APIs |  Interaja programaticamente com o OpenSearch Serviço usando as operações da [API do OpenSearch Serviço](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/Welcome.html).  |  [Interaja programaticamente com o OpenSearch Serverless usando as operações da API Serverless. OpenSearch ](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/Welcome.html)  | 
| Acesso à rede |  As configurações de rede de um domínio se aplicam ao endpoint do domínio, bem como ao endpoint do OpenSearch Dashboards. O acesso à rede para ambos está fortemente acoplado.  |  As configurações de rede do endpoint do domínio e do endpoint do OpenSearch Dashboards são dissociadas. Você pode optar por não configurar o acesso à rede para OpenSearch painéis. Para obter mais informações, consulte [Acesso à rede para Amazon OpenSearch Serverless](serverless-network.md).  | 
| Assinatura de solicitações |  Use os clientes REST de OpenSearch alto e baixo nível para assinar solicitações. Especifique o nome do serviço como `es`.  |  No momento, o OpenSearch Serverless oferece suporte a um subconjunto de clientes aos quais o Service oferece suporte. OpenSearch  Ao assinar solicitações, especifique o nome do serviço como `aoss`. O cabeçalho `x-amz-content-sha256` é obrigatório. Para obter mais informações, consulte [Assinar solicitações HTTP com outros clientes](serverless-clients.md#serverless-signing).  | 
| OpenSearch atualizações de versão |  Você atualiza manualmente seus domínios à medida que novas versões do são OpenSearch disponibilizadas. Você é responsável por garantir que seu domínio atenda aos requisitos de atualização e que tenha resolvido quaisquer alterações importantes.  |  OpenSearch O Serverless atualiza automaticamente suas coleções para novas versões. OpenSearch As atualizações não acontecem necessariamente assim que uma nova versão é disponibilizada.  | 
| Atualizações de software de serviço |  Você aplica manualmente as atualizações do software de serviço ao seu domínio assim que elas se tornam disponíveis.  |  OpenSearch O Serverless atualiza automaticamente suas coleções para consumir as últimas correções de bugs, recursos e melhorias de desempenho.  | 
| Acesso por VPC |  É possível [provisionar seu domínio em uma VPC](vpc.md). Você também pode criar [endpoints OpenSearch VPC gerenciados por serviços](vpc-interface-endpoints.md) adicionais para acessar o domínio.  |  Você cria um ou mais [VPC endpoints OpenSearch gerenciados sem servidor](serverless-vpc.md) para sua conta. Em seguida, você inclui esses endpoints nas [políticas de rede](serverless-network.md).  | 
| Autenticação SAML |  Você habilita a autenticação SAML por domínio. Para obter mais informações, consulte [Autenticação SAML para painéis OpenSearch](saml.md).  |  Você configura um ou mais provedores de SAML no nível da conta e, em seguida, inclui o usuário e o grupo associados IDs nas políticas de acesso aos dados. Para obter mais informações, consulte [Autenticação SAML para Amazon Serverless OpenSearch](serverless-saml.md).  | 
| Transport Layer Security (TLS) | OpenSearch O serviço oferece suporte ao TLS 1.2, mas é recomendável usar o TLS 1.3. | OpenSearch O Serverless oferece suporte ao TLS 1.2, mas é recomendável usar o TLS 1.3. | 

# Tutorial: Introdução ao Amazon OpenSearch Serverless
<a name="serverless-getting-started"></a>

Este tutorial mostra as etapas básicas para colocar uma coleção de *pesquisa* Amazon OpenSearch Serverless em funcionamento rapidamente. Uma coleção de pesquisas permite que você alimente aplicativos em suas redes internas e aplicativos voltados para a Internet, como a pesquisa de sites de comércio eletrônico e de conteúdo. 

Para saber como usar uma coleção de *pesquisa vetorial*, consulte [Trabalho com coleções de pesquisa vetorial](serverless-vector-search.md). Para obter informações detalhadas sobre o uso das coleções, consulte [Gerenciando coleções Amazon OpenSearch Serverless](serverless-manage.md) e outros tópicos nesta aba.

Você concluirá as seguintes etapas neste tutorial:

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

1. [Criar uma coleção](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-getting-started.html#serverless-gsg-create)

1. [Transferir e pesquisar dados](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-getting-started.html#serverless-gsg-index)

1. [Excluir a coleção](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-getting-started.html#serverless-gsg-delete)
**nota**  
Recomendamos que você use somente caracteres ASCII no `IndexName`. Se você não usar caracteres ASCII para o seu`IndexName`, as CloudWatch métricas `IndexName` in serão convertidas em um formato codificado de URL para caracteres não ASCII.

## Etapa 1: configurar permissões
<a name="serverless-gsg-permissions"></a>

Para concluir este tutorial e usar o OpenSearch Serverless em geral, você deve ter as permissões corretas do IAM. Neste tutorial, você criará uma coleção, transferirá e pesquisará dados e, em seguida, excluirá a coleção.

Seu usuário ou função deve ter uma [política baseada em identidade](security-iam-serverless.md#security-iam-serverless-id-based-policies) anexada com as seguintes permissões mínimas:

------
#### [ 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 obter mais informações sobre as permissões do IAM OpenSearch sem servidor, consulte. [Identity and Access Management para Amazon OpenSearch Serverless](security-iam-serverless.md)

## Etapa 2: criar uma coleção
<a name="serverless-gsg-create"></a>

Uma coleção é um grupo de OpenSearch índices que trabalham juntos para dar suporte a uma carga de trabalho ou caso de uso específico.

**Para criar uma coleção OpenSearch sem servidor**

1. Abra o console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home ).

1. Escolha **Coleções** no painel de navegação à esquerda e escolha **Criar coleção**.

1. Dê à coleção o nome de **movies** (filmes).

1. Para o tipo de coleção, escolha **Pesquisar**. Para saber mais, consulte [Choosing a network type](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-overview.html#serverless-usecase) (Escolher um tipo de rede).

1. Em **Segurança**, escolha **Criação padrão**.

1. Em **Criptografia**, selecione **Usar Chave pertencente à AWS**. Isso é o AWS KMS key que o OpenSearch Serverless usará para criptografar seus dados.

1. Em **Rede**, configure o acesso à rede para a coleção.
   + Para o tipo de acesso, selecione **Público**.
   + Para o tipo de recurso, escolha **Habilitar acesso a OpenSearch endpoints** e **Habilitar acesso a OpenSearch painéis**. Como você fará o upload e pesquisará dados usando OpenSearch painéis, é necessário habilitar os dois.

1. Escolha **Próximo**.

1. Em **Configurar acesso aos dados**, defina as configurações de acesso para a coleção. As [políticas de acesso a dados](serverless-data-access.md) permitem que usuários e funções acessem os dados em uma coleção. Neste tutorial, forneceremos a um único usuário as permissões necessárias para indexar e pesquisar dados na coleção *movies* (filmes).

   Crie uma única regra que forneça acesso à coleção de *filmes*. Nomeie a regra de **Acesso à coleção de filmes**.

1. Escolha **Adicionar diretores**, **usuários e funções do IAM** e selecione o usuário ou a função que você usará para fazer login nos OpenSearch painéis e indexar dados. Escolha **Salvar**.

1. Em **Permissões de índices**, selecione todas as permissões.

1. Escolha **Próximo**.

1. Para as configurações da política de acesso, escolha **Criar uma nova política de acesso a dados** e nomeie os **filmes** da política.

1. Escolha **Próximo**.

1. Reveja suas configurações da coleção e escolha **Enviar**. Aguarde alguns minutos até que o status da coleção mude para `Active`.

## Etapa 3: Transferir e pesquisar dados
<a name="serverless-gsg-index"></a>

Você pode carregar dados para uma coleção OpenSearch sem servidor usando [Postman ou](https://www.postman.com/downloads/) cURL. Para resumir, esses exemplos usam **Dev Tools** no console OpenSearch Dashboards.

**Para indexar e pesquisar dados na coleção de filmes**

1. Escolha **Coleções** no painel de navegação à esquerda e escolha a coleção **movies** (filmes) para abrir sua página de detalhes.

1. Escolha o URL dos OpenSearch painéis para a coleção. O URL assume o formato `https://dashboards.{region}.aoss.amazonaws.com/_login/?collectionId={collection-id}`. 

1. Em OpenSearch Painéis, abra o painel de navegação esquerdo e escolha Ferramentas de **desenvolvimento**.

1. Para criar um único índice chamado *movies-index*, envie a seguinte solicitação:

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

1. Para indexar um único documento em *movies-index*, envie a seguinte solicitação:

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

1. Para pesquisar dados em OpenSearch painéis, você precisa configurar pelo menos um padrão de índice. OpenSearch usa esses padrões para identificar quais índices você deseja analisar. Abra o painel de navegação à esquerda, escolha **Gerenciamento de pilhas**, **Padrões de índice** e, em seguida, escolha **Criar padrão de índice**. Para este tutorial, insira *movies*.

1. Escolha **Próxima etapa** e, em seguida, **Criar padrão de índice**. Depois que o padrão é criado, você pode visualizar os vários campos do documento, como `title` e `genre`.

1. Para começar a pesquisar seus dados, abra novamente o painel de navegação à esquerda e escolha **Descobrir**, ou use a [API de pesquisa](https://opensearch.org/docs/latest/api-reference/search/) nas Ferramentas de desenvolvimento.

## Tratamento de erros
<a name="serverless-gsg-data-plane-errors"></a>

Ao executar operações de indexação e pesquisa, você pode obter as seguintes respostas de erro:
+ `HTTP 507`: indica que ocorreu um erro interno do servidor. Esse erro geralmente indica que suas unidades de OpenSearch computação (OCUs) estão sobrecarregadas pelo volume ou pela complexidade de suas solicitações. Embora o OpenSearch Serverless seja escalado automaticamente para gerenciar a carga, pode haver um atraso na implantação de recursos adicionais. 

  Para mitigar esse erro, implemente uma política de repetição de tentativa com recuo exponencial. Essa abordagem reduz temporariamente a taxa de solicitações para administrar a carga com eficiência. Para obter mais detalhes, consulte o [comportamento de repetição](https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html) no *Guia de referência de ferramentas AWS SDKs e ferramentas*.
+ `HTTP 402`— Indica que você atingiu o limite máximo de capacidade da unidade OpenSearch computacional (OCU). Otimize a workload para reduzir o uso de OCUs ou solicite um aumento de cota.

## Etapa 4: Excluir a coleção
<a name="serverless-gsg-delete"></a>

Como a coleção *movies* (filmes) é usada apenas para fins de teste, você deverá excluí-la quando terminar os testes.

**Para excluir uma coleção OpenSearch sem servidor**

1. Volte para o console do **Amazon OpenSearch Service**.

1. Escolha **Coleções** no painel de navegação à esquerda e selecione a coleção **movies** (filmes).

1. Escolha **Excluir** e confirme a exclusão.

## Próximas etapas
<a name="serverless-gsg-next"></a>

Agora que você sabe como criar uma coleção e indexar dados, talvez você queira tentar alguns dos seguintes exercícios:
+ Veja opções mais avançadas para a criação de uma coleção. Para saber mais, consulte [Gerenciando coleções Amazon OpenSearch Serverless](serverless-manage.md).
+ Saiba como configurar políticas de segurança para gerenciar a segurança da coleção em escala. Para saber mais, consulte [Visão geral da segurança no Amazon OpenSearch Serverless](serverless-security.md).
+ Descubra outras formas de indexar dados em coleções. Para obter mais informações, consulte [Ingestão de dados em coleções Amazon OpenSearch Serverless](serverless-clients.md).

# Coleções Amazon OpenSearch Serverless
<a name="serverless-collections"></a>

Uma *coleção* no Amazon OpenSearch Serverless é um agrupamento lógico de um ou mais índices que representam uma carga de trabalho de análise. OpenSearch O Serverless gerencia e ajusta automaticamente a coleção, exigindo o mínimo de entrada manual.

**Topics**
+ [Gerenciando coleções Amazon OpenSearch Serverless](serverless-manage.md)
+ [Trabalho com coleções de pesquisa vetorial](serverless-vector-search.md)
+ [Usando políticas de ciclo de vida de dados com o Amazon Serverless OpenSearch](serverless-lifecycle.md)
+ [Usando o AWS SDKs para interagir com o Amazon OpenSearch Serverless](serverless-sdk.md)
+ [Usando CloudFormation para criar coleções Amazon OpenSearch Serverless](serverless-cfn.md)
+ [Fazer backup de coleções usando snapshots](serverless-snapshots.md)
+ [Suporte ao codec Zstandard no Amazon Serverless OpenSearch](serverless-zstd-compression.md)
+ [Economize armazenamento usando a fonte derivada](serverless-derived-source.md)

# Gerenciando coleções Amazon OpenSearch Serverless
<a name="serverless-manage"></a>

Uma *coleção* no Amazon OpenSearch Serverless é um agrupamento lógico de um ou mais índices que representam uma carga de trabalho de análise. OpenSearch O Serverless gerencia e ajusta automaticamente a coleção, exigindo o mínimo de entrada manual.

**Topics**
+ [Configurar permissões para coleções](serverless-collection-permissions.md)
+ [Enriquecimento semântico automático para Serverless](serverless-semantic-enrichment.md)
+ [Criação de coleções](serverless-create.md)
+ [Acessando OpenSearch painéis](serverless-dashboards.md)
+ [Exibição das coleções](serverless-list.md)
+ [Exclusão de coleções](serverless-delete.md)

# Configurar permissões para coleções
<a name="serverless-collection-permissions"></a>

OpenSearch O Serverless usa as seguintes permissões AWS Identity and Access Management (IAM) para criar e gerenciar coleções. É possível especificar as condições do IAM para restringir os usuários a coleções específicas.
+ `aoss:CreateCollection`: cria uma coleção.
+ `aoss:ListCollections`: lista coleções na conta atual.
+ `aoss:BatchGetCollection`: obtém detalhes sobre uma ou mais coleções.
+ `aoss:UpdateCollection`: modifica uma coleção.
+ `aoss:DeleteCollection`: exclui uma coleção.

O exemplo de política de acesso baseada em identidade a seguir fornece as permissões mínimas necessárias para que um usuário gerencie uma única coleção de nome `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` e `aoss:CreateSecurityPolicy` estão incluídos porque as políticas de criptografia, de rede e de acesso a dados são necessárias para que uma coleção funcione adequadamente. Para saber mais, consulte [Identity and Access Management para Amazon OpenSearch Serverless](security-iam-serverless.md).

**nota**  
Se você estiver criando a primeira coleção em sua conta, também precisará da permissão `iam:CreateServiceLinkedRole`. Para obter mais informações, consulte [Usando funções vinculadas a serviços para criar OpenSearch coleções sem servidor](serverless-service-linked-roles.md).

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

## Introdução
<a name="serverless-semantic-enrichment-intro"></a>

O recurso de enriquecimento semântico automático pode ajudar a melhorar a relevância da pesquisa em até 20% em relação à pesquisa léxica. O enriquecimento semântico automático elimina o trabalho pesado indiferenciado de gerenciar sua própria infraestrutura de modelo de ML (aprendizado de máquina) e a integração com o mecanismo de pesquisa. O recurso está disponível para todos os três tipos de coleção sem servidor: Pesquisa, Série Temporal e Vetor.

## O que é pesquisa semântica
<a name="serverless-semantic-enrichment-whats-is"></a>

 Os mecanismos de pesquisa tradicionais dependem da word-to-word correspondência (conhecida como pesquisa léxica) para encontrar resultados para consultas. Embora isso funcione bem para consultas específicas, como números de modelos de televisão, ele tem dificuldades com pesquisas mais abstratas. Por exemplo, ao pesquisar por “sapatos para a praia”, uma pesquisa léxica apenas corresponde às palavras individuais “sapatos”, “praia”, “para” e “o” nos itens do catálogo, potencialmente sem produtos relevantes, como “sandálias resistentes à água” ou “calçados de surfe”, que não contêm os termos de pesquisa exatos.

 A pesquisa semântica retorna resultados de consulta que incorporam não apenas a correspondência às palavras-chave, mas a intenção e o significado contextual da pesquisa do usuário. Por exemplo, se um usuário pesquisar “como tratar uma dor de cabeça”, um sistema de busca semântica pode retornar os seguintes resultados: 
+ Remédios para enxaqueca
+ Técnicas de controle da dor
+ Over-the-counter analgésicos 

## Detalhes do modelo e benchmark de desempenho
<a name="serverless-semantic-enrichment-model-detail"></a>

 Embora esse recurso lide com as complexidades técnicas nos bastidores sem expor o modelo subjacente, fornecemos transparência por meio de uma breve descrição do modelo e resultados de benchmark para ajudá-lo a tomar decisões informadas sobre a adoção de recursos em suas cargas de trabalho críticas.

 O enriquecimento semântico automático usa um modelo esparso pré-treinado e gerenciado por serviços que funciona de forma eficaz sem exigir ajustes personalizados. O modelo analisa os campos que você especifica, expandindo-os em vetores esparsos com base em associações aprendidas de diversos dados de treinamento. Os termos expandidos e seus pesos de significância são armazenados no formato nativo do índice Lucene para uma recuperação eficiente. Otimizamos esse processo usando o [modo somente documentos,](https://docs.opensearch.org/docs/latest/vector-search/ai-search/neural-sparse-with-pipelines/#step-1a-choose-the-search-mode) em que a codificação ocorre somente durante a ingestão de dados. As consultas de pesquisa são meramente tokenizadas em vez de processadas por meio de um modelo esparso, tornando a solução econômica e eficiente. 

 Nossa validação de desempenho durante o desenvolvimento do recurso usou o conjunto de dados de recuperação de passagens [MS MARCO](https://huggingface.co/datasets/BeIR/msmarco), com passagens com média de 334 caracteres. Para pontuação de relevância, medimos a média de ganho cumulativo com desconto normalizado (NDCG) para os primeiros 10 resultados de pesquisa (ndcg @10) no benchmark [BEIR](https://github.com/beir-cellar/beir) para conteúdo em inglês e a média de ndcg @10 no MIRACL para conteúdo multilíngue. [Avaliamos a latência por meio de medições do percentil 90 (p90) do lado do cliente e a resposta de pesquisa p90 obteve valores.](https://github.com/beir-cellar/beir) Esses benchmarks fornecem indicadores básicos de desempenho para a relevância da pesquisa e os tempos de resposta. Aqui estão os principais números de referência - 
+ Idioma inglês - Melhoria de relevância de 20% em relação à pesquisa léxica. Também reduziu a latência de pesquisa do P90 em 7,7% em relação à pesquisa lexical (BM25 é 26 ms e o enriquecimento semântico automático é 24 ms).
+ Multilíngue - Melhoria de relevância de 105% em relação à pesquisa lexical, enquanto a latência da pesquisa P90 aumentou 38,4% em relação à pesquisa lexical (BM25 é 26 ms e o enriquecimento semântico automático é 36 ms).

Dada a natureza exclusiva de cada carga de trabalho, recomendamos que você avalie esse recurso em seu ambiente de desenvolvimento usando seus próprios critérios de benchmarking antes de tomar decisões de implementação.

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

O recurso oferece suporte ao inglês. Além disso, o modelo também oferece suporte para árabe, bengali, chinês, finlandês, francês, hindi, indonésio, japonês, coreano, persa, russo, espanhol, suaíli e telugu.

## Configure um índice automático de enriquecimento semântico para coleções sem servidor
<a name="serverless-semantic-enrichment-index-setup"></a>

É fácil configurar um índice com o enriquecimento semântico automático ativado para seus campos de texto e você pode gerenciá-lo por meio do console e de CloudFormation modelos durante a criação do novo índice. APIs Para habilitá-lo para um índice existente, você precisa recriar o índice com o enriquecimento semântico automático ativado para campos de texto. 

Experiência de console - O AWS console permite criar facilmente um índice com campos de enriquecimento semântico automático. Depois de selecionar uma coleção, você encontrará o botão criar índice na parte superior do console. Depois de clicar no botão criar índice, você encontrará opções para definir campos de enriquecimento semântico automático. Em um índice, você pode ter combinações de enriquecimento semântico automático para inglês e multilíngue, bem como campos lexicais.

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


Experiência de API - Para criar um índice automático de enriquecimento semântico usando a interface de linha de AWS comando (AWS CLI), use o comando create-index: 

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

 **No exemplo de esquema de índice a seguir, o campo *title\$1semantic* tem um tipo de campo definido como *texto* e o parâmetro semantic\$1enrichment definido como status ENABLED.** *Definir o parâmetro *semantic\$1enrichment ativa o enriquecimento* semântico automático no campo title\$1semantic.* *Você pode usar o campo *language\$1options* para especificar *inglês* ou multilíngue.* 

```
    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 descrever o índice criado, use o seguinte comando:

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

Você também pode usar CloudFormation modelos (Tipo:AWS::OpenSearchServerless::CollectionIndex) para criar uma pesquisa semântica durante o provisionamento da coleção, bem como após a criação da coleção.

## Ingestão e pesquisa de dados
<a name="serverless-semantic-enrichment-data-ingest"></a>

Depois de criar um índice com o enriquecimento semântico automático ativado, o recurso funciona automaticamente durante o processo de ingestão de dados, sem necessidade de configuração adicional.

Ingestão de dados: quando você adiciona documentos ao seu índice, o sistema automaticamente:
+ Analisa os campos de texto que você designou para enriquecimento semântico
+ Gera codificações semânticas usando o modelo esparso gerenciado por OpenSearch serviços
+ Armazena essas representações enriquecidas junto com seus dados originais

Esse processo usa conectores OpenSearch de ML e pipelines de ingestão integrados, que são criados e gerenciados automaticamente nos bastidores.

Pesquisa: os dados de enriquecimento semântico já estão indexados, então as consultas são executadas com eficiência sem invocar o modelo de ML novamente. Isso significa que você obtém maior relevância de pesquisa sem sobrecarga adicional de latência de pesquisa.

## Configurar permissões para enriquecimento semântico automático
<a name="serverless-semantic-enrichment-permissions"></a>

Antes de criar um índice de enriquecimento semântico automático, é necessário configurar as permissões necessárias. Esta seção explica as permissões necessárias e como configurá-las.

### Permissões de política do IAM
<a name="iam-policy-permissions"></a>

Use a seguinte política AWS Identity and Access Management (IAM) para conceder as permissões necessárias para trabalhar com o enriquecimento 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": "*"
        }
    ]
}
```

------

**Permissões de chave**  
+ As permissões `aoss:*Index` habilitam o gerenciamento de índices
+ A `aoss:APIAccessAll` permissão permite operações OpenSearch de API
+ Para restringir as permissões a uma coleção específica, substitua `"Resource": "*"` pelo ARN da coleção

### Configurar permissões de acesso a dados
<a name="serverless-collection-permissions-data-network"></a>

Para configurar um índice para enriquecimento semântico automático, você deve ter as políticas de acesso a dados apropriadas que concedam permissão para acessar recursos de índice, pipeline e coleção de modelos. Para saber mais sobre políticas de acesso a dados, consulte [Controle de acesso a dados para Amazon OpenSearch Serverless](serverless-data-access.md). Para obter o procedimento de configuração de uma política de acesso a dados, consulte [Criação de políticas de acesso a dados (console)](serverless-data-access.md#serverless-data-access-console).

#### Permissões de acesso a dados
<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"
        ]
    },
]
```

#### Permissões de acesso à rede
<a name="serverless-collection-network-access-permissions"></a>

Para permitir que APIs o serviço acesse coleções particulares, você deve configurar políticas de rede que permitam o acesso necessário entre a API do serviço e a coleção. Para obter mais informações sobre políticas de rede, consulte [Acesso à rede 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"
      ],
   }
]
```

**Para configurar as permissões de acesso à rede para uma coleção privada**

1. Faça login no console OpenSearch de serviço em [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. No painel de navegação à esquerda, escolha *Políticas de rede*. Depois, siga um destes procedimentos:
   + Escolha o nome de uma política existente e escolha *Editar*
   + Escolha *Criar política de rede* e configure os detalhes da política

1. Na área *Tipo de acesso*, escolha *Privado (recomendado)* e selecione *Acesso privado ao serviço da AWS *.

1. No campo de pesquisa, escolha *Serviço* e depois *aoss.amazonaws.com*.

1. Na área *Tipo de recurso*, selecione a caixa *Habilitar acesso ao OpenSearch endpoint*.

1. Em *Pesquisar coleções ou inserir termos de prefixo específicos*, no campo de pesquisa, selecione *Nome da coleção*. Em seguida, insira ou selecione o nome das coleções a serem associadas à política de rede.

1. Escolha *Criar* para uma nova política de rede ou *Atualizar* para uma política de rede existente.

## Regravações de consultas
<a name="serverless-collection-query-rewrite"></a>

O enriquecimento semântico automático converte automaticamente suas consultas de “correspondência” existentes em consultas de pesquisa semântica sem exigir modificações na consulta. Se uma consulta de correspondência fizer parte de uma consulta composta, o sistema percorrerá sua estrutura de consulta, localizará consultas de correspondência e as substituirá por consultas neurais esparsas. Atualmente, o recurso suporta apenas a substituição de consultas “correspondentes”, seja uma consulta autônoma ou parte de uma consulta composta. “multi\$1match” não é suportado. Além disso, o recurso oferece suporte a todas as consultas compostas para substituir suas consultas de correspondência aninhadas. As consultas compostas incluem: bool, boosting, constant\$1score, dis\$1max, function\$1score e hybrid. 

## Limitações do enriquecimento semântico automático
<a name="serverless-collection-ase-limitation"></a>

A pesquisa semântica automática é mais eficaz quando aplicada a campos small-to-medium de tamanho contendo conteúdo em linguagem natural, como títulos de filmes, descrições de produtos, avaliações e resumos. Embora a pesquisa semântica aumente a relevância para a maioria dos casos de uso, ela pode não ser ideal para determinados cenários. Considere as seguintes limitações ao decidir se deve implementar o enriquecimento semântico automático para seu caso de uso específico. 
+ Documentos muito longos — O modelo esparso atual processa apenas os primeiros 8.192 tokens de cada documento em inglês. Para documentos multilíngues, são 512 tokens. Para artigos longos, considere implementar a fragmentação de documentos para garantir o processamento completo do conteúdo.
+ Cargas de trabalho de análise de registros — O enriquecimento semântico aumenta significativamente o tamanho do índice, o que pode ser desnecessário para a análise de registros, onde a correspondência exata normalmente é suficiente. O contexto semântico adicional raramente melhora a eficácia da pesquisa de registros o suficiente para justificar o aumento dos requisitos de armazenamento. 
+ O enriquecimento semântico automático não é compatível com o recurso Fonte Derivada. 
+ Limitação — As solicitações de inferência de indexação estão atualmente limitadas a 100 TPS para o Serverless. OpenSearch Esse é um limite flexível; entre em contato com o AWS Support para obter limites mais altos.

## Preços
<a name="serverless-collection-ase-pricing"></a>

 OpenSearch O Serverless cobra o enriquecimento semântico automático com base nas unidades de OpenSearch computação (OCUs) consumidas durante a geração de vetores esparsos no momento da indexação. Você é cobrado somente pelo uso real durante a indexação. Você pode monitorar esse consumo usando a SemanticSearch OCU CloudWatch métrica da Amazon. Para obter detalhes específicos sobre os limites do token do modelo, a taxa de transferência de volume por OCU e um exemplo de cálculo de amostra, visite Preços de [ OpenSearch serviços](https://aws.amazon.com/opensearch-service/pricing/). 

# Criação de coleções
<a name="serverless-create"></a>

Você pode usar o console ou o AWS CLI para criar uma coleção sem servidor. Essas etapas abordam como criar uma *pesquisa* ou uma coleção de *séries temporais*. Para criar uma coleção de *pesquisa vetorial*, consulte[Trabalho com coleções de pesquisa vetorial](serverless-vector-search.md). 

**Topics**
+ [Criação de uma coleção (console)](serverless-create-console.md)
+ [Criação de uma coleção (CLI)](serverless-create-cli.md)

# Criação de uma coleção (console)
<a name="serverless-create-console"></a>

Use os procedimentos desta seção para criar uma coleção usando o Console de gerenciamento da AWS. Essas etapas abordam como criar uma *pesquisa* ou uma coleção de *séries temporais*. Para criar uma coleção de *pesquisa vetorial*, consulte[Trabalho com coleções de pesquisa vetorial](serverless-vector-search.md). 

**Topics**
+ [Definir configurações de coleção](#serverless-create-console-step-2)
+ [Configurar campos de pesquisa adicionais](#serverless-create-console-step-3)

## Definir configurações de coleção
<a name="serverless-create-console-step-2"></a>

Use o procedimento a seguir para configurar as informações sobre a coleção. 

**Para definir as configurações de coleção usando o console**

1. Navegue até o console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/home/](https://console.aws.amazon.com/aos/home/).

1. Expanda **Sem Servidor** no painel de navegação à esquerda e escolha **Coleções**. 

1. Escolha **Criar coleção**.

1. Forneça um nome e uma descrição para a coleção. O nome deve atender aos seguintes critérios:
   + É exclusivo para sua conta e Região da AWS
   + Contém apenas letras minúsculas a-z, números de 0 a 9 e hífens (-).
   + Contém de 3 a 32 caracteres

1. Escolha um tipo de coleção:
   + **Séries temporais**: segmento de analytics de logs que se concentra na análise de grandes volumes de dados semiestruturados gerados por máquina. Pelo menos 24 horas de dados são armazenadas em índices ativos, e o restante permanece no armazenamento ativo.
   + **Pesquisa**: pesquisa de texto completo que alimenta aplicações em suas redes internas e aplicações voltadas para a Internet. Todos os dados de pesquisa são armazenados em um armazenamento de atividade muito alta para garantir tempos de resposta rápidos às consultas.
**nota**  
Escolha essa opção se você estiver habilitando a pesquisa semântica automática, como descrito em [Definir configurações de coleção](#serverless-create-console-step-2).
   + **Pesquisa vetorial**: pesquisa semântica em incorporações vetoriais que simplifica o gerenciamento de dados vetoriais. Potencializa experiências de pesquisa aumentada de machine learning (ML) e aplicações de IA generativa, como chatbots, assistentes pessoais e detecção de fraudes.

   Para saber mais, consulte [Escolha de um tipo de coleção](serverless-overview.md#serverless-usecase).

1. Em **Tipo de implantação**, escolha a configuração de redundância para a coleção. Por padrão, cada coleção tem redundância, o que significa que cada uma das unidades OpenSearch computacionais de indexação e pesquisa (OCUs) tem suas próprias réplicas em espera em uma zona de disponibilidade diferente. Para fins de desenvolvimento e teste, você pode optar por desativar a redundância, o que reduz o número de OCUs em sua coleção para dois. Para obter mais informações, consulte [Como funciona](serverless-overview.md#serverless-process).

1. Em **Segurança**, escolha **Criação padrão**.

1. Em **Criptografia**, escolha uma AWS KMS chave para criptografar seus dados. OpenSearch O Serverless notifica você se o nome da coleção que você inseriu corresponder a um padrão definido em uma política de criptografia. É possível optar por manter essa correspondência ou substituí-la por configurações de criptografia exclusivas. Para saber mais, consulte [Criptografia no Amazon OpenSearch Serverless](serverless-encryption.md).

1. Em **Configurações de acesso à rede**, configure o acesso à rede para a coleção.
   + Em **Tipo de acesso**, selecione público ou privado. 

     Se você escolher privado, especifique quais endpoints da VPC e Serviços da AWS podem acessar a coleção.
     + **Endpoints da VPC para acesso**: especifique um ou mais endpoints da VPC para permitir o acesso por eles. Para criar um VPC da endpoint, consulte [Acesso ao plano de dados por meio de AWS PrivateLink](serverless-vpc.md).
     + **AWS service (Serviço da AWS) acesso privado** — Selecione um ou mais serviços compatíveis aos quais permitir o acesso.
   + Em **Tipo de recurso**, selecione se os usuários podem acessar a coleção por meio de seu *OpenSearch*endpoint (para fazer chamadas de API por meio de cURL, Postman e assim por diante), por meio *OpenSearch do* endpoint Dashboards (para trabalhar com visualizações e fazer chamadas de API por meio do console) ou ambos.
**nota**  
AWS service (Serviço da AWS) o acesso privado se aplica somente ao OpenSearch endpoint, não ao endpoint do OpenSearch Dashboards.

   OpenSearch O Serverless notifica você se o nome da coleção inserido corresponder a um padrão definido em uma política de rede. É possível optar por manter essa correspondência ou substituí-la por configurações de rede personalizadas. Para saber mais, consulte [Acesso à rede para Amazon OpenSearch Serverless](serverless-network.md).

1. (Opcional) Adicione uma ou mais tags à coleção. Para saber mais, consulte [Marcação de coleções Amazon OpenSearch Serverless](tag-collection.md).

1. Escolha **Próximo**.

## Configurar campos de pesquisa adicionais
<a name="serverless-create-console-step-3"></a>

As opções que você vê na segunda página do fluxo de trabalho de criação de coleção dependem do tipo de coleção sendo criada. Esta seção descreve como configurar campos de pesquisa adicionais para cada tipo de coleção. Esta seção também descreve como configurar o enriquecimento semântico automático. Ignore qualquer seção que não se aplique a seu tipo de coleção.

**Topics**
+ [Configurar enriquecimento semântico automático](#serverless-create-console-step-3-semantic-enrichment-fields)
+ [Configurar campos de pesquisa de séries temporais](#serverless-create-console-step-3-time-series-fields)
+ [Configurar campos de pesquisa lexical](#serverless-create-console-step-3-lexical-fields)
+ [Configurar campos de pesquisa vetorial](#serverless-create-console-step-3-vector-search-fields)

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

Ao criar ou editar uma coleção, você pode configurar o enriquecimento semântico automático, o que simplifica a implementação e os recursos da pesquisa semântica no Amazon Service. OpenSearch A pesquisa semântica retorna resultados de consulta que incorporam não apenas a correspondência às palavras-chave, mas a intenção e o significado contextual da pesquisa do usuário. Para saber mais, consulte [Enriquecimento semântico automático para Serverless](serverless-semantic-enrichment.md).

**Para configurar o enriquecimento semântico automático**

1. Na seção **Detalhes do índice**, em **Nome do índice**, especifique um nome.

1. Na seção **Campos de enriquecimento semântico automático**, escolha **Adicionar campo de pesquisa semântica**.

1. No campo **Nome do campo de entrada para enriquecimento semântico**, insira o nome do campo que você deseja enriquecer.

1. O **Tipo de dado** é **Texto**. Não é possível alterar esse valor.

1. Em **Idioma**, escolha **português** ou **multilíngue**.

1. Escolha **Adicionar campo**.

1. Depois de concluir a configuração dos campos opcionais para a coleção, escolha **Avançar**. Revise as alterações e escolha **Enviar** para criar a coleção.

### Configurar campos de pesquisa de séries temporais
<a name="serverless-create-console-step-3-time-series-fields"></a>

As opções na seção **Campos de pesquisa de séries temporais** referem-se a dados de séries temporais e fluxos de dados. Para saber mais sobre esses assuntos, consulte [Gerenciando dados de séries temporais no Amazon OpenSearch Service com fluxos de dados](data-streams.md).

**Para configurar campos de pesquisa de séries temporais**

1. Na seção **Campos de pesquisa de séries temporais**, escolha **Adicionar campo de série temporal**.

1. Em **Nome do filtro**, insira um nome.

1. Em **Tipo de dados**, escolha um tipo na lista.

1. Escolha **Adicionar campo**

1. Depois de concluir a configuração dos campos opcionais para a coleção, escolha **Avançar**. Revise as alterações e escolha **Enviar** para criar a coleção.

### Configurar campos de pesquisa lexical
<a name="serverless-create-console-step-3-lexical-fields"></a>

A pesquisa lexical busca uma correspondência exata entre uma consulta de pesquisa e os termos ou palavras-chave indexados.

**Para configurar campos de pesquisa lexical**

1. Na seção **Campos de pesquisa lexical**, escolha **Adicionar campo de pesquisa**.

1. Em **Nome do filtro**, insira um nome.

1. Em **Tipo de dados**, escolha um tipo na lista.

1. Escolha **Adicionar campo**

1. Depois de concluir a configuração dos campos opcionais para a coleção, escolha **Avançar**. Revise as alterações e escolha **Enviar** para criar a coleção.

### Configurar campos de pesquisa vetorial
<a name="serverless-create-console-step-3-vector-search-fields"></a>

**Para configurar campos de pesquisa vetorial**

1. Na seção **Campos vetoriais**, escolha **Adicionar campo vetorial**.

1. Em **Nome do filtro**, insira um nome.

1. Em **Mecanismo**, escolha um tipo na lista.

1. Insira o número de dimensões.

1. Em **Métrica de distância**, escolha um tipo na lista.

1. Depois de concluir a configuração dos campos opcionais para a coleção, escolha **Avançar**.

1. Revise as alterações e escolha **Enviar** para criar a coleção.

# Criação de uma coleção (CLI)
<a name="serverless-create-cli"></a>

Use os procedimentos desta seção para criar uma coleção OpenSearch sem servidor usando o. AWS CLI

**Topics**
+ [Antes de começar](#serverless-create-cli-before-you-begin)
+ [Criar uma coleção](#serverless-create-cli-creating)
+ [Criando uma coleção com um índice de enriquecimento semântico automático](#serverless-create-cli-automatic-semantic-enrichment)

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

Antes de criar uma coleção usando o AWS CLI, use o procedimento a seguir para criar as políticas necessárias para a coleção.

**nota**  
Em todos os procedimentos a seguir, quando você especifica um nome para uma coleção, ele deve atender aos seguintes critérios:  
É exclusivo para sua conta e Região da AWS
Contém apenas letras minúsculas a-z, números de 0 a 9 e hífens (-).
Contém de 3 a 32 caracteres

**Para criar as políticas necessárias para uma coleção**

1. Abra AWS CLI e execute o comando a seguir para criar uma [política de criptografia](serverless-encryption.md) com um padrão de recurso que corresponda ao nome pretendido da coleção. 

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

   Por exemplo, se você planeja nomear sua coleção como *logs-application*, é possível criar uma política de criptografia como esta:

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

   Se você planeja usar a política para cobranças adicionais, é possível tornar a regra mais ampla, como `collection/logs*` ou `collection/*`.

1. Execute o comando a seguir para definir as configurações de rede para a coleção usando uma [política de rede](serverless-network.md). É possível criar políticas de rede depois de criar uma coleção, mas recomendamos fazer isso previamente.

   ```
   &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}]"
   ```

   Usando o exemplo anterior de *logs-application*, é possível criar a seguinte política de rede:

   ```
   &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}]"
   ```

## Criar uma coleção
<a name="serverless-create-cli-creating"></a>

O procedimento a seguir usa a ação [CreateCollection](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateCollection.html)da API para criar uma coleção do tipo `SEARCH` ou`TIMESERIES`. Se você não especificar um tipo de coleção na solicitação, ela assumirá o padrão `TIMESERIES`. Para saber mais sobre tipos, consulte [Escolha de um tipo de coleção](serverless-overview.md#serverless-usecase). Para criar uma coleção de *pesquisa vetorial*, consulte[Trabalho com coleções de pesquisa vetorial](serverless-vector-search.md). 

Se sua coleção for criptografada com um Chave pertencente à AWS, o `kmsKeyArn` é `auto` em vez de um ARN.

**Importante**  
Depois de criar uma coleção, você não poderá acessá-la, a menos que ela corresponda a uma política de acesso a dados. Para saber mais, consulte [Controle de acesso a dados para Amazon OpenSearch Serverless](serverless-data-access.md).

**Como criar uma coleção**

1. Verifique se você criou as políticas necessárias descritas em [Antes de começar](#serverless-create-cli-before-you-begin).

1. Execute o comando a seguir. Em `type`, especifique `SEARCH` ou `TIMESERIES`.

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

## Criando uma coleção com um índice de enriquecimento semântico automático
<a name="serverless-create-cli-automatic-semantic-enrichment"></a>

Use o procedimento a seguir para criar uma nova coleção OpenSearch sem servidor com um índice configurado para enriquecimento [semântico automático](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-semantic-enrichment.html). O procedimento usa a ação da [CreateIndex](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateIndex.html)API OpenSearch Serverless.

**Para criar uma nova coleção com um índice configurado para enriquecimento semântico automático**

Execute o comando a seguir para criar uma coleção e um índice.

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

Aqui está um exemplo.

```
&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" 
                }
            }
        }
    }
}'
```

# Acessando OpenSearch painéis
<a name="serverless-dashboards"></a>

Depois de criar uma coleção com o Console de gerenciamento da AWS, você pode navegar até a URL dos OpenSearch painéis da coleção. Você pode encontrar o URL dos Painéis escolhendo **Coleções** no painel de navegação esquerdo e selecionando a coleção para abrir a página de detalhes. O URL assume o formato `https://dashboards.us-east-1.aoss.amazonaws.com/_login/?collectionId=07tjusf2h91cunochc`. Depois de navegar até o URL, você fará login no Dashboards automaticamente.

Se você já tiver o URL dos OpenSearch painéis disponível, mas não estiver no Console de gerenciamento da AWS, chamar o URL dos painéis pelo navegador será redirecionado para o console. Depois de inserir suas AWS credenciais, você fará login automaticamente nos painéis. Para obter informações sobre como acessar coleções para SAML, consulte [Acessando OpenSearch painéis com](serverless-saml.md#serverless-saml-dashboards) SAML.

O tempo limite do console do OpenSearch Dashboards é de uma hora e não é configurável.

**nota**  
Em 10 de maio de 2023, OpenSearch introduziu um endpoint global comum para OpenSearch painéis. Agora você pode navegar até OpenSearch Painéis no navegador com uma URL que assume o formato`https://dashboards.us-east-1.aoss.amazonaws.com/_login/?collectionId=07tjusf2h91cunochc`. Para garantir a compatibilidade com versões anteriores, continuaremos oferecendo suporte aos endpoints de OpenSearch painéis específicos da coleção existente com o formato. `https://07tjusf2h91cunochc.us-east-1.aoss.amazonaws.com/_dashboards`

# Exibição das coleções
<a name="serverless-list"></a>

Você pode visualizar as coleções existentes Conta da AWS na sua guia **Coleções** do console do Amazon OpenSearch Service.

Para listar as coleções junto com as suas IDs, envie uma [ListCollections](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListCollections.html)solicitação.

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

**Exemplo de resposta**

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

Para limitar os resultados da pesquisa, use filtros de coleções. Esta solicitação filtra a resposta para coleções no estado `ACTIVE`: 

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

Para obter informações mais detalhadas sobre uma ou mais coleções, incluindo o OpenSearch endpoint e o endpoint do OpenSearch Dashboards, envie uma solicitação: [BatchGetCollection](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_BatchGetCollection.html)

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

**nota**  
É possível incluir `--names` ou `--ids` na solicitação, mas não os dois.

**Exemplo de resposta**

```
{
   "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":[]
}
```

# Exclusão de coleções
<a name="serverless-delete"></a>

A exclusão de uma coleção exclui todos os dados e índices da coleção. Você não poderá recuperar coleções depois de excluí-las.

**Para excluir uma coleção usando o console**

1. No painel **Coleções** do console do Amazon OpenSearch Service, selecione a coleção que você deseja excluir.

1. Escolha **Excluir** e confirme a exclusão.

Para excluir uma coleção usando o AWS CLI, envie uma [DeleteCollection](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_DeleteCollection.html)solicitação:

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

**Exemplo de resposta**

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

# Trabalho com coleções de pesquisa vetorial
<a name="serverless-vector-search"></a>

O tipo de coleta de *pesquisa vetorial* no OpenSearch Serverless fornece um recurso de pesquisa por similaridade que é escalável e de alto desempenho. Isso facilita a criação de experiências modernas de pesquisa aumentada de machine learning (ML) e aplicativos de inteligência artificial generativa (IA) sem precisar gerenciar a infraestrutura subjacente do banco de dados de vetores. 

Os casos de uso de coleções de pesquisa vetorial incluem pesquisas de imagens, pesquisas de documentos, recuperação de músicas, recomendações de produtos, pesquisas de vídeo, pesquisas baseadas em localização, detecção de fraudes e detecção de anomalias. 

Como o mecanismo vetorial do OpenSearch Serverless é alimentado pelo [recurso de pesquisa k-Nearest Neighbor (k-NN)](https://opensearch.org/docs/latest/search-plugins/knn/index/) OpenSearch, você obtém a mesma funcionalidade com a simplicidade de um ambiente sem servidor. O mecanismo é compatível com a [API do plug-in k-NN](https://opensearch.org/docs/latest/search-plugins/knn/api/). Com essas operações, você pode aproveitar pesquisas em texto completo, filtragem avançada, agregações, consultas geoespaciais, consultas aninhadas para uma recuperação mais rápida dos dados e resultados de pesquisa aprimorados.

O mecanismo vetorial fornece métricas de distância, como distância euclidiana, similaridade de cosseno, similaridade de produtos escalares, e também pode acomodar 16.000 dimensões. Você pode armazenar campos com vários tipos de dados para metadados, como números, booleanos, datas, palavras-chave e pontos geográficos. Também é possível armazenar campos com texto para obter informações descritivas e adicionar mais contexto aos vetores armazenados. A colocalização conjunta dos tipos de dados reduz a complexidade, aumenta a capacidade de manutenção e evita a duplicação de dados, desafios de compatibilidade de versões e problemas de licenciamento. 

**nota**  
Observe as seguintes informações:  
O Amazon OpenSearch Serverless oferece suporte à quantização escalar Faiss de 16 bits, que pode ser usada para realizar conversões entre vetores flutuantes de 32 bits e vetores de 16 bits. Para saber mais, consulte [Quantização escalar de Faiss de 16-bits](https://opensearch.org/docs/latest/search-plugins/knn/knn-vector-quantization/#faiss-16-bit-scalar-quantization). Você também pode usar vetores binários para reduzir os custos de memória. Para saber mais, consulte [Vetores binários](https://opensearch.org/docs/latest/field-types/supported-field-types/knn-vector#binary-vectors).
O Amazon OpenSearch Serverless oferece suporte à pesquisa vetorial baseada em disco. A pesquisa vetorial baseada em disco reduz significativamente os custos operacionais de workloads vetoriais em ambientes com pouca memória. Para saber mais, consulte [Pesquisa vetorial baseada em disco](https://docs.opensearch.org/2.19/vector-search/optimizing-storage/disk-based-vector-search/).

## Conceitos básicos de coleções de pesquisa de vetores
<a name="serverless-vector-tutorial"></a>

Neste tutorial, você conclui as etapas a seguir para armazenar, pesquisar e recuperar incorporações vetoriais em tempo real:

1. [Configurar permissões](#serverless-vector-permissions)

1. [Criar uma coleção](#serverless-vector-create)

1. [Transferir e pesquisar dados](#serverless-vector-index)

1. [Excluir a coleção](#serverless-vector-delete)

### Etapa 1: configurar permissões
<a name="serverless-vector-permissions"></a>

Para concluir este tutorial (e usar o OpenSearch Serverless em geral), você deve ter as permissões corretas AWS Identity and Access Management (IAM). Neste tutorial, você criará uma coleção, carregará e pesquisará dados e, em seguida, excluirá a coleção.

Seu usuário ou função deve ter uma [política baseada em identidade](security-iam-serverless.md#security-iam-serverless-id-based-policies) anexada com as seguintes permissões mínimas:

------
#### [ 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 obter mais informações sobre as permissões do IAM OpenSearch sem servidor, consulte. [Identity and Access Management para Amazon OpenSearch Serverless](security-iam-serverless.md)

### Etapa 2: criar uma coleção
<a name="serverless-vector-create"></a>

Uma *coleção* é um grupo de OpenSearch índices que trabalham juntos para dar suporte a uma carga de trabalho ou caso de uso específico.

**Para criar uma coleção OpenSearch sem servidor**

1. Abra o console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home ).

1. Escolha **Coleções** no painel de navegação à esquerda e escolha **Criar coleção**.

1. Nomeie o **armazenamento** da coleção.

1. Para o tipo de coleção, escolha **Pesquisa vetorial**. Para saber mais, consulte [Escolha de um tipo de coleção](serverless-overview.md#serverless-usecase).

1. Em **Tipo de implantação**, desmarque **Habilitar redundância (réplicas ativas)**. Isso cria uma coleção no modo de desenvolvimento ou teste e reduz o número de unidades de OpenSearch computação (OCUs) em sua coleção para duas. Se quiser criar um ambiente de produção neste tutorial, deixe a caixa de seleção marcada. 

1. Em **Segurança**, selecione **Criação fácil** para simplificar sua configuração de segurança. Por padrão, todos os dados no mecanismo vetorial são criptografados em trânsito e em repouso. O mecanismo vetorial oferece suporte a permissões refinadas do IAM para que você possa definir quem pode criar, atualizar e excluir criptografias, redes, coleções e índices.

1. Escolha **Próximo**.

1. Reveja suas configurações da coleção e escolha **Enviar**. Aguarde alguns minutos até que o status da coleção mude para `Active`.

### Etapa 3: Transferir e pesquisar dados
<a name="serverless-vector-index"></a>

Um *índice* é uma coleção de documentos com um esquema de dados comum que fornece uma maneira de armazenar, pesquisar e recuperar suas incorporações vetoriais e outros campos. [https://www.postman.com/downloads/](https://www.postman.com/downloads/) Este tutorial usa o Dev Tools.

**Para indexar e pesquisar dados na coleção habitacional**

1. Para criar um único índice para a nova coleção, envie a solicitação a seguir no console do [Dev Tools](https://opensearch.org/docs/latest/dashboards/dev-tools/index-dev/). Por padrão, isso cria um índice com um `nmslib` mecanismo e uma distância 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 um único documento em *housing-index*, envie a seguinte solicitação:

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

1. Para pesquisar propriedades semelhantes às do seu índice, envie a seguinte consulta:

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

### Etapa 4: Excluir a coleção
<a name="serverless-vector-delete"></a>

Como a coleção *habitação* é usada apenas para fins de teste, você deverá excluí-la quando terminar os testes.

**Para excluir uma coleção OpenSearch sem servidor**

1. Volte para o console do **Amazon OpenSearch Service**.

1. Escolha **Coleções** no painel de navegação à esquerda e selecione a coleção **propriedades**.

1. Selecione **Excluir** para confirmar a exclusão.

## Pesquisa com filtro
<a name="serverless-vector-filter"></a>

Você pode usar filtros para refinar os resultados da pesquisa semântica. Para criar um índice e realizar uma pesquisa com filtro nos seus documentos, substitua [Carregar e pesquisar dados](#serverless-vector-index) no tutorial anterior pelas instruções a seguir. As outras etapas permanecem as mesmas. Para saber mais sobre os filtros, consulte [pesquisa k-NN com filtros](https://opensearch.org/docs/latest/search-plugins/knn/filter-search-knn/).

**Para indexar e pesquisar dados na coleção habitacional**

1. Para criar um único índice para a coleção, envie a seguinte solicitação no console do [Dev Tools](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 um único documento em *housing-index-filtered*, envie a seguinte solicitação:

   ```
   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 pesquisar seus dados em busca de um apartamento em Seattle por um preço específico e dentro de uma determinada distância de um ponto geográfico, envie a seguinte solicitação:

   ```
   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
                     }
                   }
                 }
               ]
             }
           }
         }
       }
     }
   }
   ```

## Workloads em escala de bilhões
<a name="serverless-vector-billion"></a>

Coleções de pesquisa vetorial oferecem suporte a workloads com bilhões de vetores. Você não precisa reindexar para fins de ajuste de escala, pois o ajuste de escala automático faz isso por você. Se você tiver milhões de vetores (ou mais) com um grande número de dimensões e precisar de mais de 200 OCUs, entre em contato com o [AWS Support](https://aws.amazon.com/premiumsupport/) para aumentar o número máximo de unidades OpenSearch computacionais (OCUs) para sua conta. 

## Limitações
<a name="serverless-vector-limitations"></a>

As coleções de pesquisa vetorial têm as seguintes limitações:
+ As coleções de pesquisa vetorial não são compatíveis com o mecanismo Apache Lucene ANN.
+ As coleções de pesquisa vetorial são compatíveis apenas com o algoritmo HNSW com Faiss e não são compatíveis com FIV e IVFQ.
+ As coleções de pesquisa vetorial não são compatíveis com as operações de API de aquecimento, estatísticas e treinamento de modelo.
+ As coleções de pesquisa vetorial não oferecem suporte a scripts embutidos ou armazenados.
+ As informações de contagem de índices não estão disponíveis nas coleções Console de gerenciamento da AWS de pesquisa vetorial. 
+ O intervalo de atualização dos índices nas coleções de pesquisa vetorial é de 60 segundos.

## Próximas etapas
<a name="serverless-vector-next"></a>

Agora que você sabe como criar uma coleção de pesquisa vetorial e indexar os dados, talvez você queira testar alguns dos seguintes exercícios:
+ Use o cliente OpenSearch Python para trabalhar com coleções de pesquisa vetorial. Veja este tutorial em [GitHub](https://github.com/opensearch-project/opensearch-py/blob/main/guides/plugins/knn.md). 
+ Use o cliente OpenSearch Java para trabalhar com coleções de pesquisa vetorial. Veja este tutorial em [GitHub](https://github.com/opensearch-project/opensearch-java/blob/main/guides/plugins/knn.md). 
+ Configure LangChain para usar OpenSearch como um repositório de vetores. LangChain é uma estrutura de código aberto para o desenvolvimento de aplicativos alimentados por modelos de linguagem. Para obter mais informações, consulte a [documentação do LangChain ](https://python.langchain.com/docs/integrations/vectorstores/opensearch).

# Usando políticas de ciclo de vida de dados com o Amazon Serverless OpenSearch
<a name="serverless-lifecycle"></a>

Uma política de ciclo de vida de dados no Amazon OpenSearch Serverless define por quanto tempo o OpenSearch Serverless retém os dados em uma coleção de séries temporais. Por exemplo, você pode definir uma política para reter dados de log por 30 dias antes que o OpenSearch Serverless os exclua.

Você pode configurar uma política separada para cada índice em cada coleção de séries temporais em seu Conta da AWS. OpenSearch O Serverless retém os documentos pelo menos pela duração especificada na política. Depois os exclui automaticamente assim que possível, normalmente dentro de 48 horas ou 10% do período de retenção, o que for maior.

Somente coleções de séries temporais oferecem suporte às políticas de ciclo de vida dos dados. As coleções de pesquisa e pesquisa vetorial não são.

**Topics**
+ [Políticas de ciclo de vida de dados](#serverless-lifecycle-policies)
+ [Permissões obrigatórias](#serverless-lifecycle-permissions)
+ [Precedência das políticas](#serverless-lifecycle-precedence)
+ [Sintaxe da política](#serverless-lifecycle-syntax)
+ [Criar políticas de ciclo de vida de dados](#serverless-lifecycle-create)
+ [Atualização de políticas de ciclo de vida de dados](#serverless-lifecycle-update)
+ [Como excluir políticas de ciclo de vida dos dados](#serverless-lifecycle-delete)

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

Em uma política de ciclo de vida dos dados, você especifica uma série de regras. A política de ciclo de vida de dados permite gerenciar o período de retenção de dados associados a índices ou coleções que correspondam a essas regras. Essas regras definem o período de retenção dos dados em um índice ou grupo de índices. Cada regra consiste em um tipo de recurso (`index`), um período de retenção e uma lista de recursos (índices) aos quais o período de retenção se aplica.

Você define o período de retenção com um dos seguintes formatos:
+ `"MinIndexRetention": "24h"`— O OpenSearch Serverless retém os dados do índice do período especificado em horas ou dias. Você pode definir esse período para `24h` a `3650d`.
+ `"NoMinIndexRetention": true`— O OpenSearch Serverless retém os dados do índice indefinidamente.

No exemplo de política a seguir, a primeira regra especifica um período de retenção de 15 dias para todos os índices da coleção `marketing`. A segunda regra especifica que todos os nomes de índice que começam com `log` na coleção `finance` não têm período de retenção definido e serão mantidos 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
   }
}
```

No exemplo de regra de política a seguir, o OpenSearch Serverless retém indefinidamente os dados em todos os índices de todas as coleções da conta.

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

## Permissões obrigatórias
<a name="serverless-lifecycle-permissions"></a>

As políticas de ciclo de vida do OpenSearch Serverless usam as seguintes permissões AWS Identity and Access Management (IAM). Você pode especificar as condições do IAM para restringir os usuários a políticas de ciclo de vida dos dados associadas a coleções e índices específicos.
+ `aoss:CreateLifecyclePolicy` – criar uma política de ciclo de vida dos dados.
+ `aoss:ListLifecyclePolicies` – listar todas as políticas de ciclo de vida dos dados na conta atual.
+ `aoss:BatchGetLifecyclePolicy`: visualize uma política de ciclo de vida de dados associada a um nome de conta ou política.
+ `aoss:BatchGetEffectiveLifecyclePolicy`: visualize uma política de ciclo de vida de dados para um determinado recurso (`index` é o único recurso compatível).
+ `aoss:UpdateLifecyclePolicy`: modifique uma determinada política de ciclo de vida de dados e altere sua configuração ou recurso de retenção.
+ `aoss:DeleteLifecyclePolicy` – excluir uma política de ciclo de vida dos dados.

A política de acesso baseada em identidade a seguir permite que um usuário exiba todas as políticas de ciclo de vida dos dados e atualize as políticas com o padrão 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": "*"
        }
    ]
}
```

------

## Precedência das políticas
<a name="serverless-lifecycle-precedence"></a>

Pode haver situações em que as regras das políticas de ciclo de vida se sobreponham, dentro ou entre as políticas. Quando isso acontece, uma regra com um nome de recurso ou padrão mais específico para um índice substitui uma regra com um nome de recurso ou padrão mais geral para qualquer índice que seja comum às *duas* regras.

Por exemplo, na política a seguir, duas regras se aplicam a um índice `index/sales/logstash`. Nessa situação, a segunda regra tem precedência porque `index/sales/log*` é a correspondência mais longa para `index/sales/logstash`. Portanto, o OpenSearch Serverless não define um período de retenção para o índice.

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

## Sintaxe da política
<a name="serverless-lifecycle-syntax"></a>

Forneça uma ou mais *regras*. Essas regras definem as configurações do ciclo de vida dos dados para seus índices sem OpenSearch servidor.

Cada regra contém os seguintes elementos: Você pode fornecer `MinIndexRetention` ou `NoMinIndexRetention` em cada regra, mas não em ambas. 


| Elemento | Description | 
| --- | --- | 
| Tipo de atributo | O tipo de recurso ao qual a regra se aplica. A única opção compatível com políticas de ciclo de vida de dados é index | 
| Recurso | Uma lista de and/or padrões de nomes de recursos. Padrões consistem em um prefixo e um curinga (\$1), que permitem que as permissões associadas sejam aplicadas a vários recursos. Por exemplo, .index/<collection-name\$1pattern>/<index-name\$1pattern> | 
| MinIndexRetention | O período limitado, em dias (d) ou horas (h), para reter o documento no índice. O limite mínimo é 24h e o máximo é3650d. | 
| NoMinIndexRetention | Setrue, o OpenSearch Serverless retém documentos indefinidamente. | 

No exemplo a seguir, a primeira regra se aplica a todos os índices do padrão `autoparts-inventory` (`index/autoparts-inventory/*`) e exige que os dados sejam retidos por pelo menos 20 dias antes que qualquer ação, como exclusão ou arquivamento, possa ocorrer. 

A segunda regra visa os índices que correspondem ao padrão `auto*/gear` (`index/auto*/gear`), definindo um período mínimo de retenção de 24 horas.

A terceira regra se aplica especificamente ao índice `tires` e não tem período mínimo de retenção, o que significa que os dados desse índice podem ser excluídos ou arquivados imediatamente ou com base em outros critérios. Essas regras ajudam a gerenciar a retenção de dados de índices com tempos de retenção variáveis ou sem restrições de retenção.

```
{
  "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
    }
  ]
}
```

## Criar políticas de ciclo de vida de dados
<a name="serverless-lifecycle-create"></a>

Para criar uma política de ciclo de vida de dados, você define regras que gerenciam a retenção e a exclusão dos dados com base nos critérios especificados. 

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

**Para criar uma política de ciclo de vida de dados**

1. Faça login no console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. No painel de navegação à esquerda, escolha **Políticas de ciclo de vida de dados**.

1. Escolha **Criar uma política de ciclo de vida de dados**.

1. Insira um nome descritivo para a política.

1. Em **Ciclo de vida dos dados**, escolha **Adicionar** e selecione as coleções e os índices para a política. 

   Comece escolhendo as coleções às quais os índices pertencem. Em seguida, escolha o índice na lista ou insira um padrão de índice. Para selecionar todas as coleções como origens, insira um asterisco (`*`).

1. Para **retenção de dados**, você pode optar por reter os dados indefinidamente ou desmarcar **Ilimitado (nunca excluir)** e especificar um período após o qual o OpenSearch Serverless excluirá automaticamente os dados do Amazon S3.

1. Escolha **Salvar** e **Criar**.

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

Para criar uma política de ciclo de vida de dados usando o AWS CLI, use o [create-lifecycle-policy](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/create-lifecycle-policy.html)comando com as seguintes opções:
+ `--name`: o nome da política.
+ `--type`: o tipo de política. Atualmente, o único valor disponível é `retention`.
+ `--policy`: a política de ciclo de vida de dados. Esse parâmetro aceita tanto políticas em linha quanto arquivos .json. As políticas em linha devem ser codificadas como uma string JSON com escape. Para fornecer a política em um arquivo, use o 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}]}"
```

## Atualização de políticas de ciclo de vida de dados
<a name="serverless-lifecycle-update"></a>

Para atualizar uma política de ciclo de vida de dados, você pode modificar as regras existentes para refletir as alterações nos requisitos de retenção ou exclusão de dados. Isso permite que você adapte suas políticas à medida que suas necessidades de gerenciamento de dados evoluem.

Pode haver alguns minutos de intervalo entre o momento em que você atualiza a política e o momento em que o OpenSearch Serverless começa a aplicar os novos períodos de retenção.

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

**Para atualizar uma política de ciclo de vida de dados**

1. Faça login no console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. No painel de navegação à esquerda, escolha **Políticas de ciclo de vida de dados**.

1. Selecione a política de ciclo de vida de dados que você deseja atualizar e escolha **Editar**.

1. Modifique a política usando o editor visual ou o editor JSON.

1. Escolha **Salvar**.

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

Para atualizar uma política de ciclo de vida de dados usando o AWS CLI, use o [update-lifecycle-policy](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/update-lifecycle-policy.html)comando. 

Você deve incluir o parâmetro `--policy-version` na solicitação. É possível recuperar a versão da política usando os comandos [list-lifecycle-policies](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/list-lifecycle-policies.html) ou [batch-get-lifecycle-policy](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/batch-get-lifecycle-policy.html). Recomendamos incluir a versão mais recente da política para evitar a substituição acidental das alterações feitas por outras pessoas.

A solicitação a seguir atualiza uma política de ciclo de vida de dados com um novo documento de política JSON.

**Example**  

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

## Como excluir políticas de ciclo de vida dos dados
<a name="serverless-lifecycle-delete"></a>

Quando você exclui uma política de ciclo de vida de dados, o OpenSearch Serverless não a aplica mais em nenhum índice correspondente.

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

**Para excluir uma política de ciclo de vida de dados**

1. Faça login no console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. No painel de navegação à esquerda, escolha **Políticas de ciclo de vida de dados**.

1. Selecione a política que você deseja excluir e depois **Excluir**.

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

Para excluir uma política de ciclo de vida de dados usando o AWS CLI, use o [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
```

# Usando o AWS SDKs para interagir com o Amazon OpenSearch Serverless
<a name="serverless-sdk"></a>

Esta seção inclui exemplos de como usar o AWS SDKs para interagir com o Amazon OpenSearch Serverless. Esses exemplos de códigos mostram como criar políticas e coleções de segurança, e como consultar coleções.

**nota**  
No momento, estamos criando esses exemplos de código. Se você quiser contribuir com uma amostra de código (Java, Go etc.), abra uma pull request diretamente no [GitHub repositório](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>

O script de exemplo a seguir usa o [AWS SDK para Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/opensearchserverless.html), assim como o cliente [opensearch-py](https://pypi.org/project/opensearch-py/) para Python, para criar políticas de criptografia, rede e acesso a dados, criar uma coleção correspondente e indexar alguns dados de exemplo.

Execute os comandos a seguir para instalar as dependências necessárias:

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

No script, é necessário substituir o elemento `Principal` pelo o nome do recurso da Amazon (ARN) do usuário ou da função do usuário que está assinando a solicitação. Você também pode, opcionalmente, modificar a `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>

O script de exemplo a seguir usa o [SDK para JavaScript em Node.js](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-opensearchserverless/), bem como o cliente [opensearch-js](https://www.npmjs.com/package/@opensearch-project/opensearch) para JavaScript, criar políticas de criptografia, rede e acesso a dados, criar uma coleção correspondente, criar um índice e indexar alguns dados de amostra.

Execute os comandos a seguir para instalar as dependências necessárias:

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

No script, é necessário substituir o elemento `Principal` pelo o nome do recurso da Amazon (ARN) do usuário ou da função do usuário que está assinando a solicitação. Você também pode, opcionalmente, modificar a `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()
```

# Usando CloudFormation para criar coleções Amazon OpenSearch Serverless
<a name="serverless-cfn"></a>

Você pode usar CloudFormation para criar recursos Amazon OpenSearch Serverless, como coleções, políticas de segurança e VPC endpoints. *Para obter uma CloudFormation referência abrangente sobre OpenSearch Serverless, consulte [Amazon OpenSearch Serverless](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_OpenSearchServerless.html) no Guia do usuário.CloudFormation *

O CloudFormation modelo de exemplo a seguir cria uma política simples de acesso a dados, uma política de rede e uma política de segurança, bem como uma coleção correspondente. É uma boa maneira de começar a trabalhar rapidamente com o Amazon OpenSearch Serverless e provisionar os elementos necessários para criar e usar uma coleção.

**Importante**  
Este exemplo usa o acesso à rede pública, o que não é recomendado para workloads de produção. Recomendamos usar o acesso à VPC para proteger as coleções. Para obter mais informações, consulte [AWS::OpenSearchServerless::VpcEndpoint](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html) e [Acesso ao plano de dados por meio 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
```

# Fazer backup de coleções usando snapshots
<a name="serverless-snapshots"></a>

Snapshots são point-in-time backups de suas coleções Amazon OpenSearch Serverless que fornecem recursos de recuperação de desastres. OpenSearch O Serverless cria e gerencia automaticamente instantâneos de suas coleções, garantindo a continuidade dos negócios e a proteção dos dados. Cada snapshot contém metadados de índice (configurações e mapeamentos para seus índices), metadados de cluster (modelos de índice e aliases) e dados de índice (todos os documentos e dados armazenados em seus índices).

OpenSearch O Serverless fornece backups automáticos de hora em hora, sem configuração manual, sem sobrecarga de manutenção, sem custos adicionais de armazenamento, recuperação rápida da perda acidental de dados e a capacidade de restaurar índices específicos a partir de um instantâneo.

Antes de trabalhar com instantâneos, entenda essas considerações importantes. A criação de um instantâneo leva tempo para ser concluída e não é instantânea. Novos documentos ou atualizações durante a criação do instantâneo não serão incluídos no instantâneo. Você só pode restaurar os snapshots para a sua coleção original, não para uma nova coleção. Quando restaurados, os índices recebem novos UUIDs que diferem de suas versões originais. A restauração de um índice aberto existente no OpenSearch Serverless substituirá os dados desse índice, desde que um novo nome de índice ou um padrão de prefixo não seja fornecido. Isso difere do comportamento principal. OpenSearch Você pode executar somente uma operação de restauração por vez e não pode iniciar várias operações de restauração na mesma coleção simultaneamente. A tentativa de restaurar índices durante uma operação de restauração ativa faz com que a operação falhe. Durante uma operação de restauração, suas solicitações aos índices falham.

## Permissões obrigatórias
<a name="serverless-snapshots-permissions"></a>

Para trabalhar com snapshots, configure as seguintes permissões em sua política de acesso a dados. Para saber mais sobre políticas de acesso a dados, consulte [Políticas de acesso a dados versus políticas do IAM](serverless-data-access.md#serverless-data-access-vs-iam).


****  

| Política de acesso a dados | APIs | 
| --- | --- | 
| perda: DescribeSnapshot | GET /\$1 cat/snapshots/aoss -automatizadoOBTENHA \$1snapshot/aoss-automated/snapshot/ | 
| perda: RestoreSnapshot | POST /\$1 /\$1restaurar snapshot/aoss-automated/snapshot | 
| perda: DescribeCollectionItems | GET /\$1cat/recovery | 

Você pode configurar políticas usando os seguintes 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)

Aqui está um exemplo de comando da CLI para criar uma política de acesso. No comando, substitua o *example* conteúdo por suas informações específicas.

```
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."
  }
]'
```

## Trabalhar com snapshots
<a name="serverless-snapshots-working-with"></a>

Por padrão, quando você cria uma nova coleção, o OpenSearch Serverless cria automaticamente instantâneos a cada hora. Medida a ser tomada Cada instantâneo inclui todos os índices da coleção. Depois que o OpenSearch Serverless criar instantâneos, você poderá listá-los e revisar os detalhes do instantâneo usando os procedimentos a seguir.

### Listar instantâneos
<a name="serverless-snapshots-listing"></a>

Use os procedimentos a seguir para listar todos os instantâneos em uma coleção e revisar seus detalhes.

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

1. Abra o console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. **No painel de navegação esquerdo, escolha **Sem servidor** e, em seguida, selecione Coleções.**

1. Escolha o nome da sua coleção para abrir a página de detalhes.

1. Escolha a guia **Instantâneos** para exibir todos os instantâneos gerados.

1. Analise as informações do snapshot, incluindo:
   + **ID do instantâneo** - identificador exclusivo do instantâneo
   + **Status** - Estado atual (disponível, em andamento)
   + **Hora de criação** - Quando o instantâneo foi tirado

------
#### [ AWS CLI ]
+ Use o comando a seguir para listar todos os instantâneos em uma coleção:

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

  OpenSearch O Serverless retorna uma resposta como a seguinte:

  ```
  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
  ```

------

### Obtenha detalhes do instantâneo
<a name="serverless-snapshots-get-details"></a>

Use os procedimentos a seguir para recuperar informações detalhadas sobre um instantâneo específico.

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

1. Abra o console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. **No painel de navegação esquerdo, escolha **Sem servidor** e, em seguida, selecione Coleções.**

1. Escolha o nome da sua coleção para abrir a página de detalhes.

1. Escolha a guia **Snapshots**.

1. Escolha o ID do trabalho de snapshot para exibir informações detalhadas sobre o snapshot, incluindo metadados, índices incluídos e informações de tempo.

------
#### [ AWS CLI ]
+ Use o comando a seguir para recuperar informações sobre um instantâneo. No comando, substitua o *example* conteúdo por suas informações específicas.

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

  Exemplo de solicitação:

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

  Exemplo de resposta:

  ```
  {
      "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
              }
          }
      ]
  }
  ```

------

A resposta do instantâneo inclui vários campos principais: `id` fornece um identificador exclusivo para a operação do instantâneo, `status` retorna o estado atual `SUCCESS` ou `IN_PROGRESS` `duration` indica o tempo gasto para concluir a operação do instantâneo e `indexes` retorna o número de índices incluídos no instantâneo.

## Restauração a partir de um snapshot
<a name="serverless-snapshots-restoring"></a>

A restauração a partir de um instantâneo recupera dados de um backup feito anteriormente. Esse processo é crucial para recuperação de desastres e gerenciamento de dados no OpenSearch Serverless. Antes de restaurar, entenda que os índices restaurados serão diferentes UUIDs de suas versões originais. A restauração em um índice aberto existente no OpenSearch Serverless substituirá os dados desse índice, desde que um novo nome de índice ou um padrão de prefixo não seja fornecido, os instantâneos só poderão ser restaurados em sua coleção original (a restauração entre coleções não é suportada) e as operações de restauração afetarão o desempenho do cluster, portanto, planeje adequadamente.

Use os procedimentos a seguir para restaurar índices de backup a partir de um snapshot.

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

1. Abra o console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. **No painel de navegação esquerdo, escolha **Sem servidor** e, em seguida, selecione Coleções.**

1. Escolha o nome da sua coleção para abrir a página de detalhes.

1. Escolha a guia **Instantâneos** para exibir os instantâneos disponíveis.

1. Escolha o instantâneo do qual você deseja restaurar e, em seguida, escolha **Restaurar do instantâneo**.

1. Na caixa de diálogo **Restaurar a partir do instantâneo**:
   + Em **Nome do instantâneo**, verifique o ID do instantâneo selecionado.
   + Para **Escopo do Snapshot**, escolha uma das seguintes opções:
     + **Todos os índices na coleção** - Restaure todos os índices do instantâneo
     + **Índices específicos** - Selecione índices individuais para restaurar
   + Em **Destino**, escolha a coleção para a qual restaurar.
   + (Opcional) Defina as **configurações de renomeação** para renomear os índices restaurados:
     + **Não renomeie** - mantenha os nomes dos índices originais
     + **Adicionar prefixo aos nomes de índices restaurados** - Adicione um prefixo para evitar conflitos
     + **Renomear usando expressão regular** - Use padrões avançados de renomeação
   + (Opcional) Defina as configurações de **notificação** para ser notificado quando a restauração for concluída ou encontrar erros.

1. Escolha **Salvar** para iniciar a operação de restauração.

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

1. Execute o comando a seguir para identificar o snapshot apropriado.

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

   Para obter uma lista menor de snapshots, execute o comando a seguir.

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

1. Execute o comando a seguir para verificar os detalhes do snapshot antes de restaurar. No comando, substitua o *example* conteúdo por suas informações específicas.

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

1. Execute o comando a seguir para restaurar a partir de um snapshot específico.

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

   Você pode personalizar a operação de restauração incluindo um corpo de solicitação. Aqui está um exemplo.

   ```
   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. Execute o seguinte comando para visualizar o progresso da restauração.

   ```
   GET /_cat/recovery
   ```

------

**nota**  
Ao restaurar um instantâneo com um comando que inclui um corpo de solicitação, você pode usar vários parâmetros para controlar o comportamento da restauração. O `indices` parâmetro especifica quais índices devem ser restaurados e oferece suporte a padrões curinga. `ignore_unavailable`Defina para continuar a operação de restauração mesmo que um índice no snapshot esteja ausente. Use `include_global_state` para determinar se o estado do cluster deve ser restaurado e `include_aliases` para controlar se os aliases associados devem ser restaurados. Os `rename_replacement` parâmetros `rename_pattern` e renomeiam os índices durante a operação de restauração.

# Suporte ao codec Zstandard no Amazon Serverless OpenSearch
<a name="serverless-zstd-compression"></a>

Os codecs de índice determinam como os campos armazenados de um índice são compactados e armazenados no disco e no S3. O codec de índice é controlado pela `index.codec` configuração estática que especifica o algoritmo de compactação. Essa configuração afeta o tamanho do fragmento de índice e o desempenho da operação do índice.

Por padrão, os índices no OpenSearch Serverless usam o codec padrão com o algoritmo de compactação. LZ4 OpenSearch O Serverless também oferece suporte `zstd` e `zstd_no_dict` codecs com níveis de compressão configuráveis de 1 a 6.

**Importante**  
Como `index.codec` é uma configuração estática, ela não pode ser alterada após a criação do índice.

Para obter mais detalhes, consulte a documentação do [OpenSearch Index Codecs.](https://opensearch.org/docs/latest/im-plugin/index-codecs/)

## Criando um índice com o codec ZSTD
<a name="serverless-zstd-create-index"></a>

Você pode especificar o codec ZSTD durante a criação do índice usando a configuração: `index.codec`

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

## Níveis de compressão
<a name="serverless-zstd-compression-levels"></a>

Os codecs ZSTD suportam níveis de compressão opcionais por meio da `index.codec.compression_level` configuração, aceitando números inteiros no intervalo [1, 6]. Níveis de compressão mais altos resultam em melhores taxas de compressão (menor armazenamento), mas em velocidades de compressão e descompressão mais lentas. O nível de compactação padrão é 3.

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

## Avaliação comparativa de desempenho
<a name="serverless-zstd-performance"></a>

Com base em testes de benchmark com o conjunto de dados nyc\$1taxi, a compressão ZSTD alcançou uma compressão 26-32% melhor em comparação com a linha de base em diferentes combinações de, e níveis de compressão. `zstd` `zstd_no_dict`


| Métrica | STD L1 | STD L6 | STD\$1NO\$1DICT L1 | STD\$1NO\$1DICT L6 | 
| --- | --- | --- | --- | --- | 
| Redução do tamanho do índice | 28,10% | 32% | 26,90% | 28,70% | 
| Alteração da taxa de transferência de indexação | -0,50% | -23,80% | -0,50% | -5,30% | 
| Melhoria da latência do Match-all Query p90 | -16,40% | 29,50% | -16,40% | 23,40% | 
| Melhoria da latência do Range Query p90 | 90,90% | 92,40% | -282,90% | 92,50% | 
| Quantidade de distância p90 Agg (melhoria da latência) | 2% | 24,70% | 2% | 13,80% | 

Para obter mais detalhes, consulte o [AWS OpenSearch blog](https://aws.amazon.com/blogs/big-data/optimize-storage-costs-in-amazon-opensearch-service-using-zstandard-compression/).

# Economize armazenamento usando a fonte derivada
<a name="serverless-derived-source"></a>

Por padrão, o OpenSearch Serverless armazena cada documento ingerido no `_source` campo, que contém o corpo do documento JSON original e indexa campos individuais para pesquisa. Embora o `_source` campo não seja pesquisável, ele é mantido para que o documento completo possa ser retornado ao executar solicitações de busca, como get e search. Quando a fonte derivada é ativada, o OpenSearch Serverless ignora o armazenamento do `_source` campo e, em vez disso, o reconstrói dinamicamente sob demanda — por exemplo, durante operações de pesquisa, obtenção, mget, reindexação ou atualização. Usar a configuração de origem derivada pode reduzir o uso do armazenamento em até 50%.

## Configuração
<a name="serverless-derived-source-config"></a>

Para configurar a fonte derivada para seu índice, crie o índice usando a `index.derived_source.enabled` configuração:

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

## Considerações importantes
<a name="serverless-derived-source-considerations"></a>
+ Somente determinados tipos de campo são suportados. Para obter uma lista dos campos e limitações compatíveis, consulte a [OpenSearch documentação](https://docs.opensearch.org/latest/mappings/metadata-fields/source/#supported-fields-and-parameters). Se você criar um índice com fonte derivada e um campo sem suporte, a criação do índice falhará. Se você tentar ingerir um documento com um campo não suportado em um índice derivado ativado pela fonte, a ingestão falhará. Use esse recurso somente quando estiver ciente dos tipos de campo que serão adicionados ao seu índice.
+ A configuração `index.derived_source.enabled` é estática. Isso não pode ser alterado após a criação do índice.

## Limitações nas respostas de consulta
<a name="serverless-derived-source-limitations"></a>

Quando a fonte derivada está ativada, ela impõe certas limitações sobre como as respostas da consulta são geradas e retornadas.
+ Os campos de data com vários formatos especificados sempre usam o primeiro formato na lista para todos os documentos solicitados, independentemente do formato original ingerido.
+ Os valores dos pontos geográficos são retornados em um `{"lat": lat_val, "lon": lon_val}` formato fixo e podem perder alguma precisão.
+ As matrizes de vários valores podem ser classificadas e os campos de palavras-chave podem ser desduplicados.

Para obter mais detalhes, consulte o [OpenSearch blog](https://opensearch.org/blog/save-up-to-2x-on-storage-with-derived-source/).

## Avaliação comparativa de desempenho
<a name="serverless-derived-source-performance"></a>

Com base em testes de benchmark com o conjunto de dados nyc\$1taxi, a fonte derivada alcançou uma redução de 58% no tamanho do índice em comparação com a linha de base.


| Métrica | Fonte derivada | 
| --- | --- | 
| Redução do tamanho do índice | 58,3% | 
| Alteração da taxa de transferência de indexação | 3,7% | 
| Indexando a alteração da latência p90 | 6,9% | 
| Melhoria da latência do Match-all Query p90 | 19% | 
| Melhoria da latência do Range Query p90 | -18,8% | 
| Quantidade de distância p90 Agg (melhoria da latência) | -7,3% | 

Para obter mais detalhes, consulte o [OpenSearch blog](https://opensearch.org/blog/save-up-to-2x-on-storage-with-derived-source/).

# Grupos de OpenSearch coleção Amazon Serverless
<a name="serverless-collection-groups"></a>

*Os grupos de coleção* no Amazon OpenSearch Serverless organizam várias coleções e permitem o compartilhamento de recursos computacionais entre coleções com chaves KMS diferentes. Esse modelo de computação compartilhada reduz os custos ao eliminar a necessidade de unidades de OpenSearch processamento separadas (OCUs) para cada chave KMS.

Cada coleção OpenSearch Serverless que você cria é protegida com criptografia de dados em repouso, usada AWS KMS para armazenar e gerenciar suas chaves de criptografia. Coleções dentro do mesmo grupo de coleções compartilham recursos computacionais e espaço de memória da OCU, mesmo quando usam chaves KMS diferentes para criptografia.

Os grupos de coleta fornecem isolamento para os requisitos de segurança e desempenho. Você pode agrupar coleções com a mesma chave KMS em um único grupo de coleta para isolamento de segurança ou combinar coleções com chaves KMS diferentes no mesmo grupo para otimização de custos. Essa flexibilidade permite equilibrar os requisitos de segurança com a eficiência dos recursos.

Quando você adiciona uma coleção a um grupo de coleções, o OpenSearch Serverless a atribui aos recursos computacionais compartilhados do grupo. O sistema gerencia automaticamente a distribuição das cargas de trabalho entre esses recursos, mantendo a segurança criptografando os dados de cada coleção com a chave KMS designada. Os controles de acesso continuam sendo aplicados no nível da coleção, e os recursos computacionais compartilhados acessam várias chaves do KMS conforme necessário para servir às coleções no grupo.

Você controla a alocação de recursos definindo limites mínimos e máximos de OCU no nível do grupo de coleta. Esses limites se aplicam a todas as coleções do grupo e ajudam você a gerenciar custos e, ao mesmo tempo, garantir um desempenho consistente.

Por padrão, há uma cota de serviço (limite) para o número de coleções em um grupo de coleções, o número de índices em uma coleção e o número de OCUs em um grupo de coleções. Para obter mais informações, consulte Cotas [OpenSearch sem servidor](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-limits-serverless).

## Principais conceitos
<a name="collection-groups-concepts"></a>

Grupo de coleção  
Um AWS recurso que atua como um contêiner para uma ou mais coleções. Cada grupo de coleta tem um identificador exclusivo e pode ter seus próprios limites de capacidade e configurações.

Computação compartilhada  
Coleções dentro do mesmo grupo de coleções compartilham o mesmo conjunto de OCUs, independentemente das chaves KMS que elas usam. Esse compartilhamento reduz os custos ao eliminar a necessidade de recursos computacionais separados para cada chave KMS.

Limites de capacidade  
Você pode definir limites mínimos e máximos de OCU para operações de indexação e pesquisa no nível do grupo de coleta. Esses limites ajudam a controlar os custos e garantir um desempenho consistente.

# Limites de capacidade do grupo de coleta
<a name="collection-groups-capacity-limits"></a>

Os grupos de coleta fornecem controle granular sobre a alocação de recursos por meio dos limites mínimo e máximo da OCU. Esses limites se aplicam a todas as coleções dentro do grupo e operam independentemente das configurações de capacidade no nível da conta.

Por padrão, há uma cota de serviço (limite) para o número de coleções em um grupo de coleções, o número de índices em uma coleção e o número de OCUs em um grupo de coleções. Para obter mais informações, consulte Cotas [OpenSearch sem servidor](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-limits-serverless).

## Entendendo os limites de capacidade do grupo de coleta
<a name="collection-groups-capacity-overview"></a>

Você pode configurar limites mínimos e máximos de OCU para operações de indexação e pesquisa no nível do grupo de coleta. Esses limites controlam como o OpenSearch Serverless dimensiona os recursos para coleções no grupo:
+ **OCU mínima** — O número mínimo OCUs que o OpenSearch Serverless mantém para o grupo de coleta, garantindo um desempenho de linha de base consistente.
  + Se a carga de trabalho exigir menos OCUs do que o valor mínimo especificado, o OpenSearch Serverless ainda manteria o valor mínimo especificado de OCUs e o faturamento refletiria o mesmo.
  + Se a carga de trabalho exigir um número maior de OCUs do que o valor mínimo especificado, o OpenSearch Serverless manteria o nível de OCUs necessário para a carga de trabalho e o faturamento refletiria a maior utilização da OCU.
+ **OCU máxima** — O número máximo OCUs desse OpenSearch Serverless pode ser expandido para o grupo de coleta, ajudando você a controlar os custos.

Os limites de capacidade do grupo de coleta são dissociados dos limites no nível da conta. As configurações máximas de OCU no nível da conta se aplicam somente às coleções não associadas a nenhum grupo de coleta, enquanto as configurações máximas de OCU do grupo de coleta se aplicam às coleções dentro desse grupo específico.

## Valores-limite de capacidade válidos
<a name="collection-groups-capacity-values"></a>

Ao definir limites mínimos e máximos de OCU para um grupo de coleta, você só pode usar valores do seguinte conjunto: 1, 2, 4, 8, 16 e múltiplos de 16 (como 32, 48, 64, 80, 96) até um máximo de 1.696. OCUs

Os limites mínimo e máximo de OCU são opcionais quando você cria um grupo de coleta. Se você não especificar um limite máximo de OCU, o OpenSearch Serverless usará um valor padrão de 96. OCUs

O limite mínimo da OCU deve ser menor ou igual ao limite máximo da OCU.

## Entendendo a relação entre os limites de OCU no nível da conta e do grupo de coleção
<a name="collection-groups-capacity-relationship"></a>

Ao planejar sua capacidade OpenSearch sem servidor, é importante entender como os limites de OCU no nível da conta e os limites de OCU do grupo de coleção interagem. A soma das configurações máximas de OCU em todos os grupos de coleta mais a configuração máxima de OCU no nível da conta deve ser menor ou igual ao limite de cota de serviço por conta. Para ver os valores-limite atuais, consulte Cotas [OpenSearch sem servidor](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-limits-serverless).

**nota**  
As configurações máximas de OCU no nível da conta se aplicam somente às coleções não associadas a nenhum grupo de coleções. As coleções dentro dos grupos de coleta são regidas pelos respectivos limites do grupo de coleta, não pelos limites no nível da conta.

Essa restrição se aplica tanto à indexação quanto à pesquisa OCUs de forma independente. Por exemplo, se você definir configurações no nível da conta e grupos de coleção, deverá garantir que o total não exceda o limite da cota de serviço para indexação OCUs e, separadamente, não exceda o limite da cota de serviço para pesquisa. OCUs Além disso, você pode criar no máximo 300 grupos de coleção por conta.

**Exemplo: capacidade de planejamento com limites no nível da conta e do grupo de coleções**  
Se você definir a OCU máxima de pesquisa no nível da conta como 500 e o limite da cota de serviço for 1.700:
+ E crie 2 grupos de coleta, a soma da OCU máxima para os 2 grupos de coleta não deve ser superior a 1.200 (1.700 - 500)
+ Você pode deixar cada grupo de coleta na OCU máxima padrão de 96 (96 \$1 96 \$1 500 = 692), deixando espaço para crescimento futuro
+ Ou você pode aumentar o máximo de cada grupo de coleta para 600 (600 \$1 600 \$1 500 = 1.700), usando a capacidade total permitida pela cota de serviço

Esse relacionamento é fundamental para o planejamento da capacidade. Antes de criar novos grupos de coleta ou aumentar os limites máximos de OCU, verifique se sua alocação total não excede o limite da cota de serviço. Se você atingir esse limite, deverá reduzir as configurações máximas de OCU nos grupos de coleta existentes ou diminuir as configurações máximas de OCU em nível de conta para abrir espaço para novas alocações.

## Configurando limites de capacidade
<a name="collection-groups-capacity-configure"></a>

Você pode definir limites de capacidade ao criar um grupo de coleta ou atualizá-los posteriormente. Para configurar limites de capacidade usando o AWS CLI, use os [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)ou:

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

Para atualizar os limites de capacidade de um grupo de coleta existente:

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

## Monitorando a capacidade do grupo de coleta
<a name="collection-groups-capacity-monitoring"></a>

OpenSearch O Serverless emite as seguintes métricas do Amazon CloudWatch Logs em intervalos de um minuto para ajudar você a monitorar a utilização da OCU e os limites de capacidade no nível do grupo de coleta:
+ `IndexingOCU`— O número de indexação OCUs atualmente em uso pelo grupo de coleções.
+ `SearchOCU`— O número de pesquisas OCUs atualmente em uso pelo grupo de coleções.

OpenSearch O Serverless também emite métricas de OCU no nível da conta para coleções não associadas a nenhum grupo de coleções. Você pode agregar essas métricas CloudWatch para visualizar a soma de todos os grupos de coleções e coleções OCUs em nível de conta.

Configure alarmes para notificá-lo quando seu grupo de coleta se aproximar dos limites de capacidade, para que você possa ajustar as configurações conforme necessário. Para obter mais informações sobre métricas OpenSearch sem servidor, consulte. [Monitorando o Amazon OpenSearch Serverless](serverless-monitoring.md)

## Como os limites de capacidade são aplicados
<a name="collection-groups-capacity-enforcement"></a>

OpenSearch O Serverless impõe limites de capacidade do grupo de coleta durante as operações de escalabilidade. Quando suas coleções precisam de recursos adicionais, o OpenSearch Serverless se expande até o limite máximo de OCU. Quando a demanda diminui, o OpenSearch Serverless diminui, mas mantém pelo menos o limite mínimo de OCU para garantir um desempenho consistente.

Os limites de capacidade são aplicados somente quando o grupo de coleta contém pelo menos uma coleção. Grupos de coleta vazios não consomem OCUs nem impõem limites de capacidade.

Se uma operação de escalabilidade exceder o limite máximo da OCU ou violar o requisito mínimo da OCU, a OpenSearch Serverless rejeitará a operação para manter a conformidade com os limites configurados.

# Criptografia e chaves KMS em grupos de coleção
<a name="collection-groups-kms-keys"></a>

Cada coleção OpenSearch Serverless que você cria é protegida com criptografia de dados em repouso, usada AWS KMS para armazenar e gerenciar suas chaves de criptografia. Ao trabalhar com grupos de coleções, você tem flexibilidade na forma como especifica a chave KMS para suas coleções.

Você pode fornecer a chave KMS associada a uma coleção de duas maneiras:
+ **Na CreateCollection solicitação** — especifique a chave KMS diretamente ao criar a coleção usando o `encryption-config` parâmetro.
+ **Nas políticas de segurança** — defina a associação da chave KMS em uma política de segurança de criptografia.

Quando você especifica uma chave KMS em ambos os locais, a chave KMS fornecida na CreateCollection solicitação tem precedência sobre a configuração da política de segurança.

Essa flexibilidade simplifica o gerenciamento de coleções em grande escala, especialmente quando você precisa criar várias coleções com chaves KMS exclusivas. Em vez de criar e gerenciar milhares de políticas de criptografia, você pode especificar a chave KMS diretamente durante a criação da coleção.

## Compartilhamento OCUs entre diferentes chaves KMS
<a name="collection-groups-kms-sharing"></a>

Os grupos de coleções permitem o compartilhamento de recursos computacionais entre coleções com chaves KMS diferentes. Coleções no mesmo grupo de coleções compartilham espaço de memória da OCU, independentemente de suas chaves de criptografia. Esse modelo de computação compartilhada reduz os custos ao eliminar a necessidade de separar cada OCUs chave KMS.

Os grupos de coleta fornecem isolamento para os requisitos de segurança e desempenho. Você pode agrupar coleções com a mesma chave KMS em um único grupo de coleta para isolamento de segurança ou combinar coleções com chaves KMS diferentes no mesmo grupo para otimização de custos. Essa flexibilidade permite equilibrar os requisitos de segurança com a eficiência dos recursos.

O sistema mantém a segurança criptografando os dados de cada coleção com a chave KMS designada. Os controles de acesso continuam sendo aplicados no nível da coleção, e os recursos computacionais compartilhados acessam várias chaves do KMS conforme necessário para servir às coleções no grupo.

## Permissões KMS necessárias
<a name="collection-groups-kms-permissions"></a>

Ao especificar uma chave KMS na CreateCollection solicitação, você precisa das seguintes permissões adicionais:
+ `kms:DescribeKey`— Permite que o OpenSearch Serverless recupere informações sobre a chave KMS.
+ `kms:CreateGrant`— Permite que o OpenSearch Serverless crie uma concessão para a chave KMS para permitir operações de criptografia.

Essas permissões não são necessárias ao usar chaves AWS próprias.

# Crie grupos de coleções
<a name="serverless-collection-groups-procedures"></a>

Este tópico descreve como criar, configurar e gerenciar grupos de coleta no Amazon OpenSearch Serverless. Use grupos de coleções para organizar coleções e compartilhar recursos computacionais para otimizar custos. Defina limites mínimos e máximos de OCU no nível do grupo de coleta para controlar o desempenho e os gastos.

## Criar um grupo de coleções
<a name="collection-groups-create"></a>

Use os procedimentos a seguir para criar um novo grupo de coleta e definir suas configurações. Crie um grupo de coleção usando o console OpenSearch Serverless ou o. AWS CLI AWS SDKs Ao criar um grupo de coleta, você especifica limites de capacidade e outras opções de configuração.

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

1. Abra o console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. **No painel de navegação esquerdo, escolha **Sem servidor** e, em seguida, escolha Grupos de coleção**

1. Escolha **Criar grupo de coleção**.

1. Em **Nome do grupo de coleta**, insira um nome para seu grupo de coleta. O nome deve ter de 3 a 32 caracteres, começar com uma letra minúscula e conter somente letras minúsculas, números e hífens.

1. (Opcional) Em **Descrição**, insira uma descrição para seu grupo de coleta.

1. Na seção **Gerenciamento de capacidade**, configure os limites da OCU:
   + **Capacidade máxima de indexação** — O número máximo de indexação para o OCUs qual as coleções desse grupo podem ser escaladas.
   + **Capacidade máxima de pesquisa** — O número máximo de pesquisas para as quais as coleções OCUs desse grupo podem ser escaladas.
   + **Capacidade mínima de indexação** — O número mínimo de indexação OCUs a ser mantido para um desempenho consistente.
   + **Capacidade mínima de pesquisa** — O número mínimo de pesquisas OCUs a serem mantidas para um desempenho consistente.

1. (Opcional) Na seção **Tags**, adicione tags para ajudar a organizar e identificar seu grupo de coleção.

1. Escolha **Criar grupo de coleção**.

------
#### [ AWS CLI ]
+ Use o [create-collection-group](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/create-collection-group.html)comando para criar um novo grupo de coleções. No comando, substitua o *example* conteúdo por suas próprias informações específicas.

  ```
  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
  ```

  O comando retorna detalhes sobre o grupo de coleção criado, incluindo seu ID exclusivo e ARN.

------

## Adicionar uma nova coleção a um grupo de coleções
<a name="create-collection-in-group"></a>

Ao criar uma nova coleção, especifique um nome de grupo de coleta existente ao qual associar a coleção. Use os procedimentos a seguir para adicionar uma nova coleção a um grupo de coleta. 

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

1. Abra o console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. **No painel de navegação esquerdo, escolha **Sem servidor** e, em seguida, escolha Coleções**

1. Escolha **Criar coleção**.

1. Em **Nome da coleção**, insira um nome para sua coleção. O nome deve ter de 3 a 28 caracteres, começar com uma letra minúscula e conter somente letras minúsculas, números e hífens.

1. (Opcional) Em **Descrição**, insira uma descrição para sua coleção.

1. Na seção **Grupo de coleções**, selecione o grupo de coleta ao qual você deseja que a coleção seja atribuída. Uma coleção só pode pertencer a um grupo de coleções por vez.

   (Opcional) Você também pode optar por **Criar um novo grupo**. Isso levará você ao fluxo de trabalho **Criar grupo de coleção**. Depois de concluir a criação do grupo de coleta, retorne à etapa 1 desse procedimento para começar a criar sua nova coleção.

1. Continue com o fluxo de trabalho para criar a coleção.
**Importante**  
Não saia do fluxo de trabalho **Criar coleção**. Isso interromperá a configuração da coleção. A página **de detalhes da coleção** aparece após a conclusão da configuração.

------
#### [ AWS CLI ]
+ Use o comando [create-collection](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/create-collection.html) para criar uma nova coleção e adicioná-la a um grupo de coleções existente. No comando, substitua o *example* conteúdo por suas próprias informações específicas.

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

------

# Gerencie grupos de OpenSearch coleção Amazon Serverless
<a name="manage-collection-group"></a>

Depois de criar grupos de coleta Amazon OpenSearch Serverless, você pode modificar suas configurações conforme suas necessidades mudarem. Use essas operações de gerenciamento para atualizar os limites de capacidade e visualizar os detalhes do grupo de coleta. Essas mudanças ajudam você a otimizar a alocação de recursos e a manter a organização eficiente de suas coleções.

## Exibir grupos de coleções
<a name="view-collection-groups"></a>

Exiba seus grupos de coleta OpenSearch sem servidor para revisar suas configurações, coleções associadas e status atual.

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

1. Abra o console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. **No painel de navegação esquerdo, escolha **Sem servidor** e, em seguida, escolha Coleções**

1. Escolha a **guia Grupos de coleções**. Os grupos de coleções da sua conta são exibidos.

1.  Escolha o **Nome** de um grupo de coleta para exibir seus detalhes.

------
#### [ AWS CLI ]
+ Use o [list-collection-groups](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/list-collection-groups.html)comando para listar todos os grupos de coleções em sua conta. Use o [batch-get-collection-group](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/batch-get-collection-group.html)comando para ver detalhes sobre grupos de coleta específicos. Nos comandos a seguir, substitua o *example* conteúdo por suas próprias informações específicas.

  Para listar todos os grupos de coleções:

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

  Para obter detalhes sobre grupos de coleções específicos:

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

------

## Atualizar as configurações do grupo de coleções
<a name="update-collection-group"></a>

Atualize as configurações do grupo de coleta OpenSearch Serverless para modificar configurações, como limites de capacidade e descrição.

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

1. Abra o console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. **No painel de navegação esquerdo, escolha **Sem servidor** e, em seguida, escolha Coleções**

1. Escolha a **guia Grupos de coleções**. Os grupos de coleções da sua conta são exibidos.

1.  Escolha o **Nome** de um grupo de coleta para exibir seus detalhes.

1. Em **Detalhes do grupo de coleções**, escolha **Editar**.

1. Faça as alterações e escolha **Salvar**.

------
#### [ AWS CLI ]
+ Use o [update-collection-group](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/update-collection-group.html)comando para atualizar a descrição e os limites de capacidade de um grupo de coleta existente. No comando a seguir, substitua o *example* conteúdo pelas suas próprias informações.

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

------

As alterações nos limites de capacidade entram em vigor imediatamente e podem afetar o comportamento de escalabilidade das coleções no grupo.

## Excluir grupos de coleções
<a name="delete-collection-group"></a>

Antes de excluir um grupo de coleções, você deve primeiro remover todas as coleções do grupo. Você não pode excluir um grupo de coleções que contenha coleções.

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

1. Abra o console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. **No painel de navegação esquerdo, escolha **Sem servidor** e, em seguida, escolha Coleções**

1. Escolha a **guia Grupos de coleções**. Os grupos de coleções da sua conta são exibidos.

1.  Escolha o **nome** do grupo de coleta que você deseja excluir.
**Importante**  
Remova todas as coleções do grupo de coleta atualizando cada coleção para remover a associação do grupo de coleta ou movendo-as para outros grupos de coleta.

1. Na parte superior da página, escolha **Delete** (Excluir).

1. Confirme a exclusão e escolha **Excluir**.

------
#### [ AWS CLI ]
+ Use o [delete-collection-group](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/delete-collection-group.html)comando para excluir um grupo de coleções.
**Importante**  
Remova todas as coleções do grupo de coleta atualizando cada coleção para remover a associação do grupo de coleta ou movendo-as para outros grupos de coleta.

  No comando a seguir, substitua o *example* conteúdo pelas suas próprias informações.

  Exclua o grupo de coleta vazio:

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

------

# Gerenciando limites de capacidade para Amazon OpenSearch Serverless
<a name="serverless-scaling"></a>

Com o Amazon OpenSearch Serverless, você não precisa gerenciar a capacidade sozinho. OpenSearch O Serverless dimensiona automaticamente a capacidade computacional da sua conta com base na carga de trabalho atual. A capacidade computacional sem servidor é medida em Unidades de *OpenSearch Computação ()*. OCUs Cada OCU é uma combinação de 6 GiB de memória e CPU virtual (vCPU) correspondente e cria um pipeline de dados para o Amazon S3. Para obter mais informações sobre a arquitetura desacoplada no OpenSearch Serverless, consulte. [Como funciona](serverless-overview.md#serverless-process)

Quando você cria sua primeira coleção, o OpenSearch Serverless instancia OCUs com base nas suas configurações de redundância. Por padrão, as réplicas ativas redundantes estão habilitadas, o que instancia quatro OCUs (duas para indexação e duas para pesquisa). Isso garante alta disponibilidade com nós em espera em outra zona de disponibilidade.

Para desenvolvimento e teste, você pode desativar a configuração **Ativar redundância** para uma coleção. Isso remove as réplicas em espera e usa apenas duas OCUs (uma para indexação e outra para pesquisa).

Eles OCUs sempre existem, mesmo quando não há atividade de indexação ou pesquisa. Todas as coleções subsequentes podem compartilhá-las OCUs, exceto as coleções com AWS KMS chaves exclusivas, que instanciam seu próprio conjunto de. OCUs Todas as coleções associadas a um grupo de coleções podem compartilhar o mesmo conjunto de OCUs. Somente um tipo de coleção (pesquisa, série temporal ou pesquisa vetorial) pode ser incluído em um único grupo de coleta. Para obter mais informações, consulte [Grupos de OpenSearch coleção Amazon Serverless](serverless-collection-groups.md).

OpenSearch O Serverless se expande e adiciona automaticamente à OCUs medida que seu uso de indexação e pesquisa aumenta. Quando o tráfego diminui, a capacidade volta ao número mínimo OCUs necessário para o tamanho dos dados.

Para pesquisas e coletas de séries temporais, o número OCUs necessário quando ocioso é proporcional ao tamanho dos dados e à contagem do índice. Para coleções de vetores, os requisitos da OCU dependem da memória (RAM) para armazenar gráficos vetoriais e do espaço em disco para armazenar índices. Quando não estão ociosos, os requisitos da OCU são responsáveis por ambos os fatores.

As coleções de vetores armazenam dados de índice no armazenamento local da OCU. Os limites de RAM da OCU são atingidos mais rapidamente do que os limites de disco, o que restringe as coleções de vetores por espaço de RAM.

Com a redundância ativada, a capacidade da OCU é reduzida para um mínimo de 1 OCU (0,5 OCU x 2) para indexação e 1 OCU (0,5 OCU x 2) para pesquisa. Quando você desativa a redundância, sua coleção pode ser reduzida para 0,5 OCU para indexação e 0,5 OCU para pesquisa.

A escalação também leva em consideração o número de fragmentos necessários para a coleção ou índice. Cada OCU suporta um número específico de fragmentos, e o número de índices deve ser proporcional à contagem de fragmentos. O número total de bases OCUs necessárias é o máximo de seus requisitos de dados, memória e fragmentos. Para obter mais informações, consulte os [recursos de pesquisa econômicos do Amazon OpenSearch Serverless, em qualquer escala, no](https://aws.amazon.com/blogs/big-data/amazon-opensearch-serverless-cost-effective-search-capabilities-at-any-scale/) blog de *AWS Big Data*. 

Para coleções de *pesquisa* e *pesquisa vetorial*, todos os dados são armazenados em índices de alta atividade para garantir tempos de resposta rápidos às consultas. Coleções de *séries temporais* usam uma combinação de armazenamento de atividade alta e muito alta, mantendo os dados mais recentes em armazenamento de atividade muito alta para otimizar os tempos de resposta da consulta para dados acessados com mais frequência. Para obter mais informações, consulte [Escolha de um tipo de coleção](serverless-overview.md#serverless-usecase). 

**nota**  
Uma coleção de pesquisa vetorial não pode ser compartilhada OCUs com coleções de *pesquisa* e *séries temporais*, mesmo que a coleta de pesquisa vetorial use a mesma chave KMS das coleções de *pesquisa* ou de *séries temporais*. Um novo conjunto de OCUs será criado para sua primeira coleção de vetores. As coleções OCUs de vetores são compartilhadas entre as mesmas coleções de chaves do KMS.

Para gerenciar a capacidade de suas coleções e controlar os custos, você pode especificar a capacidade máxima geral de indexação e pesquisa para a conta corrente e a região, e o OpenSearch Serverless dimensiona seus recursos de coleta automaticamente com base nessas especificações.

Como a capacidade de indexação e de pesquisa são escaladas separadamente, você especifica limites no nível de conta para cada uma:
+ **Capacidade máxima de indexação** — O OpenSearch Serverless pode aumentar a capacidade de indexação até esse número de. OCUs
+ **Capacidade máxima de pesquisa** — O OpenSearch Serverless pode aumentar a capacidade de pesquisa até esse número de. OCUs

**nota**  
No momento, as configurações de capacidade só se aplicam ao nível da conta. Você não pode configurar limites de capacidade por coleção.

Sua meta deve ser garantir que a capacidade máxima seja alta o suficiente para lidar com picos de workload. Com base em suas configurações, o OpenSearch Serverless escala automaticamente o número de suas coleções OCUs para processar a carga de trabalho de indexação e pesquisa.

**Topics**
+ [Definição de configurações de capacidade](#serverless-scaling-configure)
+ [Limites máximos de capacidade](#serverless-scaling-limits)
+ [Monitoramento do uso da capacidade](#serverless-scaling-monitoring)

## Definição de configurações de capacidade
<a name="serverless-scaling-configure"></a>

**Para definir as configurações de capacidade no console OpenSearch Serverless, expanda **Serverless** no painel de navegação esquerdo e selecione Dashboard.** Especifique a capacidade máxima de indexação e pesquisa em **Gerenciamento de capacidade**:

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


Para configurar a capacidade usando o AWS CLI, envie uma [UpdateAccountSettings](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateAccountSettings.html)solicitação:

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

## Limites máximos de capacidade
<a name="serverless-scaling-limits"></a>

O total máximo de índices que uma coleção pode conter é 1000. Para todos os três tipos de coleções, a capacidade máxima padrão da OCU é 10 OCUs para indexação e 10 OCUs para pesquisa. A capacidade mínima de OCUs permitidas para uma conta é 1 OCU [0,5 OCU x 2] para indexação e 1 OCU [0,5 OCU x 2] para pesquisa. Para todas as coleções, a capacidade máxima permitida é 1.700 OCUs para indexação e 1.700 OCUs para pesquisa. Você pode configurar a contagem de OCUs para ser qualquer número de 2 até a capacidade máxima permitida, em múltiplos de 2. 

Cada OCU inclui armazenamento quente efêmero suficiente para 120 GiB de dados de índice. OpenSearch *O Serverless suporta até 1 TiB de dados por índice em coleções de *pesquisa e pesquisa* *vetorial* e 100 TiB de dados ativos por índice em uma coleção de séries temporais.* Para coletas de séries temporais, você pode ingerir mais dados, que podem ser armazenados como dados quentes no S3.

Para ver uma lista de todas as cotas, consulte Cotas [OpenSearch sem servidor](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-limits-serverless).

## Monitoramento do uso da capacidade
<a name="serverless-scaling-monitoring"></a>

Você pode monitorar as CloudWatch métricas `SearchOCU` e em `IndexingOCU` nível de conta para entender como suas coleções estão aumentando. É recomendável definir alarmes para notificação caso sua conta se aproxime de um limite das métricas relacionadas à capacidade, para que você possa ajustar as configurações de capacidade de acordo.

Você também pode usar essas métricas para determinar se as configurações de capacidade máxima são apropriadas ou se você precisa ajustá-las. Analise essas métricas para concentrar seus esforços para otimizar a eficiência de suas coleções. Para obter mais informações sobre as métricas para as quais o OpenSearch Serverless envia CloudWatch, consulte. [Monitorando o Amazon OpenSearch Serverless](serverless-monitoring.md)

# Ingestão de dados em coleções Amazon OpenSearch Serverless
<a name="serverless-clients"></a>

Essas seções fornecem detalhes sobre os pipelines de ingestão compatíveis para ingestão de dados em coleções Amazon OpenSearch Serverless. Eles também abrangem alguns dos clientes que você pode usar para interagir com as operações da OpenSearch API. Seus clientes devem ser compatíveis com OpenSearch 2.x para se integrarem ao OpenSearch Serverless.

**Topics**
+ [Permissões mínimas necessárias](#serverless-ingestion-permissions)
+ [OpenSearch Ingestão](#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)
+ [Assinar solicitações HTTP com outros clientes](#serverless-signing)

## Permissões mínimas necessárias
<a name="serverless-ingestion-permissions"></a>

Para ingerir dados em uma coleção OpenSearch sem servidor, o diretor que está gravando os dados deve ter as seguintes permissões mínimas atribuídas em uma política de acesso a [dados](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"
      ]
   }
]
```

As permissões podem ser mais amplas se você planejar gravar em índices adicionais. Por exemplo, em vez de especificar um único índice de destino, você pode conceder permissão para todos os índices (índice/ *target-collection* /\$1) ou para um subconjunto de índices (índice//). *target-collection* *logs\$1*

Para obter uma referência de todas as operações de OpenSearch API disponíveis e suas permissões associadas, consulte[Operações e plug-ins compatíveis no Amazon OpenSearch Serverless](serverless-genref.md).

## OpenSearch Ingestão
<a name="serverless-osis-ingestion"></a>

Em vez de usar um cliente terceirizado para enviar dados diretamente para uma coleção OpenSearch sem servidor, você pode usar o Amazon OpenSearch Ingestion. Você configura seus produtores de dados para enviar dados para OpenSearch Ingestão, e ele entrega automaticamente os dados para a coleção que você especificar. Você também pode configurar a OpenSearch ingestão para transformar seus dados antes de entregá-los. Para obter mais informações, consulte [Visão geral da OpenSearch ingestão da Amazon](ingestion.md).

Um pipeline OpenSearch de ingestão precisa de permissão para gravar em uma coleção OpenSearch Serverless configurada como coletor. Essas permissões incluem a capacidade de descrever a coleção e enviar solicitações HTTP para ela. Para obter instruções sobre como usar a OpenSearch ingestão para adicionar dados a uma coleção, consulte[Concedendo aos pipelines do Amazon OpenSearch Ingestion acesso às coleções](pipeline-collection-access.md).

Para começar a usar o OpenSearch Ingestion, consulte[Tutorial: Ingestão de dados em uma coleção usando o Amazon OpenSearch Ingestion](osis-serverless-get-started.md).

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

Você pode usar AWS a [imagem Fluent Bit](https://github.com/aws/aws-for-fluent-bit#public-images) e o [plug-in OpenSearch de saída](https://docs.fluentbit.io/manual/pipeline/outputs/opensearch) para ingerir dados em coleções sem OpenSearch servidor.

**nota**  
Você deve ter a versão 2.30.0 ou posterior da imagem AWS for Fluent Bit para fazer a integração com o Serverless. OpenSearch 

**Exemplo de configuração**:

Este exemplo de seção de saída do arquivo de configuração mostra como usar uma coleção OpenSearch Serverless como destino. A adição importante é o parâmetro `AWS_Service_Name`, que é `aoss`. `Host` é o endpoint da coleção.

```
[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>

O Firehose oferece suporte ao OpenSearch Serverless como destino de entrega. *Para obter instruções sobre como enviar dados para o OpenSearch Serverless, consulte [Criação de um stream de entrega do Kinesis Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) [e OpenSearch Escolha sem servidor para seu destino](https://docs.aws.amazon.com/firehose/latest/dev/create-destination.html#create-destination-opensearch-serverless) no Guia do desenvolvedor do Amazon Data Firehose.*

O perfil do IAM que você fornece ao Firehose para entrega deve ser especificado em uma política de acesso a dados com a permissão mínima de `aoss:WriteDocument` para a coleção de destino, e você deve ter um índice preexistente para o qual enviar os dados. Para obter mais informações, consulte [Permissões mínimas necessárias](#serverless-ingestion-permissions).

Antes de enviar dados para o OpenSearch Serverless, talvez seja necessário realizar transformações nos dados. Para saber mais sobre como usar funções do Lambda para executar essa tarefa, consulte [Transformação de dados do Amazon Kinesis Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/data-transformation.html) no mesmo guia.

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

O código de exemplo a seguir usa o cliente [opensearch-go](https://github.com/opensearch-project/opensearch-go) para Go para estabelecer uma conexão segura com a coleção OpenSearch Serverless especificada e criar um único índice. Você deve fornecer valores para `region` e `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>

O código de exemplo a seguir usa o cliente [opensearch-java](https://search.maven.org/artifact/org.opensearch.client/opensearch-java) para Java para estabelecer uma conexão segura com a coleção OpenSearch Serverless especificada e criar um único índice. Você deve fornecer valores para `region` e `host`.

A diferença importante em relação aos *domínios OpenSearch * de serviço é o nome do serviço (`aoss`em vez 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();
```

O exemplo de código a seguir estabelece novamente uma conexão segura e depois pesquisa um í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>

O código de exemplo a seguir usa o cliente [opensearch-js](https://www.npmjs.com/package/@opensearch-project/opensearch) JavaScript para estabelecer uma conexão segura com a coleção OpenSearch Serverless especificada, criar um único índice, adicionar um documento e excluir o índice. Você deve fornecer valores para `node` e `region`.

A diferença importante em relação aos *domínios OpenSearch * de serviço é o nome do serviço (`aoss`em vez de`es`).

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

Este exemplo usa a [versão 3](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/) do 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 ]

Este exemplo usa a [versão 2](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/) do 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>

Você pode usar o [ OpenSearch plug-in Logstash](https://github.com/opensearch-project/logstash-output-opensearch) para publicar registros em coleções sem OpenSearch servidor. 

**Para usar o Logstash para enviar dados para o Serverless OpenSearch**

1. Instale a versão *2.0.0 ou posterior* do [logstash-output-opensearch](https://github.com/opensearch-project/logstash-output-opensearch)plug-in usando Docker ou Linux.

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

   [O Docker hospeda o software Logstash OSS com o plug-in de OpenSearch saída pré-instalado: 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) É possível puxar a imagem como qualquer outra imagem:

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

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

   Primeiro, [instale a versão mais recente do Logstash](https://www.elastic.co/guide/en/logstash/current/installing-logstash.html), caso ainda não a tenha. Em seguida, instale a versão 2.0.0 do plug-in de saída:

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

   Se o plug-in já estiver instalado, atualize-o para a versão mais recente:

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

   A partir da versão 2.0.0 do plug-in, o AWS SDK usa a versão 3. Se você estiver usando uma versão do Logstash anterior à 8.4.0, deverá remover todos os plug-ins pré-instalados e instalar o AWS plug-in: `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 o plug-in OpenSearch de saída funcione com o OpenSearch Serverless, você deve fazer as seguintes modificações na seção de `opensearch` saída do logstash.conf:
   + Especifique `aoss` como o `service_name` em `auth_type`.
   + Especifique seu endpoint de coleção para `hosts`.
   + Adicione os parâmetros `default_server_major_version` e `legacy_template`. Esses parâmetros são necessários para que o plug-in funcione com o OpenSearch Serverless.

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

   Esse exemplo de arquivo de configuração obtém sua entrada de arquivos em um bucket do S3 e os envia para uma coleção 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. Em seguida, execute o Logstash com a nova configuração para testar o plug-in:

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

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

O código de exemplo a seguir usa o [cliente opensearch-py](https://pypi.org/project/opensearch-py/) para Python para estabelecer uma conexão segura com a coleção OpenSearch Serverless especificada, criar um único índice e pesquisar esse índice. Você deve fornecer valores para `region` e `host`.

A diferença importante em relação aos *domínios OpenSearch * de serviço é o nome do serviço (`aoss`em vez 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>

A `opensearch-aws-sigv4` gema fornece acesso ao OpenSearch Serverless, junto com o OpenSearch Service, pronto para uso. Ele tem todos os recursos do cliente [opensearch-ruby](https://rubygems.org/gems/opensearch-ruby) porque é uma dependência desse gem.

Ao instanciar o signatário do Sigv4, especifique `aoss` como nome do serviço:

```
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)
```

## Assinar solicitações HTTP com outros clientes
<a name="serverless-signing"></a>

Os requisitos a seguir se aplicam ao [assinar solicitações](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) em coleções OpenSearch sem servidor quando você cria solicitações HTTP com outros clientes.
+ O nome do serviço deve ser especificado como `aoss`.
+ O cabeçalho `x-amz-content-sha256` é obrigatório para todas as solicitações do AWS Signature Version 4. Ele fornece um hash da carga da solicitação. Se houver uma carga útil de solicitação, defina o valor como seu hash criptográfico () do Secure Hash Algorithm (SHA). SHA256 Se não houver carga de solicitação, defina o valor como `e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855`, que é o hash de uma string vazia.

**Topics**
+ [Indexar com cURL](#serverless-signing-curl)
+ [Indexar com o Postman](#serverless-signing-postman)

### Indexar com cURL
<a name="serverless-signing-curl"></a>

O exemplo de solicitação a seguir usa a Client URL Request Library (cURL) para enviar um único documento para um índice denominado `movies-index` em uma coleção:

```
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"}'
```

### Indexar com o Postman
<a name="serverless-signing-postman"></a>

A imagem a seguir mostra como enviar solicitações para uma coleção usando o Postman. Para obter instruções sobre como autenticar, consulte [Fluxo de trabalho de autenticação com AWS assinatura no Postman](https://learning.postman.com/docs/sending-requests/authorization/aws-signature/).

![\[JSON response showing creation of a "movies-index" with successful result and no shards.\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/images/ServerlessPostman.png)


# Configurar o Machine Learning no Amazon OpenSearch Serverless
<a name="serverless-configure-machine-learning"></a>

## Machine Learning
<a name="serverless-configure-machine-learning-what-is"></a>

O Machine Learning (ML) fornece recursos de ML na forma de algoritmos de ML e modelos remotos. Com acesso a esses modelos, você pode executar vários fluxos de trabalho de IA, como RAG ou pesquisa semântica. O ML é compatível com experimentação e implantação na produção de casos de uso de IA generativa usando os mais recentes modelos hospedados externamente que você pode configurar com conectores. Depois de configurar um conector, você deve configurá-lo em um modelo e depois implantá-lo para realizar previsões.

## Conectores
<a name="serverless-configure-machine-learning-connectors"></a>

Os conectores facilitam o acesso aos modelos hospedados em plataformas de ML de terceiros. Eles servem como gateway entre seu OpenSearch cluster e um modelo remoto. Para saber mais, consulte a documentação a seguir:
+ [Criação de conectores para plataformas de ML de terceiros](https://docs.opensearch.org/latest/ml-commons-plugin/remote-models/connectors/) no site de *OpenSearch documentação*
+ [Conectores para plataformas externas](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-external-connector.html)
+ [Conectores para Serviços da AWS](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html)
**Importante**  
Ao criar uma política de confiança, adicione-a **ml.opensearchservice.amazonaws.com** como princípio OpenSearch de serviço.
Ignore as etapas na página [Conectores](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html) que mostram como configurar um domínio na política.
Adicione a instrução `iam:PassRole` na etapa [Configurar permissões](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html#connector-sagemaker-prereq).
Ignore a etapa **Mapear a função de ML** em OpenSearch Painéis. Não é necessário configurar perfil de backend. Isso se aplica aos [conectores para Serviços da AWS](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html) e aos [conectores para plataformas externas](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-external-connector.html).
Em sua solicitação do SigV4 para o endpoint de coleção, defina o nome do serviço como **aoss** em vez de **es**.

## Modelos da
<a name="serverless-configure-machine-learning-models"></a>

Um modelo é a funcionalidade central usada em vários fluxos de trabalho de IA. Geralmente, você associa o conector a um modelo para realizar previsões usando o conector. Depois que o modelo está no estado implantado, você pode executar a previsão. Para obter mais informações, consulte [Registrar um modelo hospedado em uma plataforma de terceiros](https://docs.opensearch.org/latest/ml-commons-plugin/api/model-apis/register-model/#register-a-model-hosted-on-a-third-party-platform) no site da *OpenSearch Documentação*.

**nota**  
Nem todos os recursos do modelo são compatíveis com o OpenSearch Serverless, como os modelos locais. Para obter mais informações, consulte [Machine Learning APIs e recursos não suportados](serverless-machine-learning-unsupported-features.md).

## Configurar permissões para Machine Learning
<a name="serverless-configure-machine-learning-permissions"></a>

A seção a seguir descreve as políticas de acesso a dados de coleções necessárias para Machine Learning (ML). Substitua *placeholder values* o por suas informações específicas. Para obter mais informações, consulte [Permissões de políticas com suporte](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** — Concede permissão para pesquisar e consultar conectores, modelos e grupos de modelos.
+ **aoss:create MLResource** — Concede permissão para criar conectores, modelos e grupos de modelos.
+ **aoss:Update MLResource** — Concede permissão para atualizar conectores, modelos e grupos de modelos.
+ **aoss:Delete MLResource** — Concede permissão para excluir conectores, modelos e grupos de modelos.
+ **aoss:Execute MLResource** — Concede permissão para realizar previsões em modelos.

# Machine Learning APIs e recursos não suportados
<a name="serverless-machine-learning-unsupported-features"></a>

## Não suportado APIs
<a name="serverless-unsupported-ml-api"></a>

Os seguintes Machine Learning (ML) não APIs são compatíveis com o Amazon OpenSearch Serverless:
+ Funcionalidade de modelo local
+ API de treinamento de modelo
+ API de algoritmo de previsão de modelo
+ API de previsão em lote de modelo
+ API de agentes e ferramentas correspondentes
+ Servidor MCP APIs
+ Memória APIs
+ Controlador APIs
+ API de algoritmo de execução
+ API de perfil de ML
+ API de estatísticas de ML

Para obter mais informações sobre ML APIs, consulte [ML APIs](https://docs.opensearch.org/latest/ml-commons-plugin/api/index/) no site da *OpenSearch documentação*.

## Atributos não compatíveis
<a name="serverless-unsupported-ml-features"></a>

Os seguintes recursos de ML não são compatíveis com o Amazon OpenSearch Serverless:
+ Agentes e ferramentas
+ Modelos locais
+ O processador de inferência de ML nos pipelines de pesquisa e ingestão
  + Processador de ingestão de inferência de ML
  + Processador de respostas de pesquisa de inferência de ML
  + Processador de solicitações de pesquisa de inferência de ML

Para obter mais informações sobre esses recursos, consulte a seguinte documentação no site da *OpenSearch Documentação*:
+ [Machine learning](https://docs.opensearch.org/latest/ml-commons-plugin)
+ [Processador de inferência de ML](https://docs.opensearch.org/latest/ingest-pipelines/processors/ml-inference/)
+ [Pipelines de pesquisa](https://docs.opensearch.org/latest/search-plugins/search-pipelines/index/)

# Configurar a pesquisa neural e a pesquisa híbrida sem OpenSearch servidor
<a name="serverless-configure-neural-search"></a>

## Pesquisa neural
<a name="serverless-configure-neural-search-what-is"></a>

O Amazon OpenSearch Serverless oferece suporte à funcionalidade de pesquisa neural para operações de pesquisa semântica em seus dados. A pesquisa neural usa modelos de machine learning para entender o significado semântico e o contexto das consultas, fornecendo resultados de pesquisa mais relevantes do que as pesquisas tradicionais baseadas em palavras-chave. Esta seção explica como configurar a Pesquisa Neural no OpenSearch Serverless, incluindo as permissões necessárias, os processadores compatíveis e as principais diferenças em relação à implementação padrão OpenSearch .

Com a Pesquisa Neural, você pode realizar nos dados uma pesquisa semântica que considera o significado semântico para entender a intenção das consultas de pesquisa. Esse recurso conta com os seguintes componentes:
+ Processador de pipeline de ingestão de incorporação de texto
+ Consulta neural
+ Consulta neural esparsa

## Pesquisa híbrida
<a name="serverless-configure-hybrid-search"></a>

Com a pesquisa híbrida, você pode melhorar a relevância da pesquisa combinando recursos de pesquisa semântica e pesquisa de palavras-chave. Para usar a pesquisa híbrida, crie um pipeline de pesquisa que processe os resultados da pesquisa e combine as pontuações dos documentos. Para obter mais informações, consulte [Pipelines de pesquisa](https://docs.opensearch.org/latest/search-plugins/search-pipelines/index/) no site da *OpenSearch documentação*. Use os seguintes componentes para implementar a pesquisa híbrida:
+ Processador de pipeline de pesquisa com normalização

**Técnicas de normalização compatíveis**
  + `min_max`
  + `l2`

**Técnicas de combinação compatíveis**
  + `arithmetic_mean`
  + `geometric_mean`
  + `harmonic_mean`

  Para obter mais informações sobre técnicas de normalização e combinação, consulte os [campos do corpo da solicitação](https://docs.opensearch.org/latest/search-plugins/search-pipelines/normalization-processor/#request-body-fields) no site da *OpenSearchdocumentação*.
+ Consulta híbrida

## Consultas neurais e híbridas
<a name="serverless-configure-neural-search-hybrid-queries"></a>

Por padrão, OpenSearch calcula as pontuações dos documentos usando o BM25 algoritmo Okapi baseado em palavras-chave, que funciona bem para consultas de pesquisa que contêm palavras-chave. A pesquisa neural fornece novos tipos de consulta para consultas em linguagem natural e a capacidade de combinar pesquisa semântica e por palavra-chave.

**Example : `neural`**  

```
"neural": {
  "vector_field": {
    "query_text": "query_text",
    "query_image": "image_binary",
    "model_id": "model_id",
    "k": 100
  }
}
```

Para obter mais informações, consulte [Consulta neural](https://docs.opensearch.org/latest/query-dsl/specialized/neural/) no site da *OpenSearch documentação*.

**Example : `hybrid`**  

```
"hybrid": {
      "queries": [
        array of lexical, neural, or combined queries
      ]
    }
```

Para obter mais informações, consulte [Consulta híbrida](https://docs.opensearch.org/latest/query-dsl/compound/hybrid/) no site da *OpenSearch documentação*.

*Para configurar componentes de pesquisa semântica no Amazon OpenSearch Serverless, siga as etapas no [tutorial de pesquisa neural](https://docs.opensearch.org/latest/tutorials/vector-search/neural-search-tutorial/) no site da OpenSearch documentação.* Lembre-se dessas diferenças importantes:
+ OpenSearch O Serverless suporta somente modelos remotos. Você deve configurar conectores para modelos hospedados remotamente. Não é necessário implantar nem remover modelos remotos. Para obter mais informações, consulte [Introdução à pesquisa semântica e híbrida](https://docs.opensearch.org/latest/tutorials/vector-search/neural-search-tutorial/) no site da *OpenSearch Documentação*.
+ Espere ter até 15 segundos de latência ao pesquisar no índice vetorial ou pesquisar canais de pesquisa e ingestão criados recentemente.

## Configurar permissões do
<a name="serverless-configure-neural-search-permissions"></a>

A Pesquisa Neural no OpenSearch Serverless requer as seguintes permissões. Para obter mais informações, consulte [Permissões de políticas com suporte](serverless-data-access.md#serverless-data-supported-permissions).

**Example : política de pesquisa neural**    
****  

```
{
    "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**: cria um índice vetorial no qual as incorporações de texto são armazenadas.
+ **aoss: \$1 CollectionItems** — Cria canais de ingestão e pesquisa.
+ **aoss: \$1 MLResource** — Cria e registra modelos de incorporação de texto.
+ **aoss: APIAccess All** — Fornece acesso às operações de OpenSearch APIs busca e ingestão.

A seção a seguir descreve as políticas de acesso a dados de coleções necessárias para pesquisa neural. Substitua *placeholder values* o por suas informações específicas.

**Example : política de acesso a dados**  

```
[
    {
        "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"
        ]
    }
]
```

# Configurar fluxos de trabalho no Amazon Serverless OpenSearch
<a name="serverless-configure-workflows"></a>

## Fluxos de trabalho
<a name="serverless-configure-workflows-what-is"></a>

Os fluxos de trabalho apoiam os criadores na inovação de aplicativos de IA em. OpenSearch O processo atual de uso de ofertas de aprendizado de máquina (ML) OpenSearch, como a Pesquisa Semântica, requer tarefas complexas de configuração e pré-processamento, além de consultas detalhadas do usuário, que podem ser demoradas e propensas a erros. Os fluxos de trabalho são uma estrutura de simplificação para encadear várias chamadas de API. OpenSearch

Para configuração e uso, consulte [Automatização de configurações no site](https://docs.opensearch.org/docs/latest/automating-configurations/index/). *OpenSearch* Ao usar fluxos de trabalho OpenSearch sem servidor, considere estas diferenças importantes:
+ OpenSearch O Serverless usa somente modelos remotos nas etapas do fluxo de trabalho. Não é necessário implantar esses modelos.
+ OpenSearch O Serverless não é compatível com a etapa de **reindexação do fluxo** de trabalho.
+ Ao pesquisar **fluxos de trabalho** e **estados de fluxo de trabalho** após outras chamadas de API, espere até 15 segundos de latência para que as atualizações apareçam.

OpenSearch As coleções sem servidor oferecem suporte a fluxos de trabalho quando usadas como fonte de dados em seu OpenSearch aplicativo de interface do usuário. Para saber mais, consulte [Gerenciar associações de fontes de dados](application-data-sources-and-vpc.md).

## Configurar permissões do
<a name="serverless-configure-workflows-permissions"></a>

Antes de criar e provisionar um modelo, verifique se você tem as permissões necessárias. Se precisar de ajuda, entre em contato com o administrador da conta. OpenSearch Os fluxos de trabalho sem servidor exigem as seguintes permissões. Você pode definir o escopo das permissões para uma coleção específica definindo o ARN do recurso de coleção na política do IAM.

**Example : política de fluxos de trabalho**    
****  

```
{
  "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** — Concede permissão para criar e gerenciar modelos e provisionar pipelines de [pesquisa e ingestão](serverless-configure-neural-search.md).
+ **aoss: \$1Index** — Concede permissão para criar e excluir índices usando operações de API. OpenSearch 
+ **aoss: \$1 MLResource** — Concede permissão para provisionar etapas do fluxo de trabalho que usam o [Configure Machine](serverless-configure-machine-learning.md) Learning.

# Visão geral da segurança no Amazon OpenSearch Serverless
<a name="serverless-security"></a>

A segurança no Amazon OpenSearch Serverless difere fundamentalmente da segurança no Amazon OpenSearch Service das seguintes maneiras:


| Recurso | OpenSearch Serviço | OpenSearch Sem servidor | 
| --- | --- | --- | 
| Controle de acesso a dados | O acesso aos dados é determinado por políticas do IAM e por controle de acesso minucioso. | O acesso aos dados é determinado por políticas de acesso a dados. | 
| Criptografia em repouso | A criptografia em repouso é opcional para domínios. | A criptografia em repouso é obrigatória para coleções. | 
| Configuração e administração da segurança | Você deve configurar a rede, a criptografia e o acesso aos dados individualmente para cada domínio. | É possível usar políticas de segurança para gerenciar as configurações de segurança de várias coleções em escala. | 

O diagrama a seguir ilustra os componentes de segurança que compõem uma coleção funcional. Uma coleção deve ter uma chave de criptografia atribuída, configurações de acesso à rede e uma política de acesso a dados correspondente que conceda permissão aos seus recursos.

![\[Diagram showing encryption, network, data access, and authentication policies for a collection.\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/images/serverless-security.png)


**Topics**
+ [Políticas de criptografia](#serverless-security-encryption)
+ [Políticas de rede](#serverless-security-network)
+ [Políticas de acesso a dados](#serverless-security-data-access)
+ [Autenticação SAML e IAM](#serverless-security-authentication)
+ [Segurança da infraestrutura](#serverless-infrastructure-security)
+ [Introdução à segurança no Amazon OpenSearch Serverless](serverless-tutorials.md)
+ [Identity and Access Management para Amazon OpenSearch Serverless](security-iam-serverless.md)
+ [Criptografia no Amazon OpenSearch Serverless](serverless-encryption.md)
+ [Acesso à rede para Amazon OpenSearch Serverless](serverless-network.md)
+ [Conformidade com FIPS no Amazon Serverless OpenSearch](fips-compliance-opensearch-serverless.md)
+ [Controle de acesso a dados para Amazon OpenSearch Serverless](serverless-data-access.md)
+ [Acesso ao plano de dados por meio de AWS PrivateLink](serverless-vpc.md)
+ [Controle o acesso ao avião por meio de AWS PrivateLink](serverless-vpc-cp.md)
+ [Autenticação SAML para Amazon Serverless OpenSearch](serverless-saml.md)
+ [Validação de conformidade para Amazon OpenSearch Serverless](serverless-compliance-validation.md)

## Políticas de criptografia
<a name="serverless-security-encryption"></a>

[As políticas de criptografia](serverless-encryption.md) definem se suas coleções são criptografadas com uma chave gerenciada pelo cliente Chave pertencente à AWS ou com uma chave gerenciada pelo cliente. As políticas de criptografia consistem em dois componentes: um **padrão de recursos** e uma **chave de criptografia**. O padrão de recursos define a qual coleção ou coleções a política se aplica. A chave de criptografia determina como as coleções associadas serão protegidas.

Para aplicar uma política a várias coleções, inclua um curinga (\$1) na regra da política. Por exemplo, a política a seguir se aplica a todas as coleções com nomes que começam com “logs”.

![\[Input field for specifying a prefix term or collection name, with "logs*" entered.\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/images/serverless-security-encryption.png)


As políticas de criptografia simplificam o processo de criação e gerenciamento de coleções, especialmente quando isso é feito de forma programática. É possível criar uma coleção especificando um nome, e uma chave de criptografia será automaticamente atribuída a ela na criação. 

## Políticas de rede
<a name="serverless-security-network"></a>

As [políticas de rede](serverless-network.md) definem se as coleções são acessíveis de modo privado ou pela internet em redes públicas. *As coleções particulares podem ser acessadas por meio de endpoints VPC OpenSearch gerenciados sem servidor ou por pontos específicos, Serviços da AWS como o Amazon Bedrock, usando acesso privado.AWS service (Serviço da AWS) * Assim como as políticas de criptografia, as políticas de rede podem ser aplicadas a várias coleções, o que permite gerenciar o acesso à rede para muitas coleções em grande escala.

As políticas de rede consistem em dois componentes: um **tipo de acesso** e um **tipo de recurso**. O tipo de acesso pode ser público ou privado. O tipo de recurso determina se o acesso escolhido se aplica ao endpoint da coleção, ao endpoint do OpenSearch Dashboards ou a ambos.

![\[Access type and resource type options for configuring network policies in OpenSearch.\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/images/serverless-security-network.png)


Se você planeja configurar o acesso à VPC dentro de uma política de rede, primeiro deve criar um ou mais VPC endpoints gerenciados [OpenSearch sem servidor](serverless-vpc.md). Esses endpoints permitem que você acesse o OpenSearch Serverless como se estivesse em sua VPC, sem o uso de um gateway de internet, dispositivo NAT, conexão VPN ou conexão. Direct Connect 

O acesso privado ao só Serviços da AWS pode ser aplicado ao endpoint da coleção, não ao OpenSearch endpoint do OpenSearch Dashboards. Serviços da AWS não pode ter acesso aos OpenSearch painéis.

## Políticas de acesso a dados
<a name="serverless-security-data-access"></a>

As [políticas de acesso a dados](serverless-data-access.md) definem como seus usuários acessam os dados em suas coleções. As políticas de acesso a dados ajudam você a gerenciar coleções em grande escala atribuindo automaticamente permissões de acesso a coleções e índices que correspondam a um padrão específico. Várias políticas podem ser aplicadas a um único recurso.

As políticas de acesso a dados consistem em um conjunto de regras, cada uma com três componentes: um **tipo de recurso**, **recursos concedidos** e um conjunto de **permissões**. O tipo de recurso pode ser uma coleção ou um índice. Os recursos concedidos podem ser collection/index nomes ou padrões com um curinga (\$1). A lista de permissões especifica a quais [operações de OpenSearch API](serverless-genref.md#serverless-operations) a política concede acesso. Além disso, a política contém uma lista de **entidades principais**, que especificam os perfis e usuários do IAM e as identidades SAML aos quais conceder acesso.

![\[Selected principals and granted resources with permissions for collection and index access.\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/images/serverless-data-access.png)


Para saber mais sobre o formato de uma política de acesso a dados, consulte a [sintaxe da política](serverless-data-access.md#serverless-data-access-syntax).

Antes de criar uma política de acesso a dados, é necessário ter um ou mais usuários ou perfis do IAM, ou identidades SAML, aos quais fornecer acesso na política. Consulte a próxima seção para obter detalhes.

**nota**  
Mudar de acesso público para privado para sua coleção removerá a guia Índices no console de coleção OpenSearch sem servidor.

## Autenticação SAML e IAM
<a name="serverless-security-authentication"></a>

 As entidades principais do IAM e as identidades do SAML são um dos alicerces de uma política de acesso a dados. Na declaração `principal` de uma política de acesso, é possível incluir usuários e perfis do IAM e identidades SAML. Em seguida, essas entidades principais recebem as permissões que você especifica nas regras de política associadas.

```
[
   {
      "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"
      ]
   }
]
```

Você configura a autenticação SAML diretamente no OpenSearch Serverless. Para obter mais informações, consulte [Autenticação SAML para Amazon Serverless OpenSearch](serverless-saml.md). 

## Segurança da infraestrutura
<a name="serverless-infrastructure-security"></a>

O Amazon OpenSearch Serverless é protegido pela segurança de rede AWS global. Para obter informações sobre serviços AWS de segurança e como AWS proteger a infraestrutura, consulte [AWS Cloud Security](https://aws.amazon.com/security/). Para projetar seu AWS ambiente usando as melhores práticas de segurança de infraestrutura, consulte [Proteção](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) de infraestrutura no *Security Pillar AWS Well‐Architected* Framework.

Você usa chamadas de API AWS publicadas para acessar o Amazon OpenSearch Serverless pela rede. Os clientes devem ser compatíveis com o Transport Layer Security (TLS). Exigimos TLS 1.2 e recomendamos TLS 1.3. Para obter uma lista das cifras compatíveis com o TLS 1.3, consulte [Protocolos e cifras do TLS](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#tls-protocols-ciphers) na documentação do Elastic Load Balancing.

Além disso, as solicitações devem ser assinadas usando um ID de chave de acesso e uma chave de acesso secreta associada a uma entidade principal do IAM. Ou você pode usar o [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html) (AWS STS) para gerar credenciais de segurança temporárias para assinar solicitações.

# Introdução à segurança no Amazon OpenSearch Serverless
<a name="serverless-tutorials"></a>

Os tutoriais a seguir ajudam você a começar a usar o Amazon OpenSearch Serverless. Ambos os tutoriais realizam as mesmas etapas básicas, mas um usa o console enquanto o outro usa a AWS CLI.

Observe que os casos de uso nestes tutoriais são simplificados. As políticas de rede e segurança são bastante abertas. Nas workloads de produção, recomendamos que você configure recursos de segurança mais robustos, como autenticação SAML, acesso por VPC e políticas de acesso a dados restritivas.

**Topics**
+ [Tutorial: Introdução à segurança no Amazon OpenSearch Serverless (console)](gsg-serverless.md)
+ [Tutorial: Introdução à segurança no Amazon OpenSearch Serverless (CLI)](gsg-serverless-cli.md)

# Tutorial: Introdução à segurança no Amazon OpenSearch Serverless (console)
<a name="gsg-serverless"></a>

Este tutorial mostra as etapas básicas para criar e gerenciar políticas de segurança usando o console Amazon OpenSearch Serverless.

Você concluirá as seguintes etapas neste tutorial:

1. [Configurar permissões](#gsgpermissions)

1. [Criar uma política de criptografia](#gsg-encryption)

1. [Criar uma política de rede](#gsg-network)

1. [Configurar uma política de acesso a dados](#gsg-data-access)

1. [Criar uma coleção](#gsgcreate-collection)

1. [Transferir e pesquisar dados](#gsgindex-collection)

Este tutorial explica como configurar uma coleção usando Console de gerenciamento da AWS o. Para ver as mesmas etapas usando o AWS CLI, consulte[Tutorial: Introdução à segurança no Amazon OpenSearch Serverless (CLI)](gsg-serverless-cli.md).

## Etapa 1: configurar permissões
<a name="gsgpermissions"></a>

**nota**  
É possível pular esta etapa se já estiver usando uma política baseada em identidade mais ampla, como `Action":"aoss:*"` ou `Action":"*"`. Em ambientes de produção, no entanto, recomendamos que você siga a entidade principal do privilégio mínimo e atribua somente as permissões mínimas necessárias para concluir uma tarefa.

Para concluir este tutorial, você deve ter as permissões corretas do IAM. Seu usuário ou função deve ter uma [política baseada em identidade](security-iam-serverless.md#security-iam-serverless-id-based-policies) anexada com as seguintes permissões mínimas:

------
#### [ 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 obter uma lista completa das permissões OpenSearch sem servidor, consulte. [Identity and Access Management para Amazon OpenSearch Serverless](security-iam-serverless.md)

## Etapa 2: criar uma política de criptografia
<a name="gsg-encryption"></a>

[As políticas de criptografia](serverless-encryption.md) especificam a AWS KMS chave que o OpenSearch Serverless usará para criptografar a coleção. Você pode criptografar coleções com uma chave Chave gerenciada pela AWS ou uma chave diferente. Por simplicidade, neste tutorial, criptografaremos nossa coleção com uma Chave gerenciada pela AWS.

**Para criar uma política de criptografia**

1. Abra o console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home ).

1. No painel de navegação à esquerda, expanda **Sem Servidor** e escolha **Políticas de criptografia**.

1. Escolha **Criar política de criptografia**.

1. Nomeie a política como **books-policy**. Para a descrição, insira **Política de criptografia para coleção de livros**.

1. Em **Recursos**, insira **livros**, que é como você chamará sua coleção. Se você quiser ser mais amplo, inclua um asterisco (`books*`) para que a política se aplique a todas as coleções que comecem com a palavra “books” (livros).

1. Para **Criptografia**, mantenha a opção ** AWS Usar chave própria** selecionada.

1. Escolha **Criar**.

## Etapa 3: criar uma política de rede
<a name="gsg-network"></a>

[As políticas de rede](serverless-network.md) determinam se sua coleção pode ser acessada pela Internet a partir de redes públicas ou se ela deve ser acessada por meio de VPC endpoints OpenSearch gerenciados sem servidor. Neste tutorial, configuraremos o acesso público.

**Para criar uma política de rede**

1. Escolha **Políticas de rede** no painel de navegação à esquerda, e escolha **Criar política de rede**.

1. Nomeie a política como **books-policy**. Para a descrição, insira **Política de rede para coleção de livros**.

1. Na **Regra 1**, nomeie a regra como **Acesso público para coleção de livros** .

1. Para simplificar, neste tutorial, configuraremos o acesso público para a coleção *livros*. Para o tipo de acesso, selecione **Público**.

1. Vamos acessar a coleção a partir dos OpenSearch painéis. Para fazer isso, você precisa configurar o acesso à rede para painéis *e* o OpenSearch endpoint, caso contrário, os painéis não funcionarão.

   Para o tipo de recurso, habilite o **acesso aos OpenSearch endpoints** e o **acesso aos OpenSearch painéis**.

1. Em ambas as caixas de entrada, insira **Nome da coleção = livros**. Essa configuração reduz o escopo da política para que ela se aplique somente a uma única coleção (`books`). Sua regra deve ser semelhante a esta:  
![\[Search interface showing two input fields for collection or prefix term selection, both set to "books".\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/images/serverless-tutorial-network.png)

1. Escolha **Criar**.

## Etapa 4: Criar uma política de acesso a dados
<a name="gsg-data-access"></a>

Os dados da sua coleção não estarão acessíveis até que você configure o acesso aos dados. As [políticas de acesso a dados](serverless-data-access.md) são separadas da política baseada em identidade do IAM que você configurou na etapa 1. Elas permitem que os usuários acessem os dados reais de uma coleção.

Neste tutorial, forneceremos a um único usuário as permissões necessárias para indexar dados na coleção *livros*.

**Para criar uma política de acesso a dados**

1. No painel de navegação à esquerda, escolha **Políticas de acesso a dados** e, em seguida, **Criar política de acesso**.

1. Nomeie a política como **books-policy**. Para a descrição, insira **Política de acesso a dados para coleção de livros**.

1. Selecione **JSON** para o método de definição de política e cole a seguinte política no editor JSON.

   Substitua o ARN principal pelo ARN da conta que você usará para fazer login nos OpenSearch painéis e indexar dados.

   ```
   [
      {
         "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 fornece a um único usuário as permissões mínimas necessárias para criar um índice na coleção *livros*, indexar alguns dados e pesquisá-los.

1. Escolha **Criar**.

## Etapa 5: Criar uma coleção
<a name="gsgcreate-collection"></a>

Agora que você configurou as políticas de criptografia e rede, será possível criar uma coleção correspondente e as configurações de segurança serão aplicadas automaticamente a ela.

**Para criar uma coleção OpenSearch sem servidor**

1. Escolha **Coleções** no painel de navegação à esquerda e escolha **Criar coleção**.

1. Dê o nome de **livros** à coleção.

1. Para o tipo de coleção, escolha **Pesquisar**.

1. Em **Criptografia**, OpenSearch Serverless informa que o nome da coleção corresponde à política de criptografia. `books-policy`

1. Em **Configurações de acesso à rede**, o OpenSearch Serverless informa que o nome da coleção corresponde à `books-policy` política de rede.

1. Escolha **Próximo**.

1. Em **Opções de política de acesso a dados**, o OpenSearch Serverless informa que o nome da coleção corresponde à política de acesso a `books-policy` dados.

1. Escolha **Próximo**.

1. Reveja a configuração da coleção e escolha **Enviar**. Normalmente, as coleções levam menos de um minuto para serem inicializadas.

## Etapa 6: transferir e pesquisar dados
<a name="gsgindex-collection"></a>

Você pode carregar dados para uma coleção OpenSearch sem servidor usando Postman ou curl. Para resumir, esses exemplos usam **Dev Tools** no console OpenSearch Dashboards.

**Para indexar e pesquisar dados em uma coleção**

1. Escolha **Coleções** no painel de navegação à esquerda e escolha a coleção **livros** para abrir sua página de detalhes.

1. Escolha o URL dos OpenSearch painéis para a coleção. O URL assume o formato `https://collection-id.us-east-1.aoss.amazonaws.com/_dashboards`. 

1. Faça login nos OpenSearch painéis usando as [chaves de AWS acesso e secretas](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-appendix-sign-up.html) do principal que você especificou em sua política de acesso a dados.

1. Em OpenSearch Painéis, abra o menu de navegação à esquerda e escolha **Ferramentas de desenvolvimento**.

1. Para criar um único índice chamado *books-index*, execute o seguinte comando:

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

1. Para indexar um único documento em *books-index*, execute o seguinte comando:

   ```
   PUT books-index/_doc/1
   { 
     "title": "The Shining",
     "author": "Stephen King",
     "year": 1977
   }
   ```

1. Para pesquisar dados em OpenSearch painéis, você precisa configurar pelo menos um padrão de índice. OpenSearch usa esses padrões para identificar quais índices você deseja analisar. Abra o menu principal do Dashboards, escolha **Gerenciamento de pilhas**, escolha **Padrões de índice** e, em seguida, escolha **Criar padrão de índice**. Para este tutorial, insira *books-index*.

1. Escolha **Próxima etapa** e, em seguida, **Criar padrão de índice**. Depois que o padrão é criado, você pode visualizar os vários campos do documento, como `author` e `title`.

1. Para começar a pesquisar seus dados, abra o menu principal novamente e escolha **Descobrir**, ou use a [API de pesquisa](https://opensearch.org/docs/latest/opensearch/rest-api/search/).

# Tutorial: Introdução à segurança no Amazon OpenSearch Serverless (CLI)
<a name="gsg-serverless-cli"></a>

Este tutorial orienta você pelas etapas descritas no [tutorial de introdução do console](gsg-serverless.md) sobre segurança, mas usa o console AWS CLI em vez do OpenSearch Service console. 

Você concluirá as seguintes etapas neste tutorial:

1. Criar uma política do IAM

1. Anexar a política do IAM ao perfil do IAM

1. Criar uma política de criptografia

1. Criar uma política de rede

1. Criar uma coleção

1. Configurar uma política de acesso a dados

1. Recuperar o endpoint da coleta

1. Carregar dados para sua conexão

1. Pesquisar dados em sua coleção

O objetivo deste tutorial é configurar uma única coleção OpenSearch Serverless com configurações bastante simples de criptografia, rede e acesso a dados. Por exemplo, configuraremos o acesso à rede pública, uma Chave gerenciada pela AWS para criptografia e uma política simplificada de acesso a dados que concede permissões mínimas a um único usuário. 

Em um cenário de produção, considere implementar uma configuração mais robusta, incluindo autenticação SAML, uma chave de criptografia personalizada e acesso pela VPC.

**Para começar a usar as políticas de segurança no OpenSearch Serverless**

1. 
**nota**  
É possível pular esta etapa se já estiver usando uma política baseada em identidade mais ampla, como `Action":"aoss:*"` ou `Action":"*"`. Em ambientes de produção, no entanto, recomendamos que você siga a entidade principal do privilégio mínimo e atribua somente as permissões mínimas necessárias para concluir uma tarefa.

   Para começar, crie uma AWS Identity and Access Management política com as permissões mínimas necessárias para executar as etapas deste tutorial. Daremos o nome de `TutorialPolicy` à política:

   ```
   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\": \"*\"}]}"
   ```

   **Exemplo de resposta**

   ```
   {
       "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. Anexe `TutorialPolicy` ao perfil do IAM que indexará e pesquisará dados na coleção. Daremos o nome de `TutorialRole` ao usuário:

   ```
   aws iam attach-role-policy \
     --role-name TutorialRole \
     --policy-arn arn:aws:iam::123456789012:policy/TutorialPolicy
   ```

1. Antes de criar uma coleção, você precisa criar uma [política de criptografia](serverless-encryption.md) que atribua uma Chave pertencente à AWS à coleção *livros* que você criará em uma etapa posterior.

   Envie a seguinte solicitação para criar uma política de criptografia para a coleção *livros*:

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

   **Exemplo de resposta**

   ```
   {
       "securityPolicyDetail": {
           "type": "encryption",
           "name": "books-policy",
           "policyVersion": "MTY2OTI0MDAwNTk5MF8x",
           "policy": {
               "Rules": [
                   {
                       "Resource": [
                           "collection/books"
                       ],
                       "ResourceType": "collection"
                   }
               ],
               "AWSOwnedKey": true
           },
           "createdDate": 1669240005990,
           "lastModifiedDate": 1669240005990
       }
   }
   ```

1. Crie uma [política de rede](serverless-network.md) que forneça acesso público à coleção *livros*:

   ```
   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}]"
   ```

   **Exemplo de resposta**

   ```
   {
       "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. Crie a coleção *livros*:

   ```
   aws opensearchserverless create-collection --name books --type SEARCH
   ```

   **Exemplo de resposta**

   ```
   {
       "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. Crie uma [política de acesso a dados](serverless-data-access.md) que forneça as permissões mínimas para indexar e pesquisar dados na coleção *livros*. Substitua o ARN da entidade principal pelo ARN do `TutorialRole` da etapa 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\"]}]"
   ```

   **Exemplo de resposta**

   ```
   {
       "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
       }
   }
   ```

   O `TutorialRole` agora deve ser capaz de indexar e pesquisar documentos na coleção *livros*. 

1. Para fazer chamadas para a OpenSearch API, você precisa do endpoint da coleção. Envie a seguinte solicitação para recuperar o parâmetro `collectionEndpoint`:

   ```
   aws opensearchserverless batch-get-collection --names books  
   ```

   **Exemplo de resposta**

   ```
   {
       "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**  
Não será possível ver o endpoint da coleção até que o status da coleção mude para `ACTIVE`. Talvez seja necessário fazer várias chamadas para verificar o status até que a coleção seja criada com êxito.

1. Use uma ferramenta HTTP, como o [Postman](https://www.getpostman.com/) ou curl, para indexar dados na coleção *livros*. Criaremos um índice chamado *books-index* e adicionaremos um único documento.

   Envie a solicitação a seguir para o endpoint da coleção que você recuperou na etapa anterior, usando as credenciais do `TutorialRole`.

   ```
   PUT https://8kw362bpwg4gx9b2f6e0.us-east-1.aoss.amazonaws.com/books-index/_doc/1
   { 
     "title": "The Shining",
     "author": "Stephen King",
     "year": 1977
   }
   ```

   **Exemplo de resposta**

   ```
   {
     "_index" : "books-index",
     "_id" : "1",
     "_version" : 1,
     "result" : "created",
     "_shards" : {
       "total" : 0,
       "successful" : 0,
       "failed" : 0
     },
     "_seq_no" : 0,
     "_primary_term" : 0
   }
   ```

1. Para começar a pesquisar dados em sua coleção, use a [API de pesquisa](https://opensearch.org/docs/latest/opensearch/rest-api/search/). A consulta a seguir executa uma pesquisa básica:

   ```
   GET https://8kw362bpwg4gx9b2f6e0.us-east-1.aoss.amazonaws.com/books-index/_search
   ```

   **Exemplo de resposta**

   ```
   {
       "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) é uma ferramenta AWS service (Serviço da AWS) que ajuda o administrador a controlar com segurança o acesso aos AWS recursos. Os administradores do IAM controlam quem pode ser *autenticado* (conectado) e *autorizado* (tem permissões) para usar recursos sem OpenSearch servidor. O IAM é um AWS service (Serviço da AWS) que você pode usar sem custo adicional.

**Topics**
+ [Políticas baseadas em identidade para servidores sem servidor OpenSearch](#security-iam-serverless-id-based-policies)
+ [Ações políticas para OpenSearch Serverless](#security-iam-serverless-id-based-policies-actions)
+ [Recursos de políticas para OpenSearch Serverless](#security-iam-serverless-id-based-policies-resources)
+ [Chaves de condição de política para Amazon OpenSearch Serverless](#security_iam_serverless-conditionkeys)
+ [ABAC com Serverless OpenSearch](#security_iam_serverless-with-iam-tags)
+ [Usando credenciais temporárias com Serverless OpenSearch](#security_iam_serverless-tempcreds)
+ [Funções vinculadas a serviços para Serverless OpenSearch](#security_iam_serverless-slr)
+ [Outros tipos de política](#security_iam_access-manage-other-policies)
+ [Exemplos de políticas baseadas em identidade para Serverless OpenSearch](#security_iam_serverless_id-based-policy-examples)
+ [Suporte do IAM Identity Center para Amazon OpenSearch Serverless](serverless-iam-identity-center.md)

## Políticas baseadas em identidade para servidores sem servidor OpenSearch
<a name="security-iam-serverless-id-based-policies"></a>

**Compatível com políticas baseadas em identidade:** sim

As políticas baseadas em identidade são documentos de políticas de permissões JSON que podem ser anexados a uma identidade, como usuário do IAM, grupo de usuários ou perfil. Essas políticas controlam quais ações os usuários e perfis podem realizar, em quais recursos e em que condições. Para saber como criar uma política baseada em identidade, consulte [Definir permissões personalizadas do IAM com as políticas gerenciadas pelo cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) no *Guia do Usuário do IAM*.

Com as políticas baseadas em identidade do IAM, é possível especificar ações e recursos permitidos ou negados, assim como as condições sob as quais as ações são permitidas ou negadas. Para saber mais sobre todos os elementos que podem ser usados em uma política JSON, consulte [Referência de elemento de política JSON do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) no *Guia do usuário do IAM*.

### Exemplos de políticas baseadas em identidade para Serverless OpenSearch
<a name="security_iam_id-based-policy-examples"></a>

Para ver exemplos de políticas baseadas em identidade OpenSearch sem servidor, consulte. [Exemplos de políticas baseadas em identidade para Serverless OpenSearch](#security_iam_serverless_id-based-policy-examples)

## Ações políticas para OpenSearch Serverless
<a name="security-iam-serverless-id-based-policies-actions"></a>

**Compatível com ações de políticas:** sim

O elemento `Action` de uma política JSON descreve as ações que podem ser usadas para permitir ou negar acesso em uma política. As ações de política geralmente têm o mesmo nome da operação de AWS API associada. Existem algumas exceções, como *ações somente de permissão*, que não têm uma operação de API correspondente. Algumas operações também exigem várias ações em uma política. Essas ações adicionais são chamadas de *ações dependentes*.

Incluem ações em uma política para conceder permissões para executar a operação associada.

As ações de política no OpenSearch Serverless usam o seguinte prefixo antes da ação:

```
aoss
```

Para especificar várias ações em uma única declaração, separe-as com vírgulas.

```
"Action": [
      "aoss:action1",
      "aoss:action2"
         ]
```

É possível especificar várias ações usando caracteres curinga (\$1). Por exemplo, para especificar todas as ações que começam com a palavra `Describe`, inclua a seguinte ação:

```
"Action": "aoss:List*"
```

Para ver exemplos de políticas baseadas em identidade OpenSearch sem servidor, consulte. [Exemplos de políticas baseadas em identidade para Serverless OpenSearch](#security_iam_id-based-policy-examples)

## Recursos de políticas para OpenSearch Serverless
<a name="security-iam-serverless-id-based-policies-resources"></a>

**Compatível com recursos de políticas:** sim

Os administradores podem usar políticas AWS JSON para especificar quem tem acesso ao quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento de política JSON `Resource` especifica o objeto ou os objetos aos quais a ação se aplica. Como prática recomendada, especifique um recurso usando seu [nome do recurso da Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Para ações que não oferecem compatibilidade com permissões em nível de recurso, use um curinga (\$1) para indicar que a instrução se aplica a todos os recursos.

```
"Resource": "*"
```

## Chaves de condição de política para Amazon OpenSearch Serverless
<a name="security_iam_serverless-conditionkeys"></a>

**Compatível com chaves de condição de política específicas de serviço:** sim

Os administradores podem usar políticas AWS JSON para especificar quem tem acesso ao quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento `Condition` especifica quando as instruções são executadas com base em critérios definidos. É possível criar expressões condicionais que usem [agentes de condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), como “igual a” ou “menor que”, para fazer a condição da política corresponder aos valores na solicitação. Para ver todas as chaves de condição AWS globais, consulte as [chaves de contexto de condição AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) no *Guia do usuário do IAM*.

Além do controle de acesso baseado em atributos (ABAC), o OpenSearch Serverless oferece suporte às seguintes chaves de condição:
+ `aoss:collection`
+ `aoss:CollectionId`
+ `aoss:index`

É possível usar essas chaves de condição mesmo ao fornecer permissões para políticas de acesso e políticas de segurança. Por exemplo:

```
[
   {
      "Effect":"Allow",
      "Action":[
         "aoss:CreateAccessPolicy",
         "aoss:CreateSecurityPolicy"
      ],
      "Resource":"*",
      "Condition":{
         "StringLike":{
            "aoss:collection":"log"
         }
      }
   }
]
```

Neste exemplo, a condição se aplica às políticas que contenham *regras* que correspondam a um nome ou padrão de coleção. As condições têm o seguinte comportamento:
+ `StringEquals`: aplica-se a políticas com regras que contenham a string de recurso “log” *exata* (ou seja, `collection/log`).
+ `StringLike`: aplica-se a políticas com regras que contenham uma string de recurso que *inclua* a string “log” (ou seja, `collection/log`, mas também `collection/logs-application` ou `collection/applogs123`).

**nota**  
As chaves de condição *coleção* não se aplicam ao nível do índice. Por exemplo, na política acima, a condição não se aplicaria a uma política de acesso ou segurança contendo a string de recurso `index/logs-application/*`.

*Para ver uma lista de chaves de condição OpenSearch sem servidor, consulte [Chaves de condição para Amazon OpenSearch Serverless](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonopensearchserverless.html#amazonopensearchserverless-policy-keys) na Referência de autorização de serviço.* Para saber com quais ações e recursos você pode usar uma chave de condição, consulte [Ações definidas pelo Amazon OpenSearch Serverless](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonopensearchserverless.html#amazonopensearchserverless-actions-as-permissions).

## ABAC com Serverless OpenSearch
<a name="security_iam_serverless-with-iam-tags"></a>

**Compatível com ABAC (tags em políticas):** sim

O controle de acesso por atributo (ABAC) é uma estratégia de autorização que define permissões com base em atributos chamados de tags. Você pode anexar tags a entidades e AWS recursos do IAM e, em seguida, criar políticas ABAC para permitir operações quando a tag do diretor corresponder à tag no recurso.

Para controlar o acesso baseado em tags, forneça informações sobre as tags no [elemento de condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) de uma política usando as `aws:ResourceTag/key-name`, `aws:RequestTag/key-name` ou chaves de condição `aws:TagKeys`.

Se um serviço for compatível com as três chaves de condição para cada tipo de recurso, o valor será **Sim** para o serviço. Se um serviço for compatível com as três chaves de condição somente para alguns tipos de recursos, o valor será **Parcial**

Para saber mais sobre o ABAC, consulte [Definir permissões com autorização do ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) no *Guia do usuário do IAM*. Para visualizar um tutorial com etapas para configurar o ABAC, consulte [Usar controle de acesso por atributo (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) no *Guia do usuário do IAM*.

Para obter mais informações sobre a marcação de recursos OpenSearch sem servidor, consulte. [Marcação de coleções Amazon OpenSearch Serverless](tag-collection.md)

## Usando credenciais temporárias com Serverless OpenSearch
<a name="security_iam_serverless-tempcreds"></a>

**Compatível com credenciais temporárias:** sim

As credenciais temporárias fornecem acesso de curto prazo aos AWS recursos e são criadas automaticamente quando você usa a federação ou troca de funções. AWS recomenda que você gere credenciais temporárias dinamicamente em vez de usar chaves de acesso de longo prazo. Para ter mais informações, consulte [Credenciais de segurança temporárias no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) e [Serviços da Serviços da AWS que funcionam com o IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) no *Guia do usuário do IAM*.

## Funções vinculadas a serviços para Serverless OpenSearch
<a name="security_iam_serverless-slr"></a>

**Compatibilidade com perfis vinculados a serviços:** sim

 Uma função vinculada ao serviço é um tipo de função de serviço vinculada a um. AWS service (Serviço da AWS) O serviço pode assumir o perfil de executar uma ação em seu nome. As funções vinculadas ao serviço aparecem em você Conta da AWS e são de propriedade do serviço. Um administrador do IAM pode visualizar, mas não editar as permissões para perfis vinculados ao serviço. 

Para obter detalhes sobre como criar e gerenciar funções vinculadas a serviços OpenSearch sem servidor, consulte. [Usando funções vinculadas a serviços para criar OpenSearch coleções sem servidor](serverless-service-linked-roles.md)

## Outros tipos de política
<a name="security_iam_access-manage-other-policies"></a>

AWS oferece suporte a tipos de políticas adicionais menos comuns. Esses tipos de política podem definir o máximo de permissões concedidas a você pelos tipos de política mais comuns.
+ **Políticas de controle de serviço (SCPs)** — SCPs são políticas JSON que especificam as permissões máximas para uma organização ou unidade organizacional (OU) em AWS Organizations. AWS Organizations é um serviço para agrupar e gerenciar centralmente várias AWS contas que sua empresa possui. Se você habilitar todos os recursos em uma organização, poderá aplicar políticas de controle de serviço (SCPs) a qualquer uma ou a todas as suas contas. O SCP limita as permissões para entidades nas contas dos membros, incluindo cada usuário raiz AWS da conta. Para obter mais informações sobre Organizations e SCPs, consulte [Políticas de controle de serviços](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) no *Guia AWS Organizations do Usuário*.
+ **Políticas de controle de recursos (RCPs)** — RCPs são políticas JSON que você pode usar para definir o máximo de permissões disponíveis para recursos em suas contas sem atualizar as políticas do IAM anexadas a cada recurso que você possui. A RCP limita as permissões para recursos nas contas-membro e pode afetar as permissões efetivas para identidades, incluindo o usuário-raiz da conta da AWS , independentemente de pertencerem a sua organização. Para obter mais informações sobre Organizations e RCPs, incluindo uma lista de AWS serviços que oferecem suporte RCPs, consulte [Políticas de controle de recursos (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) no *Guia AWS Organizations do usuário*.

## Exemplos de políticas baseadas em identidade para Serverless OpenSearch
<a name="security_iam_serverless_id-based-policy-examples"></a>

Por padrão, usuários e funções não têm permissão para criar ou modificar recursos OpenSearch sem servidor. Para conceder permissão aos usuários para executar ações nos recursos que eles precisam, um administrador do IAM pode criar políticas do IAM.

Para aprender a criar uma política baseada em identidade do IAM ao usar esses documentos de política em JSON de exemplo, consulte [Criar políticas do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) no *Guia do usuário do IAM*.

*Para obter detalhes sobre ações e tipos de recursos definidos pelo Amazon OpenSearch Serverless, incluindo o formato de cada um dos ARNs tipos de recursos, consulte [Ações, recursos e chaves de condição do Amazon OpenSearch Serverless](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonopensearchserverless.html) na Referência de Autorização de Serviço.*

**Topics**
+ [Melhores práticas de políticas](#security_iam_serverless-policy-best-practices)
+ [Usando o OpenSearch Serverless no console](#security_iam_serverless_id-based-policy-examples-console)
+ [Administrando coleções sem OpenSearch servidor](#security_iam_id-based-policy-examples-collection-admin)
+ [Visualizando OpenSearch coleções sem servidor](#security_iam_id-based-policy-examples-view-collections)
+ [Usando operações OpenSearch de API](#security_iam_id-based-policy-examples-data-plane)
+ [ABAC para operações de OpenSearch API](#security_iam_id-based-policy-examples-data-plane-abac)

### Melhores práticas de políticas
<a name="security_iam_serverless-policy-best-practices"></a>

As políticas baseadas em identidade são muito poderosas. Eles determinam se alguém pode criar, acessar ou excluir recursos OpenSearch sem servidor em sua conta. Essas ações podem incorrer em custos para sua Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:

As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir recursos OpenSearch sem servidor em sua conta. Essas ações podem incorrer em custos para sua Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:
+ **Comece com as políticas AWS gerenciadas e avance para as permissões de privilégios mínimos — Para começar a conceder permissões** aos seus usuários e cargas de trabalho, use as *políticas AWS gerenciadas* que concedem permissões para muitos casos de uso comuns. Eles estão disponíveis no seu Conta da AWS. Recomendamos que você reduza ainda mais as permissões definindo políticas gerenciadas pelo AWS cliente que sejam específicas para seus casos de uso. Para saber mais, consulte [Políticas gerenciadas pela AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) ou [Políticas gerenciadas pela AWS para funções de trabalho](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) no *Guia do usuário do IAM*.
+ **Aplique permissões de privilégio mínimo**: ao definir permissões com as políticas do IAM, conceda apenas as permissões necessárias para executar uma tarefa. Você faz isso definindo as ações que podem ser executadas em recursos específicos sob condições específicas, também conhecidas como *permissões de privilégio mínimo*. Para saber mais sobre como usar o IAM para aplicar permissões, consulte [Políticas e permissões no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) no *Guia do usuário do IAM*.
+ **Use condições nas políticas do IAM para restringir ainda mais o acesso**: é possível adicionar uma condição às políticas para limitar o acesso a ações e recursos. Por exemplo, é possível escrever uma condição de política para especificar que todas as solicitações devem ser enviadas usando SSL. Você também pode usar condições para conceder acesso às ações de serviço se elas forem usadas por meio de uma ação específica AWS service (Serviço da AWS), como CloudFormation. Para saber mais, consulte [Elementos da política JSON do IAM: condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) no *Guia do usuário do IAM*.
+ **Use o IAM Access Analyzer para validar suas políticas do IAM a fim de garantir permissões seguras e funcionais**: o IAM Access Analyzer valida as políticas novas e existentes para que elas sigam a linguagem de política do IAM (JSON) e as práticas recomendadas do IAM. O IAM Access Analyzer oferece mais de cem verificações de política e recomendações práticas para ajudar a criar políticas seguras e funcionais. Para saber mais, consulte [Validação de políticas do IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) no *Guia do Usuário do IAM*.
+ **Exigir autenticação multifator (MFA**) — Se você tiver um cenário que exija usuários do IAM ou um usuário root, ative Conta da AWS a MFA para obter segurança adicional. Para exigir MFA quando as operações de API forem chamadas, adicione condições de MFA às suas políticas. Para saber mais, consulte [Configuração de acesso à API protegido por MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) no *Guia do Usuário do IAM*.

Para saber mais sobre as práticas recomendadas do IAM, consulte [Práticas recomendadas de segurança no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) no *Guia do usuário do IAM*.

### Usando o OpenSearch Serverless no console
<a name="security_iam_serverless_id-based-policy-examples-console"></a>

Para acessar o OpenSearch Serverless no console OpenSearch de serviço, você deve ter um conjunto mínimo de permissões. Essas permissões devem permitir que você liste e visualize detalhes sobre os recursos OpenSearch sem servidor em sua AWS conta. Se você criar uma política baseada em identidade que seja mais restritiva que as permissões mínimas necessárias, o console não funcionará como pretendido para entidades (como perfis do IAM) com essa política.

Você não precisa permitir permissões mínimas do console para usuários que estão fazendo chamadas somente para a API AWS CLI ou para a AWS API. Em vez disso, permita o acesso somente às ações que corresponderem a operação da API que você estiver tentando executar.

A política a seguir permite que um usuário acesse o OpenSearch Serverless no console de OpenSearch serviço:

------
#### [ 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"
            ]
        }
    ]
}
```

------

### Administrando coleções sem OpenSearch servidor
<a name="security_iam_id-based-policy-examples-collection-admin"></a>

Essa política é um exemplo de política de “administrador de coleções” que permite ao usuário gerenciar e administrar coleções Amazon OpenSearch Serverless. O usuário pode criar, exibir e excluir coleções.

------
#### [ 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"
        }
    ]
}
```

------

### Visualizando OpenSearch coleções sem servidor
<a name="security_iam_id-based-policy-examples-view-collections"></a>

Este exemplo de política permite que um usuário visualize detalhes de todas as coleções Amazon OpenSearch Serverless em sua conta. O usuário não pode modificar as coleções nem as políticas de segurança associadas.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Resource": "*",
            "Action": [
                "aoss:ListAccessPolicies",
                "aoss:ListCollections",
                "aoss:ListSecurityPolicies",
                "aoss:ListTagsForResource",
                "aoss:BatchGetCollection"
            ],
            "Effect": "Allow"
        }
    ]
}
```

------

### Usando operações OpenSearch de API
<a name="security_iam_id-based-policy-examples-data-plane"></a>

As operações da API do plano de dados consistem nas funções que você usa no OpenSearch Serverless para obter valor em tempo real do serviço. As operações da API do ambiente de gerenciamento consistem nas funções que você usa para configurar o ambiente. 

Para acessar o plano de dados APIs e os OpenSearch painéis do Amazon OpenSearch Serverless a partir do navegador, você precisa adicionar duas permissões do IAM para recursos de coleta. Essas permissões são `aoss:APIAccessAll` e `aoss:DashboardsAccessAll`. 

**nota**  
A partir de 10 de maio de 2023, o OpenSearch Serverless exige essas duas novas permissões do IAM para recursos de coleta. A `aoss:APIAccessAll` permissão permite o acesso ao plano de dados e a `aoss:DashboardsAccessAll` permissão permite OpenSearch painéis a partir do navegador. A falha na adição das duas novas permissões do IAM resulta em um erro 403. 

Este exemplo de política permite que um usuário acesse o plano APIs de dados de uma coleção específica em sua conta e acesse os OpenSearch painéis de todas as coleções em sua conta.

------
#### [ 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` fornecem permissão total do IAM aos recursos da coleção, enquanto a permissão Dashboards também fornece acesso aos OpenSearch painéis. Cada permissão funciona de forma independente, portanto, uma negação explícita de `aoss:APIAccessAll` não bloqueia o acesso aos recursos de `aoss:DashboardsAccessAll`, incluindo as Ferramentas de desenvolvimento. O mesmo vale para uma negação`aoss:DashboardsAccessAll`. OpenSearch O Serverless oferece suporte às seguintes chaves de condição globais: 
+ `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`

O seguinte exemplo mostra o uso de `aws:SourceIp` no bloco de condição da política do IAM da entidade principal para chamadas ao plano de dados:

```
"Condition": {
    "IpAddress": {
         "aws:SourceIp": "203.0.113.0"
    }
}
```

O seguinte exemplo mostra o uso de `aws:SourceVpc` no bloco de condição da política do IAM da entidade principal para chamadas ao plano de dados:

```
"Condition": {
    "StringEquals": {
        "aws:SourceVpc": "vpc-0fdd2445d8EXAMPLE"
    }
}
```

Além disso, é oferecido suporte para as seguintes chaves específicas do OpenSearch Serverless: 
+ `aoss:CollectionId`
+ `aoss:collection`

O seguinte exemplo mostra o uso de `aoss:collection` no bloco de condição da política do IAM da entidade principal para chamadas ao plano de dados:

```
"Condition": {
    "StringLike": {
         "aoss:collection": "log-*"
    }
}
```

### ABAC para operações de OpenSearch API
<a name="security_iam_id-based-policy-examples-data-plane-abac"></a>

As políticas baseadas em identidade permitem que você use tags para controlar o acesso ao plano de dados Amazon OpenSearch Serverless. APIs A política a seguir é um exemplo para permitir que diretores anexados acessem o plano de dados APIs se a coleção tiver a `team:devops` tag:

------
#### [ 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"
                }
            }
        }
    ]
}
```

------

A política a seguir é um exemplo para negar que diretores anexados acessem o plano de dados APIs e o acesso aos painéis se a coleção tiver a `environment:production` tag:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "aoss:APIAccessAll",
                "aoss:DashboardsAccessAll"
            ],
            "Resource": "arn:aws:aoss:us-east-1:111122223333:collection/collection-id"
        }
    ]
}
```

------

O Amazon OpenSearch Serverless não oferece suporte a chaves `RequestTag` de condição `TagKeys` globais para planos de dados. APIs 

# Suporte do IAM Identity Center para Amazon OpenSearch Serverless
<a name="serverless-iam-identity-center"></a>

## Suporte do IAM Identity Center para Amazon OpenSearch Serverless
<a name="serverless-iam-identity-support"></a>

Você pode usar os diretores do IAM Identity Center (usuários e grupos) para acessar dados do Amazon OpenSearch Serverless por meio dos Amazon Applications. OpenSearch Para habilitar o suporte do IAM Identity Center para Amazon OpenSearch Serverless, você precisará habilitar o uso do IAM Identity Center. Para saber mais sobre como fazer isso, consulte [O que é o IAM Identity?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)

**nota**  
Para acessar as coleções do Amazon OpenSearch Serverless usando usuários ou grupos do IAM Identity Center, você deve usar o recurso OpenSearch UI (Applications). O acesso direto aos painéis OpenSearch sem servidor usando as credenciais do IAM Identity Center não é suportado. Para obter mais informações, consulte [Introdução à interface do OpenSearch usuário](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/application.html).

Depois que a instância do IAM Identity Center é criada, o administrador da conta do cliente precisa criar um aplicativo do IAM Identity Center para o OpenSearch serviço Amazon Serverless. Isso pode ser feito chamando o [CreateSecurityConfig:](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateSecurityConfig.html). O administrador da conta de cliente pode especificar quais atributos serão usados para autorizar a solicitação. Os atributos padrão usados são `UserId` e `GroupId.`

A integração do IAM Identity Center para o Amazon OpenSearch Serverless usa as seguintes permissões AWS do IAM Identity Center (IAM):
+ `aoss:CreateSecurityConfig`: criar um provedor do IAM Identity Center
+ `aoss:ListSecurityConfig`: listar todos os provedores do IAM Identity Center na conta atual.
+ `aoss:GetSecurityConfig`: visualizar informações do provedor do IAM Identity Center.
+ `aoss:UpdateSecurityConfig`: modificar uma determinada configuração do IAM Identity Center
+ `aoss:DeleteSecurityConfig`: excluir um provedor do IAM Identity Center 

A seguinte política de acesso baseada em identidade pode ser usada para gerenciar todas as configurações do IAM Identity Center:

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

****  

```
{
"Version": "2012-10-17",
    "Statement": [
        {
"Action": [
                "aoss:CreateSecurityConfig",
                "aoss:DeleteSecurityConfig",
                "aoss:GetSecurityConfig",
                "aoss:UpdateSecurityConfig",
                "aoss:ListSecurityConfigs"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

------

**nota**  
O elemento `Resource` deve ser um caractere curinga.

## Criar um provedor do IAM Identity Center (console)
<a name="serverless-iam-console"></a>

Você pode criar um provedor do IAM Identity Center para habilitar a autenticação com o OpenSearch aplicativo. Para habilitar a autenticação do IAM Identity Center para OpenSearch painéis, execute as seguintes etapas:

1. Faça login no [console do Amazon OpenSearch Service](https://console.aws.amazon.com/aos/home.).

1. No painel de navegação à esquerda, expanda **Tecnologia sem servidor** e escolha **Autenticação**.

1. Escolha **Autenticação do IAM Identity Center**.

1. Selecione **Editar**

1. Marque a caixa ao lado de Autenticar com o IAM Identity Center.

1. Selecione a chave de atributo **usuário e grupo** no menu suspenso. Os atributos de usuário serão usados para autorizar usuários com base em `UserName`, `UserId` e `Email`. Os atributos de usuário serão usados para autorizar usuário com base em `GroupName` e `GroupId`.

1. Selecione a instância do **IAM Identity Center**.

1. Selecione **Salvar**.

## Criar provedor do IAM Identity Center (AWS CLI)
<a name="serverless-iam-identity-center-cli"></a>

Para criar um provedor do IAM Identity Center usando o AWS Command Line Interface (AWS CLI), use o seguinte 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"
}'
```

Depois que um IAM Identity Center é habilitado, os clientes somente podem modificar os atributos de **usuário e 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 visualizar o provedor do IAM Identity Center usando o AWS Command Line Interface, use o seguinte comando:

```
aws opensearchserverless list-security-configs --type iamidentitycenter
```

## Excluir provedor do IAM Identity Center
<a name="serverless-iam-identity-center-deleting"></a>

 O IAM Identity Center oferece duas instâncias de provedores, uma para a conta da organização e outra para a sua conta de membro. Se precisar alterar a instância do IAM Identity Center, você terá que excluir a configuração de segurança por meio da API `DeleteSecurityConfig` e criar uma nova configuração de segurança usando a nova instância do IAM Identity Center. O seguinte comando pode ser usado para excluir um provedor do IAM Identity Center:

```
aws opensearchserverless delete-security-config \
--region us-east-1 \
--id <id_from_list_security_configs>
```

## Conceder ao IAM Identity Center acesso a dados de coleção
<a name="serverless-iam-identity-center-collection-data"></a>

Depois que o provedor do IAM Identity Center está habilitado, você pode atualizar a política de acesso a dados da coleção para incluir as entidades principais do IAM Identity Center. As entidades principais do IAM Identity Center precisam ser atualizadas no seguinte formato: 

```
[
   {
"Rules":[
       ...  
      ],
      "Principal":[
         "iamidentitycenter/<iamidentitycenter-instance-id>/user/<UserName>",
         "iamidentitycenter/<iamidentitycenter-instance-id>/group/<GroupId>"
      ]
   }
]
```

**nota**  
O Amazon OpenSearch Serverless oferece suporte a apenas uma instância do IAM Identity Center para todas as coleções de clientes e pode suportar até 100 grupos para um único usuário. Se você tentar usar mais do que o número permitido de instâncias, terá inconsistência no processamento da autorização da política de acesso a dados e receberá uma mensagem de erro `403`. 

É possível conceder acesso a coleções, índices ou ambos. Se você quiser que usuários diferentes tenham permissões diferentes, precisará criar várias regras. Para obter uma lista das permissões disponíveis, consulte [Identity and Access Management no Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ac.html). Para obter informações sobre como formatar uma política de acesso, consulte [Conceder a identidades SAML acesso a dados de coleções](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-saml.html#serverless-saml-policies). 

# Criptografia no Amazon OpenSearch Serverless
<a name="serverless-encryption"></a>

## Criptografia em repouso
<a name="serverless-encryption-at-rest"></a>

Cada coleção Amazon OpenSearch Serverless que você cria é protegida com criptografia de dados em repouso, um recurso de segurança que ajuda a impedir o acesso não autorizado aos seus dados. A criptografia em repouso usa AWS Key Management Service (AWS KMS) para armazenar e gerenciar suas chaves de criptografia. Ela usa o algoritmo Advanced Encryption Standard com chaves de 256 bits (AES-256) para executar a criptografia.

**Topics**
+ [Políticas de criptografia](#serverless-encryption-policies)
+ [Considerações](#serverless-encryption-considerations)
+ [Permissões obrigatórias](#serverless-encryption-permissions)
+ [Política de chaves para uma chave gerenciada pelo cliente](#serverless-customer-cmk-policy)
+ [Como o OpenSearch Serverless usa subsídios em AWS KMS](#serverless-encryption-grants)
+ [Criação de políticas de criptografia (console)](#serverless-encryption-console)
+ [Criação de políticas de criptografia (AWS CLI)](#serverless-encryption-cli)
+ [Exibição de políticas de criptografia](#serverless-encryption-list)
+ [Atualização de políticas de criptografia](#serverless-encryption-update)
+ [Exclusão de políticas de criptografia](#serverless-encryption-delete)

### Políticas de criptografia
<a name="serverless-encryption-policies"></a>

Com as políticas de criptografia, é possível gerenciar várias coleções em grande escala atribuindo automaticamente uma chave de criptografia às coleções recém-criadas que correspondam a um nome ou padrão específico.

Ao criar uma política de criptografia, é possível especificar um *prefixo*, que é uma regra de correspondência baseada em curingas, como `MyCollection*`, ou inserir um único nome de coleção. Em seguida, quando você criar uma coleção que corresponda a esse padrão de nome ou prefixo, a política e a chave do KMS correspondente serão automaticamente atribuídas a ela.

Ao criar uma coleção, você pode especificar uma AWS KMS chave de duas maneiras: por meio de políticas de segurança ou diretamente na `CreateCollection` solicitação. Se você fornecer uma AWS KMS chave como parte da `CreateCollection` solicitação, ela terá precedência sobre qualquer política de segurança correspondente. Com essa abordagem, você tem a flexibilidade de substituir as configurações de criptografia baseadas em políticas para coleções específicas quando necessário.

![\[Encryption policy creation process with rules and collection matching to KMS key.\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/images/serverless-encryption.png)


As políticas de criptografia contêm os seguintes elementos:
+ `Rules`: uma ou mais regras de correspondência de coleções, cada uma com os seguintes subelementos:
  + `ResourceType`: no momento, a única opção é “collection” (coleção). As políticas de criptografia se aplicam somente aos recursos de coleção.
  + `Resource`: um ou mais nomes ou padrões de coleção aos quais a política será aplicada, no formato `collection/<collection name|pattern>`.
+ `AWSOwnedKey`: opção de uso de uma Chave pertencente à AWS.
+ `KmsARN`: se você definir `AWSOwnedKey` como falso, especifique o nome do recurso da Amazon (ARN) da chave do KMS com a qual criptografar as coleções associadas. Se você incluir esse parâmetro, o OpenSearch Serverless ignorará o parâmetro. `AWSOwnedKey`

O exemplo de política a seguir atribuirá uma chave gerenciada pelo cliente a qualquer coleção futura denominada `autopartsinventory`, bem como às coleções que comecem com o termo “sales” (vendas):

```
{
   "Rules":[
      {
         "ResourceType":"collection",
         "Resource":[
            "collection/autopartsinventory",
            "collection/sales*"
         ]
      }
   ],
   "AWSOwnedKey":false,
   "KmsARN":"arn:aws:kms:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36"
}
```

Mesmo que uma política corresponda a um nome de coleção, é possível optar por substituir essa atribuição automática durante a criação da coleção se o padrão do recurso contiver um caractere curinga (\$1). Se você optar por substituir a atribuição automática de chaves, o OpenSearch Serverless cria uma política de criptografia para você chamada **auto-< *collection-name* >** e a anexa à coleção. Inicialmente, a política só se aplica a uma única coleção, mas é possível modificá-la para incluir coleções adicionais.

Se você modificar as regras de política para que não correspondam mais a uma coleção, a chave do KMS associada não terá a atribuição a essa coleção cancelada. A coleção permanece sempre criptografada com sua chave de criptografia inicial. Se você desejar alterar a chave de criptografia de uma coleção, deverá recriar a coleção.

Se as regras de várias políticas corresponderem a uma coleção, a regra mais específica será usada. Por exemplo, se uma política contiver uma regra para `collection/log*` e outra para `collection/logSpecial`, a chave de criptografia da segunda política será usada porque é mais específica.

Você não pode usar um nome ou prefixo em uma política se ela já existir em outra política. OpenSearch O Serverless exibirá um erro se você tentar configurar padrões de recursos idênticos em políticas de criptografia diferentes.

### Considerações
<a name="serverless-encryption-considerations"></a>

Considere o seguinte ao configurar a criptografia de suas coleções:
+ A criptografia em repouso é *obrigatória* para todas as coleções do Sem Servidor.
+ Você tem a opção de usar uma chave gerenciada pelo cliente ou uma Chave pertencente à AWS. Se você escolher uma chave gerenciada pelo cliente, recomendamos habilitar a [rotação automática de chaves](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html).
+ Não é possível alterar a chave de criptografia de uma coleção depois que a coleção é criada. Escolha cuidadosamente qual AWS KMS usar na primeira vez que você configura uma coleção.
+ Uma coleção só pode corresponder a uma única política de criptografia.
+ Coleções com chaves KMS exclusivas não podem compartilhar Unidades de OpenSearch Computação (OCUs) com outras coleções. Cada coleção com uma chave exclusiva requer suas próprias 4 OCUs.
+ Se você atualizar a chave do KMS em uma política de criptografia, a alteração não afetará as coleções correspondentes existentes com as chaves do KMS já atribuídas.
+ OpenSearch O Serverless não verifica explicitamente as permissões do usuário nas chaves gerenciadas pelo cliente. Se um usuário tiver permissões para acessar uma coleção por meio de uma política de acesso a dados, ele poderá ingerir e consultar os dados criptografados com a chave associada.

### Permissões obrigatórias
<a name="serverless-encryption-permissions"></a>

A criptografia em repouso para OpenSearch Serverless usa as seguintes permissões AWS Identity and Access Management (IAM). É possível especificar as condições do IAM para restringir os usuários a coleções específicas.
+ `aoss:CreateSecurityPolicy`: cria uma política de criptografia.
+ `aoss:ListSecurityPolicies`: lista todas as políticas e coleções de criptografia às quais elas estão vinculadas.
+ `aoss:GetSecurityPolicy`: exibe os detalhes de uma política de criptografia específica.
+ `aoss:UpdateSecurityPolicy`: modifica uma política de criptografia.
+ `aoss:DeleteSecurityPolicy`: exclui uma política de criptografia.

O exemplo a seguir de política de acesso baseada em identidade fornece as permissões mínimas necessárias para que um usuário gerencie políticas de criptografia com o padrão 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 chaves para uma chave gerenciada pelo cliente
<a name="serverless-customer-cmk-policy"></a>

Se você selecionar uma [chave gerenciada pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) para proteger uma coleção, a OpenSearch Serverless obterá permissão para usar a chave KMS em nome do diretor que faz a seleção. Esse diretor, um usuário ou uma função, deve ter as permissões na chave KMS que o OpenSearch Serverless exige. É possível fornecer essas permissões em uma [política de chaves](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) ou em uma [política do IAM](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html).

OpenSearch O Serverless faz `GenerateDataKey` e faz chamadas à API `Decrypt` KMS durante operações de manutenção, como escalonamento automático e atualizações de software. Você pode observar essas chamadas fora dos padrões de tráfego típicos. Essas chamadas fazem parte das operações normais do serviço e não indicam tráfego ativo de usuários. 

OpenSearch O Serverless gera um `KMSKeyInaccessibleException` quando não consegue acessar a chave KMS que criptografa seus dados em repouso. Isso ocorre quando você desativa ou exclui a chave KMS ou revoga as concessões que permitem que o OpenSearch Serverless use a chave.

No mínimo, o OpenSearch Serverless exige as seguintes permissões em uma chave gerenciada pelo cliente:
+ [kms: DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)
+ [kms: CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)

Por exemplo:

------
#### [ 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 [Sem servidor, crie uma concessão com as permissões [kms: GenerateDataKey e kms:decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html).](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)

Para saber mais, consulte [Uso de políticas de chaves no AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) no *Guia do desenvolvedor do AWS Key Management Service *.

### Como o OpenSearch Serverless usa subsídios em AWS KMS
<a name="serverless-encryption-grants"></a>

OpenSearch O Serverless exige uma [concessão](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) para usar uma chave gerenciada pelo cliente.

Quando você cria uma política de criptografia em sua conta com uma nova chave, o OpenSearch Serverless cria uma concessão em seu nome enviando uma [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)solicitação para. AWS KMS As concessões AWS KMS são usadas para dar acesso OpenSearch sem servidor a uma chave KMS em uma conta de cliente.

OpenSearch O Serverless exige que a concessão use sua chave gerenciada pelo cliente para as seguintes operações internas:
+ Envie [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)solicitações AWS KMS para verificar se a ID simétrica da chave gerenciada pelo cliente fornecida é válida. 
+ Envie [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)solicitações para a chave KMS para criar chaves de dados com as quais criptografar objetos.
+ Envie solicitações de [descriptografia para AWS KMS descriptografar](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) as chaves de dados criptografadas para que elas possam ser usadas para criptografar seus dados. 

É possível revogar o acesso à concessão, ou remover o acesso do serviço à chave gerenciada pelo cliente a qualquer momento. Se você fizer isso, o OpenSearch Serverless não poderá acessar nenhum dos dados criptografados pela chave gerenciada pelo cliente, o que afeta todas as operações que dependem desses dados, levando a `AccessDeniedException` erros e falhas nos fluxos de trabalho assíncronos.

OpenSearch O Serverless retira as concessões em um fluxo de trabalho assíncrono quando uma determinada chave gerenciada pelo cliente não está associada a nenhuma política ou coleção de segurança.

### Criação de políticas de criptografia (console)
<a name="serverless-encryption-console"></a>

Em uma política de criptografia, você especifica uma chave do KMS e uma série de padrões de coleção aos quais a política se aplicará. Qualquer nova coleção que corresponda a um dos padrões definidos na política receberá a chave do KMS correspondente quando você criar a coleção. Recomendamos que você crie políticas de criptografia *antes* de começar a criar coleções.

**Para criar uma política de criptografia OpenSearch sem servidor**

1. Abra o console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. No painel de navegação à esquerda, expanda **Sem Servidor** e escolha **Políticas de criptografia**.

1. Escolha **Criar política de criptografia**.

1. Forneça um nome e uma descrição para a política.

1. Em **Recursos**, insira um ou mais padrões de recursos para essa política de criptografia. Todas as coleções recém-criadas na Conta da AWS e região atual que correspondam a um dos padrões serão automaticamente atribuídas a essa política. Por exemplo, se você inserir `ApplicationLogs` (sem nenhum curinga) e depois criar uma coleção com esse nome, a política e a chave do KMS correspondente serão atribuídas a essa coleção.

   Você também pode fornecer um prefixo como `Logs*`, que atribuirá a política a qualquer nova coleção com nomes começando com `Logs`. Usando curingas, é possível gerenciar as configurações de criptografia para várias coleções em grande escala.

1. Em **Criptografia**, escolha uma chave do KMS para usar.

1. Escolha **Criar**.

#### Próxima etapa: criar coleções
<a name="serverless-encryption-next"></a>

Depois de configurar uma ou mais políticas de criptografia, será possível começar a criar coleções que correspondam às regras definidas nessas políticas. Para instruções, consulte [Criação de coleções](serverless-create.md).

Na etapa **Criptografias** da criação da coleção, o OpenSearch Serverless informa que o nome inserido corresponde ao padrão definido em uma política de criptografia e atribui automaticamente a chave KMS correspondente à coleção. Se o padrão do recurso contiver um curinga (\$1), será possível optar por substituir a correspondência e selecionar sua própria chave.

### Criação de políticas de criptografia (AWS CLI)
<a name="serverless-encryption-cli"></a>

Para criar uma política de criptografia usando as operações da API OpenSearch Serverless, você especifica padrões de recursos e uma chave de criptografia no formato JSON. A [CreateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateSecurityPolicy.html)solicitação aceita políticas embutidas e arquivos.json.

As políticas de criptografia têm o formato a seguir. Esse arquivo `my-policy.json` de exemplo corresponde a qualquer coleção futura denominada `autopartsinventory`, bem como a qualquer coleção com nomes iniciando por `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 uma chave de propriedade do serviço, defina `AWSOwnedKey` como `true`:

```
{
   "Rules":[
      {
         "ResourceType":"collection",
         "Resource":[
            "collection/autopartsinventory",
            "collection/sales*"
         ]
      }
   ],
   "AWSOwnedKey":true
}
```

A solicitação a seguir cria a política de criptografia:

```
aws opensearchserverless create-security-policy \
    --name sales-inventory \
    --type encryption \
    --policy file://my-policy.json
```

Em seguida, use a operação da [CreateCollection](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateCollection.html)API para criar uma ou mais coleções que correspondam a um dos padrões de recursos.

### Exibição de políticas de criptografia
<a name="serverless-encryption-list"></a>

Antes de criar uma coleção, talvez você queira pré-visualizar as políticas de criptografia existentes em sua conta para ver qual delas tem um padrão de recurso que corresponda ao nome da sua coleção. A [ListSecurityPolicies](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListSecurityPolicies.html)solicitação a seguir lista todas as políticas de criptografia em sua conta:

```
aws opensearchserverless list-security-policies --type encryption
```

A solicitação retorna informações sobre todas as políticas de criptografia configuradas. Use o conteúdo do elemento `policy` para visualizar as regras de padrões definidas na 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 informações detalhadas sobre uma política específica, incluindo a chave KMS, use o [GetSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetSecurityPolicy.html)comando.

### Atualização de políticas de criptografia
<a name="serverless-encryption-update"></a>

Se você atualizar a chave do KMS em uma política de criptografia, a alteração só se aplicará às coleções recém-criadas que correspondam ao nome ou padrão configurado. Isso não afeta as coleções existentes que já tenham chaves do KMS atribuídas. 

O mesmo se aplica às regras de correspondência das políticas. Se você adicionar, modificar ou excluir uma regra, a alteração só se aplicará às coleções recém-criadas. As coleções existentes não perdem suas chaves do KMS atribuídas se você modificar as regras de uma política para que ela não corresponda mais ao nome de uma coleção.

**Para atualizar uma política de criptografia no console OpenSearch sem servidor, escolha **Políticas de criptografia**, selecione a política a ser modificada e escolha Editar.** Faça suas alterações e escolha **Salvar**.

Para atualizar uma política de criptografia usando a API OpenSearch Serverless, use a [UpdateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateSecurityPolicy.html)operação. A solicitação a seguir atualiza uma política de criptografia com um novo documento JSON de política:

```
aws opensearchserverless update-security-policy \
    --name sales-inventory \
    --type encryption \
    --policy-version 2 \
    --policy file://my-new-policy.json
```

### Exclusão de políticas de criptografia
<a name="serverless-encryption-delete"></a>

Quando você exclui uma política de criptografia, todas as coleções que estiverem usando a chave do KMS definida na política não são afetadas. **Para excluir uma política no console OpenSearch sem servidor, selecione a política e escolha Excluir.**

Você também pode usar a [DeleteSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_DeleteSecurityPolicy.html)operação:

```
aws opensearchserverless delete-security-policy --name my-policy --type encryption
```

## Criptografia em trânsito
<a name="serverless-encryption-in-transit"></a>

No OpenSearch Serverless, todos os caminhos em uma coleção são criptografados em trânsito usando o Transport Layer Security 1.2 (TLS) com uma cifra AES-256 padrão do setor. O acesso a todos APIs os painéis do Opensearch também é feito por meio do TLS 1.2. O TLS é um conjunto de protocolos criptográficos padrão do setor usados para criptografar informações que são trocadas pela rede.

# Acesso à rede para Amazon OpenSearch Serverless
<a name="serverless-network"></a>

As configurações de rede de uma coleção Amazon OpenSearch Serverless determinam se a coleção pode ser acessada pela Internet a partir de redes públicas ou se deve ser acessada de forma privada.

O acesso privado pode ser aplicado a um ou ambos os seguintes itens:
+ OpenSearch VPC endpoints gerenciados sem servidor
+ Compatível Serviços da AWS , como Amazon Bedrock

Você pode configurar o acesso à rede separadamente para o endpoint de uma coleção e o *OpenSearch*endpoint correspondente do *OpenSearch Dashboards*.

O acesso à rede é o mecanismo de isolamento para permitir o acesso de diferentes redes de origem. Por exemplo, se o endpoint de OpenSearch painéis de uma coleção estiver acessível publicamente, mas o endpoint da OpenSearch API não, um usuário poderá acessar os dados da coleção somente por meio de painéis ao se conectar a partir de uma rede pública. Se eles tentarem ligar OpenSearch APIs diretamente de uma rede pública, eles serão bloqueados. As configurações de rede podem ser usadas para essas permutações de origem para tipo de recurso. O Amazon OpenSearch Serverless oferece suporte a ambos IPv4 e IPv6 à conectividade.

**Topics**
+ [Políticas de rede](#serverless-network-policies)
+ [Considerações](#serverless-network-considerations)
+ [Permissões necessárias para configurar políticas de rede](#serverless-network-permissions)
+ [Precedência das políticas](#serverless-network-precedence)
+ [Criação de políticas de rede (console)](#serverless-network-console)
+ [Criação de políticas de rede (AWS CLI)](#serverless-network-cli)
+ [Exibição de políticas de rede](#serverless-network-list)
+ [Atualização de políticas de rede](#serverless-network-update)
+ [Exclusão de políticas de rede](#serverless-network-delete)

## Políticas de rede
<a name="serverless-network-policies"></a>

As políticas de rede permitem que você gerencie várias coleções em escala, atribuindo automaticamente configurações de acesso à rede a coleções que correspondam às regras definidas na política.

Em uma política de rede, você especifica uma série de *regras*. Essas regras definem as permissões de acesso aos endpoints da coleção e aos endpoints do OpenSearch Dashboards. Cada regra consiste em um tipo de acesso (público ou privado) e um tipo de recurso (coleção e/ou endpoint de OpenSearch painéis). Para cada tipo de recurso (`collection` e `dashboard`), você especifica uma série de regras que definem a quais coleções a política se aplicará.

Neste exemplo de política, a primeira regra especifica o acesso por endpoint da VPC ao endpoint da coleção e ao endpoint do Dashboards para todas as coleções que comecem com o termo `marketing*`. Também especifica o acesso ao Amazon Bedrock. 

**nota**  
O acesso privado Serviços da AWS , como o Amazon Bedrock, *só* se aplica ao endpoint da coleção, não ao OpenSearch endpoint do OpenSearch Dashboards. Mesmo que `ResourceType` seja`dashboard`, Serviços da AWS não é possível conceder acesso aos OpenSearch painéis.

A segunda regra especifica o acesso público à coleção `finance`, mas somente para o endpoint da coleção (sem acesso ao Dashboards).

```
[
   {
      "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
   }
]
```

Essa política fornece acesso público somente aos OpenSearch painéis para coleções que começam com “finanças”. Qualquer tentativa de acessar diretamente a OpenSearch API falhará.

```
[
  {
    "Description": "Dashboards access",
    "Rules": [
      {
        "ResourceType": "dashboard",
        "Resource": [
          "collection/finance*"
        ]
      }
    ],
    "AllowFromPublic": true
  }
]
```

As políticas de rede podem ser aplicadas tanto às coleções existentes quanto às futuras. Por exemplo, é possível criar uma coleção e depois criar uma política de rede com uma regra que corresponda ao nome da coleção. Não é necessário criar políticas de rede para criar coleções.

## Considerações
<a name="serverless-network-considerations"></a>

Considere o seguinte ao configurar o acesso de rede para suas coleções:
+ [Se você planeja configurar o acesso ao VPC endpoint para uma coleção, primeiro deve criar pelo menos um VPC endpoint gerenciado sem servidorOpenSearch .](serverless-vpc.md)
+ O acesso privado Serviços da AWS só se aplica ao endpoint da coleção, não ao OpenSearch endpoint do OpenSearch Dashboards. Mesmo que `ResourceType` seja`dashboard`, Serviços da AWS não é possível conceder acesso aos OpenSearch painéis.
+ Se uma coleção for acessível a partir de redes públicas, ela também poderá ser acessada por todos os VPC endpoints OpenSearch gerenciados sem servidor e tudo mais. Serviços da AWS
+ Várias políticas de rede podem ser aplicadas a uma única coleção. Para saber mais, consulte [Precedência das políticas](#serverless-network-precedence).

## Permissões necessárias para configurar políticas de rede
<a name="serverless-network-permissions"></a>

O acesso à rede para OpenSearch Serverless usa as seguintes permissões AWS Identity and Access Management (IAM). É possível especificar as condições do IAM para restringir os usuários a políticas de rede associadas a coleções específicas.
+ `aoss:CreateSecurityPolicy`: crie uma política de acesso à rede.
+ `aoss:ListSecurityPolicies`: lista todas as políticas de rede na conta atual.
+ `aoss:GetSecurityPolicy`: exibe uma especificação de política de acesso à rede.
+ `aoss:UpdateSecurityPolicy`: modifica uma determinada política de acesso à rede e altera o ID da VPC ou a designação de acesso público.
+ `aoss:DeleteSecurityPolicy`: exclui uma política de acesso à rede (depois que ela for separada de todas as coleções).

A política de acesso baseada em identidade a seguir permite que um usuário exiba todas as políticas de rede e atualize as políticas com o padrão 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**  
Além disso, o OpenSearch Serverless exige `aoss:DashboardsAccessAll` permissões `aoss:APIAccessAll` e permissões para recursos de coleta. Para obter mais informações, consulte [Usando operações OpenSearch de API](security-iam-serverless.md#security_iam_id-based-policy-examples-data-plane).

## Precedência das políticas
<a name="serverless-network-precedence"></a>

Pode haver situações em que as regras das políticas de rede se sobreponham, dentro ou entre as políticas. Quando isso acontece, uma regra que especifique o acesso público substitui uma regra que especifique o acesso privado para quaisquer coleções que sejam comuns a *ambas* as regras.

Por exemplo, na política a seguir, ambas as regras atribuem acesso de rede à coleção `finance`, mas uma regra especifica o acesso por VPC enquanto a outra especifica o acesso público. Nessa situação, o acesso público substitui o acesso por VPC *somente para a coleção finance* (porque ele existe em ambas as regras), de modo que a coleção finance será acessível a partir de redes públicas. A coleção de vendas terá acesso por VPC a partir do endpoint 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
   }
]
```

Se vários endpoints da VPC de regras diferentes se aplicarem a uma coleção, as regras serão aditivas e a coleção poderá ser acessada de todos os endpoints especificados. Se você definir `AllowFromPublic``true`, mas também fornecer um ou mais `SourceVPCEs` ou`SourceServices`, o OpenSearch Serverless ignorará os endpoints de VPC e os identificadores de serviço, e as coleções associadas terão acesso público.

## Criação de políticas de rede (console)
<a name="serverless-network-console"></a>

As políticas de rede podem ser aplicadas tanto às coleções existentes quanto às futuras. Recomendamos que você crie políticas de rede antes de começar a criar coleções.

**Para criar uma política de rede OpenSearch sem servidor**

1. Abra o console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home ).

1. No painel de navegação à esquerda, expanda **Sem Servidor** e escolha **Políticas de rede**.

1. Escolha **Criar política de rede**.

1. Forneça um nome e uma descrição para a política.

1. Forneça uma ou mais *regras*. Essas regras definem permissões de acesso para suas coleções OpenSearch sem servidor e seus endpoints de OpenSearch painéis.

   Cada regra contém os seguintes elementos:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-network.html)

   Para cada tipo de recurso selecionado, você pode escolher coleções existentes às quais aplicar as configurações de política e and/or criar um ou mais padrões de recursos. Os padrões de recursos consistem em um prefixo e um caractere curinga (\$1), e definem a quais coleções as configurações de política se aplicarão. 

   Por exemplo, se você incluir um padrão chamado `Marketing*`, qualquer coleção nova ou existente cujos nomes comecem com “Marketing” terá as configurações de rede desta política aplicadas automaticamente a elas. Um único caractere curinga (`*`) aplica a política a todas as coleções atuais e futuras.

   Além disso, você pode especificar o nome de uma coleção *futura* sem um caractere curinga, como`Finance`. OpenSearch O Serverless aplicará as configurações de política a qualquer coleção recém-criada com esse nome exato.

1. Quando estiver satisfeito com sua configuração de política, escolha **Criar**.

## Criação de políticas de rede (AWS CLI)
<a name="serverless-network-cli"></a>

Para criar uma política de rede usando as operações da API OpenSearch Serverless, você especifica regras no formato JSON. A [CreateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateSecurityPolicy.html)solicitação aceita políticas embutidas e arquivos.json. Todas as coleções e padrões devem assumir o formato `collection/<collection name|pattern>`.

**nota**  
O tipo de recurso `dashboards` só permite a permissão para OpenSearch painéis, mas para que os OpenSearch painéis funcionem, você também deve permitir o acesso à coleção das mesmas fontes. Veja a segunda política a seguir como um exemplo.

Para especificar o acesso privado, inclua um dos seguintes elementos, ou ambos:
+ `SourceVPCEs`— Especifique um ou mais VPC endpoints OpenSearch gerenciados sem servidor.
+ `SourceServices`— Especifique o identificador de um ou mais compatíveis Serviços da AWS. No momento, os seguintes identificadores de serviço não são compatíveis:
  + `bedrock.amazonaws.com`: Amazon Bedrock

O exemplo de política de rede a seguir fornece acesso privado a um endpoint da VPC e ao Amazon Bedrock, a endpoints de coleção apenas para coleções que comecem com o prefixo `log*`. Usuários autenticados não podem entrar nos OpenSearch painéis; eles só podem acessar o endpoint de coleta de forma programática.

```
[
   {
      "Description":"Private access for log collections",
      "Rules":[
         {
            "ResourceType":"collection",
            "Resource":[
               "collection/log*"
            ]
         }
      ],
      "AllowFromPublic":false,
      "SourceVPCEs":[
         "vpce-050f79086ee71ac05"
      ],
      "SourceServices":[
         "bedrock.amazonaws.com"
      ],
   }
]
```

A política a seguir fornece acesso público ao OpenSearch endpoint *e* aos OpenSearch painéis para uma única coleção chamada. `finance` Se a coleção não existir, as configurações de rede serão aplicadas à coleção se e quando ela for criada.

```
[
   {
      "Description":"Public access for finance collection",
      "Rules":[
         {
            "ResourceType":"dashboard",
            "Resource":[
               "collection/finance"
            ]
         },
         {
            "ResourceType":"collection",
            "Resource":[
               "collection/finance"
            ]
         }
      ],
      "AllowFromPublic":true
   }
]
```

A solicitação a seguir cria a política de rede acima:

```
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 fornecer a política em um arquivo JSON, use o formato `--policy file://my-policy.json`

## Exibição de políticas de rede
<a name="serverless-network-list"></a>

Antes de criar uma coleção, talvez você queira pré-visualizar as políticas de rede existentes em sua conta para ver qual delas tem um padrão de recurso que corresponda ao nome da sua coleção. A [ListSecurityPolicies](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListSecurityPolicies.html)solicitação a seguir lista todas as políticas de rede em sua conta:

```
aws opensearchserverless list-security-policies --type network
```

A solicitação retorna informações sobre todas as políticas de rede configuradas. Para visualizar as regras de padrões definidas em uma política específica, encontre as informações sobre políticas no conteúdo do elemento `securityPolicySummaries` na resposta. Observe o `name` final `type` desta política e use essas propriedades em uma [GetSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetSecurityPolicy.html)solicitação para receber uma resposta com os seguintes detalhes da 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 informações detalhadas sobre uma política específica, use o [GetSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetSecurityPolicy.html)comando.

## Atualização de políticas de rede
<a name="serverless-network-update"></a>

Quando você modifica os endpoints da VPC ou a designação de acesso público para uma rede, todas as coleções associadas são afetadas. **Para atualizar uma política de rede no console OpenSearch sem servidor, expanda **Políticas de rede**, selecione a política a ser modificada e escolha Editar.** Faça suas alterações e escolha **Salvar**.

Para atualizar uma política de rede usando a API OpenSearch Serverless, use o [UpdateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateSecurityPolicy.html)comando. É necessário incluir uma versão da política na solicitação. É possível recuperar a versão da política usando os comandos `ListSecurityPolicies` ou `GetSecurityPolicy`. A inclusão da versão mais recente da política garante que você não anule inadvertidamente uma alteração feita por outra pessoa. 

A solicitação a seguir atualiza uma política de rede com um novo documento JSON de política:

```
aws opensearchserverless update-security-policy \
    --name sales-inventory \
    --type network \
    --policy-version MTY2MzY5MTY1MDA3Ml8x \
    --policy file://my-new-policy.json
```

## Exclusão de políticas de rede
<a name="serverless-network-delete"></a>

Antes de ser possível excluir uma política de rede, é preciso desvinculá-la de todas as coleções. **Para excluir uma política no console OpenSearch sem servidor, selecione a política e escolha Excluir.**

Você também pode usar o [DeleteSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_DeleteSecurityPolicy.html)comando:

```
aws opensearchserverless delete-security-policy --name my-policy --type network
```

# Conformidade com FIPS no Amazon Serverless OpenSearch
<a name="fips-compliance-opensearch-serverless"></a>

O Amazon OpenSearch Serverless oferece suporte ao Federal Information Processing Standards (FIPS) 140-2, que é um padrão do governo dos EUA e do Canadá que especifica requisitos de segurança para módulos criptográficos que protegem informações confidenciais. Quando você se conecta a endpoints habilitados para FIPS com o OpenSearch Serverless, as operações criptográficas ocorrem usando bibliotecas criptográficas validadas por FIPS.

OpenSearch Os endpoints FIPS sem servidor estão disponíveis Regiões da AWS onde o FIPS é suportado. Esses endpoints usam o TLS 1.2 ou posteriores e algoritmos criptográficos validados por FIPS em todas as comunicações. Para saber mais, consulte [Conformidade com FIPS](https://docs.aws.amazon.com/verified-access/latest/ug/fips-compliance.html) no *Guia do usuário de acesso verificado pela AWS *.

**Topics**
+ [Usando endpoints FIPS com Serverless OpenSearch](#using-fips-endpoints-opensearch-serverless)
+ [Use endpoints FIPS com AWS SDKs](#using-fips-endpoints-aws-sdks)
+ [Configurar grupos de segurança para endpoints da VPC](#configuring-security-groups-vpc-endpoints)
+ [Usar o endpoint FIPS da VPC](#using-fips-vpc-endpoint)
+ [Verificar a conformidade com FIPS](#verifying-fips-compliance)
+ [Resolver problemas de conectividade de endpoint FIPS em zonas hospedadas privadas](serverless-fips-endpoint-issues.md)

## Usando endpoints FIPS com Serverless OpenSearch
<a name="using-fips-endpoints-opensearch-serverless"></a>

 Regiões da AWS Onde o FIPS é suportado, as coleções OpenSearch sem servidor são acessíveis por meio de terminais padrão e compatíveis com FIPS. Para saber mais, consulte [Conformidade com FIPS](https://docs.aws.amazon.com/verified-access/latest/ug/fips-compliance.html) no *Guia do usuário de acesso verificado pela AWS *.

Nos exemplos a seguir, substitua *collection\$1id* e *Região da AWS* por seu ID de coleção e seu Região da AWS.
+ **Endpoint padrão**: **https://*collection\$1id*.*Região da AWS*.aoss.amazonaws.com**.
+ **Endpoints conformes com FIPS**: **https://*collection\$1id*.*Região da AWS*.aoss-fips.amazonaws.com**.

Da mesma forma, os OpenSearch painéis podem ser acessados por meio de terminais padrão e compatíveis com FIPS:
+ **Endpoint padrão do Dashboards**: **https://*collection\$1id*.*Região da AWS*.aoss.amazonaws.com/\$1dashboards**.
+ **Endpoint do Dashboards conforme com FIPS**: **https://*collection\$1id*.*Região da AWS*.aoss-fips.amazonaws.com/\$1dashboards**.

**nota**  
Em regiões habilitadas para FIPS, tanto os endpoints padrão quanto os endpoints conformes com FIPS fornecem criptografia conforme com FIPS. Os endpoints específicos para FIPS ajudam você a atender aos requisitos de conformidade que exigem especificamente o uso de endpoints com **FIPS** no nome.

## Use endpoints FIPS com AWS SDKs
<a name="using-fips-endpoints-aws-sdks"></a>

Ao usar AWS SDKs, você pode especificar o endpoint FIPS ao criar o cliente. No exemplo a seguir, substitua *collection\$1id* e *Região da AWS* por seu ID de coleção e seu Região da AWS.

```
# Python SDK example
from opensearchpy import OpenSearch, RequestsHttpConnection, AWSV4SignerAuth
import boto3
host = '"https://collection_id.Região da 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 segurança para endpoints da VPC
<a name="configuring-security-groups-vpc-endpoints"></a>

Para garantir a comunicação adequada com seu endpoint Amazon VPC (VPC) compatível com FIPS, crie ou modifique um grupo de segurança para permitir o tráfego HTTPS de entrada (porta TCP 443) dos recursos em sua VPC que precisam acessar o Serverless. OpenSearch Depois, associe esse grupo de segurança ao endpoint da VPC durante a criação ou modificando o endpoint após a criação. Para saber mais, consulte [Criar um grupo de segurança](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html) no *Guia do usuário da Amazon VPC*.

## Usar o endpoint FIPS da VPC
<a name="using-fips-vpc-endpoint"></a>

Depois de criar o VPC endpoint compatível com FIPS, você pode usá-lo para acessar o OpenSearch Serverless a partir de recursos dentro da sua VPC. Para usar o endpoint para operações de API, configure o SDK para usar o endpoint FIPS regional, como descrito na seção [Usando endpoints FIPS com Serverless OpenSearch](#using-fips-endpoints-opensearch-serverless). Para acessar os OpenSearch painéis, use a URL específica dos painéis da coleção, que será roteada automaticamente pelo VPC endpoint compatível com FIPS quando acessada de dentro da sua VPC. Para obter mais informações, consulte [Usando OpenSearch painéis com o Amazon Service OpenSearch](dashboards.md).

## Verificar a conformidade com FIPS
<a name="verifying-fips-compliance"></a>

Para verificar se suas conexões com o OpenSearch Serverless estão usando criptografia compatível com FIPS, use para monitorar as chamadas de API feitas AWS CloudTrail para o Serverless. OpenSearch Verifique se o `eventSource` campo nos CloudTrail registros é exibido `aoss-fips.amazonaws.com` para chamadas de API. 

Para acessar os OpenSearch painéis, você pode usar as ferramentas do desenvolvedor do navegador para inspecionar os detalhes da conexão TLS e verificar se os conjuntos de criptografia compatíveis com FIPS estão sendo usados. 

# Resolver problemas de conectividade de endpoint FIPS em zonas hospedadas privadas
<a name="serverless-fips-endpoint-issues"></a>

Os endpoints FIPS funcionam com coleções Amazon OpenSearch Serverless que têm acesso público. Para coleções da VPC recém-criadas que usam endpoints da VPC recém-criados, os endpoints FIPS funcionam como esperado. Para outras coleções da VPC, talvez seja necessário realizar a configuração manual para garantir que os endpoints FIPS funcionem corretamente.

**Para configurar zonas hospedadas privadas FIPS no Amazon Route 53**

1. Abra o console do Route 53 em [https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/).

1. Revise as zonas hospedadas:

   1. Localize as zonas hospedadas nas quais Regiões da AWS suas coleções estão.

   1. Verifique os padrões de nomenclatura da zona hospedada:
      + Formato não FIPS: `region.aoss.amazonaws.com`.
      + Formato FIPS: `region.aoss-fips.amazonaws.com`.

   1. Confirme que **Tipo** está definido como **Zona hospedada privada** para todas as zonas hospedadas.

1. Se a zona hospedada privada FIPS estiver faltando:

   1. Selecione a zona hospedada privada não FIPS correspondente.

   1. Copie as VPCs informações **associadas**. Por exemplo: `vpc-1234567890abcdef0 | us-east-2`.

   1. Encontre o registro de domínio curinga. Por exemplo: `*.us-east-2.aoss.amazonaws.com`.

   1. Copie as informações de **Valor/rotear tráfego para**. Por exemplo: `uoc1c1qsw7poexampleewjeno1pte3rw.3ym756xh7yj.aoss.searchservices.aws`.

1. Crie a zona hospedada privada FIPS:

   1. Crie uma nova zona hospedada privada com o formato FIPS. Por exemplo: `us-east-2.aoss-fips.amazonaws.com`.

   1.  VPCsEm **Associado**, insira as informações de VPC que você copiou da zona hospedada privada não FIPS.

1. Adicione uma nova regra com as seguintes configurações:

   1. Nome do registro: \$1

   1. Tipo de registro: CNAME

   1. Valor: insira as informações de **Valor/rotear tráfego para** que você copiou anteriormente.

## Problemas comuns
<a name="serverless-fips-endpoint-common-problems"></a>

Se você tiver problemas de conectividade com os endpoints da VPC compatíveis com FIPS, use as informações a seguir para ajudar a resolver o problema.
+ Falhas na resolução de DNS: você não consegue resolver o nome de domínio do endpoint FIPS em sua VPC
+ Tempos limite de conexão: suas solicitações para o endpoint FIPS atingem o tempo limite
+ Erros de acesso negado: ocorre falha na autenticação ou autorização ao usar endpoints FIPS
+ Faltam registros de zona hospedada privada para coleções somente VPC

**Para solucionar problemas de conectividade de endpoints FIPS**

1. Verifique a configuração de zona hospedada privada:

   1. Confirme se existe uma zona hospedada privada para o domínio do endpoint FIPS (`*.region.aoss-fips.amazonaws.com`.

   1. Verifique se a zona hospedada privada está associada à VPC correta.

      Para saber mais, consulte [Zonas hospedadas privadas](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted- zones-private.html) no *Guia do desenvolvedor do Amazon Route 53* e [Gerenciar nomes do DNS](https://docs.aws.amazon.com/vpc/latest/privatelink/manage-dns-names.html) no *Guia do AWS PrivateLink *.

1. Teste a resolução do DNS:

   1. Conecte-se a uma instância do EC2 na sua VPC.

   1. Execute este comando: .

      ```
      nslookup collection-id.region.aoss-fips.amazonaws.com
      ```

   1. Confirme se a resposta inclui o endereço IP privado do endpoint da VPC.

      Para saber mais, consulte [Políticas de endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints- access.html#endpoint-dns-verification) e [Atributos de DNS](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc- dns-troubleshooting) no *Guia do usuário da Amazon VPC*.

1. Verifique as configurações do grupo de segurança:

   1. Verifique se o grupo de segurança conectado ao endpoint da VPC permite tráfego HTTPS (porta 443) vindo de seus recursos.

   1. Confirme se os grupos de segurança dos recursos permitem tráfego de saída para o endpoint da VPC.

   Para saber mais, consulte [Políticas de endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html#vpc-endpoint-security-groups) no *Guia da AWS PrivateLink * e [Grupos de segurança](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html#SecurityGroupRules) no *Guia do usuário da Amazon VPC*.

1. Revise a configuração de ACL da rede:

   1. Verifique se a rede ACLs permite tráfego entre seus recursos e o VPC endpoint.

     Para obter mais informações, consulte [Rede ACLs](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network- acls.html#nacl-troubleshooting) no Guia do *usuário da Amazon VPC*.

1. Revise a política de endpoint:

   1. Verifique se a política de VPC endpoint permite as ações necessárias em seus recursos sem servidor. OpenSearch 

     Para saber mais, consulte [Permissões necessárias de endpoint da VPC](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html#serverless-vpc-permissions) e [Política de endpoints](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints- access.html#vpc-endpoint-policies) no *Guia do AWS PrivateLink *.

**dica**  
Se você usa resolvedores de DNS personalizados em sua VPC, configure-os para encaminhar solicitações de `*.amazonaws.com` domínios para os servidores. AWS 

# Controle de acesso a dados para Amazon OpenSearch Serverless
<a name="serverless-data-access"></a>

Com o controle de acesso aos dados no Amazon OpenSearch Serverless, você pode permitir que os usuários acessem coleções e índices, independentemente do mecanismo de acesso ou da fonte de rede. É possível fornecer acesso a perfis do IAM e [identidades de SAML](serverless-saml.md).

Você gerencia as permissões de acesso por meio de *políticas de acesso a dados* que se aplicam às coleções e aos recursos de índice. As políticas de acesso a dados ajudam você a gerenciar coleções em grande escala atribuindo automaticamente permissões de acesso a coleções e índices que correspondam a um padrão específico. Várias políticas de acesso a dados podem ser aplicadas a um único recurso. Observe que você deve ter uma política de acesso a dados para sua coleção para acessar a URL do seu OpenSearch painel.

**Topics**
+ [Políticas de acesso a dados versus políticas do IAM](#serverless-data-access-vs-iam)
+ [Permissões do IAM necessárias para configurar as políticas de acesso a dados](#serverless-data-access-permissions)
+ [Sintaxe da política](#serverless-data-access-syntax)
+ [Permissões de políticas com suporte](#serverless-data-supported-permissions)
+ [Exemplos de conjuntos de dados em painéis OpenSearch](#serverless-data-sample-index)
+ [Criação de políticas de acesso a dados (console)](#serverless-data-access-console)
+ [Criação de políticas de acesso a dados (AWS CLI)](#serverless-data-access-cli)
+ [Exibição de políticas de acesso a dados](#serverless-data-access-list)
+ [Atualização de políticas de acesso a dados](#serverless-data-access-update)
+ [Exclusão de políticas de acesso a dados](#serverless-data-access-delete)
+ [Acesso a dados entre contas](#serverless-data-access-cross)

## Políticas de acesso a dados versus políticas do IAM
<a name="serverless-data-access-vs-iam"></a>

As políticas de acesso aos dados são logicamente separadas das políticas AWS Identity and Access Management (IAM). As permissões do IAM controlam o acesso às [operações da API do Sem Servidor](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/Welcome.html), como `CreateCollection` e `ListAccessPolicies`. As políticas de acesso a dados controlam o acesso às [OpenSearch operações](#serverless-data-supported-permissions) suportadas pelo OpenSearch Serverless, como `PUT <index>` ou. `GET _cat/indices`

As permissões do IAM que controlam o acesso às operações da API da política de acesso a dados, como `aoss:CreateAccessPolicy` e `aoss:GetAccessPolicy` (descritas na próxima seção), não afetam a permissão especificada em uma política de acesso a dados.

Por exemplo, suponha que uma política do IAM impeça que um usuário crie políticas de acesso a dados para `collection-a`, mas permita que ele crie políticas de acesso a dados para todas as coleções (`*`):

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "aoss:CreateAccessPolicy"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "aoss:collection": "collection-a"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "aoss:CreateAccessPolicy"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Se o usuário criar uma política de acesso a dados que permita certa permissão para *todas* as coleções (`collection/*` ou `index/*/*`), a política será aplicada a todas as coleções, incluindo a coleção A.

**Importante**  
Receber permissões em uma política de acesso a dados não é suficiente para acessar os dados em sua coleção OpenSearch Serverless. Uma entidade principal associada *também* deve ter acesso às permissões do IAM `aoss:APIAccessAll` e `aoss:DashboardsAccessAll`. Ambas as permissões concedem acesso total aos recursos da coleção, enquanto a permissão Painéis também fornece acesso aos OpenSearch Painéis. Se uma entidade principal não tiver essas duas permissões do IAM, receberá erros 403 ao tentar enviar solicitações para a coleção. Para saber mais, consulte [Usando operações OpenSearch de API](security-iam-serverless.md#security_iam_id-based-policy-examples-data-plane).

## Permissões do IAM necessárias para configurar as políticas de acesso a dados
<a name="serverless-data-access-permissions"></a>

O controle de acesso a dados para OpenSearch Serverless usa as seguintes permissões do IAM. É possível especificar condições do IAM para restringir os usuários a nomes de políticas de acesso específicas.
+ `aoss:CreateAccessPolicy`: criar uma política de acesso.
+ `aoss:ListAccessPolicies`: listar todas as políticas de acesso.
+ `aoss:GetAccessPolicy`: exibir detalhes sobre uma política de acesso específica.
+ `aoss:UpdateAccessPolicy`: modificar uma política de acesso.
+ `aoss:DeleteAccessPolicy`: excluir uma política de acesso.

A seguinte política de acesso baseada em identidade permite que um usuário exiba todas as políticas de acesso e atualize as políticas que contenham o padrão 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**  
Além disso, o OpenSearch Serverless exige `aoss:DashboardsAccessAll` permissões `aoss:APIAccessAll` e permissões para recursos de coleta. Para obter mais informações, consulte [Usando operações OpenSearch de API](security-iam-serverless.md#security_iam_id-based-policy-examples-data-plane).

## Sintaxe da política
<a name="serverless-data-access-syntax"></a>

Uma política de acesso a dados inclui um conjunto de regras, cada uma com os seguintes elementos:


| Elemento | Description | 
| --- | --- | 
| ResourceType | O tipo de recurso (coleção ou índice) ao qual as permissões se aplicam. As permissões de alias e modelo estão no nível da coleção, enquanto as permissões para criar, modificar e pesquisar dados estão no nível do índice. Para saber mais, consulte [Permissões de políticas com suporte](#serverless-data-supported-permissions). | 
| Resource | Uma lista de and/or padrões de nomes de recursos. Os padrões são prefixos seguidos por um curinga (\$1), que permitem que as permissões associadas sejam aplicadas a vários recursos.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-data-access.html) | 
| Permission | Uma lista de permissões a serem concedidas para os recursos especificados Para obter uma lista completa de permissões e as operações da API que elas permitem, consulte [Operações e permissões de OpenSearch API suportadas](serverless-genref.md#serverless-operations). | 
| Principal | Uma lista de uma ou mais entidades principais às quais conceder acesso. Os principais podem ser a função do IAM ARNs ou as identidades do SAML. Essas entidades principais devem estar dentro da Conta da AWS atual. As políticas de acesso a dados não oferecem suporte direto ao acesso entre contas, mas você pode incluir uma função em sua política que um usuário de outro usuário Conta da AWS possa assumir na conta proprietária da coleção. Para obter mais informações, consulte [Acesso a dados entre contas](#serverless-data-access-cross). | 

O exemplo de política a seguir concede permissões de alias e modelo à coleção chamada `autopartsinventory`, bem como a quaisquer coleções iniciadas pelo prefixo `sales*`. Ele também concede permissões de leitura e gravação a todos os índices da coleção `autopartsinventory` e a todos os índices da coleção `salesorders` iniciados pelo prefixo `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"
      ]
   }
]
```

Você não pode negar explicitamente o acesso em uma política. Dessa forma, todas as permissões de política são aditivas. Por exemplo, se uma política conceder a um usuário `aoss:ReadDocument` e outra conceder `aoss:WriteDocument`, o usuário terá *ambas* as permissões. Se uma terceira política conceder ao mesmo usuário `aoss:*`, o usuário poderá realizar *todas* as ações no índice associado; permissões mais restritivas não substituem as menos restritivas.

## Permissões de políticas com suporte
<a name="serverless-data-supported-permissions"></a>

Há suporte para as permissões a seguir nas políticas de acesso a dados. Para ver as operações de OpenSearch API que cada permissão permite, consulte[Operações e permissões de OpenSearch API suportadas](serverless-genref.md#serverless-operations).

**Permissões de coleção**
+ `aoss:CreateCollectionItems`
+ `aoss:DeleteCollectionItems`
+ `aoss:UpdateCollectionItems`
+ `aoss:DescribeCollectionItems`
+ `aoss:*`

**Permissões de índice**
+ `aoss:ReadDocument`
+ `aoss:WriteDocument`
+ `aoss:CreateIndex`
+ `aoss:DeleteIndex`
+ `aoss:UpdateIndex`
+ `aoss:DescribeIndex`
+ `aoss:*`

## Exemplos de conjuntos de dados em painéis OpenSearch
<a name="serverless-data-sample-index"></a>

OpenSearch Os painéis fornecem [conjuntos de dados de amostra](https://opensearch.org/docs/latest/dashboards/quickstart-dashboards/#adding-sample-data) que vêm com visualizações, painéis e outras ferramentas para ajudá-lo a explorar os painéis antes de adicionar seus próprios dados. Para criar índices a partir desses dados de amostra, você precisa de uma política de acesso a dados que forneça permissões para o conjunto de dados com o qual você deseja trabalhar. A política a seguir usa um caractere curinga (`*`) para fornecer permissões aos três conjuntos de dados de amostra.

```
[
  {
    "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>"
    ]
  }
]
```

## Criação de políticas de acesso a dados (console)
<a name="serverless-data-access-console"></a>

É possível criar uma política de acesso a dados usando o editor visual, ou no formato JSON. Qualquer nova coleção que corresponda a um dos padrões definidos na política receberá as permissões correspondentes quando você criar a coleção.

**Para criar uma política de OpenSearch acesso a dados sem servidor**

1. Abra o console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home ).

1. No painel de navegação à esquerda, expanda **Tecnologia sem servidor** e em **Segurança**, escolha **Políticas de acesso a dados**.

1. Selecione **Criar política de acesso**.

1. Forneça um nome e uma descrição para a política.

1. Forneça um nome para a primeira regra em sua política. Por exemplo, “Acesso à coleção de logs”.

1. Escolha **Adicionar entidades principais** e selecione um ou mais perfis do IAM, ou [usuários e grupos de SAML](serverless-saml.md) aos quais fornecer acesso aos dados.
**nota**  
Para selecionar entidades principais nos menus suspensos, é necessário ter as permissões `iam:ListUsers` e `iam:ListRoles` (para entidades principais do IAM) e a permissão `aoss:ListSecurityConfigs` (para identidades de SAML). 

1. Escolha **Conceder** e selecione o alias, o modelo e as permissões de índice para conceder às entidades principais associadas. Para obter uma lista completa de permissões e o acesso que elas permitem, consulte [Operações e permissões de OpenSearch API suportadas](serverless-genref.md#serverless-operations).

1. (Opcional) Configure regras adicionais para a política.

1. Escolha **Criar**. Pode haver cerca de um minuto de atraso entre a criação da política e o momento em que as permissões são aplicadas. Se demorar mais de 5 minutos, entre em contato com o [Suporte](https://console.aws.amazon.com/support/home).

**Importante**  
Se sua política incluir apenas permissões de indexação (e nenhuma permissão de coleção), talvez você ainda veja uma mensagem sobre coleções correspondentes informando o seguinte: `Collection cannot be accessed yet. Configure data access policies so that users can access the data within this collection`. Você pode ignorar esse aviso. As entidades principais autorizadas ainda podem realizar suas operações relacionadas ao índice atribuídas na coleção.

## Criação de políticas de acesso a dados (AWS CLI)
<a name="serverless-data-access-cli"></a>

Para criar uma política de acesso a dados usando a API OpenSearch Serverless, use o `CreateAccessPolicy` comando. O comando aceita tanto políticas em linha quanto arquivos .json. As políticas em linha devem ser codificadas como uma [string JSON com escape](https://www.freeformatter.com/json-escape.html).

A solicitação a seguir cria uma política de acesso a dados:

```
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 fornecer a política em um arquivo .json, use o formato `--policy file://my-policy.json`.

Os diretores incluídos na política agora podem usar as [OpenSearch operações](#serverless-data-supported-permissions) às quais receberam acesso.

## Exibição de políticas de acesso a dados
<a name="serverless-data-access-list"></a>

Antes de criar uma coleção, talvez você queira pré-visualizar as políticas de acesso a dados existentes em sua conta para ver qual delas tem um padrão de recurso que corresponda ao nome da sua coleção. A [ListAccessPolicies](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListAccessPolicies.html)solicitação a seguir lista todas as políticas de acesso a dados em sua conta:

```
aws opensearchserverless list-access-policies --type data
```

A solicitação retorna informações sobre todas as políticas de acesso a dados configuradas. Para visualizar as regras de padrões definidas em uma política específica, encontre as informações sobre políticas no conteúdo do elemento `accessPolicySummaries` na resposta. Observe o `name` final `type` desta política e use essas propriedades em uma [GetAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetAccessPolicy.html)solicitação para receber uma resposta com os seguintes detalhes da 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
        }
    ]
}
```

É possível incluir filtros de recursos para limitar os resultados às políticas que contenham coleções ou índices específicos:

```
aws opensearchserverless list-access-policies --type data --resource "index/autopartsinventory/*"
```

Para ver detalhes sobre uma política específica, use o [GetAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetAccessPolicy.html)comando.

## Atualização de políticas de acesso a dados
<a name="serverless-data-access-update"></a>

Quando você atualiza uma política de acesso a dados, todas as coleções associadas são afetadas. **Para atualizar uma política de acesso a dados no console OpenSearch sem servidor, escolha **Controle de acesso a dados**, selecione a política a ser modificada e escolha Editar.** Faça suas alterações e escolha **Salvar**.

Para atualizar uma política de acesso a dados usando a API OpenSearch Serverless, envie uma `UpdateAccessPolicy` solicitação. É necessário incluir uma versão da política, que pode ser recuperada usando os comandos `ListAccessPolicies` ou `GetAccessPolicy`. A inclusão da versão mais recente da política garante que você não anule inadvertidamente uma alteração feita por outra pessoa.

A [UpdateAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateAccessPolicy.html)solicitação a seguir atualiza uma política de acesso a dados com um novo documento JSON de política:

```
aws opensearchserverless update-access-policy \
    --name sales-inventory \
    --type data \
    --policy-version MTY2NDA1NDE4MDg1OF8x \
    --policy file://my-new-policy.json
```

Pode haver alguns minutos de atraso entre a atualização da política e o momento em que as novas permissões são aplicadas.

## Exclusão de políticas de acesso a dados
<a name="serverless-data-access-delete"></a>

Quando você exclui uma política de acesso a dados, todas as coleções associadas perdem o acesso definido na política. Certifique-se de que seus usuários do IAM e do SAML tenham o acesso apropriado à coleção antes de excluir uma política. **Para excluir uma política no console OpenSearch sem servidor, selecione a política e escolha Excluir.**

Você também pode usar o [DeleteAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_DeleteAccessPolicy.html)comando:

```
aws opensearchserverless delete-access-policy --name my-policy --type data
```

## Acesso a dados entre contas
<a name="serverless-data-access-cross"></a>

Embora não seja possível criar uma política de acesso a dados com identidade entre contas ou coleções entre contas, você pode configurar o acesso entre contas com a opção de assumir perfil. Por exemplo, se a `account-a` possuir uma coleção à qual a `account-b` precisa ter acesso, o usuário da `account-b` poderá assumir um perfil na `account-a`. O perfil deve ter as permissões do IAM `aoss:APIAccessAll` e `aoss:DashboardsAccessAll`, e estar incluído na política de acesso a dados na `account-a`.

# Acesso ao plano de dados por meio de AWS PrivateLink
<a name="serverless-vpc"></a>

O Amazon OpenSearch Serverless oferece suporte a dois tipos de AWS PrivateLink conexões para operações de plano de controle e plano de dados. As operações do plano de controle incluem a criação e exclusão de coleções e o gerenciamento de políticas de acesso. As operações do plano de dados servem para indexar e consultar dados em uma coleção. Esta página aborda os endpoints VPC do plano de dados. Para obter informações sobre os AWS PrivateLink pontos finais do plano de controle, consulte[Controle o acesso ao avião por meio de AWS PrivateLink](serverless-vpc-cp.md).

Você pode usar AWS PrivateLink para criar uma conexão privada entre sua VPC e o Amazon OpenSearch Serverless. Você pode acessar o OpenSearch Serverless como se estivesse em sua VPC, sem o uso de um gateway de internet, dispositivo NAT, conexão VPN ou conexão. Direct Connect As instâncias em sua VPC não precisam de endereços IP públicos para acessar OpenSearch o Serverless. Para obter mais informações sobre o acesso à rede VPC, consulte [Padrões de conectividade de rede para Amazon OpenSearch Serverless](https://aws.amazon.com/blogs/big-data/network-connectivity-patterns-for-amazon-opensearch-serverless/).

Você estabelece essa conexão privada criando um *endpoint de interface*, alimentado pelo AWS PrivateLink. Criamos uma interface de rede de endpoint em cada sub-rede que você habilitar para o endpoint de interface. Essas são interfaces de rede gerenciadas pelo solicitante que servem como ponto de entrada para o tráfego destinado ao Serverless. OpenSearch 

Para saber mais, consulte [Acessar os Serviços da AWS pelo AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-access-aws-services.html) no *Guia do AWS PrivateLink *.

**Topics**
+ [Resolução de DNS dos endpoints de coleta](#vpc-endpoint-dnc)
+ [VPCs e políticas de acesso à rede](#vpc-endpoint-network)
+ [VPCs e políticas de endpoint](#vpc-endpoint-policy)
+ [Considerações](#vpc-endpoint-considerations)
+ [Permissões obrigatórias](#serverless-vpc-permissions)
+ [Crie um endpoint de interface para Serverless OpenSearch](#serverless-vpc-create)
+ [Configuração de VPC compartilhada para Amazon Serverless OpenSearch](#shared-vpc-setup)

## Resolução de DNS dos endpoints de coleta
<a name="vpc-endpoint-dnc"></a>

Quando você cria um endpoint VPC do plano de dados por meio do console OpenSearch Serverless, o serviço cria uma nova [zona hospedada Amazon Route 53 privada](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html) e a anexa à VPC. Essa zona hospedada privada consiste em um registro para resolver o registro DNS curinga para coleções OpenSearch sem servidor (`*.us-east-1.aoss.amazonaws.com`) para os endereços de interface usados para o endpoint. Você só precisa de um OpenSearch VPC endpoint sem servidor em uma VPC para acessar todas e quaisquer coleções e painéis em cada uma. Região da AWS Cada VPC com um endpoint para OpenSearch Serverless tem sua própria zona hospedada privada anexada.

O endpoint da interface OpenSearch sem servidor também cria um registro DNS curinga público do Route 53 para todas as coleções na região. O nome DNS é resolvido para os endereços IP OpenSearch públicos sem servidor. Clientes VPCs que não têm um endpoint OpenSearch VPC sem servidor ou clientes em redes públicas podem usar o resolvedor público do Route 53 e acessar as coleções e os painéis com esses endereços IP. [O tipo de endereço IP (IPv4 IPv6, ou Dualstack) do VPC endpoint é determinado com base nas sub-redes fornecidas quando você cria um endpoint de interface para Serverless. OpenSearch ](#serverless-vpc-create)

**nota**  
OpenSearch O Serverless cria uma zona hospedada privada ``<region>.opensearch.amazonaws.com` (`) adicional do Amazon Route 53 para OpenSearch uma resolução de domínio de serviço. Você pode atualizar seu IPv4 VPC endpoint existente para o Dualstack usando o comando no. [update-vpc-endpoint](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/update-vpc-endpoint.html) AWS CLI

O endereço do resolvedor DNS de uma determinada VPC é o segundo endereço IP do CIDR da VPC. Qualquer cliente na VPC precisa usar esse resolvedor para obter o endereço do endpoint da VPC para qualquer coleção. O resolvedor usa uma zona hospedada privada criada pelo OpenSearch Serverless. É suficiente usar esse resolvedor para todas as coleções em qualquer conta. Também é possível usar o resolvedor da VPC para alguns endpoints de coleção e o resolvedor público para outros, embora isso normalmente não seja necessário.

## VPCs e políticas de acesso à rede
<a name="vpc-endpoint-network"></a>

Para conceder permissão de rede OpenSearch APIs e painéis para suas coleções, você pode usar políticas de acesso à [rede OpenSearch ](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html) sem servidor. Você pode controlar esse acesso à rede a partir dos seus endpoints da VPC ou de Internet pública. Como sua política de rede controla apenas as permissões de tráfego, você também deve configurar uma [política de acesso a dados](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html) que especifique a permissão para operar com os dados em uma coleção e seus índices. Pense em um endpoint OpenSearch VPC sem servidor como um ponto de acesso ao serviço, uma política de acesso à rede como o ponto de acesso em nível de rede para coleções e painéis e uma política de acesso a dados como o ponto de acesso para controle de acesso refinado para qualquer operação com dados na coleção. 

Como você pode especificar vários VPC endpoints IDs em uma política de rede, recomendamos criar um VPC endpoint para cada VPC que precisa acessar uma coleção. Eles VPCs podem pertencer a AWS contas diferentes da conta que possui a política de rede e coleção OpenSearch Serverless. Não recomendamos que você crie uma solução de VPC-to-VPC emparelhamento ou outra solução de proxy entre duas contas para que a VPC de uma conta possa usar o VPC endpoint de outra conta. Isso é menos seguro e econômico do que cada VPC ter seu próprio endpoint. A primeira VPC não será facilmente visível para o administrador da outra VPC, que configurou o acesso ao endpoint dessa VPC na política de rede. 

## VPCs e políticas de endpoint
<a name="vpc-endpoint-policy"></a>

 O Amazon OpenSearch Serverless oferece suporte a políticas de endpoint para. VPCs Uma política de endpoint é uma política baseada em recursos do IAM que você anexa a um VPC endpoint para controlar quais AWS entidades principais podem usar o endpoint para acessar seu serviço. AWS Para saber mais, consulte [Controlar o acesso a endpoints de VPC usando políticas de endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html). 

Para usar uma política de endpoint, primeiro você deve criar um endpoint de interface. Você pode criar um endpoint de interface usando o console OpenSearch Serverless ou a API Serverless. OpenSearch Depois de criar seu endpoint de interface, você precisará adicionar a política de endpoint a esse endpoint. Para obter mais informações, consulte [Crie um endpoint de interface para Serverless OpenSearch](#serverless-vpc-create).

**nota**  
Você não pode definir uma política de endpoint diretamente no console OpenSearch de serviço. 

Uma política de endpoint não substitui políticas baseadas em recursos, políticas de rede nem políticas de acesso a dados que você possa ter configurado. Para obter informações sobre como atualizar sua política de endpoint de VPC, consulte [Controlar o acesso a endpoints da VPC usando políticas de endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html).

Por padrão, uma política de endpoint concede acesso total ao seu endpoint de VPC. 

```
{
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "*",
            "Resource": "*"
        }
    ]
}
```

Embora a política padrão de endpoint de VPC conceda acesso total ao endpoint, você pode configurar uma política de endpoint de VPC para permitir acesso a perfis e usuários específicos. Para fazer isso, veja o exemplo a seguir:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "123456789012",
                    "987654321098"
                ]
            },
            "Action": "*",
            "Resource": "*"
        }
    ]
}
```

------

Você pode especificar uma coleção OpenSearch Serverless para ser incluída como um elemento condicional na sua política de VPC endpoint. Para fazer isso, veja o exemplo a seguir:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aoss:collection": [
                        "coll-abc"
                    ]
                }
            }
        }
    ]
}
```

------

`aoss:CollectionId` é compatível.

```
Condition": {
         "StringEquals": {
               "aoss:CollectionId": "collection-id"
          }
}
```

Você pode usar identidades SAML em sua política de endpoint de VPC para determinar o acesso ao endpoint de VPC. Você deve usar um caractere curinga `(*)` na seção principal da sua política de endpoint de VPC. Para fazer isso, veja o exemplo a seguir:

------
#### [ 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"
                    ]
                }
            }
        }
    ]
}
```

------

Além disso, você pode configurar sua política de endpoint para incluir uma política de entidade principal de SAML específica. Para isso, veja o seguinte:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:PrincipalTag/Department": [
                        "Engineering"]
                    }
                }
            }
        ]
    }
```

------

Para obter mais informações sobre o uso da autenticação SAML com o Amazon OpenSearch Serverless, consulte [Autenticação SAML para](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-saml.html) Amazon Serverless. OpenSearch 

Você também pode incluir usuários do IAM e do SAML na mesma política de endpoint de VPC. Para fazer isso, veja o exemplo a seguir:

------
#### [ 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": "*"
        }
    ]
}
```

------

Você também pode acessar uma coleção Amazon OpenSearch Serverless do Amazon EC2 por meio da interface VPC endpoints. Para obter mais informações, consulte [Acesse uma coleção OpenSearch sem servidor do Amazon EC2 (via interface VPC](https://aws.amazon.com/blogs/big-data/network-connectivity-patterns-for-amazon-opensearch-serverless/) endpoints).

## Considerações
<a name="vpc-endpoint-considerations"></a>

Antes de configurar um endpoint de interface para OpenSearch Serverless, considere o seguinte:
+ OpenSearch O Serverless oferece suporte para fazer chamadas para todas as operações de [OpenSearch API suportadas (não operações](serverless-genref.md#serverless-operations) de API de configuração) por meio do endpoint da interface.
+ Depois de criar um endpoint de interface para OpenSearch Serverless, você ainda precisa incluí-lo nas [políticas de acesso à rede](serverless-network.md) para que ele acesse coleções sem servidor.
+ Por padrão, o acesso total ao OpenSearch Serverless é permitido por meio do endpoint da interface. Você pode associar um grupo de segurança às interfaces de rede do endpoint para controlar o tráfego para o OpenSearch Serverless por meio do endpoint da interface.
+ Um único Conta da AWS pode ter no máximo 50 endpoints OpenSearch VPC sem servidor.
+ Se você habilitar o acesso público à API ou aos painéis da sua coleção em uma política de rede, sua coleção poderá ser acessada por qualquer VPC e pela Internet pública.
+ Se você estiver no local e fora da VPC, não poderá usar um resolvedor de DNS diretamente para a resolução do endpoint da VPC OpenSearch sem servidor. Se você precisar de acesso à VPN, a VPC precisará de um resolvedor de proxy DNS para ser usado por clientes externos. O Route 53 fornece uma opção de endpoint de entrada que você pode usar para resolver consultas ao DNS à VPC, originadas na rede no local (on-premises) ou em outra VPC.
+ A zona hospedada privada que o OpenSearch Serverless cria e anexa à VPC é gerenciada pelo serviço, mas aparece nos seus Amazon Route 53 recursos e é cobrada na sua conta.
+ Para outras considerações, consulte [Considerações](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#considerations-interface-endpoints) no *Guia do AWS PrivateLink *.

## Permissões obrigatórias
<a name="serverless-vpc-permissions"></a>

O acesso à VPC para OpenSearch Serverless usa as seguintes permissões AWS Identity and Access Management (IAM). É possível especificar as condições do IAM para restringir os usuários a coleções específicas.
+ `aoss:CreateVpcEndpoint`: criar um endpoint da VPC.
+ `aoss:ListVpcEndpoints`: listar todos os endpoints da VPC.
+ `aoss:BatchGetVpcEndpoint`: veja detalhes sobre um subconjunto de endpoints da VPC.
+ `aoss:UpdateVpcEndpoint`: modificar um endpoint da VPC.
+ `aoss:DeleteVpcEndpoint`: excluir um endpoint da VPC.

Além disso, as seguintes permissões do Amazon EC2 e do Route 53 são necessárias para criar um endpoint 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`

## Crie um endpoint de interface para Serverless OpenSearch
<a name="serverless-vpc-create"></a>

Você pode criar um endpoint de interface para OpenSearch Serverless usando o console ou a OpenSearch API Serverless. 

**Para criar um endpoint de interface para uma coleção sem OpenSearch servidor**

1. Abra o console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. Expanda **Sem Servidor** no painel de navegação à esquerda e escolha **Endpoints da VPC**.

1. Escolha **Criar endpoint da VPC**.

1. Forneça um nome para o endpoint.

1. Para **VPC, selecione a VPC** a partir da qual você acessará o Serverless. OpenSearch 

1. Em **Sub-redes, selecione uma sub-rede** a partir da qual você OpenSearch acessará o Serverless.
   + O endereço IP e o tipo de DNS do endpoint são baseados no tipo de sub-rede
     + Dualstack: se todas as sub-redes tiverem ambos os intervalos de endereços IPv4 IPv6 
     + IPv6: Se todas as sub-redes forem IPv6 somente sub-redes
     + IPv4: Se todas as sub-redes tiverem intervalos de endereços IPv4 

1. Em **Grupos de segurança**, selecione os grupos de segurança para associar às interfaces de rede do endpoint. Essa é uma etapa crítica em que você limita as portas, protocolos e fontes do tráfego de entrada que você está autorizando em seu endpoint. Certifique-se de que as regras do grupo de segurança permitam que os recursos que usarão o VPC endpoint se comuniquem com o OpenSearch Serverless se comuniquem com a interface de rede do endpoint.

1. Escolha **Criar endpoint**.

Para criar um VPC endpoint usando a API OpenSearch Serverless, use o comando. `CreateVpcEndpoint`

**nota**  
Depois de criar um endpoint, anote seu ID (por exemplo, `vpce-abc123def4EXAMPLE`. Para fornecer ao endpoint acesso às suas coleções, será necessário incluir esse ID em uma ou mais políticas de acesso à rede. 

Depois de criar um endpoint da interface, você deverá fornecer a ele acesso às coleções por meio de políticas de acesso à rede. Para obter mais informações, consulte [Acesso à rede para Amazon OpenSearch Serverless](serverless-network.md).

## Configuração de VPC compartilhada para Amazon Serverless OpenSearch
<a name="shared-vpc-setup"></a>

Você pode usar a Amazon Virtual Private Cloud (VPC) para compartilhar sub-redes VPC com outras pessoas Contas da AWS em sua organização, bem como compartilhar a infraestrutura de rede, como uma VPN, entre vários recursos. Contas da AWS

Atualmente, o Amazon OpenSearch Serverless não oferece suporte à criação de uma AWS PrivateLink conexão em uma VPC compartilhada, a menos que você seja proprietário dessa VPC. AWS PrivateLink também não suporta o compartilhamento de conexões entre Contas da AWS. 

No entanto, com base na arquitetura flexível e modular do OpenSearch Serverless, você ainda pode configurar uma VPC compartilhada. Isso ocorre porque a infraestrutura de rede OpenSearch sem servidor é separada da infraestrutura de coleção individual (OpenSearch Serviço). Portanto, você pode criar um AWS PrivateLink VPCe endpoint para uma conta onde está localizada uma VPC e, em seguida, usar VPCe uma ID na política de rede de outras contas para restringir o tráfego proveniente somente dessa VPC compartilhada. 

Os procedimentos a seguir se referem a uma *conta de proprietário* e a uma *conta de consumidor*.

Uma conta de proprietário funciona como uma conta de rede comum, na qual você configura e compartilha uma VPC com outras contas. As contas de consumidor são aquelas contas que criam e mantêm suas coleções OpenSearch sem servidor na VPC compartilhadas com elas pela conta do proprietário. 

**Pré-requisitos**  
Certifique-se de que os seguintes requisitos sejam atendidos antes de configurar a VPC compartilhada:
+ A conta de proprietário em questão já deve ter configurada uma VPC, sub-redes, uma tabela de rotas e os outros recursos necessários na Amazon Virtual Private Cloud. Para saber mais, consulte o *[Manual do usuário da Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/)*.
+ A conta de proprietário e as contas de consumidor em questão devem pertencer à mesma organização do AWS Organizations. Para obter mais informações, consulte o *Guia do usuário do [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/)*.

**Para configurar uma VPC compartilhada em uma conta de account/common rede do proprietário.**

1. Faça login no console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. Siga as etapas em [Crie um endpoint de interface para Serverless OpenSearch](#serverless-vpc-create). Ao fazer isso, faça as seguintes seleções:
   + Selecione uma VPC e as sub-redes que são compartilhadas com as contas de consumidores da sua organização.

1. Depois de criar o endpoint, anote a VPCe ID gerada e forneça-a aos administradores que realizarão a tarefa de configuração nas contas de consumidores.

   VPCe IDs estão no formato`vpce-abc123def4EXAMPLE`.

**Para configurar uma VPC compartilhada em uma conta de consumidor**

1. Faça login no console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. Use as informações em [Gerenciando coleções Amazon OpenSearch Serverless](serverless-manage.md) para criar uma coleção, se ainda não tiver uma.

1. Use as informações em [Criação de políticas de rede (console)](serverless-network.md#serverless-network-console) para criar uma política de rede. Ao fazer isso, faça as seleções a seguir.
**nota**  
Também é possível atualizar uma política de rede existente para essa finalidade.

   1. Em **Tipo de acesso**, selecione **VPC (recomendado)**.

   1. **Para acessar os endpoints VPC**, escolha a VPCe ID fornecida pela conta do proprietário, no formato. `vpce-abc123def4EXAMPLE`

   1. Na área **Tipo de recurso**, faça o seguinte:
      + Selecione a caixa **Habilitar acesso ao OpenSearch endpoint** e, em seguida, selecione o nome da coleção ou o padrão de coleção a ser usado para habilitar o acesso a partir dessa VPC compartilhada.
      + Selecione a caixa **Habilitar acesso ao OpenSearch painel** e, em seguida, selecione o nome da coleção ou o padrão de coleção a ser usado para habilitar o acesso a partir dessa VPC compartilhada.

1. Para uma nova política, escolha **Criar**. Para uma política existente, escolha **Atualizar**.

# Controle o acesso ao avião por meio de AWS PrivateLink
<a name="serverless-vpc-cp"></a>

O Amazon OpenSearch Serverless oferece suporte a dois tipos de AWS PrivateLink conexões para operações de plano de controle e plano de dados. As operações do plano de controle incluem a criação e exclusão de coleções e o gerenciamento de políticas de acesso. As operações do plano de dados servem para indexar e consultar dados em uma coleção. Esta página aborda o AWS PrivateLink ponto final do plano de controle. Para obter informações sobre os endpoints VPC do plano de dados, consulte. [Acesso ao plano de dados por meio de AWS PrivateLink](serverless-vpc.md)

## Criando um ponto AWS PrivateLink final do plano de controle
<a name="serverless-vpc-privatelink"></a>

Você pode melhorar a postura de segurança da sua VPC OpenSearch configurando o Serverless para usar uma interface VPC endpoint. Os endpoints de interface são alimentados por AWS PrivateLink. Essa tecnologia permite que você acesse de forma privada o OpenSearch Serverless APIs sem um gateway de internet, dispositivo NAT, conexão VPN ou conexão Direct AWS Connect.

Para obter mais informações sobre AWS PrivateLink endpoints de VPC, consulte VPC endpoints [no Guia do usuário da Amazon VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/concepts.html#concepts-vpc-endpoints).

### Considerações
<a name="serverless-vpc-cp-considerations"></a>
+ Os endpoints de VPC são compatíveis somente na mesma região.
+ Os endpoints da VPC oferecem suporte somente a DNS fornecidos pela Amazon por meio do Amazon Route 53.
+ Os endpoints VPC oferecem suporte a políticas de endpoint para controlar o acesso a coleções, OpenSearch políticas e. VpcEndpoints
+ OpenSearch O Serverless oferece suporte somente a endpoints de interface. Endpoints de gateway não são aceitos.

### Criação do VPC endpoint
<a name="serverless-vpc-cp-create"></a>

*Para criar o endpoint VPC do plano de controle para o Amazon OpenSearch Serverless, use o procedimento [Acesse um serviço AWS usando uma interface de VPC endpoint no Amazon VPC Developer](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint) Guide.* Crie o seguinte endpoint:
+ `com.amazonaws.region.aoss`

**Para criar um endpoint VPC do plano de controle usando o console**

1. Abra o console da Amazon VPC em [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. No painel de navegação, escolha **Endpoints**.

1. Escolha **Create Endpoint** (Criar endpoint).

1. Em **Service category** (Categoria de serviço), escolha **Serviços da AWS**.

1. Para **Serviços**, escolha`com.amazonaws.region.aoss`. Por exemplo, .`com.amazonaws.us-east-1.aoss`

1. Em **VPC**, escolha a VPC na qual deseja criar o endpoint.

1. Em **Subnets (Sub-redes)**, selecione as sub-redes (zonas de disponibilidade) nas quais você deseja criar as interfaces de rede do endpoint.

1. Em **Grupos de segurança**, escolha os grupos de segurança a serem associados às interfaces de rede do endpoint. Verifique se o HTTPS (porta 443) está permitido.

1. Em **Política**, escolha **Acesso total** para permitir todas as operações ou escolha **Personalizado** para anexar uma política personalizada.

1. Escolha **Criar endpoint**.

### Criar uma política de endpoint
<a name="serverless-vpc-cp-endpoint-policy"></a>

Você pode anexar uma política de endpoint ao seu VPC endpoint que controla o acesso ao Amazon Serverless. OpenSearch Essa política especifica as seguintes informações:
+ A entidade principal que pode realizar ações.
+ As ações que podem ser realizadas.
+ Os recursos aos quais as ações podem ser aplicadas.

Para mais informações, consulte [Controlar o acesso a serviços com VPC endpoints](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html) no *Guia do usuário da Amazon VPC*.

**Example Política de VPC endpoint para servidores sem servidor OpenSearch**  

```
{  
  "Version": "2012-10-17",		 	 	   
  "Statement": [  
    {  
      "Effect": "Allow",  
      "Principal": "*",  
      "Action": [  
        "aoss:ListCollections",  
        "aoss:BatchGetCollection"  
      ],  
      "Resource": "*"  
    }  
  ]  
}
```

**Example Política restritiva que permite somente operações de lista**  

```
{  
  "Version": "2012-10-17",		 	 	   
  "Statement": [  
    {  
      "Effect": "Allow",  
      "Principal": "*",  
      "Action": "aoss:ListCollections",  
      "Resource": "*"  
    }  
  ]  
}
```

# Autenticação SAML para Amazon Serverless OpenSearch
<a name="serverless-saml"></a>

Com a autenticação SAML para Amazon OpenSearch Serverless, você pode usar seu provedor de identidade existente para oferecer login único (SSO) para os endpoints do Dashboards de coleções sem servidor. OpenSearch 

A autenticação SAML permite que você use provedores de identidade terceirizados para entrar nos OpenSearch painéis para indexar e pesquisar dados. OpenSearch O Serverless oferece suporte a provedores que usam o padrão SAML 2.0, como IAM Identity Center, Okta, Keycloak, Active Directory Federation Services (AD FS) e Auth0. Você pode configurar o IAM Identity Center para sincronizar usuários e grupos de outras fontes de identidade OneLogin, como Okta e Microsoft Entra ID. Para ver uma lista das fontes de identidades compatíveis com o IAM Identity Center e as etapas para configurá-las, consulte os [Tutoriais de introdução](https://docs.aws.amazon.com/singlesignon/latest/userguide/tutorials.html) no *Guia do usuário do IAM*.

**nota**  
A autenticação SAML serve apenas para acessar OpenSearch painéis por meio de um navegador da web. Usuários autenticados só podem fazer solicitações às operações da OpenSearch API por meio de **ferramentas de desenvolvimento** em OpenSearch painéis. Suas credenciais SAML *não* permitem que você faça solicitações HTTP diretas às operações da OpenSearch API.

Para configurar a autenticação SAML, primeiro é necessário configurar um provedor de identidade (IdP) SAML. Em seguida, você inclui um ou mais usuários desse IdP em uma [política de acesso a dados](serverless-data-access.md). Essa política concede certas permissões aos and/or índices de coleções. Em seguida, um usuário pode entrar nos OpenSearch painéis e realizar as ações permitidas na política de acesso a dados.

![\[SAML authentication flow with data access policy, OpenSearch interface, and JSON configuration.\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/images/serverless-saml-flow.png)


**Topics**
+ [Considerações](#serverless-saml-considerations)
+ [Permissões obrigatórias](#serverless-saml-permissions)
+ [Criação de provedores de SAML (console)](#serverless-saml-creating)
+ [Acessando OpenSearch painéis](#serverless-saml-dashboards)
+ [Concessão de acesso de identidades do SAML a dados de coleções](#serverless-saml-policies)
+ [Criação de provedores de SAML (AWS CLI)](#serverless-saml-creating-api)
+ [Exibição de provedores de SAML](#serverless-saml-viewing)
+ [Atualização de provedores de SAML](#serverless-saml-updating)
+ [Exclusão de provedores de SAML](#serverless-saml-deleting)

## Considerações
<a name="serverless-saml-considerations"></a>

Considere o seguinte ao configurar a autenticação SAML:
+ Não há suporte para solicitações assinadas e criptografadas.
+ Não há suporte para declarações criptografadas.
+ Não há suporte para autenticação e desconexão iniciadas pelo IdP.
+ As Políticas de Controle de Serviços (SCP) não serão aplicáveis nem avaliadas no caso de identidades que não sejam do IAM (como SAML no OpenSearch Amazon Serverless e SAML e autorização básica de usuário interno para o Amazon Service). OpenSearch 

## Permissões obrigatórias
<a name="serverless-saml-permissions"></a>

A autenticação SAML para OpenSearch Serverless usa as seguintes permissões AWS Identity and Access Management (IAM):
+ `aoss:CreateSecurityConfig`: criar um provedor de SAML.
+ `aoss:ListSecurityConfig`: listar todos os provedores de SAML na conta atual.
+ `aoss:GetSecurityConfig`: exibir as informações do provedor de SAML.
+ `aoss:UpdateSecurityConfig`: modificar uma determinada configuração do provedor de SAML, incluindo os metadados XML.
+ `aoss:DeleteSecurityConfig`: excluir um provedor de SAML.

A seguinte política de acesso baseada em identidade permite que um usuário gerencie todas as configurações do IdP:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "aoss:CreateSecurityConfig",
                "aoss:DeleteSecurityConfig",
                "aoss:GetSecurityConfig",
                "aoss:UpdateSecurityConfig",
                "aoss:ListSecurityConfigs"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

------

Observe que o elemento `Resource` deve ser um caractere curinga.

## Criação de provedores de SAML (console)
<a name="serverless-saml-creating"></a>

Estas etapas explicam como criar provedores de SAML. Isso permite a autenticação SAML com autenticação iniciada pelo provedor de serviços (SP) para OpenSearch painéis. Não há suporte para autenticação iniciada pelo IdP.

**Para habilitar a autenticação SAML para painéis OpenSearch**

1. Faça login no console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home ).

1. No painel de navegação à esquerda, expanda **Sem Servidor** e escolha **Autenticação SAML**.

1. Escolha **Adicionar provedor de SAML**.

1. Forneça um nome e uma descrição para o provedor.
**nota**  
O nome que você especificar pode ser acessado publicamente e aparecerá em um menu suspenso quando os usuários entrarem OpenSearch nos Painéis. Certifique-se de que o nome seja facilmente reconhecível e não revele informações confidenciais sobre seu provedor de identidade.

1. Em **Configurar seu IdP**, copie o URL do Assertion Consumer Service (ACS).

1. Use o URL do ACS que você acabou de copiar para configurar seu provedor de identidade. A terminologia e as etapas variam de acordo com o provedor. Consulte a documentação do seu provedor.

   No Okta, por exemplo, você cria uma “aplicação Web SAML 2.0” e especifica o URL do ACS como **URL de login único**, **URL do destinatário** e **URL de destino**. Para Auth0, você o especifica em Allowed **Callback URLs**.

1. Forneça a restrição de público se seu IdP possuir um campo para isso. A restrição de público é um valor dentro da declaração do SAML que especifica a quem a declaração se destina. Com o OpenSearch Serverless, você pode fazer o seguinte. Certifique-se de substituir o código *content* no exemplo a seguir pelo seu próprio Conta da AWS ID: 

   1. Use a restrição de público padrão `:opensearch:111122223333`.

   1. (Opcional) configure uma restrição de público personalizada usando a AWS CLI. Para obter mais informações, consulte [Criação de provedores de SAML (AWS CLI)](#serverless-saml-creating-api).

   O nome do campo de restrição de público varia de acordo com o provedor. Para o Okta, é **URI do público, ID de entidade do SP**. Para o IAM Identity Center, é **Público de SAML da aplicação**.

1. Se você estiver usando o IAM Identity Center, você também precisará especificar o seguinte [mapeamento de atributos](https://docs.aws.amazon.com/singlesignon/latest/userguide/attributemappingsconcept.html): `Subject=${user:name}`, com um formato `unspecified`.

1. Aopis você configurar o provedor de identidade, ele gera um arquivo de metadados IdP. Esse arquivo XML contém informações sobre o provedor, como um certificado TLS, endpoints de acesso único e o ID de entidade do provedor de identidade.

   Copie o texto no arquivo de metadados do IdP e cole-o no campo **Fornecer metadados do seu IdP**. Alternativamente, escolha **Importar de arquivo XML** e carregue o arquivo. O arquivo de metadados deve ser semelhante ao seguinte:

   ```
   <?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. Mantenha o campo **Atributo de ID do usuário personalizado** vazio para usar o elemento `NameID` da declaração do SAML para o nome do usuário. Se sua asserção não usar este elemento padrão e, em vez disso, incluir o nome de usuário como um atributo personalizado, especifique esse atributo aqui. Os atributos diferenciam maiúsculas de minúsculas. Só há suporte para um único atributo de usuário.

   O exemplo a seguir mostra um atributo de substituição para `NameID` na declaração do 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 um atributo personalizado no campo **Atributo do grupo**, como `role` ou `group`. Só há suporte para um único atributo de grupo. Não há atributo de grupo padrão. Se você não especificar uma, suas políticas de acesso a dados só poderão conter entidades principais de usuários.

   O exemplo a seguir mostra um atributo de grupo na declaração do 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. Por padrão, os OpenSearch painéis desconectam os usuários após 24 horas. Você pode configurar esse valor para qualquer número entre 1 e 12 horas (15 e 720 minutos) especificando o tempo limite dos **OpenSearch painéis**. Se você tentar definir um tempo limite igual ou inferior a 15 minutos, sua sessão será redefinida para uma hora.

1. Escolha **Criar provedor de SAML**.

## Acessando OpenSearch painéis
<a name="serverless-saml-dashboards"></a>

Depois de configurar um provedor SAML, todos os usuários e grupos associados a esse provedor podem navegar até o endpoint do OpenSearch Dashboards. O URL do Dashboards tem o formato `collection-endpoint/_dashboards/` *para todas as coleções*. 

Se você tiver o SAML ativado, selecionar o link no Console de gerenciamento da AWS direcionará você para a página de seleção do IdP, na qual você poderá fazer login usando suas credenciais do SAML. Primeiro, use o menu suspenso para selecionar um provedor de identidade:

![\[OpenSearch login page with dropdown menu for selecting SAML Identity Provider options.\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/images/idpList.png)


Em seguida, faça login usando suas credenciais do IdP. 

Se você não tiver o SAML ativado, selecionar o link no Console de gerenciamento da AWS direcionará você a fazer login como usuário ou função do IAM, sem opção para SAML.

## Concessão de acesso de identidades do SAML a dados de coleções
<a name="serverless-saml-policies"></a>

Depois de criar um provedor de SAML, você ainda precisa conceder aos usuários e grupos subjacentes acesso aos dados em suas coleções. Você concede acesso por meio de [políticas de acesso a dados](serverless-data-access.md). Até que você forneça acesso aos usuários, eles não poderão ler, gravar ou excluir nenhum dado de suas coleções.

Para conceder acesso, crie uma política de acesso a dados e especifique seu and/or grupo de usuários do SAML IDs na `Principal` declaração:

```
[
   {
      "Rules":[
       ...  
      ],
      "Principal":[
         "saml/987654321098/myprovider/user/Shaheen",
         "saml/987654321098/myprovider/group/finance"
      ]
   }
]
```

É possível conceder acesso a coleções, índices ou ambos. Se você quiser que usuários diferentes tenham permissões diferentes, crie várias regras. Para obter uma lista das permissões disponíveis, consulte [Permissões de políticas com suporte](serverless-data-access.md#serverless-data-supported-permissions). Para obter informações sobre como formatar uma política de acesso, consulte [Sintaxe das políticas](serverless-data-access.md).

## Criação de provedores de SAML (AWS CLI)
<a name="serverless-saml-creating-api"></a>

Para criar um provedor SAML usando a API OpenSearch Serverless, envie uma solicitação: [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`, incluindo o XML de metadados, como um mapa de chave-valor em um arquivo .json. O XML de metadados deve ser codificado como uma [string 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 uma restrição de público personalizada usando a AWS CLI. Para obter mais informações, consulte [Criação de provedores de SAML (AWS CLI)](#serverless-saml-creating-api).

## Exibição de provedores de SAML
<a name="serverless-saml-viewing"></a>

A [ListSecurityConfigs](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListSecurityConfigs.html)solicitação a seguir lista todos os provedores de SAML em sua conta:

```
aws opensearchserverless list-security-configs --type saml
```

A solicitação retorna informações sobre todos os provedores de SAML existentes, incluindo os metadados completos do IdP que seu provedor de identidade gera:

```
{
   "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 exibir detalhes sobre um provedor específico, inclusive a `configVersion` para futuras atualizações, envie uma solicitação `GetSecurityConfig`.

## Atualização de provedores de SAML
<a name="serverless-saml-updating"></a>

**Para atualizar um provedor SAML usando o console OpenSearch Serverless, escolha a **autenticação SAML**, selecione seu provedor de identidade e escolha Editar.** É possível modificar todos os campos, incluindo os metadados e os atributos personalizados.

Para atualizar um provedor por meio da API OpenSearch Serverless, envie uma [UpdateSecurityConfig](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateSecurityConfig.html)solicitação e inclua o identificador da política a ser atualizada. Também é necessário incluir uma versão da configuração, que pode ser recuperada usando os comandos `ListSecurityConfigs` ou `GetSecurityConfig`. A inclusão da versão mais recente garante que você não anule inadvertidamente uma alteração feita por outra pessoa.

A solicitação a seguir atualiza as opções do SAML para um provedor:

```
aws opensearchserverless update-security-config \
    --id saml/123456789012/myprovider \
    --type saml \
    --saml-options file://saml-auth0.json \
    --config-version MTY2NDA1MjY4NDQ5M18x
```

Especifique suas opções de configuração do SAML como um mapa de chave-valor em um arquivo .json.

**Importante**  
**As atualizações nas opções do SAML *não* são incrementais**. Se você não especificar um valor para um parâmetro no objeto `SAMLOptions` ao fazer uma atualização, os valores existentes serão substituídos por valores vazios. Por exemplo, se a configuração atual contiver um valor para `userAttribute`, e você fizer uma atualização em seguida e não incluir esse valor, o valor será removido da configuração. Certifique-se de saber quais são os valores existentes antes de fazer uma atualização chamando a operação `GetSecurityConfig`.

## Exclusão de provedores de SAML
<a name="serverless-saml-deleting"></a>

Quando você exclui um provedor de SAML, quaisquer referências a usuários e grupos associados em suas políticas de acesso a dados não funcionam mais. Para evitar confusão, sugerimos que você remova todas as referências ao endpoint em suas políticas de acesso antes de excluir o endpoint.

**Para excluir um provedor SAML usando o console OpenSearch sem servidor, escolha **Autenticação**, selecione o provedor e escolha Excluir.**

Para excluir um provedor por meio da API OpenSearch Serverless, envie uma [DeleteSecurityConfig](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_DeleteSecurityConfig.html)solicitação:

```
aws opensearchserverless delete-security-config --id saml/123456789012/myprovider
```

# Validação de conformidade para Amazon OpenSearch Serverless
<a name="serverless-compliance-validation"></a>

Auditores terceirizados avaliam a segurança e a conformidade do Amazon OpenSearch Serverless como parte de vários AWS programas de conformidade. Esses programas incluem SOC, PCI e HIPAA.

Para saber se um AWS service (Serviço da AWS) está dentro do escopo de programas de conformidade específicos, consulte [Serviços da AWS Escopo por Programa de Conformidade Serviços da AWS](https://aws.amazon.com/compliance/services-in-scope/) e escolha o programa de conformidade em que você está interessado. Para obter informações gerais, consulte Programas de [AWS conformidade Programas AWS](https://aws.amazon.com/compliance/programs/) de .

Você pode baixar relatórios de auditoria de terceiros usando AWS Artifact. Para obter mais informações, consulte [Baixar relatórios em AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html) .

Sua responsabilidade de conformidade ao usar Serviços da AWS é determinada pela confidencialidade de seus dados, pelos objetivos de conformidade de sua empresa e pelas leis e regulamentações aplicáveis. Para obter mais informações sobre sua responsabilidade de conformidade ao usar Serviços da AWS, consulte a [documentação AWS de segurança](https://docs.aws.amazon.com/security/).

# Marcação de coleções Amazon OpenSearch Serverless
<a name="tag-collection"></a>

As tags permitem que você atribua informações arbitrárias a uma coleção Amazon OpenSearch Serverless para que você possa categorizar e filtrar essas informações. Uma *tag* é um rótulo de metadados que você atribui ou AWS atribui a um AWS recurso. 

Cada tag consiste em uma *chave* e um *valor*. Em tags atribuídas por você, você mesmo define a chave e o valor. Por exemplo, você pode definir a chave como `stage` e o valor de um atributo como `test`.

Com as tags, você pode identificar e organizar seus AWS recursos. Muitos AWS serviços oferecem suporte à marcação, então você pode atribuir a mesma tag a recursos de serviços diferentes para indicar que os recursos estão relacionados. Por exemplo, você pode atribuir a mesma tag a uma coleção OpenSearch Serverless que você atribui a um domínio do Amazon OpenSearch Service.

No OpenSearch Serverless, o recurso principal é uma coleção. Você pode usar o console de OpenSearch serviço AWS CLI, as operações da API OpenSearch Serverless ou o AWS SDKs para adicionar, gerenciar e remover tags de uma coleção.

## Permissões obrigatórias
<a name="collection-tag-permissions"></a>

OpenSearch O Serverless usa as seguintes permissões AWS Identity and Access Management Access Analyzer (IAM) para marcar coleções:
+ `aoss:TagResource`
+ `aoss:ListTagsForResource`
+ `aoss:UntagResource`

# Aplicar tags em coleções (console)
<a name="tag-collection-console"></a>

O console é a maneira mais simples de aplicar tags em uma coleção.

****Para criar uma tag (console)****

1. Faça login no console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home ).

1. Expanda **Serverless** (Sem Servidor) no painel de navegação à esquerda e escolha **Collections** (Coleções).

1. Selecione a coleção na qual você deseja aplicar tags e vá para guia **Tags**.

1. Escolha **Gerenciar** e **Adicionar nova tag**.

1. Insira uma chave de tag e um valor opcional.

1. Escolha **Salvar**.

Para excluir uma tag, siga as mesmas etapas e escolha **Remover** na página **Gerenciar tags**.

Para saber mais sobre como usar o console para trabalhar com tags, consulte [Editor de tags](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html) no *Guia de conceitos básicos do Console de Gerenciamento da AWS *.

# Aplicar tags em coleções (AWS CLI)
<a name="tag-collection-cli"></a>

Para marcar uma coleção usando o AWS CLI, envie uma [TagResource](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_TagResource.html)solicitação: 

```
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
```

Visualize as tags existentes para uma coleção com o [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
```

Remova as tags de uma coleção usando o [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
```

# Operações e plug-ins compatíveis no Amazon OpenSearch Serverless
<a name="serverless-genref"></a>

[O Amazon OpenSearch Serverless oferece suporte a uma variedade de OpenSearch plug-ins, bem como a um subconjunto das operações de API de indexação, pesquisa e metadados disponíveis em.](https://opensearch.org/docs/latest/opensearch/rest-api/index/) OpenSearch É possível incluir as permissões na coluna à esquerda da tabela nas [políticas de acesso a dados](serverless-data-access.md) para limitar o acesso a determinadas operações.

**Topics**
+ [Operações e permissões de OpenSearch API suportadas](#serverless-operations)
+ [OpenSearch Plugins compatíveis](#serverless-plugins)

## Operações e permissões de OpenSearch API suportadas
<a name="serverless-operations"></a>

A tabela a seguir lista as operações de API suportadas pelo OpenSearch Serverless, junto com as permissões correspondentes da política de acesso a dados:


| Permissão da política de acesso a dados | OpenSearch Operações de API | Descrição e advertências | 
| --- | --- | --- | 
|  `aoss:CreateIndex`  | PUT <index> |  Criar índices. Para saber mais, consulte [Criar índices](https://opensearch.org/docs/latest/api-reference/index-apis/create-index/).  Essa permissão também se aplica à criação de índices com os dados de amostra nos OpenSearch painéis.   | 
|  `aoss:DescribeIndex`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-genref.html)  |  Descreve índices. Para saber mais, consulte os seguintes recursos: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-genref.html)  | 
|  `aoss:WriteDocument`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-genref.html)  |  Escreve e atualiza documentos. Para saber mais, consulte os seguintes recursos: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-genref.html)  Algumas operações só são permitidas para coleções do tipo `SEARCH`. Para saber mais, consulte [Escolha de um tipo de coleção](serverless-overview.md#serverless-usecase).   | 
|  `aoss:ReadDocument`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-genref.html)  | Lê documentos. Para saber mais, consulte os seguintes recursos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-genref.html) | 
|  `aoss:DeleteIndex`  | DELETE <target> | Excluir índices. Para saber mais, consulte [Excluir índice](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/pt_br/opensearch-service/latest/developerguide/serverless-genref.html)  |  Atualizar configurações de índice. Para saber mais, consulte os seguintes recursos: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-genref.html)  | 
|  `aoss:CreateCollectionItems`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-genref.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-genref.html) | 
|  `aoss:DescribeCollectionItems`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-genref.html)  |  Descreve como trabalhar com aliases, modelos de índice e estrutura, e pipelines. Para saber mais, consulte os seguintes recursos: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-genref.html)  | 
|  `aoss:UpdateCollectionItems`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-genref.html)  | Atualize aliases, modelos de índice e modelos de estrutura. Para saber mais, consulte os seguintes recursos: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-genref.html) \$1 A API para desprovisionar modelos. Os serviços ML Commons Client e OpenSearch Serverless gerenciam políticas dependentes.  | 
|  `aoss:DeleteCollectionItems`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-genref.html)  |  Exclua aliases, modelos de índice e estrutura, e pipelines. Para saber mais, consulte os seguintes recursos: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-genref.html)  | 
|  `aoss:DescribeMLResource`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-genref.html)  |  Descreve o GET e APIs a pesquisa para recuperar informações sobre modelos e conectores.   | 
|  `aoss:CreateMLResource`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-genref.html)  |  Fornece permissão para criar recursos de ML.  | 
|  `aoss:UpdateMLResource`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-genref.html)  |  Concede permissão para atualizar os recursos de ML existentes.  | 
|  `aoss:DeleteMLResource`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-genref.html)  |  Fornece permissão para excluir recursos de ML.  | 
|  `aoss:ExecuteMLResource`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/serverless-genref.html)  |  Fornece permissão para executar modelos.  | 

## OpenSearch Plugins compatíveis
<a name="serverless-plugins"></a>

OpenSearch As coleções sem servidor vêm pré-embaladas com os seguintes plug-ins da comunidade. OpenSearch O Serverless (Sem Servidor) implanta e gerencia automaticamente os plug-ins para você.

**Plug-ins de análise**
+  [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álise de 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)

**Plug-ins do 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 do Mapper](https://github.com/opensearch-project/OpenSearch/tree/main/plugins/mapper-annotated-text)

**Plug-ins de script**
+  [Painless](https://opensearch.org/docs/latest/api-reference/script-apis/exec-script/)
+  [Expressão](https://opensearch.org/docs/latest/data-prepper/pipelines/expression-syntax/) 
+  [Mustache](https://mustache.github.io/mustache.5.html)

Além disso, o OpenSearch Serverless inclui todos os plug-ins fornecidos como módulos. 

# Monitorando o Amazon OpenSearch Serverless
<a name="serverless-monitoring"></a>

O monitoramento é uma parte importante da manutenção da confiabilidade, disponibilidade e desempenho do Amazon OpenSearch Serverless e de suas outras AWS soluções. AWS fornece as seguintes ferramentas de monitoramento para monitorar o OpenSearch Serverless, relatar quando algo está errado e realizar ações automáticas quando apropriado:
+ *A Amazon CloudWatch* monitora seus AWS recursos e os aplicativos nos quais você executa AWS em tempo real. Você pode coletar e rastrear métricas, criar painéis personalizados e definir alarmes que o notificam ou que realizam ações quando uma métrica especificada atinge um limite definido. 

  Por exemplo, você pode CloudWatch rastrear o uso da CPU ou outras métricas de suas instâncias do Amazon EC2 e iniciar automaticamente novas instâncias quando necessário. Para obter mais informações, consulte o [Guia CloudWatch do usuário da Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).
+ O *AWS CloudTrail* captura chamadas de API e eventos relacionados feitos por sua conta da Conta da AWS ou em nome dela. Ele disponibiliza os arquivos de log para um bucket do Amazon S3 especificado por você. Você pode identificar quais usuários e contas ligaram AWS, o endereço IP de origem a partir do qual as chamadas foram feitas e quando elas ocorreram. Para obter mais informações, consulte o [Guia do usuário do AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).
+ *A Amazon EventBridge* fornece um fluxo quase em tempo real de eventos do sistema que descrevem as mudanças em seus domínios OpenSearch de serviço. Você pode criar regras que observem determinados eventos e acionem ações automatizadas em outros Serviços da AWS quando esses eventos ocorrerem. Para obter mais informações, consulte o [Guia EventBridge do usuário da Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/).

# Monitoramento OpenSearch sem servidor com a Amazon CloudWatch
<a name="monitoring-cloudwatch"></a>

Você pode monitorar o Amazon OpenSearch Serverless usando CloudWatch, que coleta dados brutos e os processa em métricas legíveis, quase em tempo real. Essas estatísticas são mantidas por 15 meses, de maneira que você possa acessar informações históricas e ter uma perspectiva melhor de como o aplicativo web ou o serviço está se saindo. 

Você também pode definir alarmes que observam determinados limites e enviam notificações ou realizam ações quando esses limites são atingidos. Para obter mais informações, consulte o [Guia CloudWatch do usuário da Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).

OpenSearch O Serverless relata as seguintes métricas no namespace. `AWS/AOSS`


| Métrica | Description | 
| --- | --- | 
| ActiveCollection |  Indica se uma coleção está ativa. Um valor de 1 significa que a coleção está em um estado `ACTIVE`. Esse valor é emitido após a criação com êxito de uma coleção, e permanece como 1 até que você exclua a coleção. A métrica não pode ter um valor de 0. **Estatísticas relevantes**: máx. **Dimensões**: `ClientId`, `CollectionId`, `CollectionName` **Frequência**: 60 segundos  | 
| DeletedDocuments |  O número total de documentos excluídos. **Estatísticas relevantes**: média, soma **Dimensões**: `ClientId`, `CollectionId`, `CollectionName`, `IndexId`, `IndexName` **Frequência**: 60 segundos  | 
| IndexingOCU |  O número de unidades de OpenSearch computação (OCUs) usadas para ingerir dados de coleta. Esta métrica aplica-se no nível da conta. Representa o uso somente para coleções que não fazem parte de nenhum grupo de coleções. **Estatísticas relevantes**: soma **Dimensões**: `ClientId` **Frequência**: 60 segundos  | 
| IndexingOCU |  O número de unidades de OpenSearch computação (OCUs) usadas para ingerir dados de coleta. Essa métrica se aplica ao nível do grupo de coleta. **Estatísticas relevantes**: soma **Dimensões**: `ClientId`, `CollectionGroupId`, `CollectionGroupName` **Frequência**: 60 segundos  | 
| IngestionDataRate |  A taxa de indexação em GiB por segundo para uma coleção ou índice. Esta métrica aplica-se apenas às solicitações de indexação em massa. **Estatísticas relevantes**: soma **Dimensões**: `ClientId`, `CollectionId`, `CollectionName`, `IndexId`, `IndexName` **Frequência**: 60 segundos  | 
| IngestionDocumentErrors |  O número total de erros de documentos durante a ingestão de uma coleção ou índice. Depois de uma solicitação de indexação em massa com êxito, os gravadores processam a solicitação e emitem erros para todos os documentos que falharam na solicitação. **Estatísticas relevantes**: soma **Dimensões**: `ClientId`, `CollectionId`, `CollectionName`, `IndexId`, `IndexName` **Frequência**: 60 segundos  | 
| IngestionDocumentRate |  A taxa por segundo na qual os documentos estão sendo ingeridos em uma coleção ou índice. Esta métrica aplica-se apenas às solicitações de indexação em massa. **Estatísticas relevantes**: soma **Dimensões**: `ClientId`, `CollectionId`, `CollectionName`, `IndexId`, `IndexName` **Frequência**: 60 segundos  | 
| IngestionRequestErrors |  O número total de erros de solicitação de indexação em massa para uma coleção. OpenSearch O Serverless emite essa métrica quando uma solicitação de indexação em massa falha por qualquer motivo, como um problema de autenticação ou disponibilidade. **Estatísticas relevantes**: soma **Dimensões**: `ClientId`, `CollectionId`, `CollectionName` **Frequência**: 60 segundos  | 
| IngestionRequestLatency |  A latência, em segundos, para operações de gravação em massa em uma coleção. **Estatísticas relevantes**: mínimo, máximo, média **Dimensões**: `ClientId`, `CollectionId`, `CollectionName` **Frequência**: 60 segundos  | 
| IngestionRequestRate |  O número total de operações de gravação em massa recebidas por uma coleção. **Estatísticas relevantes**: mínimo, máximo, média **Dimensões**: `ClientId`, `CollectionId`, `CollectionName` **Frequência**: 60 segundos  | 
| IngestionRequestSuccess |  O número total de operações de indexação para uma coleção. **Estatísticas relevantes**: soma **Dimensões**: `ClientId`, `CollectionId`, `CollectionName` **Frequência**: 60 segundos  | 
| SearchableDocuments |  O número total de documentos pesquisáveis em uma coleção ou no índice. **Estatísticas relevantes**: soma **Dimensões**: `ClientId`, `CollectionId`, `CollectionName`, `IndexId`, `IndexName` **Frequência**: 60 segundos  | 
| SearchRequestErrors |  O número total de erros de consulta por minuto para uma coleção. **Estatísticas relevantes**: soma **Dimensões**: `ClientId`, `CollectionId`, `CollectionName` **Frequência**: 60 segundos  | 
| SearchRequestLatency |  O tempo médio necessário, em milissegundos, para que uma operação de pesquisa seja concluída em uma coleção. **Estatísticas relevantes**: mínimo, máximo, média **Dimensões**: `ClientId`, `CollectionId`, `CollectionName` **Frequência**: 60 segundos  | 
| SearchOCU |  O número de unidades de OpenSearch computação (OCUs) usadas para pesquisar dados de coleta. Esta métrica aplica-se no nível da conta. Representa o uso somente para coleções que não fazem parte de nenhum grupo de coleções. **Estatísticas relevantes**: soma **Dimensões**: `ClientId` **Frequência**: 60 segundos  | 
| SearchOCU |  O número de unidades de OpenSearch computação (OCUs) usadas para pesquisar dados de coleta. Essa métrica se aplica ao nível do grupo de coleta. **Estatísticas relevantes**: soma **Dimensões**: `ClientId`, `CollectionGroupId`, `CollectionGroupName` **Frequência**: 60 segundos  | 
| SearchRequestRate |  O número total de solicitações de pesquisa por minuto para uma coleção. **Estatísticas relevantes**: média, máximo, soma **Dimensões**: `ClientId`, `CollectionId`, `CollectionName` **Frequência**: 60 segundos  | 
| StorageUsedInS3 |  A quantidade, em bytes, do armazenamento do Amazon S3 usado. OpenSearch O Serverless armazena dados indexados no Amazon S3. Você deve selecionar o período em um minuto para receber um valor preciso. **Estatísticas relevantes**: soma **Dimensões**: `ClientId`, `CollectionId`, `CollectionName`, `IndexId`, `IndexName` **Frequência**: 60 segundos  | 
| VectorIndexBuildAccelerationOCU |  O número de unidades de OpenSearch computação (OCUs) usadas para acelerar a indexação vetorial. Essa métrica se aplica no nível da coleção. **Estatísticas relevantes**: soma **Dimensões**: `ClientId`, `CollectionId` **Frequência**: 60 segundos  | 
| 2xx, 3xx, 4xx, 5xx |  O número de solicitações para a coleção que resultaram no determinado código de resposta HTTP (2*xx*, 3*xx*, 4*xx*, 5*xx*). **Estatísticas relevantes**: soma **Dimensões**: `ClientId`, `CollectionId`, `CollectionName` **Frequência**: 60 segundos  | 

# Registrando OpenSearch chamadas de API sem servidor usando AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

O Amazon OpenSearch Serverless é integrado com AWS CloudTrail, um serviço que fornece um registro das ações realizadas por um usuário, função ou AWS serviço no Serverless. 

CloudTrail captura todas as chamadas de API para OpenSearch Serverless como eventos. As chamadas capturadas incluem chamadas da seção Serverless do console de OpenSearch serviço e chamadas de código para as operações da API OpenSearch Serverless.

Se você criar uma trilha, poderá habilitar a entrega contínua de CloudTrail eventos para um bucket do Amazon S3, incluindo eventos para OpenSearch Serverless. Se você não configurar uma trilha, ainda poderá ver os eventos mais recentes no CloudTrail console no **Histórico de eventos**. 

Usando as informações coletadas por CloudTrail, você pode determinar a solicitação que foi feita à OpenSearch Serverless, o endereço IP do qual a solicitação foi feita, quem fez a solicitação, quando ela foi feita e detalhes adicionais.

Para saber mais sobre isso CloudTrail, consulte o [Guia AWS CloudTrail do usuário](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html).

## OpenSearch Informações sem servidor em CloudTrail
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail é ativado no seu Conta da AWS quando você cria a conta. **Quando a atividade ocorre no OpenSearch Serverless, essa atividade é registrada em um CloudTrail evento junto com outros eventos de AWS serviço no histórico de eventos.** Você pode visualizar, pesquisar e baixar eventos recentes no seu Conta da AWS. Para obter mais informações, consulte [Visualização de eventos com histórico de CloudTrail eventos](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html).

Para um registro contínuo dos eventos em seu Conta da AWS, incluindo eventos para OpenSearch Serverless, crie uma trilha. Uma *trilha* permite CloudTrail entregar arquivos de log para um bucket do Amazon S3. Por padrão, quando você cria uma trilha no console, ela é aplicada a todas as Regiões da AWS. 

A trilha registra eventos de todas as regiões na AWS partição e entrega os arquivos de log ao bucket do Amazon S3 que você especificar. Além disso, você pode configurar outros AWS serviços para analisar e agir com base nos dados de eventos coletados nos CloudTrail registros. Para saber mais, consulte:
+ [Visão geral da criação de uma trilha](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail serviços e integrações suportados](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [Configurando notificações do Amazon SNS para CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [Recebendo arquivos de CloudTrail log de várias regiões](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) e [Recebendo arquivos de CloudTrail log de várias contas](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Todas as ações OpenSearch sem servidor são registradas CloudTrail e documentadas na referência da API sem [OpenSearch servidor](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/Welcome.html). Por exemplo, chamadas para as `DeleteCollection` ações `CreateCollection``ListCollections`, e geram entradas nos arquivos de CloudTrail log.

Cada entrada de log ou evento contém informações sobre quem gerou a solicitação. As informações de identidade ajudam a determinar:
+ Se a solicitação foi feita com credenciais de usuário root ou AWS Identity and Access Management (IAM).
+ Se a solicitação foi feita com credenciais de segurança temporárias de um perfil ou de um usuário federado.
+ Se a solicitação foi feita por outro AWS serviço.

Para obter mais informações, consulte [Elemento userIdentity do CloudTrail ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## OpenSearch Eventos de dados sem servidor em CloudTrail
<a name="cloudtrail-data-events"></a>

[Os eventos de dados](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events) fornecem informações sobre as operações de recursos realizadas em ou em um recurso (por exemplo, pesquisa ou indexação em uma coleção OpenSearch sem servidor). Também são conhecidas como operações de plano de dados. Os eventos de dados costumam ser atividades de alto volume. Por padrão, CloudTrail não registra eventos de dados. O **histórico de CloudTrail eventos** não registra eventos de dados.

Há cobranças adicionais para eventos de dados. Para obter mais informações sobre CloudTrail preços, consulte [AWS CloudTrail Preços](https://aws.amazon.com/cloudtrail/pricing/).

Você pode registrar eventos de dados para os tipos de `AWS::AOSS::Collection` recursos usando o CloudTrail console ou AWS CLI as operações CloudTrail da API. Para saber mais sobre como registrar eventos de dados em log, consulte [Registrar eventos de dados com o Console de gerenciamento da AWS](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-console) e [Registrar eventos de dados com a 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) no *Guia do usuário do AWS CloudTrail *.

É possível configurar seletores de eventos avançados para filtrar os campos `eventName`, `readOnly` e `resources.ARN` para registrar em log somente os eventos que são importantes para você. Para saber mais sobre esses campos, consulte [https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html) na *Referência de API do AWS CloudTrail *.

## Entendendo as entradas de eventos de dados OpenSearch sem servidor
<a name="understanding-data-event-entries"></a>

No seguinte exemplo:
+ O campo `requestParameters` contém detalhes sobre a chamada de API feita para a coleção. Ele inclui o caminho básico da solicitação (sem parâmetros de consulta).
+ O campo `responseElements` inclui um código de status que indica o resultado da solicitação ao modificar recursos. Esse código de status ajuda você a saber se suas alterações foram processadas com sucesso ou se precisam de atenção.
+ OpenSearch O Serverless registra eventos CloudTrail de dados somente para solicitações que concluíram com êxito a autenticação do 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"
    }
  ]
}
```

## Compreendendo as entradas de eventos de gerenciamento OpenSearch sem servidor
<a name="understanding-service-name-entries"></a>

Uma trilha é uma configuração que permite a entrega de eventos como arquivos de log para um bucket do Amazon S3 que você especificar. CloudTrail os arquivos de log contêm uma ou mais entradas de log. 

Um evento representa uma solicitação única de qualquer fonte. Ele inclui informações sobre a ação solicitada, a data e a hora da ação, os parâmetros da solicitação e assim por diante. CloudTrail os arquivos de log não são um rastreamento de pilha ordenado das chamadas públicas de API, portanto, eles não aparecem em nenhuma ordem específica. 

O exemplo a seguir exibe uma entrada de CloudTrail registro que demonstra a `CreateCollection` ação.

```
{
   "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"
   }
}
```

# Monitoramento de eventos OpenSearch sem servidor usando a Amazon EventBridge
<a name="serverless-monitoring-events"></a>

O Amazon OpenSearch Service se integra EventBridge à Amazon para notificá-lo sobre determinados eventos que afetam seus domínios. Os eventos dos AWS serviços são entregues quase EventBridge em tempo real. Os mesmos eventos também são enviados para a [Amazon CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatchEvents.html), a antecessora da Amazon EventBridge. Você pode escrever regras para indicar quais eventos são do seu interesse, e as ações automatizadas a serem tomadas quando um evento corresponder à regra. Exemplos de ações que você pode ativar automaticamente incluem o seguinte:
+ Invocando uma função AWS Lambda 
+ Invocação de um Run Command do Amazon EC2
+ Transmitir o evento Amazon Kinesis Data Streams
+ Ativando uma máquina de estado AWS Step Functions
+ Notificar um tópico do Amazon SNS ou uma fila do Amazon SQS

Para obter mais informações, consulte [Comece a usar a Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-get-started.html) no *Guia EventBridge do usuário da Amazon*.

## Configuração de notificações
<a name="monitoring-events-notifications"></a>

Você pode usar [as Notificações AWS do usuário](https://docs.aws.amazon.com/notifications/latest/userguide/what-is-service.html) para receber notificações quando ocorrer um evento OpenSearch sem servidor. Um evento é um indicador de uma mudança no ambiente OpenSearch sem servidor, como quando você atinge o limite máximo de uso da OCU. Amazon EventBridge recebe o evento e encaminha uma notificação para a Central de Console de gerenciamento da AWS Notificações e os canais de entrega escolhidos. Você recebe uma notificação quando um evento corresponde a uma regra especificada.

## OpenSearch Eventos de unidades de computação (OCU)
<a name="monitoring-events-ocu"></a>

OpenSearch O Serverless envia eventos para EventBridge quando um dos seguintes eventos relacionados à OCU ocorrer. 

### OCU usage approaching maximum limit (Uso de OCU próximo do limite máximo)
<a name="monitoring-events-ocu-approaching-max"></a>

OpenSearch O Serverless envia esse evento quando o uso da OCU de pesquisa ou indexação atinge 75% do seu limite de capacidade. O uso de OCU é calculado com base no limite de capacidade configurado e no consumo atual de OCU.

**Exemplo**

O exemplo a seguir mostra um evento desse tipo.

```
{
  "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."
  }
}
```

O exemplo a seguir mostra um evento desse tipo.

```
{
  "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."
  }
```

### OCU usage reached maximum limit (O uso de OCU atingiu o limite máximo)
<a name="monitoring-events-ocu-approaching-max"></a>

OpenSearch O Serverless envia esse evento quando o uso da OCU de pesquisa ou indexação atinge 100% do seu limite de capacidade. O uso de OCU é calculado com base no limite de capacidade configurado e no consumo atual de OCU.

**Exemplo**

O exemplo a seguir mostra um evento desse tipo.

```
{
  "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."
  }
}
```

O exemplo a seguir mostra um evento desse tipo.

```
{
  "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."
  }
}
```