

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Amazon OpenSearch Serverless è una configurazione on-demand con scalabilità automatica per Amazon Service. OpenSearch A differenza dei OpenSearch domini forniti, che richiedono la gestione manuale della capacità, una raccolta OpenSearch Serverless ridimensiona automaticamente le risorse di elaborazione in base alle esigenze dell'applicazione.

OpenSearch Serverless offre una soluzione conveniente per carichi di lavoro poco frequenti, intermittenti o imprevedibili. Ottimizza i costi scalando automaticamente la capacità di elaborazione in base all'utilizzo dell'applicazione. Le raccolte serverless utilizzano lo stesso volume di storage ad alta capacità, distribuito e ad alta disponibilità dei domini di servizio forniti. OpenSearch 

OpenSearch Le raccolte serverless sono sempre crittografate. Puoi scegliere la chiave di crittografia, ma non puoi disabilitare la crittografia. Per ulteriori informazioni, consulta [Crittografia in Amazon OpenSearch Serverless](serverless-encryption.md)

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

OpenSearch Serverless offre i seguenti vantaggi:
+ **Più semplice del provisioning**: OpenSearch Serverless elimina gran parte della complessità della gestione OpenSearch dei cluster e della capacità. Dimensiona e ottimizza automaticamente i cluster e si occupa della gestione del ciclo di vita delle partizioni e degli indici. Gestisce inoltre gli aggiornamenti del software di servizio e gli upgrade delle versioni. OpenSearch Tutti gli aggiornamenti e gli upgrade non comportano interruzioni.
+ **Conveniente**: quando utilizzi OpenSearch Serverless, paghi solo per le risorse che consumi. Ciò elimina la necessità di un provisioning anticipato e di un overprovisioning per gestire i picchi dei carichi di lavoro.
+ **Alta disponibilità**: OpenSearch Serverless supporta i carichi di lavoro di produzione con ridondanza per proteggere dalle interruzioni della Availability Zone e dai guasti dell'infrastruttura.
+ **Scalabile**: OpenSearch Serverless ridimensiona automaticamente le risorse per mantenere tassi di ingestione dei dati e tempi di risposta alle query costantemente elevati.

# Cos'è Amazon OpenSearch Serverless?
<a name="serverless-overview"></a>

Amazon OpenSearch Serverless è un'opzione serverless on-demand per Amazon OpenSearch Service che elimina la complessità operativa del provisioning, della configurazione e del tuning dei cluster. OpenSearch È ideale per le organizzazioni che preferiscono non gestire autonomamente i propri cluster o che non dispongono delle risorse e delle competenze dedicate per gestire implementazioni su larga scala. Con OpenSearch Serverless, puoi cercare e analizzare grandi volumi di dati senza gestire l'infrastruttura sottostante.

Una *raccolta OpenSearch * Serverless è un gruppo di OpenSearch indici che interagiscono per supportare un carico di lavoro o un caso d'uso specifici. Le raccolte semplificano le operazioni rispetto ai OpenSearch cluster autogestiti, che richiedono il provisioning manuale.

Le raccolte utilizzano lo stesso storage ad alta capacità, distribuito e ad alta disponibilità dei domini di OpenSearch servizio forniti, ma riducono ulteriormente la complessità eliminando la configurazione e l'ottimizzazione manuali. I dati all'interno di una raccolta vengono crittografati durante il transito. OpenSearch Serverless supporta anche OpenSearch le dashboard, che forniscono un'interfaccia per l'analisi dei dati.

Attualmente, le raccolte serverless eseguono OpenSearch la versione 2.17.x. Man mano che vengono rilasciate nuove versioni, OpenSearch Serverless aggiorna automaticamente le raccolte per incorporare nuove funzionalità, correzioni di bug e miglioramenti delle prestazioni.

OpenSearch Serverless supporta le stesse operazioni API di acquisizione e interrogazione della suite OpenSearch open source, in modo da poter continuare a utilizzare i client e le applicazioni esistenti. I tuoi client devono essere compatibili con OpenSearch 2.x per poter funzionare con Serverless. OpenSearch Per ulteriori informazioni, consulta [Inserimento di dati in raccolte Amazon Serverless OpenSearch](serverless-clients.md).

**Topics**
+ [Casi d'uso per Serverless OpenSearch](#serverless-use-cases)
+ [Come funziona](#serverless-process)
+ [Scelta di un tipo di raccolta](#serverless-usecase)
+ [Prezzi](#serverless-pricing)
+ [Supportato Regioni AWS](#serverless-regions)
+ [Limitazioni](#serverless-limitations)
+ [Service e Serverless a confronto OpenSearch OpenSearch](serverless-comparison.md)

## Casi d'uso per Serverless OpenSearch
<a name="serverless-use-cases"></a>

OpenSearch Serverless supporta due casi d'uso principali:
+ **Analisi dei log**: l'opzione dell'analisi dei log si concentra sull'analisi di grandi volumi di dati di serie temporali semistrutturati generati da macchine per approfondimenti sull'aspetto operativo e sul comportamento degli utenti.
+ **Ricerca full-text**: l'opzione della ricerca full-text supporta le applicazioni nelle reti interne (ad esempio, per i sistemi di gestione dei contenuti, i documenti legali, ecc.) e le applicazioni connesse a Internet (ad esempio, per la ricerca di contenuti nei siti di e-commerce). 

 Quando crei una raccolta, scegli uno di questi casi d'uso. Per ulteriori informazioni, consulta [Scelta di un tipo di raccolta](#serverless-usecase).

## Come funziona
<a name="serverless-process"></a>

 OpenSearch I cluster tradizionali dispongono di un unico set di istanze che eseguono sia operazioni di indicizzazione che di ricerca e lo storage degli indici è strettamente associato alla capacità di elaborazione. Al contrario, OpenSearch Serverless utilizza un'architettura nativa del cloud che separa i componenti di indicizzazione (inserimento) dai componenti di ricerca (query), con Amazon S3 come storage di dati principale per gli indici. 

Questa architettura disaccoppiata consente di scalare le funzioni di ricerca e indicizzazione indipendentemente l'una dall'altra, e indipendentemente dai dati indicizzati in S3. Inoltre, l'architettura fornisce l'isolamento per le operazioni di importazione e interrogazione in modo che possano essere eseguite contemporaneamente, senza conflitti tra le risorse. 

*Quando scrivi dati su una raccolta, Serverless li distribuisce alle unità di calcolo di indicizzazione. OpenSearch * Le unità di calcolo di indicizzazione importano i dati in entrata e spostano gli indici su S3. Quando si esegue una ricerca sui dati della raccolta, OpenSearch Serverless indirizza le richieste alle unità di calcolo di *ricerca che contengono* i dati interrogati. Le unità di calcolo di ricerca scaricano i dati indicizzati direttamente da S3 (se non sono già memorizzati nella cache locale), eseguono operazioni di ricerca ed effettuano aggregazioni. 

L'immagine seguente illustra questa architettura disaccoppiata:

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


OpenSearch La capacità di elaborazione serverless per l'inserimento, la ricerca e l'interrogazione dei dati viene misurata in unità di calcolo (). OpenSearch OCUs Ogni OCU è una combinazione di 6 GiB di memoria e della CPU virtuale (vCPU) corrispondente, oltre al trasferimento dei dati su Amazon S3. Ogni OCU include una memoria temporanea a caldo sufficiente per 120 GiB di dati di indice.

Quando create la prima raccolta, OpenSearch Serverless ne crea due istanze, una per l'indicizzazione e una per la ricerca. OCUs Inoltre, avvia anche un set di nodi in standby in un'altra Zona di disponibilità per garantire un'elevata disponibilità. Per scopi di sviluppo e test, è possibile disabilitare l'impostazione **Enable redondancy** per una raccolta, che elimina le due repliche in standby e ne crea solo due. OCUs Per impostazione predefinita, le repliche attive ridondanti sono abilitate, il che significa che ne vengono create un totale di quattro OCUs per la prima raccolta in un account.

 OCUs Esistono anche quando non c'è attività su alcun endpoint di raccolta. Tutte le raccolte successive li OCUs condividono. Quando crei raccolte aggiuntive nello stesso account, OpenSearch Serverless ne aggiunge altre OCUs per la ricerca e l'inserimento solo se necessario per supportare le raccolte, in base ai [limiti di capacità specificati](serverless-scaling.md#serverless-scaling-configure). La capacità si riduce man mano che l'utilizzo dell'elaborazione diminuisce.

Per informazioni su come ti vengono fatturati, consulta. OCUs [Prezzi](#serverless-pricing)

## Scelta di un tipo di raccolta
<a name="serverless-usecase"></a>

OpenSearch Serverless supporta tre tipi di raccolta principali:

**Serie temporali**: il segmento di analisi dei log che analizza grandi volumi di dati semistrutturati generati automaticamente in tempo reale, fornendo approfondimenti su operazioni, sicurezza, comportamento degli utenti e prestazioni aziendali.

**Ricerca: ricerca** di testo completo che abilita le applicazioni all'interno delle reti interne, come i sistemi di gestione dei contenuti e gli archivi di documenti legali, nonché le applicazioni connesse a Internet come la ricerca di siti di e-commerce e l'individuazione di contenuti.

**Ricerca vettoriale: la ricerca** semantica sugli incorporamenti vettoriali semplifica la gestione dei dati vettoriali e consente esperienze di ricerca aumentate basate sull'apprendimento automatico (ML). Supporta applicazioni di intelligenza artificiale generativa come chatbot, assistenti personali e rilevamento delle frodi.

Quando all'inizio crei una raccolta, scegli un tipo di raccolta:

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


Il tipo di raccolta scelto dipende dal tipo di dati che intendi importare nella raccolta e dal modo in cui intendi interrogarli. Non puoi modificare il tipo di raccolta dopo averla creata.

I tipi di raccolta presentano le seguenti **differenze** rilevanti:
+ Per le raccolte *di ricerca* e di *ricerca vettoriale*, tutti i dati vengono archiviati in hot storage per garantire tempi di risposta rapidi alle query. Le raccolte di *serie temporali* utilizzano una combinazione di archiviazione ad accesso frequente e a caldo, in cui i dati più recenti vengono conservati in un'archiviazione ad accesso frequente per ottimizzare i tempi di risposta alle interrogazioni per i dati a cui, come suggerisce il nome, si accede più frequentemente.
+ Per le raccolte di *serie temporali* e di *ricerca vettoriale*, non è possibile indicizzarle in base a un ID di documento personalizzato o aggiornarle tramite richieste upsert. Questa operazione è riservata ai casi d'uso della ricerca. Puoi invece eseguire l'aggiornamento in base all'ID del documento. Per ulteriori informazioni, consulta [Operazioni e autorizzazioni API supportate OpenSearch](serverless-genref.md#serverless-operations).
+ Per le raccolte *di ricerche* e *serie temporali*, non puoi utilizzare indici di tipo k-NN.

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

AWS ti addebita i seguenti componenti Serverless: OpenSearch 
+ Calcolo dell'importazione dei dati
+ Elaborazione di ricerche e query
+ Archiviazione conservata in Amazon S3

Una OCU comprende 6 GB di RAM, vCPU GP3 , storage e trasferimento dati corrispondenti su Amazon S3. L'unità più piccola che ti può essere fatturata è 0,5 OCU. AWS fattura l'OCU su base oraria, con granularità di secondo livello. Nel tuo estratto conto, vedi una voce per il calcolo in OCU-hours con un'etichetta per l'inserimento dei dati e un'etichetta per la ricerca. AWS inoltre ti fattura su base mensile per i dati archiviati in Amazon S3. Non ti addebita alcun costo per l'utilizzo OpenSearch delle dashboard.

Quando crei una raccolta con repliche attive ridondanti, ti viene addebitato un minimo di 1 OCU (0,5 OCU × 2) per l'ingestione, comprese le repliche principali e di standby, e 1 OCU (0,5 OCU × 2) per la ricerca:
+ 1 OCU (0,5 OCU × 2) per l'ingestione, inclusi quelli primari e quelli di standby
+ 1 OCU (0,5 OCU × 2) per la ricerca

Se disabiliti le repliche attive ridondanti, ti verrà addebitato un minimo di 1 OCU (0,5 OCU x 2) per la prima raccolta nel tuo account. Tutte le raccolte successive possono condividerle. OCUs

OpenSearch Serverless ne aggiunge altre OCUs in incrementi di 1 OCU in base alla potenza di elaborazione e allo storage necessari per supportare le raccolte. Puoi configurare un numero massimo di OCUs per il tuo account per controllare i costi.

**Nota**  
Le raccolte con unique non AWS KMS keys possono essere condivise OCUs con altre raccolte.

OpenSearch Serverless tenta di utilizzare le risorse minime richieste per tenere conto dei cambiamenti dei carichi di lavoro. Il numero di unità OCUs fornite in qualsiasi momento può variare e non è esatto. Nel tempo, l'algoritmo utilizzato da OpenSearch Serverless continuerà a migliorare per ridurre al minimo l'utilizzo del sistema.

Per i dettagli completi sui prezzi, consulta i [prezzi OpenSearch di Amazon Service](https://aws.amazon.com/opensearch-service/pricing/).

## Supportato Regioni AWS
<a name="serverless-regions"></a>

OpenSearch Serverless è disponibile in un sottoinsieme di Regioni AWS tale OpenSearch servizio disponibile in. Per un elenco delle regioni supportate, consulta gli [endpoint e le quote di Amazon OpenSearch Service](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html) nel. *Riferimenti generali di AWS*

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

OpenSearch Serverless presenta le seguenti limitazioni:
+ Alcune operazioni OpenSearch API non sono supportate. Per informazioni, consulta [Operazioni e autorizzazioni API supportate OpenSearch](serverless-genref.md#serverless-operations).
+ Alcuni OpenSearch plugin non sono supportati. Per informazioni, consulta [OpenSearch Plugin supportati](serverless-genref.md#serverless-plugins).
+ Al momento non è possibile migrare automaticamente i dati da un dominio di OpenSearch servizio gestito a una raccolta serverless. È necessario reindicizzare i dati da un dominio a una raccolta.
+ L'accesso multi-account alle raccolte non è supportato. Non è possibile includere raccolte da altri account nelle tue policy di crittografia o accesso ai dati.
+ I OpenSearch plugin personalizzati non sono supportati.
+ Le istantanee automatiche sono supportate per le raccolte OpenSearch Serverless. Le istantanee manuali non sono supportate. Per ulteriori informazioni, consulta [Backup delle raccolte tramite istantanee](serverless-snapshots.md).
+ La ricerca e la replica tra Regioni non sono supportate.
+ Ci sono dei limiti al numero di risorse serverless di cui è possibile disporre in un singolo account e in una sola regione. Vedi [OpenSearch Quote serverless.](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-limits-serverless)
+ L'intervallo di aggiornamento per gli indici nelle raccolte di ricerca vettoriale è di circa 60 secondi. L'intervallo di aggiornamento per gli indici nelle raccolte di ricerca e di serie temporali è di circa 10 secondi.
+ Il numero di shard, il numero di intervalli e l'intervallo di aggiornamento non sono modificabili e vengono gestiti da Serverless. OpenSearch La strategia di sharding si basa sul tipo di raccolta e sul traffico. Ad esempio, una raccolta di serie temporali ridimensiona gli shard primari in base ai colli di bottiglia relativi al traffico di scrittura.
+ Sono supportate le funzionalità geospaziali disponibili nelle versioni fino alla 2.1. OpenSearch 

# Service e Serverless a confronto OpenSearch OpenSearch
<a name="serverless-comparison"></a>

In OpenSearch Serverless, alcuni concetti e funzionalità sono diversi dalla funzionalità corrispondente per un dominio di servizio fornito. OpenSearch Ad esempio, una differenza importante è che OpenSearch Serverless non ha il concetto di cluster o nodo.

La tabella seguente descrive in che modo le funzionalità e i concetti importanti di OpenSearch Serverless differiscono dalla funzionalità equivalente in un dominio di servizio fornito. OpenSearch 


| Funzionalità | OpenSearch Servizio | OpenSearch Senza server | 
| --- | --- | --- | 
|  **Domini invece di raccolte**  |  Gli indici sono contenuti in *domini*, che sono cluster preimpostati. OpenSearch  Per ulteriori informazioni, consulta [Creazione e gestione di domini Amazon OpenSearch Service](createupdatedomains.md).  |  Gli indici sono contenuti in *raccolte*, ossia raggruppamenti logici di indici che rappresentano un carico di lavoro o un caso d'uso specifico. Per ulteriori informazioni, consulta [Gestione delle raccolte Amazon OpenSearch Serverless](serverless-manage.md).  | 
|  **Tipi di nodi e gestione della capacità**  |  Crei un cluster con i tipi di nodi che soddisfano le tue specifiche di costi e prestazioni. Devi calcolare i tuoi requisiti di archiviazione e scegliere un tipo di istanza per il tuo dominio. Per ulteriori informazioni, consulta [Dimensionamento dei domini Amazon OpenSearch Service](sizing-domains.md).  |  OpenSearch Serverless ridimensiona e fornisce automaticamente unità di calcolo aggiuntive per l'account in base all'utilizzo della capacità. Per ulteriori informazioni, consulta [Gestione dei limiti di capacità per Amazon OpenSearch Serverless](serverless-scaling.md).  | 
|  **Fatturazione**  |  Pagherai per ogni ora d'uso di un'istanza EC2 e per le dimensioni complessive di tutti i volumi di archiviazione EBS collegati alle istanze. Per ulteriori informazioni, consulta [Prezzi per Amazon OpenSearch Service](what-is.md#pricing).  |  Per l'elaborazione relativa all'importazione dei dati, l'elaborazione per la ricerca e l'interrogazione, e lo spazio di archiviazione conservato in S3, ricevi un addebito espresso in OCU all'ora. Per ulteriori informazioni, consulta [Prezzi](serverless-overview.md#serverless-pricing).  | 
|  **Encryption** (Crittografia)  |  La crittografia dei dati inattivi è *facoltativa* per i domini. Per ulteriori informazioni, consulta [Crittografia dei dati inattivi per Amazon OpenSearch Service](encryption-at-rest.md).  |  La crittografia dei dati inattivi è *obbligatoria* per le raccolte. Per ulteriori informazioni, consulta [Crittografia in Amazon OpenSearch Serverless](serverless-encryption.md).  | 
|  **Controllo dell'accesso ai dati**  |  L'accesso ai dati all'interno dei domini è determinato dalle policy IAM e [dal controllo granulare degli accessi](fgac.md).  |  L'accesso ai dati all'interno delle raccolte è determinato dalle [policy di accesso ai dati](serverless-data-access.md).  | 
| Operazioni supportate OpenSearch |  OpenSearch Il servizio supporta un sottoinsieme di tutte le operazioni OpenSearch API. Per ulteriori informazioni, consulta [Operazioni supportate in Amazon OpenSearch Service](supported-operations.md).  |  OpenSearch Serverless supporta un sottoinsieme diverso di OpenSearch operazioni API. Per ulteriori informazioni, consulta [Operazioni e plugin supportati in Amazon Serverless OpenSearch](serverless-genref.md).  | 
| Accesso ai pannelli di controllo |  Accedi con nome utente e password. Per ulteriori informazioni, consulta [Accesso alle OpenSearch dashboard come utente principale](fgac.md#fgac-dashboards).  |  Se hai effettuato l'accesso alla AWS console e accedi all'URL della dashboard, accederai automaticamente. Per ulteriori informazioni, consulta [Accesso ai OpenSearch pannelli di controllo](serverless-dashboards.md).  | 
| APIs |  Interagisci in modo programmatico con il OpenSearch servizio utilizzando le operazioni dell'API del [OpenSearch servizio](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/Welcome.html).  |  [Interagisci a livello di codice con OpenSearch Serverless utilizzando le operazioni dell'API Serverless. OpenSearch ](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/Welcome.html)  | 
| Accesso alla rete |  Le impostazioni di rete per un dominio si applicano all'endpoint del dominio e all'endpoint Dashboards. OpenSearch L'accesso alla rete per entrambi è strettamente accoppiato.  |  Le impostazioni di rete per l'endpoint del dominio e l'endpoint OpenSearch Dashboards sono disaccoppiate. Puoi scegliere di non configurare l'accesso alla rete per i dashboard. OpenSearch  Per ulteriori informazioni, consulta [Accesso alla rete per Amazon OpenSearch Serverless](serverless-network.md).  | 
| Firma delle richieste |  Utilizza i client REST di OpenSearch alto e basso livello per firmare le richieste. Specifica il nome del servizio come `es`.  |  Al momento, OpenSearch Serverless supporta un sottoinsieme di client supportati OpenSearch da Service. Quando firmi richieste, specifica il nome del servizio come `aoss`. L'intestazione `x-amz-content-sha256` è obbligatoria. Per ulteriori informazioni, consulta [Firma delle richieste HTTP con altri client](serverless-clients.md#serverless-signing).  | 
| OpenSearch aggiornamenti di versione |  Aggiorna manualmente i tuoi domini non appena OpenSearch diventano disponibili nuove versioni. Sei responsabile di assicurarti che il tuo dominio soddisfi i requisiti di aggiornamento e di aver apportato eventuali modifiche importanti.  |  OpenSearch Serverless aggiorna automaticamente le tue raccolte a nuove versioni. OpenSearch Gli aggiornamenti non devono avvenire necessariamente appena diventa disponibile una nuova versione.  | 
| Aggiornamenti del software del servizio |  Non appena diventano disponibili, puoi applicare manualmente gli aggiornamenti del software del servizio al tuo dominio.  |  OpenSearch Serverless aggiorna automaticamente le tue raccolte per utilizzare le correzioni di bug, le funzionalità e i miglioramenti delle prestazioni più recenti.  | 
| Accesso VPC |  Puoi effettuare [il provisioning del tuo dominio all'interno di un VPC](vpc.md). Puoi anche creare [endpoint OpenSearch VPC aggiuntivi gestiti dal servizio](vpc-interface-endpoints.md) per accedere al dominio.  |  Crei uno o più endpoint [VPC OpenSearch gestiti senza server](serverless-vpc.md) per il tuo account. Quindi, puoi includere questi endpoint nelle [policy di rete](serverless-network.md).  | 
| Autenticazione SAML |  Puoi abilitare l'autenticazione SAML in base al dominio. Per ulteriori informazioni, consulta [Autenticazione SAML per dashboard OpenSearch](saml.md).  |  Configurate uno o più provider SAML a livello di account, quindi includete l'utente e il gruppo associati nelle politiche di accesso ai dati. IDs  Per ulteriori informazioni, consulta [Autenticazione SAML per Amazon Serverless OpenSearch](serverless-saml.md).  | 
| Transport Layer Security (TLS) | OpenSearch Il servizio supporta TLS 1.2 ma si consiglia di utilizzare TLS 1.3. | OpenSearch Serverless supporta TLS 1.2 ma si consiglia di utilizzare TLS 1.3. | 

# Tutorial: Guida introduttiva ad Amazon OpenSearch Serverless
<a name="serverless-getting-started"></a>

Questo tutorial illustra i passaggi di base per avviare rapidamente una raccolta di *ricerche* Amazon OpenSearch Serverless. Una raccolta di ricerche ti consente di potenziare le applicazioni nelle tue reti interne e le applicazioni connesse a Internet, come la ricerca di siti di e-commerce e la ricerca di contenuti. 

Per informazioni su come utilizzare una raccolta di ricerca *vettoriale*, consulta. [Lavorare con le raccolte di ricerca vettoriale](serverless-vector-search.md) Per informazioni più dettagliate sull'uso delle raccolte, consulta [Gestione delle raccolte Amazon OpenSearch Serverless](serverless-manage.md) e gli altri argomenti di questa guida.

In questo tutorial completerai le seguenti fasi:

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

1. [Creazione di una raccolta](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-getting-started.html#serverless-gsg-create)

1. [Caricamento e ricerca dei dati](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-getting-started.html#serverless-gsg-index)

1. [Eliminazione della raccolta](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-getting-started.html#serverless-gsg-delete)
**Nota**  
Ti consigliamo di utilizzare solo caratteri ASCII per il tuo`IndexName`. Se non utilizzi caratteri ASCII per i tuoi caratteri`IndexName`, le CloudWatch metriche `IndexName` in verranno convertite in un formato con codifica URL per caratteri non ASCII.

## Fase 1: configurazione delle autorizzazioni
<a name="serverless-gsg-permissions"></a>

Per completare questo tutorial e per utilizzare OpenSearch Serverless in generale, devi disporre delle autorizzazioni IAM corrette. In questo tutorial creerai una raccolta, caricherai i dati e farai una ricerca, quindi eliminerai la raccolta.

L'utente o il ruolo devono avere una [policy basata sull'identità](security-iam-serverless.md#security-iam-serverless-id-based-policies) allegata con le seguenti autorizzazioni minime:

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

------

Per ulteriori informazioni sulle autorizzazioni IAM OpenSearch Serverless, consulta. [Identity and Access Management per Amazon OpenSearch Serverless](security-iam-serverless.md)

## Fase 2: creazione di una raccolta
<a name="serverless-gsg-create"></a>

Una raccolta è un gruppo di OpenSearch indici che interagiscono per supportare un carico di lavoro o un caso d'uso specifici.

**Per creare una raccolta Serverless OpenSearch**

1. Apri la console OpenSearch di Amazon Service a [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home ).

1. Scegli **Collections** (Raccolte) nel pannello di navigazione a sinistra e scegli **Create collection** (Crea raccolta).

1. Nomina la raccolta **movies** (film).

1. Per il tipo di raccolta, scegli **Search** (Cerca). Per ulteriori informazioni, consulta [Scelta di un tipo di raccolta](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-overview.html#serverless-usecase).

1. Per **Sicurezza**, scegli **Standard create**.

1. In **Crittografia**, seleziona **Usa Chiave di proprietà di AWS**. Questo è AWS KMS key quello che OpenSearch Serverless utilizzerà per crittografare i tuoi dati.

1. In **Network** (Rete), configura le impostazioni di rete per la raccolta.
   + Per il tipo di accesso, seleziona **Public** (Pubblico).
   + Per il tipo di risorsa, scegli sia **Abilita l'accesso agli OpenSearch endpoint** che **Abilita l'accesso ai dashboard. OpenSearch ** Poiché caricherai e cercherai dati utilizzando OpenSearch le dashboard, devi abilitare entrambe.

1. Scegli **Next (Successivo)**.

1. Per **Configure data access** (Configura l'accesso ai dati), configura le impostazioni di accesso per la raccolta. [Le policy di accesso ai dati](serverless-data-access.md) consentono a utenti e ruoli di accedere ai dati all'interno di una raccolta. In questo tutorial, forniremo a un singolo utente le autorizzazioni necessarie per indicizzare e cercare i dati nella raccolta denominata *movies*.

   Crea una singola regola che fornisca l'accesso alla raccolta *movies*. Nomina la regola **Accesso alla raccolta movies**.

1. Scegli **Aggiungi responsabili**, **utenti e ruoli IAM e** seleziona l'utente o il ruolo che utilizzerai per accedere alle OpenSearch dashboard e indicizzare i dati. Scegli **Save** (Salva).

1. In **Index permissions** (Autorizzazioni relative all'indice), seleziona tutte le autorizzazioni.

1. Scegli **Next (Successivo)**.

1. Per le impostazioni della policy di accesso, scegli **Create a new data access policy** (Crea una nuova policy di accesso ai dati) e assegna alla policy il nome **movies**.

1. Scegli **Next (Successivo)**.

1. Controlla le impostazioni della raccolta e scegli **Submit** (Invia). Attendi alcuni minuti affinché lo stato della raccolta diventi `Active`.

## Fase 3: Caricamento e ricerca dei dati
<a name="serverless-gsg-index"></a>

Puoi caricare dati in una raccolta OpenSearch Serverless utilizzando [Postman o cURL](https://www.postman.com/downloads/). Per brevità, questi esempi utilizzano **Dev Tools** all'interno della console Dashboards. OpenSearch 

**Indicizzazione e ricerca dei dati nella raccolta movies**

1. Scegli **Collections** (Raccolte) nel pannello di navigazione a sinistra e seleziona la raccolta **movies** per aprire la rispettiva pagina dei dettagli.

1. Scegli l'URL delle OpenSearch dashboard per la raccolta. L'URL assume il formato `https://dashboards.{region}.aoss.amazonaws.com/_login/?collectionId={collection-id}`. 

1. All'interno di OpenSearch Dashboards, apri il riquadro di navigazione a sinistra e scegli **Dev** Tools.

1. Per creare un singolo indice denominato *movies-index*, invia la seguente richiesta:

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

1. Per indicizzare un singolo documento in *movies-index*, invia la seguente richiesta:

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

1. Per cercare dati nei OpenSearch dashboard, devi configurare almeno un modello di indice. OpenSearch utilizza questi modelli per identificare gli indici da analizzare. Apri il pannello di navigazione a sinistra, scegli **Stack Management** (Gestione stack), scegli **Index Patterns** (Modelli di indice), quindi scegli **Create index pattern** (Crea modello di indice). Per questo tutorial, digita *movies*.

1. Scegliere **Fase successiva** quindi selezionare **Crea modello di indice**. Dopo aver creato il modello, è possibile visualizzare i vari campi del documento, ad esempio `title` e `genre`.

1. Per iniziare a cercare i dati, apri di nuovo il pannello di navigazione a sinistra e scegli **Discover** (Rileva) o utilizza l'[API di ricerca](https://opensearch.org/docs/latest/api-reference/search/) nei Dev Tools.

## Gestione degli errori
<a name="serverless-gsg-data-plane-errors"></a>

Quando si eseguono operazioni di indicizzazione e ricerca, è possibile che vengano visualizzate le seguenti risposte di errore:
+ `HTTP 507`— Indica che si è verificato un errore interno del server. Questo errore indica in genere che le unità di OpenSearch calcolo (OCUs) sono sovraccaricate dal volume o dalla complessità delle richieste. Sebbene OpenSearch Serverless sia scalabile automaticamente per gestire il carico, può verificarsi un ritardo nella distribuzione di risorse aggiuntive. 

  Per mitigare questo errore, implementa una politica esponenziale di backoff e ripetizione dei tentativi. Questo approccio riduce temporaneamente la frequenza delle richieste per gestire efficacemente il carico. Per maggiori dettagli, consulta il [comportamento di riprova](https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html) nella *Guida di riferimento agli strumenti AWS SDKs e agli strumenti*.
+ `HTTP 402`— Indica che è stato raggiunto il limite di capacità dell'unità di OpenSearch calcolo massima (OCU). Ottimizza il carico di lavoro per ridurre l'utilizzo dell'OCU o richiedere un aumento della quota.

## Fase 4: Eliminazione della raccolta
<a name="serverless-gsg-delete"></a>

Poiché la raccolta *movies* è stata creata per finalità di prova, è consigliabile eliminarla una volta terminate le prove in modo da evitare costi aggiuntivi.

**Per eliminare una raccolta Serverless OpenSearch**

1. Torna alla console di **Amazon OpenSearch Service**.

1. Scegli **Collections** (Raccolte) nel pannello di navigazione a sinistra e seleziona la raccolta **movies**.

1. Scegli **Elimina** e conferma l'eliminazione.

## Fasi successive
<a name="serverless-gsg-next"></a>

Adesso che è chiaro come creare una raccolta e i dati di indice, è possibile provare a completare alcuni degli esercizi seguenti:
+ Scopri ulteriori opzioni avanzate per la creazione di una raccolta. Per ulteriori informazioni, consulta [Gestione delle raccolte Amazon OpenSearch Serverless](serverless-manage.md).
+ Scopri come configurare le policy di sicurezza per gestire la sicurezza delle raccolte su larga scala. Per ulteriori informazioni, consulta [Panoramica della sicurezza in Amazon OpenSearch Serverless](serverless-security.md).
+ Scopri altri modi per indicizzare i dati nelle raccolte. Per ulteriori informazioni, consulta [Inserimento di dati in raccolte Amazon Serverless OpenSearch](serverless-clients.md).

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

Una *raccolta* in Amazon OpenSearch Serverless è un raggruppamento logico di uno o più indici che rappresentano un carico di lavoro di analisi. OpenSearch Serverless gestisce e ottimizza automaticamente la raccolta, richiedendo un input manuale minimo.

**Topics**
+ [Gestione delle raccolte Amazon OpenSearch Serverless](serverless-manage.md)
+ [Lavorare con le raccolte di ricerca vettoriale](serverless-vector-search.md)
+ [Utilizzo delle politiche del ciclo di vita dei dati con Amazon Serverless OpenSearch](serverless-lifecycle.md)
+ [Utilizzo di AWS SDKs per interagire con Amazon OpenSearch Serverless](serverless-sdk.md)
+ [Utilizzo CloudFormation per creare raccolte Amazon OpenSearch Serverless](serverless-cfn.md)
+ [Backup delle raccolte tramite istantanee](serverless-snapshots.md)
+ [Supporto codec standard in Amazon Serverless OpenSearch](serverless-zstd-compression.md)
+ [Salva spazio di archiviazione utilizzando una fonte derivata](serverless-derived-source.md)

# Gestione delle raccolte Amazon OpenSearch Serverless
<a name="serverless-manage"></a>

Una *raccolta* in Amazon OpenSearch Serverless è un raggruppamento logico di uno o più indici che rappresentano un carico di lavoro di analisi. OpenSearch Serverless gestisce e ottimizza automaticamente la raccolta, richiedendo un input manuale minimo.

**Topics**
+ [Configurazione delle autorizzazioni per le raccolte](serverless-collection-permissions.md)
+ [Arricchimento semantico automatico per Serverless](serverless-semantic-enrichment.md)
+ [Creazione di raccolte](serverless-create.md)
+ [Accesso ai OpenSearch pannelli di controllo](serverless-dashboards.md)
+ [Visualizzazione delle raccolte](serverless-list.md)
+ [Eliminazione di raccolte](serverless-delete.md)

# Configurazione delle autorizzazioni per le raccolte
<a name="serverless-collection-permissions"></a>

OpenSearch Serverless utilizza le seguenti autorizzazioni AWS Identity and Access Management (IAM) per creare e gestire raccolte. È possibile specificare le condizioni IAM per limitare gli utenti a raccolte specifiche.
+ `aoss:CreateCollection`: crea una raccolta.
+ `aoss:ListCollections`: elenca le raccolte nell'account corrente.
+ `aoss:BatchGetCollection`: ottieni dettagli su una o più raccolte.
+ `aoss:UpdateCollection`: modifica una raccolta.
+ `aoss:DeleteCollection`: elimina una raccolta.

La seguente policy di accesso basata sull'identità di esempio fornisce le autorizzazioni minime necessarie a un utente per gestire una singola raccolta denominata `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` sono inclusi perché le policy di crittografia, rete e accesso ai dati sono necessarie per il corretto funzionamento di una raccolta. Per ulteriori informazioni, consulta [Identity and Access Management per Amazon OpenSearch Serverless](security-iam-serverless.md).

**Nota**  
Se stai creando la prima raccolta nel tuo account, hai bisogno anche dell'autorizzazione `iam:CreateServiceLinkedRole`. Per ulteriori informazioni, consulta [Utilizzo di ruoli collegati ai servizi per creare raccolte Serverless OpenSearch](serverless-service-linked-roles.md).

# Arricchimento semantico automatico per Serverless
<a name="serverless-semantic-enrichment"></a>

## Introduzione
<a name="serverless-semantic-enrichment-intro"></a>

La funzionalità di arricchimento semantico automatico può contribuire a migliorare la pertinenza della ricerca fino al 20% rispetto alla ricerca lessicale. L'arricchimento semantico automatico elimina il peso indifferenziato della gestione dell'infrastruttura del modello ML (machine learning) e dell'integrazione con il motore di ricerca. La funzionalità è disponibile per tutti e tre i tipi di raccolta serverless: Search, Time Series e Vector.

## Cos'è la ricerca semantica
<a name="serverless-semantic-enrichment-whats-is"></a>

 I motori di ricerca tradizionali si basano sulla word-to-word corrispondenza (denominata ricerca lessicale) per trovare i risultati delle query. Sebbene funzioni bene per domande specifiche come i numeri di modello dei televisori, ha difficoltà con ricerche più astratte. Ad esempio, quando si cerca «scarpe per la spiaggia», una ricerca lessicale corrisponde semplicemente alle singole parole «scarpe», «spiaggia», «per» e «la» negli articoli del catalogo, e potenzialmente mancano prodotti pertinenti come «sandali impermeabili» o «calzature da surf» che non contengono i termini di ricerca esatti.

 La ricerca semantica restituisce risultati di query che incorporano non solo la corrispondenza delle parole chiave, ma anche l'intento e il significato contestuale della ricerca dell'utente. Ad esempio, se un utente cerca «come curare un mal di testa», un sistema di ricerca semantico potrebbe restituire i seguenti risultati: 
+ Rimedi contro l'emicrania
+ Tecniche di gestione del dolore
+ Over-the-counter antidolorifici 

## Dettagli del modello e benchmark delle prestazioni
<a name="serverless-semantic-enrichment-model-detail"></a>

 Sebbene questa funzionalità gestisca le complessità tecniche dietro le quinte senza esporre il modello sottostante, forniamo trasparenza attraverso una breve descrizione del modello e risultati di benchmark per aiutarvi a prendere decisioni informate sull'adozione delle funzionalità nei vostri carichi di lavoro critici.

 L'arricchimento semantico automatico utilizza un modello sparso preaddestrato e gestito dai servizi che funziona in modo efficace senza richiedere regolazioni di precisione personalizzate. Il modello analizza i campi specificati, espandendoli in vettori sparsi basati su associazioni apprese da diversi dati di addestramento. I termini estesi e i relativi pesi di significatività vengono archiviati nel formato di indice Lucene nativo per un recupero efficiente. Abbiamo ottimizzato questo processo utilizzando la [modalità solo documento, in cui la codifica avviene solo durante l'inserimento](https://docs.opensearch.org/docs/latest/vector-search/ai-search/neural-sparse-with-pipelines/#step-1a-choose-the-search-mode) dei dati. Le query di ricerca vengono semplicemente tokenizzate anziché elaborate tramite il modello sparso, il che rende la soluzione conveniente e performante. 

 La nostra convalida delle prestazioni durante lo sviluppo delle funzionalità ha utilizzato il set di dati [MS MARCO](https://huggingface.co/datasets/BeIR/msmarco) per il recupero dei passaggi, con passaggi della lunghezza media di 334 caratteri. [Per quanto riguarda il punteggio di pertinenza, abbiamo misurato il guadagno cumulativo medio Normalized Discounted Cumulative Gain (NDCG) per i primi 10 risultati di ricerca (ndcg @10) sul benchmark BEIR per i contenuti in inglese e il ndcg @10 medio su MIRACL per i contenuti multilingue.](https://github.com/beir-cellar/beir) [Abbiamo valutato la latenza mediante misurazioni lato client del 90° percentile (p90) e la risposta di ricerca p90 ha rilevato dei valori.](https://github.com/beir-cellar/beir) Questi benchmark forniscono indicatori prestazionali di base sia per la pertinenza della ricerca che per i tempi di risposta. Ecco i principali numeri di riferimento: 
+ Lingua inglese - Miglioramento della pertinenza del 20% rispetto alla ricerca lessicale. Ha inoltre ridotto la latenza di ricerca P90 del 7,7% rispetto alla ricerca lessicale (BM25 è di 26 ms e l'arricchimento semantico automatico è di 24 ms).
+ Multilingue: miglioramento della pertinenza del 105% rispetto alla ricerca lessicale, mentre la latenza di ricerca P90 è aumentata del 38,4% rispetto alla ricerca lessicale (è di 26 ms e l'arricchimento semantico automatico è di 36 ms). BM25 

Data la natura unica di ogni carico di lavoro, ti invitiamo a valutare questa funzionalità nel tuo ambiente di sviluppo utilizzando i tuoi criteri di benchmarking prima di prendere decisioni di implementazione.

## Lingue supportate
<a name="serverless-semantic-enrichment-languages"></a>

La funzionalità supporta l'inglese. Inoltre, il modello supporta anche arabo, bengalese, cinese, finlandese, francese, hindi, indonesiano, giapponese, coreano, persiano, russo, spagnolo, swahili e telugu.

## Imposta un indice di arricchimento semantico automatico per le raccolte serverless
<a name="serverless-semantic-enrichment-index-setup"></a>

La configurazione di un indice con l'arricchimento semantico automatico abilitato per i campi di testo è semplice e può essere gestito tramite la console e i CloudFormation modelli durante la creazione di APIs nuovi indici. Per abilitarlo per un indice esistente, è necessario ricreare l'indice con l'arricchimento semantico automatico abilitato per i campi di testo. 

Esperienza da console: la AWS console consente di creare facilmente un indice con campi di arricchimento semantico automatico. Dopo aver selezionato una raccolta, troverai il pulsante di creazione dell'indice nella parte superiore della console. Dopo aver fatto clic sul pulsante di creazione dell'indice, troverai le opzioni per definire campi di arricchimento semantico automatico. In un indice, puoi avere combinazioni di arricchimento semantico automatico per l'inglese e campi multilingue, oltre che lessicali.

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


Esperienza API - Per creare un indice di arricchimento semantico automatico utilizzando l'interfaccia a riga di comando ()AWS CLI, usa il AWS comando create-index: 

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

 ***Nell'esempio seguente index-schema, il campo *title\$1semantic ha un tipo di campo impostato su text e il parametro semantic\$1richment* è impostato sullo stato ENABLED.*** **L'impostazione del parametro semantic\$1enrichment abilita l'arricchimento semantico automatico nel campo title\$1semantic.** ***Puoi usare il campo language\$1options per specificare l'inglese o il multilingue.*** 

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

Per descrivere l'indice creato, usa il seguente comando:

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

È inoltre possibile utilizzare CloudFormation i modelli (Tipo:AWS::OpenSearchServerless::CollectionIndex) per creare una ricerca semantica durante il provisioning della raccolta e dopo la creazione della raccolta.

## Inserimento e ricerca di dati
<a name="serverless-semantic-enrichment-data-ingest"></a>

Dopo aver creato un indice con l'arricchimento semantico automatico abilitato, la funzionalità funziona automaticamente durante il processo di inserimento dei dati, senza bisogno di configurazioni aggiuntive.

Inserimento di dati: quando aggiungi documenti all'indice, il sistema automaticamente:
+ Analizza i campi di testo che hai designato per l'arricchimento semantico
+ Genera codifiche semantiche utilizzando il modello sparse gestito dal servizio OpenSearch 
+ Memorizza queste rappresentazioni arricchite insieme ai dati originali

Questo processo utilizza i OpenSearch connettori ML e le pipeline di importazione integrati, che vengono creati e gestiti automaticamente dietro le quinte.

Ricerca: i dati di arricchimento semantico sono già indicizzati, quindi le query vengono eseguite in modo efficiente senza richiamare nuovamente il modello ML. Ciò significa che ottieni una maggiore pertinenza della ricerca senza alcun sovraccarico di latenza di ricerca aggiuntivo.

## Configurazione delle autorizzazioni per l'arricchimento semantico automatico
<a name="serverless-semantic-enrichment-permissions"></a>

Prima di creare un indice di arricchimento semantico automatizzato, è necessario configurare le autorizzazioni richieste. Questa sezione spiega le autorizzazioni necessarie e come configurarle.

### Autorizzazioni della policy IAM
<a name="iam-policy-permissions"></a>

Utilizza la seguente policy AWS Identity and Access Management (IAM) per concedere le autorizzazioni necessarie per lavorare con l'arricchimento semantico automatico:

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

****  

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

------

**Autorizzazioni chiave**  
+ Le `aoss:*Index` autorizzazioni consentono la gestione degli indici
+ L'`aoss:APIAccessAll`autorizzazione consente le operazioni OpenSearch API
+ Per limitare le autorizzazioni a una raccolta specifica, sostituiscile `"Resource": "*"` con l'ARN della raccolta

### Configura le autorizzazioni di accesso ai dati
<a name="serverless-collection-permissions-data-network"></a>

Per configurare un indice per l'arricchimento semantico automatico, è necessario disporre di politiche di accesso ai dati appropriate che consentano l'accesso a risorse di indicizzazione, pipeline e raccolta di modelli. Per ulteriori informazioni sulle politiche di accesso ai dati, vedere. [Controllo dell'accesso ai dati per Amazon OpenSearch Serverless](serverless-data-access.md) Per la procedura di configurazione di una politica di accesso ai dati, vedere[Creazione di policy di accesso ai dati (console)](serverless-data-access.md#serverless-data-access-console).

#### Autorizzazioni di accesso ai dati
<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"
        ]
    },
]
```

#### Autorizzazioni di accesso alla rete
<a name="serverless-collection-network-access-permissions"></a>

Per consentire al servizio APIs di accedere alle raccolte private, è necessario configurare politiche di rete che consentano l'accesso richiesto tra l'API del servizio e la raccolta. Per ulteriori informazioni sulle politiche di rete, consulta [Accesso alla rete per 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"
      ],
   }
]
```

**Per configurare le autorizzazioni di accesso alla rete per una raccolta privata**

1. Accedi alla console di OpenSearch servizio da [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. Nella barra di navigazione a sinistra, scegli *Politiche di rete*. Poi esegui una delle seguenti operazioni:
   + Scegli il nome di una politica esistente e scegli *Modifica*
   + Scegli *Crea politica di rete* e configura i dettagli della politica

1. Nell'area *Tipo di accesso*, scegli *Privato (consigliato)*, quindi seleziona *Accesso privato al AWS servizio*.

1. Nel campo di ricerca, scegli *Servizio*, quindi scegli *aoss.amazonaws.com*.

1. *Nell'area *Tipo di risorsa*, seleziona la casella Abilita l'accesso all'endpoint. OpenSearch *

1. Per *Cerca raccolte o inserisci termini di prefisso specifici*, nel campo di ricerca, seleziona Nome *raccolta*. Quindi inserisci o seleziona il nome delle raccolte da associare alla politica di rete.

1. Scegli *Crea* per una nuova politica di rete o *Aggiorna* per una politica di rete esistente.

## La query riscrive
<a name="serverless-collection-query-rewrite"></a>

L'arricchimento semantico automatico converte automaticamente le query «match» esistenti in query di ricerca semantiche senza richiedere modifiche alle query. Se una query di corrispondenza fa parte di una query composta, il sistema analizza la struttura delle query, trova le query di corrispondenza e le sostituisce con query sparse neurali. Attualmente, la funzionalità supporta solo la sostituzione delle query «match», indipendentemente dal fatto che si tratti di una query autonoma o di parte di una query composta. «multi\$1match» non è supportato. Inoltre, la funzionalità supporta tutte le query composte per sostituire le relative query di corrispondenza annidate. Le query composte includono: bool, boosting, constant\$1score, dis\$1max, function\$1score e hybrid. 

## Limitazioni dell'arricchimento semantico automatico
<a name="serverless-collection-ase-limitation"></a>

La ricerca semantica automatica è più efficace se applicata a campi di small-to-medium grandi dimensioni contenenti contenuti in linguaggio naturale, come titoli di film, descrizioni di prodotti, recensioni e riepiloghi. Sebbene la ricerca semantica aumenti la pertinenza per la maggior parte dei casi d'uso, potrebbe non essere ottimale per determinati scenari. Prendi in considerazione le seguenti limitazioni quando decidi se implementare l'arricchimento semantico automatico per il tuo caso d'uso specifico. 
+ Documenti molto lunghi: l'attuale modello sparso elabora solo i primi 8.192 token di ogni documento in inglese. Per i documenti multilingue, sono 512 token. Per articoli lunghi, prendi in considerazione l'implementazione della suddivisione in blocchi dei documenti per garantire l'elaborazione completa dei contenuti.
+ Carichi di lavoro di analisi dei log: l'arricchimento semantico aumenta in modo significativo la dimensione dell'indice, il che potrebbe non essere necessario per l'analisi dei log, dove in genere è sufficiente una corrispondenza esatta. Il contesto semantico aggiuntivo raramente migliora l'efficacia della ricerca nei log abbastanza da giustificare i maggiori requisiti di archiviazione. 
+ L'arricchimento semantico automatico non è compatibile con la funzionalità Derived Source. 
+ Limitazione: le richieste di inferenza di indicizzazione sono attualmente limitate a 100 TPS per Serverless. OpenSearch Si tratta di un limite non vincolante; contatta il AWS servizio Support per ottenere limiti più elevati.

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

 OpenSearch Serverless fattura l'arricchimento semantico automatico basato sulle unità di OpenSearch calcolo (OCUs) utilizzate durante la generazione di vettori sparsi al momento dell'indicizzazione. Ti viene addebitato solo l'utilizzo effettivo durante l'indicizzazione. Puoi monitorare questo consumo utilizzando la CloudWatch metrica SemanticSearch OCU di Amazon. [Per dettagli specifici sui limiti dei token del modello, sul throughput di volume per OCU ed esempi di calcolo di esempio, visita Service Pricing. OpenSearch ](https://aws.amazon.com/opensearch-service/pricing/) 

# Creazione di raccolte
<a name="serverless-create"></a>

Puoi utilizzare la console o il AWS CLI per creare una raccolta serverless. Questi passaggi spiegano come creare una raccolta di *ricerche o di* *serie temporali*. Per creare una raccolta di *ricerca vettoriale*, vedi[Lavorare con le raccolte di ricerca vettoriale](serverless-vector-search.md). 

**Topics**
+ [Creazione di una raccolta (console)](serverless-create-console.md)
+ [Creazione di una raccolta (CLI)](serverless-create-cli.md)

# Creazione di una raccolta (console)
<a name="serverless-create-console"></a>

Utilizzate le procedure descritte in questa sezione per creare una raccolta utilizzando. Console di gestione AWS Questi passaggi spiegano come creare una raccolta *di ricerche* o di *serie temporali*. Per creare una raccolta di *ricerca vettoriale*, vedi[Lavorare con le raccolte di ricerca vettoriale](serverless-vector-search.md). 

**Topics**
+ [Configurare le impostazioni della raccolta](#serverless-create-console-step-2)
+ [Configura campi di ricerca aggiuntivi](#serverless-create-console-step-3)

## Configurare le impostazioni della raccolta
<a name="serverless-create-console-step-2"></a>

Utilizza la seguente procedura per configurare le informazioni sulla tua raccolta. 

**Per configurare le impostazioni della raccolta utilizzando la console**

1. Accedi alla console di Amazon OpenSearch Service a [https://console.aws.amazon.com/aos/casa/](https://console.aws.amazon.com/aos/home/).

1. Espandi **Serverless** nel pannello di navigazione a sinistra e scegli **Collections** (Raccolte). 

1. Scegli **Create collection** (Crea raccolta).

1. Fornisci un nome e una descrizione per la raccolta. Il nome deve soddisfare i seguenti criteri:
   + È unico per il tuo account e Regione AWS
   + Contiene solo lettere minuscole a-z, i numeri da 0 a 9 e i trattini (-)
   + Contiene da 3 a 32 caratteri

1. Scegli un tipo di raccolta:
   + **Serie temporali**: segmento di analisi dei log che si concentra sull'analisi di grandi volumi di dati semistrutturati generati da macchine. Almeno 24 ore di dati vengono archiviate su indici caldi e il resto rimane in una memoria a caldo.
   + **Ricerca**: l'opzione della ricerca full-text supporta le applicazioni nelle reti interne e le applicazioni connesse a Internet. Tutti i dati di ricerca vengono memorizzati in un'archiviazione ad accesso frequente per garantire tempi di risposta rapidi alle query.
**Nota**  
Scegliete questa opzione se state abilitando la ricerca semantica automatica, come descritto in. [Configurare le impostazioni della raccolta](#serverless-create-console-step-2)
   + **Ricerca vettoriale: ricerca** semantica su incorporamenti vettoriali che semplifica la gestione dei dati vettoriali. Potenzia le esperienze di ricerca aumentata di machine learning (ML) e le applicazioni di intelligenza artificiale generativa come chatbot, assistenti personali e rilevamento delle frodi.

   Per ulteriori informazioni, consulta [Scelta di un tipo di raccolta](serverless-overview.md#serverless-usecase).

1. Per il **tipo di implementazione**, scegli l'impostazione di ridondanza per la tua raccolta. Per impostazione predefinita, ogni raccolta presenta ridondanza, il che significa che le unità di OpenSearch calcolo di indicizzazione e ricerca (OCUs) hanno ciascuna le proprie repliche in standby in una zona di disponibilità diversa. Per scopi di sviluppo e test, puoi scegliere di disabilitare la ridondanza, in modo da ridurre a due il numero di file presenti nella raccolta. OCUs Per ulteriori informazioni, consulta [Come funziona](serverless-overview.md#serverless-process).

1. Per la **sicurezza**, scegli **Standard** create.

1. Per la **crittografia**, scegli una AWS KMS chiave con cui crittografare i tuoi dati. OpenSearch Serverless ti avvisa se il nome della raccolta che hai inserito corrisponde a uno schema definito in una politica di crittografia. Puoi scegliere di mantenere tale corrispondenza o di sostituirla con impostazioni di crittografia specifiche. Per ulteriori informazioni, consulta [Crittografia in Amazon OpenSearch Serverless](serverless-encryption.md).

1. Per **le impostazioni di accesso alla rete**, configura l'accesso alla rete per la raccolta.
   + Per **Tipo di accesso**, seleziona pubblico o privato. 

     Se scegli privato, specifica quali endpoint VPC Servizi AWS possono accedere alla raccolta.
     + **Endpoint VPC per l'accesso**: specifica uno o più endpoint VPC per consentire l'accesso. Per creare un endpoint VPC, consulta la sezione [Accesso al piano dati tramite AWS PrivateLink](serverless-vpc.md).
     + **Servizio AWS accesso privato**: seleziona uno o più servizi supportati a cui consentire l'accesso.
   + Per **Tipo di risorsa**, seleziona se gli utenti possono accedere alla raccolta tramite il relativo *OpenSearch*endpoint (per effettuare chiamate API tramite CURL, Postman e così via), tramite *OpenSearch l'*endpoint Dashboards (per lavorare con le visualizzazioni ed effettuare chiamate API tramite la console) o entrambi.
**Nota**  
Servizio AWS l'accesso privato si applica solo all'endpoint, non all' OpenSearchendpoint Dashboards. OpenSearch 

   OpenSearch Serverless ti avvisa se il nome della raccolta che hai inserito corrisponde a uno schema definito in una politica di rete. Puoi scegliere di mantenere tale corrispondenza o di sostituirla con impostazioni di rete personalizzate. Per ulteriori informazioni, consulta [Accesso alla rete per Amazon OpenSearch Serverless](serverless-network.md).

1. (Facoltativo) Aggiungi uno o più tag alla raccolta. Per ulteriori informazioni, consulta [Etichettatura delle raccolte Amazon OpenSearch Serverless](tag-collection.md).

1. Scegli **Next (Successivo)**.

## Configura campi di ricerca aggiuntivi
<a name="serverless-create-console-step-3"></a>

Le opzioni visualizzate a pagina due del flusso di lavoro per la creazione di una raccolta dipendono dal tipo di raccolta che state creando. Questa sezione descrive come configurare campi di ricerca aggiuntivi per ogni tipo di raccolta. Questa sezione descrive anche come configurare l'arricchimento semantico automatico. Salta qualsiasi sezione che non si applica al tuo tipo di collezione.

**Topics**
+ [Configura l'arricchimento semantico automatico](#serverless-create-console-step-3-semantic-enrichment-fields)
+ [Configura i campi di ricerca delle serie temporali](#serverless-create-console-step-3-time-series-fields)
+ [Configura i campi di ricerca lessicali](#serverless-create-console-step-3-lexical-fields)
+ [Configura i campi di ricerca vettoriale](#serverless-create-console-step-3-vector-search-fields)

### Configura l'arricchimento semantico automatico
<a name="serverless-create-console-step-3-semantic-enrichment-fields"></a>

Quando crei o modifichi una raccolta, puoi configurare l'arricchimento semantico automatico, che semplifica l'implementazione e le funzionalità della ricerca semantica in Amazon Service. OpenSearch La ricerca semantica restituisce risultati di query che incorporano non solo la corrispondenza delle parole chiave, ma anche l'intento e il significato contestuale della ricerca dell'utente. Per ulteriori informazioni, consulta [Arricchimento semantico automatico per Serverless](serverless-semantic-enrichment.md).

**Per configurare l'arricchimento semantico automatico**

1. Nella sezione **Dettagli dell'indice**, per **Nome dell'indice, specifica un nome**.

1. Nella sezione **Campi di arricchimento semantico automatico, scegli Aggiungi campo** **di ricerca semantico**.

1. Nel **campo Nome del campo di input per l'arricchimento semantico**, inserisci il nome di un campo che desideri arricchire.

1. **Il **tipo di dati** è Testo.** Non puoi modificare questo valore.

1. Per **Lingua**, scegli **Inglese** o **Multilingue**.

1. Scegli **Aggiungi campo**.

1. **Dopo aver completato la configurazione dei campi opzionali per la raccolta, scegli Avanti.** Controlla le modifiche e scegli **Invia** per creare la raccolta.

### Configura i campi di ricerca delle serie temporali
<a name="serverless-create-console-step-3-time-series-fields"></a>

Le opzioni nella sezione **Campi di ricerca delle serie temporali** riguardano i dati delle serie temporali e i flussi di dati. Per ulteriori informazioni su questi argomenti, vedere. [Gestione dei dati di serie temporali in Amazon OpenSearch Service con flussi di dati](data-streams.md)

**Per configurare i campi di ricerca delle serie temporali**

1. Nella sezione **Campi di ricerca delle serie temporali**, scegli **Aggiungi campo delle serie temporali**.

1. Per **Nome campo**, inserisci un nome.

1. Per **Tipo di dati**, scegli un tipo dall'elenco.

1. Scegli **Aggiungi campo**

1. Dopo aver completato la configurazione dei campi opzionali per la tua raccolta, scegli **Avanti**. Controlla le modifiche e scegli **Invia** per creare la raccolta.

### Configura i campi di ricerca lessicali
<a name="serverless-create-console-step-3-lexical-fields"></a>

La ricerca lessicale cerca una corrispondenza esatta tra una query di ricerca e termini o parole chiave indicizzati.

**Per configurare i campi di ricerca lessicali**

1. Nella sezione **Campi di ricerca lessicali**, scegli **Aggiungi campo di ricerca**.

1. Per **Nome campo**, inserisci un nome.

1. Per **Tipo di dati**, scegli un tipo dall'elenco.

1. Scegli **Aggiungi campo**

1. Dopo aver completato la configurazione dei campi opzionali per la tua raccolta, scegli **Avanti**. Controlla le modifiche e scegli **Invia** per creare la raccolta.

### Configura i campi di ricerca vettoriale
<a name="serverless-create-console-step-3-vector-search-fields"></a>

**Per configurare i campi di ricerca vettoriali**

1. Nella sezione **Campi vettoriali**, scegli **Aggiungi campo vettoriale**.

1. Per **Nome campo**, inserisci un nome.

1. Per **Engine**, scegli un tipo dall'elenco.

1. Immettete il numero di dimensioni.

1. Per **Distance Metric**, scegliete un tipo dall'elenco.

1. **Dopo aver completato la configurazione dei campi opzionali per la raccolta, scegli Avanti.**

1. Controlla le modifiche e scegli **Invia** per creare la raccolta.

# Creazione di una raccolta (CLI)
<a name="serverless-create-cli"></a>

Utilizza le procedure in questa sezione per creare una raccolta OpenSearch Serverless utilizzando. AWS CLI

**Topics**
+ [Prima di iniziare](#serverless-create-cli-before-you-begin)
+ [Creazione di una raccolta](#serverless-create-cli-creating)
+ [Creazione di una raccolta con un indice di arricchimento semantico automatico](#serverless-create-cli-automatic-semantic-enrichment)

## Prima di iniziare
<a name="serverless-create-cli-before-you-begin"></a>

Prima di creare una raccolta utilizzando la AWS CLI, utilizzate la procedura seguente per creare le politiche richieste per la raccolta.

**Nota**  
In ciascuna delle seguenti procedure, quando si specifica un nome per una raccolta, il nome deve soddisfare i seguenti criteri:  
È unico per il tuo account e Regione AWS
Contiene solo lettere minuscole a-z, i numeri da 0 a 9 e i trattini (-)
Contiene da 3 a 32 caratteri

**Per creare le politiche necessarie per una raccolta**

1. Aprite AWS CLI ed eseguite il comando seguente per creare una [politica di crittografia](serverless-encryption.md) con un modello di risorse che corrisponda al nome previsto della raccolta. 

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

   Ad esempio, se intendi dare un nome all'*applicazione dei log* della raccolta, potresti creare una policy di crittografia come questa:

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

   Se prevedi di utilizzare la policy per raccolte aggiuntive, puoi rendere la regola più ampia, come `collection/logs*` o `collection/*`.

1. Eseguite il comando seguente per configurare le impostazioni di rete per la raccolta utilizzando una [politica di rete](serverless-network.md). È possibile creare policy di rete dopo aver creato una raccolta, tuttavia consigliamo di farlo prima.

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

   Utilizzando l'esempio precedente *applicazione-log*, è possibile creare la seguente policy di rete:

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

## Creazione di una raccolta
<a name="serverless-create-cli-creating"></a>

La procedura seguente utilizza l'azione [CreateCollection](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateCollection.html)API per creare una raccolta di tipo `SEARCH` o`TIMESERIES`. Se non specifichi un tipo di raccolta nella richiesta, il valore predefinito sarà `TIMESERIES`. Per ulteriori informazioni su questi tipi, vedere[Scelta di un tipo di raccolta](serverless-overview.md#serverless-usecase). Per creare una raccolta di *ricerca vettoriale*, vedere[Lavorare con le raccolte di ricerca vettoriale](serverless-vector-search.md). 

Se la raccolta è crittografata con un Chiave di proprietà di AWS, `kmsKeyArn` è `auto` anziché un ARN.

**Importante**  
Dopo aver creato una raccolta, non potrai accedervi a meno che non corrisponda a una policy di accesso ai dati. Per ulteriori informazioni, consulta [Controllo dell'accesso ai dati per Amazon OpenSearch Serverless](serverless-data-access.md).

**Come creare una raccolta**

1. Verifica di aver creato le politiche richieste descritte in[Prima di iniziare](#serverless-create-cli-before-you-begin).

1. Eseguire il seguente comando seguente. Per `type` specificare `SEARCH` o`TIMESERIES`.

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

## Creazione di una raccolta con un indice di arricchimento semantico automatico
<a name="serverless-create-cli-automatic-semantic-enrichment"></a>

Utilizzare la procedura seguente per creare una nuova raccolta OpenSearch Serverless con un indice configurato per l'arricchimento semantico [automatico](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-semantic-enrichment.html). La procedura utilizza l'azione OpenSearch Serverless [CreateIndex](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateIndex.html)API.

**Per creare una nuova raccolta con un indice configurato per l'arricchimento semantico automatico**

Eseguite il comando seguente per creare la raccolta e un indice.

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

Ecco un esempio:

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

# Accesso ai OpenSearch pannelli di controllo
<a name="serverless-dashboards"></a>

Dopo aver creato una raccolta con Console di gestione AWS, puoi accedere all'URL delle OpenSearch dashboard della raccolta. Puoi trovare l'URL delle dashboard scegliendo **Raccolte** nel riquadro di navigazione a sinistra e selezionando la raccolta per aprirne la pagina dei dettagli. L'URL assume il formato `https://dashboards.us-east-1.aoss.amazonaws.com/_login/?collectionId=07tjusf2h91cunochc`. Una volta che accedi all'URL, accederai automaticamente alle dashboard.

Se hai già l'URL delle OpenSearch dashboard disponibile ma non lo sei Console di gestione AWS, chiamando l'URL delle dashboard dal browser verrai reindirizzato alla console. Una volta inserite le AWS credenziali, accederai automaticamente a Dashboards. Per informazioni sull'accesso alle raccolte per SAML, consulta [Accesso ai OpenSearch dashboard](serverless-saml.md#serverless-saml-dashboards) con SAML.

Il timeout della console OpenSearch Dashboards è di un'ora e non è configurabile.

**Nota**  
Il 10 maggio 2023, OpenSearch ha introdotto un endpoint globale comune per Dashboards. OpenSearch Ora puoi accedere alle OpenSearch dashboard nel browser con un URL che assume il formato. `https://dashboards.us-east-1.aoss.amazonaws.com/_login/?collectionId=07tjusf2h91cunochc` Per garantire la compatibilità con le versioni precedenti, continueremo a supportare gli endpoint OpenSearch Dashboards specifici della raccolta esistenti con il formato. `https://07tjusf2h91cunochc.us-east-1.aoss.amazonaws.com/_dashboards`

# Visualizzazione delle raccolte
<a name="serverless-list"></a>

Puoi visualizzare le raccolte esistenti nella tua Account AWS scheda **Raccolte** della console di Amazon OpenSearch Service.

Per elencare le raccolte insieme alle relative IDs, invia una [ListCollections](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListCollections.html)richiesta.

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

**Risposta di esempio**

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

Per limitare i risultati della ricerca, utilizza i filtri della raccolta. Questa richiesta filtra la risposta alle raccolte nello stato `ACTIVE`: 

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

Per ottenere informazioni più dettagliate su una o più raccolte, inclusi l' OpenSearch endpoint e l'endpoint OpenSearch Dashboards, invia una richiesta: [BatchGetCollection](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_BatchGetCollection.html)

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

**Nota**  
Nella richiesta puoi includere `--names` o `--ids`, ma non entrambi.

**Risposta di esempio**

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

# Eliminazione di raccolte
<a name="serverless-delete"></a>

Eliminando una raccolta vengono eliminati anche tutti i relativi dati e gli indici. Non è possibile recuperare le raccolte dopo averle eliminate.

**Per eliminare una raccolta tramite la console**

1. Dal pannello **Raccolte** della console Amazon OpenSearch Service, seleziona la raccolta che desideri eliminare.

1. Scegli **Elimina** e conferma l'eliminazione.

Per eliminare una raccolta utilizzando il AWS CLI, invia una [DeleteCollection](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_DeleteCollection.html)richiesta:

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

**Risposta di esempio**

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

# Lavorare con le raccolte di ricerca vettoriale
<a name="serverless-vector-search"></a>

Il tipo di raccolta *di ricerca vettoriale* in OpenSearch Serverless offre una funzionalità di ricerca per similarità scalabile e ad alte prestazioni. Semplifica la creazione di moderne esperienze di ricerca aumentata di machine learning (ML) e applicazioni generative di intelligenza artificiale (AI) senza dover gestire l'infrastruttura di database vettoriale sottostante. 

I casi d'uso per le raccolte di ricerche vettoriali includono la ricerca di immagini, la ricerca di documenti, il recupero di musica, i consigli sui prodotti, le ricerche video, le ricerche basate sulla posizione, il rilevamento di frodi e il rilevamento di anomalie. 

Poiché il motore vettoriale per OpenSearch Serverless è alimentato dalla funzione di [ricerca k-Nearest Neighbor (k-NN)](https://opensearch.org/docs/latest/search-plugins/knn/index/) in, ottieni le stesse funzionalità con la semplicità di un ambiente serverless. OpenSearch [Il motore supporta l'API del plug-in k-NN.](https://opensearch.org/docs/latest/search-plugins/knn/api/) Con queste operazioni, puoi sfruttare la ricerca full-text, il filtraggio avanzato, le aggregazioni, le query geospaziali, le query annidate per un recupero più rapido dei dati e risultati di ricerca migliorati.

Il motore vettoriale fornisce metriche di distanza come la distanza euclidea, la somiglianza del coseno e la somiglianza del prodotto scalare e può contenere 16.000 dimensioni. È possibile memorizzare campi con vari tipi di dati per i metadati, ad esempio numeri, valori booleani, date, parole chiave e punti geografici. Puoi anche memorizzare campi con testo per informazioni descrittive per aggiungere più contesto ai vettori memorizzati. La colocazione dei tipi di dati riduce la complessità, aumenta la manutenibilità ed evita la duplicazione dei dati, problemi di compatibilità delle versioni e problemi di licenza. 

**Nota**  
Prendi nota delle seguenti informazioni:  
Amazon OpenSearch Serverless supporta la quantizzazione scalare Faiss a 16 bit, che può essere utilizzata per eseguire conversioni tra vettori mobili a 32 bit e vettori a 16 bit. [Per ulteriori informazioni, consulta Quantizzazione scalare a 16 bit di Faiss.](https://opensearch.org/docs/latest/search-plugins/knn/knn-vector-quantization/#faiss-16-bit-scalar-quantization) È inoltre possibile utilizzare vettori binari per ridurre i costi di memoria. Per ulteriori informazioni, consulta [Vettori binari](https://opensearch.org/docs/latest/field-types/supported-field-types/knn-vector#binary-vectors).
Amazon OpenSearch Serverless supporta la ricerca vettoriale basata su disco. La ricerca vettoriale basata su disco riduce in modo significativo i costi operativi per i carichi di lavoro vettoriali in ambienti con poca memoria. [Per ulteriori informazioni, consulta Ricerca vettoriale basata su disco.](https://docs.opensearch.org/2.19/vector-search/optimizing-storage/disk-based-vector-search/)

## Guida introduttiva alle raccolte di ricerca vettoriale
<a name="serverless-vector-tutorial"></a>

In questo tutorial, completerai i seguenti passaggi per archiviare, cercare e recuperare gli incorporamenti vettoriali in tempo reale:

1. [Configurazione delle autorizzazioni](#serverless-vector-permissions)

1. [Creazione di una raccolta](#serverless-vector-create)

1. [Caricamento e ricerca dei dati](#serverless-vector-index)

1. [Eliminazione della raccolta](#serverless-vector-delete)

### Fase 1: configurazione delle autorizzazioni
<a name="serverless-vector-permissions"></a>

Per completare questo tutorial (e per utilizzare OpenSearch Serverless in generale), devi disporre delle autorizzazioni AWS Identity and Access Management (IAM) corrette. In questo tutorial, crei una raccolta, carichi e cerchi dati, quindi elimini la raccolta.

L'utente o il ruolo devono avere una [policy basata sull'identità](security-iam-serverless.md#security-iam-serverless-id-based-policies) allegata con le seguenti autorizzazioni minime:

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

------

Per ulteriori informazioni sulle autorizzazioni IAM OpenSearch Serverless, consulta. [Identity and Access Management per Amazon OpenSearch Serverless](security-iam-serverless.md)

### Fase 2: creazione di una raccolta
<a name="serverless-vector-create"></a>

Una *raccolta* è un gruppo di OpenSearch indici che interagiscono per supportare un carico di lavoro o un caso d'uso specifici.

**Per creare una raccolta Serverless OpenSearch**

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

1. Scegli **Collections** (Raccolte) nel pannello di navigazione a sinistra e scegli **Create collection** (Crea raccolta).

1. Assegna un nome all'**alloggiamento della** raccolta.

1. Per il tipo di raccolta, scegli **Ricerca vettoriale**. Per ulteriori informazioni, consulta [Scelta di un tipo di raccolta](serverless-overview.md#serverless-usecase).

1. In **Tipo di distribuzione**, deseleziona **Abilita ridondanza (repliche attive)**. In questo modo viene creata una raccolta in modalità sviluppo o test e il numero di unità di OpenSearch calcolo (OCUs) nella raccolta viene ridotto a due. Se vuoi creare un ambiente di produzione in questo tutorial, lascia selezionata la casella di controllo. 

1. In **Sicurezza**, seleziona **Easy create** per semplificare la configurazione di sicurezza. Per impostazione predefinita, tutti i dati nel motore vettoriale sono crittografati in transito e inattivi. Il motore vettoriale supporta autorizzazioni IAM granulari in modo da poter definire chi può creare, aggiornare ed eliminare crittografie, reti, raccolte e indici.

1. Scegli **Next (Successivo)**.

1. Controlla le impostazioni della raccolta e scegli **Submit** (Invia). Attendi alcuni minuti affinché lo stato della raccolta diventi `Active`.

### Fase 3: Caricamento e ricerca dei dati
<a name="serverless-vector-index"></a>

Un *indice* è una raccolta di documenti con uno schema di dati comune che consente di archiviare, cercare e recuperare gli incorporamenti vettoriali e altri campi. [https://www.postman.com/downloads/](https://www.postman.com/downloads/) Questo tutorial utilizza Dev Tools.

**Per indicizzare e cercare i dati nella collezione di alloggi**

1. Per creare un singolo indice per la tua nuova collezione, invia la seguente richiesta nella console [Dev Tools](https://opensearch.org/docs/latest/dashboards/dev-tools/index-dev/). Per impostazione predefinita, questo crea un indice con un `nmslib` motore e una distanza euclidea.

   ```
   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. Per indicizzare un singolo documento in *housing-index*, invia la seguente richiesta:

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

1. Per cercare proprietà simili a quelle del tuo indice, invia la seguente query:

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

### Fase 4: Eliminazione della raccolta
<a name="serverless-vector-delete"></a>

Poiché la collezione di *alloggi* è a scopo di test, assicurati di eliminarla quando hai finito di sperimentare.

**Per eliminare una raccolta OpenSearch Serverless**

1. Torna alla console di **Amazon OpenSearch Service**.

1. Scegli **Raccolte** nel riquadro di navigazione a sinistra e seleziona la raccolta delle **proprietà**.

1. Scegli **Elimina** e conferma l'eliminazione.

## Ricerca filtrata
<a name="serverless-vector-filter"></a>

Puoi utilizzare i filtri per affinare i risultati della ricerca semantica. Per creare un indice ed eseguire una ricerca filtrata sui tuoi documenti, sostituisci [Carica e cerca dati](#serverless-vector-index) nel tutorial precedente con le seguenti istruzioni. Gli altri passaggi rimangono invariati. Per ulteriori informazioni sui filtri, consulta [K-nn search with](https://opensearch.org/docs/latest/search-plugins/knn/filter-search-knn/) filters.

**Per indicizzare e cercare i dati nella collezione di alloggi**

1. Per creare un indice singolo per la tua raccolta, invia la seguente richiesta nella console [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. Per indicizzare un singolo documento *housing-index-filtered*, invia la seguente richiesta:

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

1. Per cercare i tuoi dati relativi a un appartamento a Seattle a un determinato prezzo ed entro una determinata distanza da un punto geografico, invia la seguente richiesta:

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

## Carichi di lavoro su scala miliardaria
<a name="serverless-vector-billion"></a>

Le raccolte di ricerca vettoriale supportano carichi di lavoro con miliardi di vettori. Non è necessario reindicizzare per scopi di ridimensionamento perché il ridimensionamento automatico lo fa per te. Se hai milioni di vettori (o più) con un numero elevato di dimensioni e ne hai bisogno di più di 200 OCUs, contatta l'[AWS assistenza](https://aws.amazon.com/premiumsupport/) per aumentare il numero massimo di unità di OpenSearch calcolo (OCUs) per il tuo account. 

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

Le raccolte di ricerca vettoriale presentano le seguenti limitazioni:
+ Le raccolte di ricerca vettoriale non supportano il motore Apache Lucene ANN.
+ Le raccolte di ricerca vettoriale supportano solo l'algoritmo HNSW con Faiss e non supportano IVF e IVFQ.
+ Le raccolte di ricerca vettoriale non supportano le operazioni API di warmup, stats e model training.
+ Le raccolte di ricerca vettoriale non supportano script in linea o memorizzati.
+ Le informazioni sul conteggio degli indici non sono disponibili nelle raccolte Console di gestione AWS per la ricerca vettoriale. 
+ L'intervallo di aggiornamento per gli indici nelle raccolte di ricerca vettoriale è di 60 secondi.

## Fasi successive
<a name="serverless-vector-next"></a>

Ora che sapete come creare una raccolta di ricerca vettoriale e indicizzare i dati, potreste provare alcuni dei seguenti esercizi:
+ Usa il client OpenSearch Python per lavorare con raccolte di ricerca vettoriale. Guarda questo tutorial su. [GitHub](https://github.com/opensearch-project/opensearch-py/blob/main/guides/plugins/knn.md) 
+ Usa il client OpenSearch Java per lavorare con raccolte di ricerca vettoriale. Guarda questo tutorial su. [GitHub](https://github.com/opensearch-project/opensearch-java/blob/main/guides/plugins/knn.md) 
+ Configurato LangChain per essere utilizzato OpenSearch come archivio vettoriale. LangChain è un framework open source per lo sviluppo di applicazioni basate su modelli linguistici. Per ulteriori informazioni, consulta la [documentazione relativa ad LangChain ](https://python.langchain.com/docs/integrations/vectorstores/opensearch).

# Utilizzo delle politiche del ciclo di vita dei dati con Amazon Serverless OpenSearch
<a name="serverless-lifecycle"></a>

Una policy sul ciclo di vita dei dati in Amazon OpenSearch Serverless definisce per quanto tempo OpenSearch Serverless conserva i dati in una raccolta di serie temporali. Ad esempio, puoi impostare una politica per conservare i dati di registro per 30 giorni prima che Serverless li elimini. OpenSearch 

Puoi configurare una politica separata per ogni indice all'interno di ogni raccolta di serie temporali presente nel tuo. Account AWS OpenSearch Serverless conserva i documenti almeno per la durata specificata nella policy. Quindi elimina automaticamente i documenti nel miglior modo possibile, in genere entro 48 ore o il 10% del periodo di conservazione, a seconda di quale sia il più lungo.

Solo le raccolte di serie temporali supportano le politiche relative al ciclo di vita dei dati. Le raccolte di ricerca e di ricerca vettoriale non lo fanno.

**Topics**
+ [Politiche relative al ciclo di vita dei dati](#serverless-lifecycle-policies)
+ [Autorizzazioni richieste](#serverless-lifecycle-permissions)
+ [Priorità delle policy](#serverless-lifecycle-precedence)
+ [Sintassi delle policy](#serverless-lifecycle-syntax)
+ [Creazione di politiche relative al ciclo di vita dei dati](#serverless-lifecycle-create)
+ [Aggiornamento delle politiche relative al ciclo di vita dei dati](#serverless-lifecycle-update)
+ [Eliminazione delle politiche relative al ciclo di vita dei dati](#serverless-lifecycle-delete)

## Politiche relative al ciclo di vita dei dati
<a name="serverless-lifecycle-policies"></a>

In una politica del ciclo di vita dei dati, si specifica una serie di regole. La politica del ciclo di vita dei dati consente di gestire il periodo di conservazione dei dati associati agli indici o alle raccolte che soddisfano queste regole. Queste regole definiscono il periodo di conservazione dei dati in un indice o in un gruppo di indici. Ogni regola è composta da un tipo di risorsa (`index`), un periodo di conservazione e un elenco di risorse (indici) a cui si applica il periodo di conservazione.

Il periodo di conservazione viene definito con uno dei seguenti formati:
+ `"MinIndexRetention": "24h"`— OpenSearch Serverless conserva i dati dell'indice per il periodo specificato in ore o giorni. È possibile impostare questo periodo in modo che sia compreso tra`24h`. `3650d`
+ `"NoMinIndexRetention": true`— OpenSearch Serverless conserva i dati dell'indice a tempo indeterminato.

Nella seguente politica di esempio, la prima regola specifica un periodo di conservazione di 15 giorni per tutti gli indici della raccolta. `marketing` La seconda regola specifica che per tutti i nomi di indice che iniziano con `log` la `finance` raccolta non è impostato alcun periodo di conservazione e verranno conservati a tempo indeterminato.

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

Nel seguente esempio di regola politica, OpenSearch Serverless conserva a tempo indeterminato i dati in tutti gli indici per tutte le raccolte all'interno dell'account.

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

## Autorizzazioni richieste
<a name="serverless-lifecycle-permissions"></a>

Le policy del ciclo di vita per OpenSearch Serverless utilizzano le seguenti autorizzazioni (IAM). AWS Identity and Access Management Puoi specificare le condizioni IAM per limitare gli utenti alle politiche del ciclo di vita dei dati associate a raccolte e indici specifici.
+ `aoss:CreateLifecyclePolicy`— Creare una policy sul ciclo di vita dei dati.
+ `aoss:ListLifecyclePolicies`— Elenca tutte le politiche relative al ciclo di vita dei dati nell'account corrente.
+ `aoss:BatchGetLifecyclePolicy`— Visualizza una politica sul ciclo di vita dei dati associata a un account o al nome di una policy.
+ `aoss:BatchGetEffectiveLifecyclePolicy`— Visualizza una politica del ciclo di vita dei dati per una determinata risorsa (`index`è l'unica risorsa supportata).
+ `aoss:UpdateLifecyclePolicy`— Modificare una determinata politica del ciclo di vita dei dati e modificarne l'impostazione o la risorsa di conservazione.
+ `aoss:DeleteLifecyclePolicy`— Eliminare una politica sul ciclo di vita dei dati.

La seguente politica di accesso basata sull'identità consente a un utente di visualizzare tutte le politiche relative al ciclo di vita dei dati e di aggiornare le politiche in base al modello di risorse: `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": "*"
        }
    ]
}
```

------

## Priorità delle policy
<a name="serverless-lifecycle-precedence"></a>

Possono verificarsi situazioni in cui le regole relative al ciclo di vita dei dati si sovrappongono, all'interno o tra le policy. *Quando ciò accade, una regola con un nome o uno schema di risorsa più specifico per un indice sostituisce una regola con un nome o uno schema di risorsa più generale per tutti gli indici comuni a entrambe le regole.*

Ad esempio, nella seguente politica, due regole si applicano a un indice. `index/sales/logstash` In questa situazione, la seconda regola ha la precedenza perché `index/sales/log*` è la corrispondenza più lunga a. `index/sales/logstash` Pertanto, OpenSearch Serverless non imposta alcun periodo di conservazione per l'indice.

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

## Sintassi delle policy
<a name="serverless-lifecycle-syntax"></a>

Fornisci una o più *regole*. Queste regole definiscono le impostazioni del ciclo di vita dei dati per gli indici Serverless. OpenSearch 

Ogni regola contiene i seguenti elementi. È possibile fornire `MinIndexRetention` o `NoMinIndexRetention` in ciascuna regola, ma non in entrambe. 


| Elemento | Description | 
| --- | --- | 
| Tipo di risorsa | Il tipo di risorsa a cui si applica la regola. L'unica opzione supportata per le politiche del ciclo di vita dei dati è. index | 
| Risorsa | Un elenco di modelli di nomi and/or di risorse. I pattern sono costituiti da un prefisso e da un carattere jolly (\$1), che consentono l'applicazione delle autorizzazioni associate a più risorse. Ad esempio, index/<collection-name\$1pattern>/<index-name\$1pattern>. | 
| MinIndexRetention | Il periodo minimo, in giorni (d) o ore (h), per conservare il documento nell'indice. Il limite inferiore è 24h e il limite superiore è3650d. | 
| NoMinIndexRetention | Setrue, OpenSearch Serverless conserva i documenti a tempo indeterminato. | 

Nell'esempio seguente, la prima regola si applica a tutti gli indici inclusi nel `autoparts-inventory` pattern (`index/autoparts-inventory/*`) e richiede che i dati vengano conservati per almeno 20 giorni prima che possa verificarsi qualsiasi azione, come l'eliminazione o l'archiviazione. 

La seconda regola si rivolge agli indici che corrispondono al `auto*/gear` pattern (`index/auto*/gear`), impostando un periodo di conservazione minimo di 24 ore.

La terza regola si applica specificamente all'`tires`indice e non prevede un periodo di conservazione minimo, il che significa che i dati in questo indice possono essere eliminati o archiviati immediatamente o in base ad altri criteri. Queste regole aiutano a gestire la conservazione dei dati dell'indice con tempi di conservazione variabili o senza restrizioni di conservazione.

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

## Creazione di politiche relative al ciclo di vita dei dati
<a name="serverless-lifecycle-create"></a>

Per creare una politica del ciclo di vita dei dati, si definiscono regole che gestiscono la conservazione e l'eliminazione dei dati in base a criteri specifici. 

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

**Per creare una politica sul ciclo di vita dei dati**

1. Accedi alla console di Amazon OpenSearch Service da [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. Nel riquadro di navigazione a sinistra, scegli Politiche del **ciclo di vita dei dati**.

1. Scegli **Crea una politica sul ciclo di vita dei dati**.

1. Inserisci un nome descrittivo per la politica.

1. Per **Ciclo di vita dei dati**, scegli **Aggiungi** e seleziona le raccolte e gli indici per la politica. 

   Inizia scegliendo le raccolte a cui appartengono gli indici. Quindi, scegli l'indice dall'elenco o inserisci uno schema di indice. Per selezionare tutte le raccolte come fonti, inserisci un asterisco (`*`).

1. Per la **conservazione dei dati**, puoi scegliere di conservare i dati a tempo indeterminato oppure deselezionare **Unlimited (mai eliminare)** e specificare un periodo di tempo dopo il quale OpenSearch Serverless elimina automaticamente i dati da Amazon S3.

1. ****Scegli Salva, quindi Crea.****

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

Per creare una politica del ciclo di vita dei dati utilizzando il AWS CLI, utilizza il [create-lifecycle-policy](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/create-lifecycle-policy.html)comando con le seguenti opzioni:
+ `--name`— Il nome della politica.
+ `--type`— Il tipo di politica. Attualmente, l'unico valore disponibile è`retention`.
+ `--policy`— La politica del ciclo di vita dei dati. Questo parametro accetta sia le policy in linea che i file.json. È necessario codificare le politiche in linea come stringa di escape JSON. Per fornire la politica in un file, usa il 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}]}"
```

## Aggiornamento delle politiche relative al ciclo di vita dei dati
<a name="serverless-lifecycle-update"></a>

Per aggiornare una politica sul ciclo di vita dei dati, puoi modificare le regole esistenti per riflettere le modifiche ai requisiti di conservazione o eliminazione dei dati. Ciò consente di adattare le politiche all'evolversi delle esigenze di gestione dei dati.

Potrebbero trascorrere alcuni minuti tra l'aggiornamento della policy e il momento in cui OpenSearch Serverless inizia a far rispettare i nuovi periodi di conservazione.

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

**Per aggiornare una policy sul ciclo di vita dei dati**

1. Accedi alla console di Amazon OpenSearch Service da [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. Nel riquadro di navigazione a sinistra, scegli Politiche del **ciclo di vita dei dati**.

1. **Seleziona la politica del ciclo di vita dei dati che desideri aggiornare, quindi scegli Modifica.**

1. Modifica la politica utilizzando l'editor visivo o l'editor JSON.

1. Scegli **Save** (Salva).

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

Per aggiornare una politica del ciclo di vita dei dati utilizzando il AWS CLI, usa il comando. [update-lifecycle-policy](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/update-lifecycle-policy.html) 

È necessario includere il `--policy-version` parametro nella richiesta. È possibile recuperare la versione della policy utilizzando i comandi [list-lifecycle-policies](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/list-lifecycle-policies.html) o [batch-get-lifecycle-policy](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/batch-get-lifecycle-policy.html). Ti consigliamo di includere la versione più recente della policy per evitare di sovrascrivere accidentalmente le modifiche apportate da altri.

La seguente richiesta aggiorna una policy sul ciclo di vita dei dati con un nuovo documento JSON di policy.

**Example**  

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

## Eliminazione delle politiche relative al ciclo di vita dei dati
<a name="serverless-lifecycle-delete"></a>

Quando elimini una policy sul ciclo di vita dei dati, OpenSearch Serverless non la applica più sugli indici corrispondenti.

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

**Per eliminare una policy sul ciclo di vita dei dati**

1. Accedi alla console di Amazon OpenSearch Service da [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. Nel riquadro di navigazione a sinistra, scegli Politiche del **ciclo di vita dei dati**.

1. Seleziona la politica che desideri eliminare, quindi scegli **Elimina** e conferma l'eliminazione.

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

Per eliminare una politica del ciclo di vita dei dati utilizzando il AWS CLI, usa il [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
```

# Utilizzo di AWS SDKs per interagire con Amazon OpenSearch Serverless
<a name="serverless-sdk"></a>

Questa sezione include esempi di come utilizzarlo AWS SDKs per interagire con Amazon OpenSearch Serverless. Questi esempi di codice mostrano come creare raccolte e policy di sicurezza, e come eseguire query sulle raccolte.

**Nota**  
Attualmente stiamo sviluppando questi esempi di codice. Se vuoi contribuire con un esempio di codice (Java, Go, ecc.), apri una pull request direttamente all'interno del [GitHub repository](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>

Il seguente script di esempio utilizza il client [AWS SDK per Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/opensearchserverless.html), così come [opensearch-py](https://pypi.org/project/opensearch-py/) per Python per creare policy di crittografia, rete e accesso ai dati, creare una raccolta corrispondente e indicizzare alcuni dati di esempio.

Per installare le dipendenze richieste, eseguire i seguenti comandi:

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

All'interno dello script, sostituire l'elemento `Principal` con il nome della risorsa Amazon (ARN) dell'utente o il ruolo che sta firmando la richiesta. Facoltativamente, è possibile anche modificare la `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>

Il seguente script di esempio utilizza l'[SDK di Node.js](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-opensearchserverless/), oltre al client [opensearch-js](https://www.npmjs.com/package/@opensearch-project/opensearch) per creare politiche di crittografia JavaScript, rete e accesso ai dati, creare una raccolta corrispondente, creare un indice e indicizzare alcuni dati di esempio. JavaScript 

Per installare le dipendenze richieste, eseguire i seguenti comandi:

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

All'interno dello script, sostituire l'elemento `Principal` con il nome della risorsa Amazon (ARN) dell'utente o il ruolo che sta firmando la richiesta. Facoltativamente, è possibile anche modificare la `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()
```

# Utilizzo CloudFormation per creare raccolte Amazon OpenSearch Serverless
<a name="serverless-cfn"></a>

Puoi utilizzarlo CloudFormation per creare risorse Amazon OpenSearch Serverless come raccolte, policy di sicurezza ed endpoint VPC. Per un CloudFormation riferimento completo OpenSearch su Serverless, consulta [Amazon OpenSearch Serverless nella Guida](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_OpenSearchServerless.html) per l'*CloudFormation utente*.

Il seguente CloudFormation modello di esempio crea una semplice politica di accesso ai dati, una politica di rete e una politica di sicurezza, oltre a una raccolta corrispondente. È un buon modo per iniziare rapidamente a usare Amazon OpenSearch Serverless e fornire gli elementi necessari per creare e utilizzare una raccolta.

**Importante**  
Questo esempio utilizza l'accesso alla rete pubblica, sconsigliato per carichi di lavoro di produzione. È preferibile utilizzare l'accesso VPC per proteggere le raccolte. Per ulteriori informazioni, consultare [AWS::OpenSearchServerless::VpcEndpoint](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html) e [Accesso al piano dati tramite 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
```

# Backup delle raccolte tramite istantanee
<a name="serverless-snapshots"></a>

Le istantanee sono point-in-time backup delle tue raccolte Amazon OpenSearch Serverless che forniscono funzionalità di disaster recovery. OpenSearch Serverless crea e gestisce automaticamente istantanee delle tue raccolte, garantendo la continuità aziendale e la protezione dei dati. Ogni istantanea contiene metadati dell'indice (impostazioni e mappature per gli indici), metadati del cluster (modelli di indice e alias) e dati dell'indice (tutti i documenti e i dati archiviati negli indici).

OpenSearch Serverless offre backup orari automatici senza configurazione manuale, zero costi di manutenzione, costi di storage aggiuntivi, ripristino rapido in caso di perdita accidentale di dati e la possibilità di ripristinare indici specifici da un'istantanea.

Prima di lavorare con le istantanee, è necessario comprendere queste importanti considerazioni. La creazione di un'istantanea richiede tempo e non è istantanea. I nuovi documenti o gli aggiornamenti durante la creazione dell'istantanea non verranno inclusi nell'istantanea. È possibile ripristinare le istantanee solo nella raccolta originale e non in una nuova. Una volta ripristinati, gli indici ne ricevono di nuovi UUIDs che differiscono dalle versioni originali. Il ripristino di un indice aperto esistente in OpenSearch Serverless sovrascriverà i dati di tale indice, a condizione che non venga fornito un nuovo nome di indice o un modello di prefisso. Ciò differisce dal comportamento principale. OpenSearch È possibile eseguire una sola operazione di ripristino alla volta e non è possibile avviare più operazioni di ripristino contemporaneamente sulla stessa raccolta. Il tentativo di ripristinare gli indici durante un'operazione di ripristino attiva causa l'esito negativo dell'operazione. Durante un'operazione di ripristino, le richieste agli indici hanno esito negativo.

## Autorizzazioni richieste
<a name="serverless-snapshots-permissions"></a>

Per utilizzare le istantanee, configura le seguenti autorizzazioni nella tua politica di accesso ai dati. Per ulteriori informazioni sulle politiche di accesso ai dati, consulta. [Policy di accesso ai dati rispetto alle policy IAM](serverless-data-access.md#serverless-data-access-vs-iam)


****  

| Politica di accesso ai dati | APIs | 
| --- | --- | 
| aoss: DescribeSnapshot | GET /\$1 -automatizzato cat/snapshots/aossOTTIENI \$1/snapshot/aoss-automated/snapshot | 
| aos: RestoreSnapshot | POST /\$1 /\$1restore snapshot/aoss-automated/snapshot | 
| aos: DescribeCollectionItems | OTTIENI /\$1cat/recovery | 

È possibile configurare le politiche utilizzando i seguenti comandi: AWS CLI 

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)

Ecco un esempio di comando CLI per creare una politica di accesso. Nel comando, sostituisci il *example* contenuto con le tue informazioni specifiche.

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

## Utilizzo degli snapshot
<a name="serverless-snapshots-working-with"></a>

Per impostazione predefinita, quando crei una nuova raccolta, OpenSearch Serverless crea automaticamente istantanee ogni ora. Non è necessario eseguire nessuna operazione. Ogni istantanea include tutti gli indici della raccolta. Dopo che OpenSearch Serverless ha creato le istantanee, è possibile elencarle e rivederne i dettagli utilizzando le seguenti procedure.

### Elenca le istantanee
<a name="serverless-snapshots-listing"></a>

Utilizzate le seguenti procedure per elencare tutte le istantanee di una raccolta e rivederne i dettagli.

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

1. Apri la console Amazon OpenSearch Service all'indirizzo [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. Nel riquadro di navigazione a sinistra, scegli **Serverless**, quindi scegli **Collezioni**.

1. Scegli il nome della tua collezione per aprirne la pagina dei dettagli.

1. Scegli la scheda **Istantanee** per visualizzare tutte le istantanee generate.

1. Esamina le informazioni sulle istantanee, tra cui:
   + **ID istantanea**: identificatore univoco per l'istantanea
   + **Stato: stato** attuale (disponibile, in corso)
   + **Ora di creazione**: quando è stata scattata l'istantanea

------
#### [ AWS CLI ]
+ Utilizzate il seguente comando per elencare tutte le istantanee di una raccolta:

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

  OpenSearch Serverless restituisce una risposta simile alla seguente:

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

------

### Ottieni i dettagli dell'istantanea
<a name="serverless-snapshots-get-details"></a>

Utilizza le seguenti procedure per recuperare informazioni dettagliate su un'istantanea specifica.

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

1. Apri la console Amazon OpenSearch Service all'indirizzo [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. Nel riquadro di navigazione a sinistra, scegli **Serverless**, quindi scegli **Collezioni**.

1. Scegli il nome della tua collezione per aprirne la pagina dei dettagli.

1. Selezionare la scheda **Snapshots (Snapshot)**.

1. Scegli l'ID del lavoro dell'istantanea per visualizzare informazioni dettagliate sull'istantanea, inclusi i metadati, gli indici inclusi e le informazioni sulla tempistica.

------
#### [ AWS CLI ]
+ Utilizzate il comando seguente per recuperare informazioni su un'istantanea. Nel comando, sostituisci il *example* contenuto con le tue informazioni specifiche.

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

  Richiesta di esempio:

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

  Risposta di esempio:

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

------

La risposta istantanea include diversi campi chiave: `id` fornisce un identificatore univoco per l'operazione di istantanea, `status` restituisce lo stato corrente `SUCCESS` oppure `IN_PROGRESS` `duration` indica il tempo impiegato per completare l'operazione di snapshot e `indexes` restituisce il numero di indici inclusi nell'istantanea.

## Ripristino da uno snapshot
<a name="serverless-snapshots-restoring"></a>

Il ripristino da un'istantanea consente di recuperare i dati da un backup eseguito in precedenza. Questo processo è fondamentale per il disaster recovery e la gestione dei dati in Serverless. OpenSearch Prima del ripristino, tenete presente che gli indici ripristinati avranno caratteristiche diverse UUIDs rispetto alle versioni originali, il ripristino su un indice aperto esistente in OpenSearch Serverless sovrascriverà i dati di quell'indice a condizione che non venga fornito un nuovo nome di indice o uno schema di prefisso, le istantanee possono essere ripristinate solo nella raccolta originale (il ripristino tra raccolte non è supportato) e le operazioni di ripristino influiranno sulle prestazioni del cluster, quindi pianifica di conseguenza.

Utilizzare le seguenti procedure per ripristinare gli indici di backup da un'istantanea.

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

1. Apri la console Amazon OpenSearch Service all'indirizzo [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. Nel riquadro di navigazione a sinistra, scegli **Serverless**, quindi scegli **Collezioni**.

1. Scegli il nome della tua collezione per aprirne la pagina dei dettagli.

1. Scegli la scheda **Istantanee** per visualizzare le istantanee disponibili.

1. Scegli l'istantanea da cui desideri ripristinare, quindi scegli **Ripristina** da istantanea.

1. Nella finestra di dialogo **Ripristina da istantanea**:
   + Per il **nome dell'istantanea**, verifica l'ID dell'istantanea selezionato.
   + Per **Snapshot scope**, scegli una delle seguenti opzioni:
     + **Tutti gli indici della raccolta**: ripristina tutti gli indici dall'istantanea
     + **Indici specifici: seleziona i singoli indici** da ripristinare
   + Per **Destinazione**, scegli la raccolta in cui eseguire il ripristino.
   + (Facoltativo) Configura le **impostazioni di ridenominazione** per rinominare gli indici ripristinati:
     + **Non rinominare**: mantieni i nomi degli indici originali
     + **Aggiungi prefisso ai nomi degli indici ripristinati**: aggiungi un prefisso per evitare conflitti
     + **Rinomina utilizzando espressioni regolari**: utilizza modelli di ridenominazione avanzati
   + (Facoltativo) Configura le impostazioni di **notifica** per ricevere una notifica quando il ripristino viene completato o riscontra errori.

1. Scegli **Salva** per avviare l'operazione di ripristino.

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

1. Esegui il comando seguente per identificare l'istantanea appropriata.

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

   Per un elenco più piccolo di istantanee, esegui il comando seguente.

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

1. Esegui il comando seguente per verificare i dettagli dell'istantanea prima del ripristino. Nel comando, sostituisci il *example* contenuto con le tue informazioni specifiche.

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

1. Esegui il comando seguente per ripristinare da un'istantanea specifica.

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

   È possibile personalizzare l'operazione di ripristino includendo un corpo della richiesta. Ecco un esempio:

   ```
   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. Esegui il comando seguente per visualizzare l'avanzamento del ripristino.

   ```
   GET /_cat/recovery
   ```

------

**Nota**  
Quando si ripristina un'istantanea con un comando che include un corpo della richiesta, è possibile utilizzare diversi parametri per controllare il comportamento di ripristino. Il `indices` parametro specifica quali indici ripristinare e supporta i pattern jolly. Impostato `ignore_unavailable` per continuare l'operazione di ripristino anche se manca un indice nell'istantanea. Utilizzato `include_global_state` per determinare se ripristinare lo stato del cluster e `include_aliases` per controllare se ripristinare gli alias associati. I `rename_replacement` parametri `rename_pattern` and rinominano gli indici durante l'operazione di ripristino.

# Supporto codec standard in Amazon Serverless OpenSearch
<a name="serverless-zstd-compression"></a>

I codec di indice determinano il modo in cui i campi memorizzati di un indice vengono compressi e archiviati su disco e in S3. Il codec dell'indice è controllato dall'`index.codec`impostazione statica che specifica l'algoritmo di compressione. Questa impostazione influisce sia sulla dimensione dei frammenti di indice che sulle prestazioni del funzionamento dell'indice.

Per impostazione predefinita, gli indici in OpenSearch Serverless utilizzano il codec predefinito con l'algoritmo di compressione. LZ4 OpenSearch Serverless supporta `zstd` e `zstd_no_dict` codifica anche con livelli di compressione configurabili da 1 a 6.

**Importante**  
Poiché `index.codec` si tratta di un'impostazione statica, non può essere modificata dopo la creazione dell'indice.

Per maggiori dettagli, consulta la documentazione [OpenSearch Index Codecs.](https://opensearch.org/docs/latest/im-plugin/index-codecs/)

## Creazione di un indice con il codec ZSTD
<a name="serverless-zstd-create-index"></a>

È possibile specificare il codec ZSTD durante la creazione dell'indice utilizzando l'impostazione: `index.codec`

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

## Livelli di compressione
<a name="serverless-zstd-compression-levels"></a>

I codec ZSTD supportano livelli di compressione opzionali tramite l'`index.codec.compression_level`impostazione, accettando numeri interi nell'intervallo [1, 6]. Livelli di compressione più elevati si traducono in rapporti di compressione migliori (spazio di archiviazione più piccolo) ma velocità di compressione e decompressione più lente. Il livello di compressione predefinito è 3.

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

## Analisi comparativa delle prestazioni
<a name="serverless-zstd-performance"></a>

Sulla base di test di benchmark con il set di dati nyc\$1taxi, la compressione ZSTD ha ottenuto una compressione migliore del 26-32% rispetto alla linea di base in diverse combinazioni di e livelli di compressione. `zstd` `zstd_no_dict`


| Metrica | ZSTD L1 | ZSTD L6 | ZSTD\$1NO\$1DICT L1 | ZSTD\$1NO\$1DICT L6 | 
| --- | --- | --- | --- | --- | 
| Riduzione delle dimensioni dell'indice | 28,10% | 32% | 26,90% | 28,70% | 
| Modifica del throughput di indicizzazione | -0,50% | -23,80% | -0,50% | -5,30% | 
| Miglioramento della latenza di Match-all Query p90 | -16,40% | 29,50% | -16,40% | 23,40% | 
| Miglioramento della latenza di Range Query p90 | 90,90% | 92,40% | -282,90% | 92,50% | 
| Quantità di distanza (p90 Agg) Miglioramento della latenza | 2% | 24,70% | 2% | 13,80% | 

Per maggiori dettagli, consulta il [AWS OpenSearch blog](https://aws.amazon.com/blogs/big-data/optimize-storage-costs-in-amazon-opensearch-service-using-zstandard-compression/).

# Salva spazio di archiviazione utilizzando una fonte derivata
<a name="serverless-derived-source"></a>

Per impostazione predefinita, OpenSearch Serverless archivia ogni documento importato nel `_source` campo, che contiene il corpo del documento JSON originale, e indicizza i singoli campi per la ricerca. Sebbene il `_source` campo non sia ricercabile, viene mantenuto in modo da poter restituire il documento completo durante l'esecuzione di richieste di recupero, come get e search. Quando la fonte derivata è abilitata, OpenSearch Serverless salta la memorizzazione del `_source` campo e lo ricostruisce invece dinamicamente su richiesta, ad esempio durante le operazioni di ricerca, get, mget, reindex o aggiornamento. L'utilizzo dell'impostazione della fonte derivata può ridurre l'utilizzo dello storage fino al 50%.

## Configurazione
<a name="serverless-derived-source-config"></a>

Per configurare la fonte derivata per il tuo indice, crea l'indice utilizzando l'`index.derived_source.enabled`impostazione:

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

## Considerazioni importanti
<a name="serverless-derived-source-considerations"></a>
+ Sono supportati solo alcuni tipi di campo. Per un elenco dei campi e delle limitazioni supportati, consulta la [OpenSearch documentazione](https://docs.opensearch.org/latest/mappings/metadata-fields/source/#supported-fields-and-parameters). Se crei un indice con origine derivata e un campo non supportato, la creazione dell'indice avrà esito negativo. Se si tenta di importare un documento con un campo non supportato in un indice derivato abilitato ai sorgenti, l'importazione avrà esito negativo. Utilizzate questa funzionalità solo quando conoscete i tipi di campo che verranno aggiunti all'indice.
+ L'impostazione `index.derived_source.enabled` è statica. Questa impostazione non può essere modificata dopo la creazione dell'indice.

## Limitazioni relative alle risposte alle interrogazioni
<a name="serverless-derived-source-limitations"></a>

Quando l'origine derivata è abilitata, impone alcune limitazioni al modo in cui le risposte alle query vengono generate e restituite.
+ I campi data con più formati specificati utilizzano sempre il primo formato dell'elenco per tutti i documenti richiesti, indipendentemente dal formato originale importato.
+ I valori Geopoint vengono restituiti in un `{"lat": lat_val, "lon": lon_val}` formato fisso e possono perdere una certa precisione.
+ Gli array multivalore possono essere ordinati e i campi di parole chiave possono essere deduplicati.

[Per maggiori dettagli, consulta il blog. OpenSearch ](https://opensearch.org/blog/save-up-to-2x-on-storage-with-derived-source/)

## Analisi comparativa delle prestazioni
<a name="serverless-derived-source-performance"></a>

Sulla base di test di benchmark con il set di dati nyc\$1taxi, la fonte derivata ha ottenuto una riduzione del 58% della dimensione dell'indice rispetto al valore di base.


| Metrica | Fonte derivata | 
| --- | --- | 
| Riduzione delle dimensioni dell'indice | 58,3% | 
| Modifica del throughput di indicizzazione | 3,7% | 
| Indicizzazione della modifica della latenza p90 | 6,9% | 
| Miglioramento della latenza di Match-all Query p90 | 19% | 
| Miglioramento della latenza di Range Query p90 | -18,8% | 
| Quantità di distanza (p90 Agg): miglioramento della latenza | -7,3% | 

Per maggiori dettagli, consulta il [OpenSearch blog](https://opensearch.org/blog/save-up-to-2x-on-storage-with-derived-source/).

# Gruppi di raccolta Amazon OpenSearch Serverless
<a name="serverless-collection-groups"></a>

*I gruppi di raccolta* in Amazon OpenSearch Serverless organizzano più raccolte e consentono la condivisione delle risorse di calcolo tra raccolte con diverse chiavi KMS. Questo modello di elaborazione condiviso riduce i costi eliminando la necessità di unità di OpenSearch calcolo separate (OCUs) per ogni chiave KMS.

Ogni raccolta OpenSearch Serverless creata è protetta con la crittografia dei dati inattivi, utilizzata AWS KMS per archiviare e gestire le chiavi di crittografia. Le raccolte all'interno dello stesso gruppo di raccolta condividono le risorse di calcolo e lo spazio di memoria OCU, anche quando utilizzano chiavi KMS diverse per la crittografia.

I gruppi di raccolta forniscono l'isolamento per i requisiti di sicurezza e prestazioni. È possibile raggruppare le raccolte con la stessa chiave KMS in un unico gruppo di raccolta per l'isolamento della sicurezza o combinare raccolte con diverse chiavi KMS nello stesso gruppo per ottimizzare i costi. Questa flessibilità consente di bilanciare i requisiti di sicurezza con l'efficienza delle risorse.

Quando aggiungi una raccolta a un gruppo di raccolta, OpenSearch Serverless la assegna alle risorse di elaborazione condivise del gruppo. Il sistema gestisce automaticamente la distribuzione dei carichi di lavoro tra queste risorse, mantenendo al contempo la sicurezza crittografando i dati di ciascuna raccolta con la chiave KMS designata. I controlli di accesso continuano ad essere applicati a livello di raccolta e le risorse di elaborazione condivise accedono a più chiavi KMS in base alle necessità per servire le raccolte del gruppo.

È possibile controllare l'allocazione delle risorse impostando limiti OCU minimi e massimi a livello di gruppo di raccolta. Questi limiti si applicano a tutte le raccolte del gruppo e aiutano a gestire i costi garantendo al contempo prestazioni costanti.

Per impostazione predefinita, esiste una quota di servizio (limite) per il numero di raccolte in un gruppo di raccolte, il numero di indici in una raccolta e il numero di raccolte OCUs in un gruppo di raccolte. Per ulteriori informazioni, consulta Quote [OpenSearch serverless](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-limits-serverless).

## Concetti chiave
<a name="collection-groups-concepts"></a>

Gruppo di raccolta  
Una AWS risorsa che funge da contenitore per una o più raccolte. Ogni gruppo di raccolta ha un identificatore univoco e può avere limiti di capacità e impostazioni di configurazione propri.

Elaborazione condivisa  
Le raccolte all'interno dello stesso gruppo di raccolte condividono lo stesso set di OCUs, indipendentemente dalle chiavi KMS utilizzate. Questa condivisione riduce i costi eliminando la necessità di risorse di elaborazione separate per ogni chiave KMS.

Limiti di capacità  
È possibile impostare limiti OCU minimi e massimi per le operazioni di indicizzazione e ricerca a livello di gruppo di raccolta. Questi limiti aiutano a controllare i costi e a garantire prestazioni costanti.

# Limiti di capacità del gruppo di raccolta
<a name="collection-groups-capacity-limits"></a>

I gruppi di raccolta forniscono un controllo granulare sull'allocazione delle risorse attraverso limiti OCU minimi e massimi. Questi limiti si applicano a tutte le raccolte all'interno del gruppo e funzionano indipendentemente dalle impostazioni di capacità a livello di account.

Per impostazione predefinita, esiste una quota di servizio (limite) per il numero di raccolte in un gruppo di raccolte, il numero di indici in una raccolta e il numero di raccolte in un gruppo di OCUs raccolte. Per ulteriori informazioni, consulta Quote [OpenSearch serverless](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-limits-serverless).

## Comprensione dei limiti di capacità dei gruppi di raccolta
<a name="collection-groups-capacity-overview"></a>

È possibile configurare limiti OCU minimi e massimi per le operazioni di indicizzazione e ricerca a livello di gruppo di raccolta. Questi limiti controllano il modo in cui OpenSearch Serverless ridimensiona le risorse per le raccolte del gruppo:
+ **OCU minima**: il numero minimo di quelle OCUs che OpenSearch Serverless mantiene per il gruppo di raccolta, garantendo prestazioni di base costanti.
  + Se il carico di lavoro richiede un numero inferiore di OCU rispetto al valore minimo specificato, OpenSearch Serverless manterrebbe comunque il valore minimo specificato delle OCU e la fatturazione rifletterebbe lo stesso.
  + Se il carico di lavoro richiede un numero maggiore di OCU rispetto al valore minimo specificato, OpenSearch Serverless manterrebbe il livello di OCU richiesto per il carico di lavoro e la fatturazione rifletterebbe il maggiore utilizzo dell'OCU.
+ **OCU massimo**: è possibile scalare il numero massimo di OCU OpenSearch Serverless per OCUs il gruppo di raccolta, aiutandoti a controllare i costi.

I limiti di capacità del gruppo di raccolta sono disaccoppiati dai limiti a livello di account. Le impostazioni OCU massime a livello di account si applicano solo alle raccolte non associate a nessun gruppo di raccolta, mentre le impostazioni OCU massime del gruppo di raccolta si applicano alle raccolte all'interno di quel gruppo specifico.

## Valori limite di capacità validi
<a name="collection-groups-capacity-values"></a>

Quando si impostano i limiti OCU minimi e massimi per un gruppo di raccolta, è possibile utilizzare solo i valori del seguente set: 1, 2, 4, 8, 16 e multipli di 16 (ad esempio 32, 48, 64, 80, 96) fino a un massimo di 1.696. OCUs

I limiti OCU minimi e massimi sono opzionali quando si crea un gruppo di raccolta. Se non si specifica un limite OCU massimo, OpenSearch Serverless utilizza il valore predefinito di 96. OCUs

Il limite OCU minimo deve essere inferiore o uguale al limite OCU massimo.

## Comprensione della relazione tra i limiti OCU a livello di account e del gruppo di raccolta
<a name="collection-groups-capacity-relationship"></a>

Quando si pianifica la capacità OpenSearch Serverless, è importante comprendere come interagiscono i limiti OCU a livello di account e i limiti OCU del gruppo di raccolta. La somma delle impostazioni OCU massime in tutti i gruppi di raccolta più l'impostazione OCU massima a livello di account deve essere inferiore o uguale al limite di quota di servizio per account. Per i valori limite correnti, vedere Quote [OpenSearch serverless](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-limits-serverless).

**Nota**  
Le impostazioni OCU massime a livello di account si applicano solo alle raccolte non associate a nessun gruppo di raccolta. Le raccolte all'interno dei gruppi di raccolta sono regolate dai rispettivi limiti dei gruppi di raccolta, non dai limiti a livello di account.

Questo vincolo si applica sia all'indicizzazione che alla ricerca in modo indipendente. OCUs Ad esempio, se configuri impostazioni a livello di account e gruppi di raccolta, devi assicurarti che il totale non superi il limite della quota di servizio per l'indicizzazione OCUs e separatamente non superi il limite della quota di servizio per la ricerca. OCUs Inoltre, puoi creare un massimo di 300 gruppi di raccolta per account.

**Esempio: capacità di pianificazione con limiti a livello di account e gruppo di raccolta**  
Se si imposta l'OCU di ricerca massima a livello di account su 500 e il limite della quota di servizio è 1.700:
+ E create 2 gruppi di raccolta, la somma dell'OCU massimo per i 2 gruppi di raccolta non deve essere superiore a 1.200 (1.700 - 500)
+ È possibile lasciare ogni gruppo di raccolta all'OCU massimo predefinito di 96 (96 \$1 96 \$1 500 = 692), lasciando spazio per la crescita futura
+ Oppure puoi aumentare il massimo di ogni gruppo di raccolta a 600 (600 \$1 600 \$1 500 = 1.700), utilizzando la piena capacità consentita dalla quota di servizio

Questa relazione è fondamentale per la pianificazione della capacità. Prima di creare nuovi gruppi di raccolta o aumentare i limiti massimi di OCU, verifica che l'allocazione totale non superi il limite della quota di servizio. Se raggiungi questo limite, devi ridurre le impostazioni OCU massime sui gruppi di raccolta esistenti o ridurre le impostazioni OCU massime a livello di account per fare spazio a nuove allocazioni.

## Configurazione dei limiti di capacità
<a name="collection-groups-capacity-configure"></a>

È possibile impostare limiti di capacità quando si crea un gruppo di raccolta o li si aggiorna in un secondo momento. Per configurare i limiti di capacità utilizzando AWS CLI, utilizzate i [UpdateCollectionGroup](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateCollectionGroup.html)comandi [CreateCollectionGroup](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateCollectionGroup.html)o:

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

Per aggiornare i limiti di capacità per un gruppo di raccolta esistente:

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

## Monitoraggio della capacità del gruppo di raccolta
<a name="collection-groups-capacity-monitoring"></a>

OpenSearch Serverless emette i seguenti parametri di Amazon CloudWatch Logs a intervalli di un minuto per aiutarti a monitorare l'utilizzo dell'OCU e i limiti di capacità a livello di gruppo di raccolta:
+ `IndexingOCU`— Il numero di indicizzazione attualmente utilizzato dal gruppo di raccolta OCUs .
+ `SearchOCU`— Il numero di ricerche OCUs attualmente utilizzate dal gruppo di raccolta.

OpenSearch Serverless emette anche metriche OCU a livello di account per raccolte non associate a nessun gruppo di raccolta. Puoi aggregare queste metriche CloudWatch per visualizzare la somma di tutti i gruppi di raccolta e le raccolte a OCUs livello di account.

Configura gli allarmi per avvisarti quando il gruppo di raccolta si avvicina ai limiti di capacità in modo da poter modificare le impostazioni secondo necessità. Per ulteriori informazioni sulle metriche OpenSearch Serverless, consulta. [Monitoraggio di Amazon OpenSearch Serverless](serverless-monitoring.md)

## Come vengono applicati i limiti di capacità
<a name="collection-groups-capacity-enforcement"></a>

OpenSearch Serverless applica i limiti di capacità dei gruppi di raccolta durante le operazioni di scalabilità. Quando le tue raccolte richiedono risorse aggiuntive, OpenSearch Serverless è scalabile fino al limite massimo di OCU. Quando la domanda diminuisce, OpenSearch Serverless si ridimensiona ma mantiene almeno il limite minimo di OCU per garantire prestazioni costanti.

I limiti di capacità vengono applicati solo quando il gruppo di raccolta contiene almeno una raccolta. I gruppi di raccolta vuoti non consumano OCUs né impongono limiti di capacità.

Se un'operazione di scalabilità dovesse superare il limite massimo di OCU o violare il requisito minimo dell'OCU, OpenSearch Serverless rifiuta l'operazione per mantenere la conformità ai limiti configurati.

# Crittografia e chiavi KMS nei gruppi di raccolta
<a name="collection-groups-kms-keys"></a>

Ogni raccolta OpenSearch Serverless che crei è protetta con la crittografia dei dati inattivi, utilizzata AWS KMS per archiviare e gestire le chiavi di crittografia. Quando lavori con i gruppi di raccolta, hai flessibilità nel modo in cui specifichi la chiave KMS per le tue raccolte.

Puoi fornire la chiave KMS associata a una raccolta in due modi:
+ **Nella CreateCollection richiesta**: specifica la chiave KMS direttamente quando crei la raccolta utilizzando il `encryption-config` parametro.
+ **Nelle politiche di sicurezza**: definisci l'associazione delle chiavi KMS in una politica di sicurezza di crittografia.

Quando si specifica una chiave KMS in entrambe le posizioni, la chiave KMS fornita nella CreateCollection richiesta ha la precedenza sulla configurazione della politica di sicurezza.

Questa flessibilità semplifica la gestione delle collezioni su larga scala, in particolare quando è necessario creare più raccolte con chiavi KMS uniche. Invece di creare e gestire migliaia di politiche di crittografia, puoi specificare la chiave KMS direttamente durante la creazione della raccolta.

## Condivisione OCUs tra diverse chiavi KMS
<a name="collection-groups-kms-sharing"></a>

I gruppi di raccolta consentono la condivisione delle risorse di calcolo tra raccolte con chiavi KMS diverse. Le raccolte dello stesso gruppo di raccolta condividono lo spazio di memoria OCU, indipendentemente dalle relative chiavi di crittografia. Questo modello di elaborazione condiviso riduce i costi eliminando la necessità di utilizzare chiavi OCUs KMS separate.

I gruppi di raccolta forniscono l'isolamento per i requisiti di sicurezza e prestazioni. È possibile raggruppare le raccolte con la stessa chiave KMS in un unico gruppo di raccolta per l'isolamento della sicurezza o combinare raccolte con diverse chiavi KMS nello stesso gruppo per ottimizzare i costi. Questa flessibilità consente di bilanciare i requisiti di sicurezza con l'efficienza delle risorse.

Il sistema mantiene la sicurezza crittografando i dati di ogni raccolta con la chiave KMS designata. I controlli di accesso continuano ad essere applicati a livello di raccolta e le risorse di elaborazione condivise accedono a più chiavi KMS in base alle necessità per servire le raccolte del gruppo.

## Autorizzazioni KMS richieste
<a name="collection-groups-kms-permissions"></a>

Quando specifichi una chiave KMS nella CreateCollection richiesta, hai bisogno delle seguenti autorizzazioni aggiuntive:
+ `kms:DescribeKey`— Consente a OpenSearch Serverless di recuperare informazioni sulla chiave KMS.
+ `kms:CreateGrant`— Consente a OpenSearch Serverless di creare una concessione per la chiave KMS per abilitare le operazioni di crittografia.

Queste autorizzazioni non sono richieste quando si utilizzano AWS chiavi di proprietà.

# Crea gruppi di raccolta
<a name="serverless-collection-groups-procedures"></a>

Questo argomento descrive come creare, configurare e gestire gruppi di raccolta in Amazon OpenSearch Serverless. Usa i gruppi di raccolta per organizzare le raccolte e condividere le risorse di calcolo per ottimizzare i costi. Imposta limiti OCU minimi e massimi a livello di gruppo di raccolta per controllare le prestazioni e la spesa.

## Crea un gruppo di raccolta
<a name="collection-groups-create"></a>

Utilizzate le seguenti procedure per creare un nuovo gruppo di raccolta e configurarne le impostazioni. Crea un gruppo di raccolta utilizzando la console OpenSearch Serverless o il AWS SDKs . AWS CLI Quando create un gruppo di raccolta, specificate i limiti di capacità e altre opzioni di configurazione.

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

1. Apri la console Amazon OpenSearch Service all'indirizzo [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. Nel riquadro di navigazione a sinistra, scegli **Serverless**, quindi scegli **Collection groups**

1. Scegli **Crea gruppo di raccolta**.

1. Per **Nome del gruppo di raccolta**, inserisci un nome per il tuo gruppo di raccolta. Il nome deve avere una lunghezza di 3-32 caratteri, iniziare con una lettera minuscola e contenere solo lettere minuscole, numeri e trattini.

1. (Facoltativo) In **Descrizione, inserisci una descrizione per il tuo** gruppo di raccolta.

1. Nella sezione **Gestione della capacità**, configura i limiti dell'OCU:
   + **Capacità massima di indicizzazione**: il numero massimo di indicizzazione OCUs che le raccolte di questo gruppo possono raggiungere.
   + **Capacità di ricerca massima**: il numero massimo di ricerche fino a OCUs cui le raccolte di questo gruppo possono aumentare.
   + **Capacità di indicizzazione minima**: il numero minimo di indicizzazione da mantenere OCUs per prestazioni costanti.
   + **Capacità di ricerca minima**: il numero minimo di ricerche da mantenere OCUs per prestazioni costanti.

1. (Facoltativo) Nella sezione **Tag**, aggiungi tag per organizzare e identificare il tuo gruppo di raccolta.

1. Scegli **Crea gruppo di raccolta**.

------
#### [ AWS CLI ]
+ Usa il [create-collection-group](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/create-collection-group.html)comando per creare un nuovo gruppo di raccolta. Nel comando, sostituisci il *example* contenuto con le tue informazioni specifiche.

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

  Il comando restituisce i dettagli sul gruppo di raccolta creato, inclusi l'ID univoco e l'ARN.

------

## Aggiungi una nuova collezione a un gruppo di raccolte
<a name="create-collection-in-group"></a>

Quando create una nuova collezione, specificate il nome del gruppo di raccolta esistente a cui associare la raccolta. Utilizzate le seguenti procedure per aggiungere una nuova raccolta a un gruppo di raccolte. 

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

1. Apri la console Amazon OpenSearch Service all'indirizzo [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. **Nel riquadro di navigazione a sinistra, scegli **Serverless**, quindi scegli Collezioni**

1. Scegli **Create collection** (Crea raccolta).

1. Per **Nome della raccolta**, inserisci un nome per la tua raccolta. Il nome deve avere una lunghezza di 3-28 caratteri, iniziare con una lettera minuscola e contenere solo lettere minuscole, numeri e trattini.

1. (Facoltativo) In Descrizione, inserisci una **descrizione per la tua** collezione.

1. Nella sezione **Gruppo di raccolta**, seleziona il gruppo di raccolta a cui desideri assegnare la raccolta. Una raccolta può appartenere a un solo gruppo di raccolte alla volta.

   (Facoltativo) Puoi anche scegliere di **creare un nuovo gruppo**. In questo modo accederai al flusso di lavoro **Crea gruppo di raccolta**. Dopo aver completato la creazione del gruppo di raccolta, torna al passaggio 1 di questa procedura per iniziare a creare la nuova raccolta.

1. Continua con il flusso di lavoro per creare la raccolta.
**Importante**  
Non uscite dal flusso di lavoro **Crea raccolta**. In questo modo si interromperà la configurazione della raccolta. La pagina dei **dettagli della collezione** viene visualizzata al termine della configurazione.

------
#### [ AWS CLI ]
+ Utilizzate il comando [create-collection](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/create-collection.html) per creare una nuova raccolta e aggiungerla a un gruppo di raccolte esistente. Nel comando, sostituisci il *example* contenuto con le tue informazioni specifiche.

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

------

# Gestisci i gruppi di raccolta Amazon OpenSearch Serverless
<a name="manage-collection-group"></a>

Dopo aver creato i gruppi di raccolta Amazon OpenSearch Serverless, puoi modificarne le impostazioni in base alle tue esigenze. Utilizza queste operazioni di gestione per aggiornare i limiti di capacità e visualizzare i dettagli del gruppo di raccolta. Queste modifiche consentono di ottimizzare l'allocazione delle risorse e mantenere un'organizzazione efficiente delle raccolte.

## Visualizza i gruppi di collezioni
<a name="view-collection-groups"></a>

Visualizza i tuoi gruppi di raccolte OpenSearch Serverless per esaminarne le configurazioni, le raccolte associate e lo stato attuale.

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

1. Apri la console Amazon OpenSearch Service all'indirizzo [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. **Nel riquadro di navigazione a sinistra, scegli **Serverless**, quindi scegli Collezioni**

1. Scegli la **scheda Gruppi di raccolte**. Vengono visualizzati i gruppi di raccolta del tuo account.

1.  Scegli il **nome** di un gruppo di raccolte per visualizzarne i dettagli.

------
#### [ AWS CLI ]
+ Usa il [list-collection-groups](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/list-collection-groups.html)comando per elencare tutti i gruppi di raccolta nel tuo account. Utilizzate il [batch-get-collection-group](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/batch-get-collection-group.html)comando per visualizzare i dettagli su gruppi di raccolta specifici. Nei comandi seguenti, sostituite il *example* contenuto con le vostre informazioni specifiche.

  Per elencare tutti i gruppi di raccolta:

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

  Per ottenere dettagli su gruppi di raccolta specifici:

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

------

## Aggiorna le impostazioni dei gruppi di raccolta
<a name="update-collection-group"></a>

Aggiorna le impostazioni del gruppo di raccolta OpenSearch Serverless per modificare configurazioni come i limiti di capacità e la descrizione.

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

1. Apri la console Amazon OpenSearch Service all'indirizzo [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. **Nel riquadro di navigazione a sinistra, scegli **Serverless**, quindi scegli Collezioni**

1. Scegli la **scheda Gruppi di raccolte**. Vengono visualizzati i gruppi di raccolta del tuo account.

1.  Scegli il **nome** di un gruppo di raccolte per visualizzarne i dettagli.

1. In **Dettagli del gruppo di raccolta**, scegli **Modifica**.

1. Apporta le modifiche, quindi scegli **Salva**.

------
#### [ AWS CLI ]
+ Utilizzate il [update-collection-group](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/update-collection-group.html)comando per aggiornare la descrizione e i limiti di capacità di un gruppo di raccolta esistente. Nel comando seguente, sostituite il *example* contenuto con le vostre informazioni.

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

------

Le modifiche ai limiti di capacità hanno effetto immediato e potrebbero influire sul comportamento di ridimensionamento delle raccolte del gruppo.

## Eliminare i gruppi di raccolta
<a name="delete-collection-group"></a>

Prima di poter eliminare un gruppo di raccolte, è necessario rimuovere tutte le raccolte dal gruppo. Non è possibile eliminare un gruppo di raccolte che contiene raccolte.

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

1. Apri la console Amazon OpenSearch Service all'indirizzo [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. **Nel riquadro di navigazione a sinistra, scegli **Serverless**, quindi scegli Collezioni**

1. Scegli la **scheda Gruppi di raccolte**. Vengono visualizzati i gruppi di raccolta del tuo account.

1.  Scegli il **nome** del gruppo di raccolta che desideri eliminare.
**Importante**  
Rimuovi tutte le raccolte dal gruppo di raccolta aggiornando ogni raccolta per rimuovere l'associazione del gruppo di raccolta o spostandole in altri gruppi di raccolta.

1. Nella parte superiore della pagina, scegli **Delete (Elimina)**.

1. Conferma l'eliminazione, quindi scegli **Elimina**.

------
#### [ AWS CLI ]
+ Utilizzate il [delete-collection-group](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/delete-collection-group.html)comando per eliminare un gruppo di raccolta.
**Importante**  
Rimuovi tutte le raccolte dal gruppo di raccolta aggiornando ogni raccolta per rimuovere l'associazione del gruppo di raccolta o spostandole in altri gruppi di raccolta.

  Nel comando seguente, sostituite il *example* contenuto con le vostre informazioni.

  Eliminate il gruppo di raccolta vuoto:

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

------

# Gestione dei limiti di capacità per Amazon OpenSearch Serverless
<a name="serverless-scaling"></a>

Con Amazon OpenSearch Serverless, non devi gestire la capacità da solo. OpenSearch Serverless ridimensiona automaticamente la capacità di elaborazione del tuo account in base al carico di lavoro corrente. *La capacità di elaborazione serverless viene misurata in unità di calcolo (). OpenSearch * OCUs Ogni OCU è una combinazione di 6 GiB di memoria e della CPU virtuale (vCPU) corrispondente, oltre al trasferimento dei dati su Amazon S3. Per ulteriori informazioni sull'architettura disaccoppiata in Serverless, vedere. OpenSearch [Come funziona](serverless-overview.md#serverless-process)

Quando crei la tua prima raccolta, OpenSearch Serverless crea istanze OCUs in base alle tue impostazioni di ridondanza. Per impostazione predefinita, sono abilitate le repliche attive ridondanti, che ne creano quattro OCUs (due per l'indicizzazione e due per la ricerca). Ciò garantisce un'elevata disponibilità con nodi di standby in un'altra zona di disponibilità.

Per lo sviluppo e il test, puoi disabilitare l'impostazione **Abilita ridondanza** per una raccolta. Ciò rimuove le repliche in standby e ne utilizza solo due OCUs (una per l'indicizzazione e una per la ricerca).

Esistono OCUs sempre, anche quando non è prevista alcuna attività di indicizzazione o ricerca. Tutte le raccolte successive possono condividerle OCUs, ad eccezione delle raccolte con AWS KMS chiavi univoche, che creano un'istanza del proprio set di. OCUs Tutte le raccolte associate a un gruppo di raccolte possono condividere lo stesso set di. OCUs È possibile includere un solo tipo di raccolta (ricerca, serie temporale o ricerca vettoriale) in un singolo gruppo di raccolte. Per ulteriori informazioni, consulta [Gruppi di raccolta Amazon OpenSearch Serverless](serverless-collection-groups.md).

OpenSearch Serverless si ridimensiona e aggiunge automaticamente OCUs man mano che l'indicizzazione e l'utilizzo della ricerca aumentano. Quando il traffico diminuisce, la capacità si riduce al numero minimo OCUs richiesto per la dimensione dei dati.

Per le raccolte di ricerche e serie temporali, il numero di dati OCUs richiesti in caso di inattività è proporzionale alla dimensione dei dati e al numero di indici. Per le raccolte vettoriali, i requisiti OCU dipendono dalla memoria (RAM) per archiviare i grafici vettoriali e dallo spazio su disco per archiviare gli indici. Quando non è inattiva, i requisiti OCU tengono conto di entrambi i fattori.

Le raccolte vettoriali archiviano i dati dell'indice nella memoria locale OCU. I limiti di RAM OCU vengono raggiunti più rapidamente dei limiti del disco, il che limita le raccolte vettoriali in base allo spazio RAM.

Con la ridondanza abilitata, la capacità dell'OCU si riduce a un minimo di 1 OCU (0,5 OCU x 2) per l'indicizzazione e 1 OCU (0,5 OCU x 2) per la ricerca. Quando si disabilita la ridondanza, la raccolta può essere ridotta a 0,5 OCU per l'indicizzazione e 0,5 OCU per la ricerca.

Il ridimensionamento tiene conto anche del numero di frammenti necessari per la raccolta o l'indice. Ogni OCU supporta un numero specifico di shard e il numero di indici deve essere proporzionale al numero di shard. Il numero totale di base OCUs richiesto è il massimo dei requisiti di dati, memoria e shard. Per ulteriori informazioni, consulta le [funzionalità di ricerca economiche di Amazon OpenSearch Serverless, su qualsiasi scala](https://aws.amazon.com/blogs/big-data/amazon-opensearch-serverless-cost-effective-search-capabilities-at-any-scale/), sul *AWS Big Data Blog*. 

Per le raccolte *di ricerca* e di *ricerca vettoriale*, tutti i dati vengono archiviati su indici caldi per garantire tempi di risposta rapidi alle query. Le raccolte di *serie temporali* utilizzano una combinazione di archiviazione a caldo e a caldo, conservando i dati più recenti in una memoria a caldo per ottimizzare i tempi di risposta alle query per i dati a cui si accede più frequentemente. Per ulteriori informazioni, consulta [Scelta di un tipo di raccolta](serverless-overview.md#serverless-usecase). 

**Nota**  
Una raccolta di ricerca vettoriale non può essere condivisa OCUs con le raccolte di *ricerca* e le raccolte di *serie temporali*, anche se la raccolta di ricerca vettoriale utilizza la stessa chiave KMS delle raccolte di *ricerca* o di serie *temporali*. OCUs Verrà creato un nuovo set di immagini per la tua prima raccolta vettoriale. Le raccolte OCUs vettoriali sono condivise tra le stesse raccolte di chiavi KMS.

Per gestire la capacità delle raccolte e controllare i costi, è possibile specificare la capacità massima complessiva di indicizzazione e ricerca per l'account corrente e la regione, e OpenSearch Serverless ridimensiona automaticamente le risorse di raccolta in base a queste specifiche.

Poiché la capacità di indicizzazione e di ricerca è scalabile separatamente, è necessario specificare i limiti a livello di account per ciascuna di esse:
+ Capacità **di indicizzazione massima: OpenSearch Serverless può aumentare la capacità** di indicizzazione fino a questo numero di. OCUs
+ **Capacità di ricerca massima**: OpenSearch Serverless può aumentare la capacità di ricerca fino a questo numero di. OCUs

**Nota**  
Al momento, le impostazioni relative alla capacità si applicano solo a livello di account. Non è possibile configurare limiti di capacità per ciascuna raccolta.

L'obiettivo è quello di garantire che la capacità massima sia sufficientemente elevata da gestire i picchi del carico di lavoro. In base alle impostazioni, OpenSearch Serverless ridimensiona automaticamente il numero di raccolte OCUs per elaborare il carico di lavoro di indicizzazione e ricerca.

**Topics**
+ [Configurazione delle impostazioni di capacità](#serverless-scaling-configure)
+ [Limiti di capacità massima](#serverless-scaling-limits)
+ [Monitoraggio dell'utilizzo della capacità](#serverless-scaling-monitoring)

## Configurazione delle impostazioni di capacità
<a name="serverless-scaling-configure"></a>

**Per configurare le impostazioni di capacità nella console Serverless, espandi OpenSearch Serverless nel riquadro di navigazione a **sinistra e seleziona** Dashboard.** In **Capacity management** (Gestione della capacità) specifica la capacità massima di indicizzazione e ricerca:

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


Per configurare la capacità utilizzando AWS CLI, invia una [UpdateAccountSettings](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateAccountSettings.html)richiesta:

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

## Limiti di capacità massima
<a name="serverless-scaling-limits"></a>

Il totale massimo di indici che una raccolta può contenere è 1000. Per tutti e tre i tipi di raccolte, la capacità OCU massima predefinita è 10 OCUs per l'indicizzazione e 10 per la ricerca. OCUs La capacità OCU minima consentita per un account è di 1 OCU [0,5 OCU x 2] per l'indicizzazione e 1 OCU [0,5 OCU x 2] per la ricerca. Per tutte le raccolte, la capacità massima consentita è di 1.700 per l'indicizzazione e 1.700 per la ricerca OCUs . OCUs È possibile configurare il conteggio OCU in modo che sia qualsiasi numero compreso tra 2 e la capacità massima consentita, in multipli di 2. 

Ogni OCU include una quantità di storage temporaneo a caldo sufficiente per 120 GiB di dati di indice. OpenSearch *Serverless supporta fino a 1 TiB di dati per indice *nelle* raccolte di ricerca *e di ricerca vettoriale* e 100 TiB di hot data per indice in una raccolta di serie temporali.* Per le raccolte di serie temporali, puoi comunque inserire più dati, che possono essere archiviati come dati «warm data» in S3.

[Per un elenco di tutte le quote, vedi OpenSearch Quote serverless.](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-limits-serverless)

## Monitoraggio dell'utilizzo della capacità
<a name="serverless-scaling-monitoring"></a>

Puoi monitorare le `SearchOCU` CloudWatch metriche a `IndexingOCU` livello di account per capire in che modo le tue collezioni stanno scalando. Ti consigliamo di configurare allarmi che possono avvisarti se il tuo account si sta avvicinando a una soglia per i parametri relativi alla capacità, in modo da poter adattare di conseguenza le impostazioni di capacità.

Puoi anche utilizzare questi parametri per determinare se le impostazioni di capacità massima sono appropriate o se è necessario adeguarle. Analizza questi parametri per concentrarti sull'ottimizzazione dell'efficienza delle tue raccolte. Per ulteriori informazioni sulle metriche a cui OpenSearch Serverless invia, consulta. CloudWatch [Monitoraggio di Amazon OpenSearch Serverless](serverless-monitoring.md)

# Inserimento di dati in raccolte Amazon Serverless OpenSearch
<a name="serverless-clients"></a>

Queste sezioni forniscono dettagli sulle pipeline di importazione supportate per l'inserimento di dati nelle raccolte Amazon OpenSearch Serverless. Esse riguardano anche alcuni client che puoi utilizzare per interagire con le operazioni dell'API. OpenSearch I tuoi client devono essere compatibili con OpenSearch 2.x per integrarsi con OpenSearch Serverless.

**Topics**
+ [Autorizzazioni minime richieste](#serverless-ingestion-permissions)
+ [OpenSearch Ingestione](#serverless-osis-ingestion)
+ [Fluent Bit](#serverless-fluentbit)
+ [Amazon Data Firehose](#serverless-kdf)
+ [Go](#serverless-go)
+ [Java](#serverless-java)
+ [JavaScript](#serverless-javascript)
+ [Logstash](#serverless-logstash)
+ [Python](#serverless-python)
+ [Ruby](#serverless-ruby)
+ [Firma delle richieste HTTP con altri client](#serverless-signing)

## Autorizzazioni minime richieste
<a name="serverless-ingestion-permissions"></a>

[Per inserire dati in una raccolta OpenSearch Serverless, il responsabile che scrive i dati deve disporre delle seguenti autorizzazioni minime assegnate in una politica di accesso ai dati:](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"
      ]
   }
]
```

Le autorizzazioni possono essere più ampie se prevedi di scrivere su indici aggiuntivi. Ad esempio, anziché specificare un singolo indice di destinazione, è possibile concedere l'autorizzazione a tutti gli indici (index/ *target-collection* /\$1) o a un sottoinsieme di indici (index//). *target-collection* *logs\$1*

Per un riferimento a tutte le operazioni API disponibili e alle relative autorizzazioni, consulta. OpenSearch [Operazioni e plugin supportati in Amazon Serverless OpenSearch](serverless-genref.md)

## OpenSearch Ingestione
<a name="serverless-osis-ingestion"></a>

Invece di utilizzare un client di terze parti per inviare dati direttamente a una raccolta OpenSearch Serverless, puoi utilizzare Amazon OpenSearch Ingestion. Puoi configurare i tuoi produttori di dati per inviare dati a OpenSearch Ingestion, che li consegna automaticamente alla raccolta specificata. Puoi anche configurare OpenSearch Ingestion per trasformare i dati prima di consegnarli. Per ulteriori informazioni, consulta [Panoramica di Amazon OpenSearch Ingestion](ingestion.md).

Una pipeline OpenSearch di Ingestion necessita dell'autorizzazione per scrivere su una raccolta OpenSearch Serverless configurata come sink. Queste autorizzazioni includono la possibilità di descrivere la raccolta e inviarle richieste HTTP. Per istruzioni su come utilizzare OpenSearch Ingestion per aggiungere dati a una raccolta, consulta. [Concedere alle pipeline OpenSearch di Amazon Ingestion l'accesso alle raccolte](pipeline-collection-access.md)

Per iniziare a usare OpenSearch Ingestion, consulta. [Tutorial: Inserimento di dati in una raccolta con Amazon Ingestion OpenSearch](osis-serverless-get-started.md)

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

È possibile utilizzare [Fluent Bit image e il plug-in di OpenSearch output AWS per](https://github.com/aws/aws-for-fluent-bit#public-images) [inserire dati in](https://docs.fluentbit.io/manual/pipeline/outputs/opensearch) raccolte Serverless. OpenSearch 

**Nota**  
È necessario disporre della versione 2.30.0 o successiva dell'immagine AWS for Fluent Bit per l'integrazione con Serverless. OpenSearch 

**Configurazione di esempio**:

Questa sezione di output di esempio del file di configurazione mostra come utilizzare una raccolta OpenSearch Serverless come destinazione. L'aggiunta importante è il parametro `AWS_Service_Name`, che è `aoss`. `Host` è l'endpoint della raccolta.

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

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

Firehose supporta OpenSearch Serverless come destinazione di consegna. Per istruzioni su come inviare dati in OpenSearch Serverless, consulta [Creating a Kinesis Data Firehose Delivery](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) Stream [e OpenSearch Choose Serverless for Your Destination](https://docs.aws.amazon.com/firehose/latest/dev/create-destination.html#create-destination-opensearch-serverless) nella *Amazon* Data Firehose Developer Guide.

Il ruolo IAM che fornisci a Firehose per la consegna deve essere specificato all'interno di una policy di accesso ai dati con l'autorizzazione `aoss:WriteDocument` minima per la raccolta di destinazione e devi disporre di un indice preesistente a cui inviare i dati. Per ulteriori informazioni, consulta [Autorizzazioni minime richieste](#serverless-ingestion-permissions).

Prima di inviare dati a OpenSearch Serverless, potrebbe essere necessario eseguire delle trasformazioni sui dati. Per ulteriori informazioni su come usare le funzioni Lambda per completare questa attività, consultare [Trasformazione dei dati di Amazon Kinesis Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/data-transformation.html) nella stessa guida.

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

Il codice di esempio seguente utilizza il client [opensearch-go](https://github.com/opensearch-project/opensearch-go) per Go per stabilire una connessione sicura alla raccolta OpenSearch Serverless specificata e creare un singolo indice. È necessario fornire valori per `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>

Il codice di esempio seguente utilizza il client [opensearch-java](https://search.maven.org/artifact/org.opensearch.client/opensearch-java) per Java per stabilire una connessione sicura alla raccolta OpenSearch Serverless specificata e creare un singolo indice. È necessario fornire valori per `region` e `host`.

La differenza importante rispetto ai *domini* di OpenSearch servizio è il nome del servizio (anziché). `aoss` `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();
```

Il codice di esempio seguente stabilisce nuovamente una connessione sicura e quindi esegue la ricerca in un indice.

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

Il codice di esempio seguente utilizza il client [opensearch-js](https://www.npmjs.com/package/@opensearch-project/opensearch) per JavaScript stabilire una connessione sicura alla raccolta OpenSearch Serverless specificata, creare un singolo indice, aggiungere un documento ed eliminare l'indice. È necessario fornire valori per `node` e `region`.

La differenza importante rispetto ai *domini* di OpenSearch servizio è il nome del servizio (anziché). `aoss` `es`

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

Questo esempio utilizza [la versione 3](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/) dell'SDK for JavaScript in 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 ]

Questo esempio utilizza [la versione 2](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/) dell'SDK for JavaScript in 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>

È possibile utilizzare il [ OpenSearch plug-in Logstash](https://github.com/opensearch-project/logstash-output-opensearch) per pubblicare i log nelle raccolte Serverless. OpenSearch 

**Per utilizzare Logstash per inviare dati a Serverless OpenSearch**

1. Installa la versione *2.0.0 o successiva* del [logstash-output-opensearch](https://github.com/opensearch-project/logstash-output-opensearch)plug-in utilizzando Docker o Linux.

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

   [Docker ospita il software Logstash OSS con il plug-in di OpenSearch output preinstallato: 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) Puoi estrarre l'immagine come qualsiasi altra immagine:

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

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

   Per prima cosa, se ancora non è stato fatto, [installa la versione più recente di Logstash](https://www.elastic.co/guide/en/logstash/current/installing-logstash.html). Quindi, installa la versione 2.0.0 del plug-in di output:

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

   Se il plug-in è già installato, aggiornalo alla versione più recente:

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

   A partire dalla versione 2.0.0 del plugin, l'SDK utilizza la versione 3. AWS Se utilizzi una versione di Logstash precedente alla 8.4.0, devi rimuovere tutti i plugin AWS preinstallati e installare il 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. Affinché il plugin OpenSearch di output funzioni con OpenSearch Serverless, devi apportare le seguenti modifiche alla sezione di output di logstash.conf: `opensearch`
   + Specifica `aoss` come `service_name` in `auth_type`.
   + Specifica l'endpoint di raccolta per `hosts`.
   + Aggiungi i parametri `default_server_major_version` e `legacy_template`. Questi parametri sono necessari per il funzionamento del plugin con Serverless. OpenSearch 

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

   Questo file di configurazione di esempio prende l'input dai file in un bucket S3 e li invia a una OpenSearch raccolta 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. Quindi, esegui Logstash con la nuova configurazione per testare il plug-in:

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

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

Il codice di esempio seguente utilizza il client [opensearch-py](https://pypi.org/project/opensearch-py/) per Python per stabilire una connessione sicura alla raccolta OpenSearch Serverless specificata, creare un singolo indice e cercare nell'indice. È necessario fornire valori per `region` e `host`.

La differenza importante rispetto ai *domini* di OpenSearch servizio è il nome del servizio (anziché). `aoss` `es`

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

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

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

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

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

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

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

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


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

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

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

La `opensearch-aws-sigv4` gemma fornisce l'accesso OpenSearch immediato a Serverless, insieme a OpenSearch Service. Ha tutte le funzionalità del client [opensearch-ruby](https://rubygems.org/gems/opensearch-ruby) perché è una dipendenza di questo pacchetto gem.

Quando si crea un'istanza del firmatario Sigv4, specifica `aoss` come nome del servizio:

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

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

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

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

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

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

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

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

## Firma delle richieste HTTP con altri client
<a name="serverless-signing"></a>

I seguenti requisiti si applicano quando si [firmano le richieste](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) nelle raccolte OpenSearch Serverless quando si creano richieste HTTP con altri client.
+ È necessario specificare il nome del servizio come `aoss`.
+ L'intestazione `x-amz-content-sha256` è obbligatoria per tutte le richieste di AWS Signature Version 4. Fornisce un hash del payload di richiesta. Se è presente un payload di richiesta, impostate il valore sull'hash crittografico Secure Hash Algorithm (SHA) (). SHA256 Se non c'è alcun payload di richiesta, imposta il valore su `e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855`, che è l'hash di una stringa vuota.

**Topics**
+ [Indicizzazione con cURL](#serverless-signing-curl)
+ [Indicizzazione con Postman](#serverless-signing-postman)

### Indicizzazione con cURL
<a name="serverless-signing-curl"></a>

La seguente richiesta di esempio utilizza la Client URL Request Library (cURL) per inviare un singolo documento a un indice denominato `movies-index` all'interno di una raccolta:

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

### Indicizzazione con Postman
<a name="serverless-signing-postman"></a>

L'immagine seguente mostra come inviare una richiesta a una raccolta utilizzando Postman. Per istruzioni sull'autenticazione, consulta il [flusso di lavoro di autenticazione Authenticate with AWS Signature in 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/it_it/opensearch-service/latest/developerguide/images/ServerlessPostman.png)


# Configurazione del Machine Learning su Amazon OpenSearch Serverless
<a name="serverless-configure-machine-learning"></a>

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

Machine Learning (ML) fornisce funzionalità ML sotto forma di algoritmi ML e modelli remoti. Con l'accesso a questi modelli, puoi eseguire diversi flussi di lavoro AI come RAG o la ricerca semantica. Il machine learning supporta la sperimentazione e l'implementazione in produzione di casi d'uso generativi di intelligenza artificiale utilizzando i più recenti modelli ospitati esternamente che è possibile configurare con connettori. Dopo aver configurato un connettore, è necessario configurarlo su un modello e quindi distribuirlo per eseguire la previsione.

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

I connettori facilitano l'accesso ai modelli ospitati su piattaforme ML di terze parti. Servono da gateway tra il OpenSearch cluster e un modello remoto. Per ulteriori informazioni, consulta la seguente documentazione:
+ [Creazione di connettori per piattaforme ML di terze parti](https://docs.opensearch.org/latest/ml-commons-plugin/remote-models/connectors/) sul sito Web di *OpenSearch documentazione*
+ [Connettori per piattaforme esterne](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-external-connector.html)
+ [Connettori per Servizi AWS](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html)
**Importante**  
Quando crei una politica di fiducia, **ml.opensearchservice.amazonaws.com** aggiungila come principio del OpenSearch servizio.
Salta i passaggi nella pagina [Connettori](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html) che mostrano come configurare un dominio nella policy.
Aggiungi l'`iam:PassRole`istruzione nel passaggio [Configura le autorizzazioni](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html#connector-sagemaker-prereq).
Salta il passaggio **Maps the ML role** in OpenSearch Dashboards. La configurazione del ruolo di backend non è richiesta. Questo vale per i [connettori per Servizi AWS](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html) e per i [connettori per piattaforme esterne](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-external-connector.html).
Nella richiesta SigV4 all'endpoint di raccolta, imposta il nome del servizio su invece di**aoss**. **es**

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

Un modello è la funzionalità principale utilizzata in vari flussi di lavoro di intelligenza artificiale. In genere, si associa il connettore a un modello per eseguire previsioni utilizzando il connettore. Dopo che un modello è nello stato di distribuzione, è possibile eseguire la previsione. Per ulteriori informazioni, consulta [Registrare un modello ospitato su una piattaforma di terze parti](https://docs.opensearch.org/latest/ml-commons-plugin/api/model-apis/register-model/#register-a-model-hosted-on-a-third-party-platform) nel sito Web della *OpenSearch documentazione*.

**Nota**  
Non tutte le funzionalità del modello sono supportate su OpenSearch Serverless, ad esempio i modelli locali. Per ulteriori informazioni, consulta [Machine Learning APIs e funzionalità non supportati](serverless-machine-learning-unsupported-features.md).

## Configurare le autorizzazioni per il Machine Learning
<a name="serverless-configure-machine-learning-permissions"></a>

La sezione seguente descrive le politiche di accesso ai dati di raccolta richieste per il Machine Learning (ML). *placeholder values*Sostituiscili con le tue informazioni specifiche. Per ulteriori informazioni, consulta [Autorizzazioni delle policy supportate](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 il permesso di cercare e interrogare connettori, modelli e gruppi di modelli.
+ **aOSS:Create MLResource — Concede l'autorizzazione a creare** connettori, modelli e gruppi di modelli.
+ **aOSS:Update MLResource — Concede l'autorizzazione ad aggiornare** connettori, modelli e gruppi di modelli.
+ **aOSS:Delete MLResource — Concede il permesso di eliminare** connettori, modelli e gruppi di modelli.
+ **aOSS:Execute MLResource — Concede l'autorizzazione a eseguire** previsioni sui modelli.

# Machine Learning APIs e funzionalità non supportati
<a name="serverless-machine-learning-unsupported-features"></a>

## Non supportata APIs
<a name="serverless-unsupported-ml-api"></a>

I seguenti sistemi di Machine Learning (ML) non APIs sono supportati su Amazon OpenSearch Serverless:
+ Funzionalità del modello locale
+ API Model Train
+ API dell'algoritmo Model Predict
+ Modello Batch Predict API
+ Agents API e relativi strumenti
+ Server MCP APIs
+ Memoria APIs
+ Controller APIs
+ Esegui l'API dell'algoritmo
+ Profilo ML AP
+ API di statistiche ML

Per ulteriori informazioni su ML APIs, consulta [ML APIs](https://docs.opensearch.org/latest/ml-commons-plugin/api/index/) sul sito Web della *OpenSearch documentazione*.

## Caratteristiche non supportate
<a name="serverless-unsupported-ml-features"></a>

Le seguenti funzionalità ML non sono supportate su Amazon OpenSearch Serverless:
+ Agenti e strumenti
+ Modelli locali
+ Il processore di inferenza ML all'interno di Search and Ingest Pipelines
  + Processore ML Inference Ingest
  + Processore di risposta alla ricerca di inferenza ML
  + Processore di richiesta di ricerca inferenziale ML

Per ulteriori informazioni su queste funzionalità, vedere la seguente documentazione sul sito Web della *OpenSearch documentazione*:
+ [Machine learning](https://docs.opensearch.org/latest/ml-commons-plugin)
+ [Processore di inferenza ML](https://docs.opensearch.org/latest/ingest-pipelines/processors/ml-inference/)
+ [Pipeline di ricerca](https://docs.opensearch.org/latest/search-plugins/search-pipelines/index/)

# Configura la ricerca neurale e la ricerca ibrida su Serverless OpenSearch
<a name="serverless-configure-neural-search"></a>

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

Amazon OpenSearch Serverless supporta la funzionalità di ricerca neurale per operazioni di ricerca semantica sui tuoi dati. Neural Search utilizza modelli di apprendimento automatico per comprendere il significato semantico e il contesto delle tue query, fornendo risultati di ricerca più pertinenti rispetto alle tradizionali ricerche basate su parole chiave. Questa sezione spiega come configurare Neural Search in OpenSearch Serverless, incluse le autorizzazioni richieste, i processori supportati e le differenze principali rispetto all'implementazione standard. OpenSearch 

Con Neural Search puoi eseguire ricerche semantiche sui tuoi dati, che prendono in considerazione il significato semantico per comprendere l'intento delle tue query di ricerca. Questa funzionalità è alimentata dai seguenti componenti:
+ Processore di pipeline di inserimento del testo
+ Interrogazione neurale
+ Interrogazione neurale sparsa

## Ricerca ibrida
<a name="serverless-configure-hybrid-search"></a>

Con la ricerca ibrida, puoi migliorare la pertinenza della ricerca combinando funzionalità di ricerca semantica e parole chiave. Per utilizzare la ricerca ibrida, crea una pipeline di ricerca che elabori i risultati della ricerca e combini i punteggi dei documenti. Per ulteriori informazioni, consulta [Search pipeline sul sito](https://docs.opensearch.org/latest/search-plugins/search-pipelines/index/) Web della *OpenSearch documentazione*. Utilizzate i seguenti componenti per implementare la ricerca ibrida:
+ Processore di pipeline di ricerca per la normalizzazione

**Tecniche di normalizzazione supportate**
  + `min_max`
  + `l2`

**Tecniche di combinazione supportate**
  + `arithmetic_mean`
  + `geometric_mean`
  + `harmonic_mean`

  Per ulteriori informazioni sulle tecniche di normalizzazione e combinazione, consulta [Request body fields](https://docs.opensearch.org/latest/search-plugins/search-pipelines/normalization-processor/#request-body-fields) sul sito Web della *OpenSearchdocumentazione*.
+ Query ibrida

## Interrogazioni neurali e ibride
<a name="serverless-configure-neural-search-hybrid-queries"></a>

Per impostazione predefinita, OpenSearch calcola i punteggi dei documenti utilizzando l' BM25algoritmo Okapi basato su parole chiave, che funziona bene per le query di ricerca che contengono parole chiave. Neural Search offre nuovi tipi di query per le query in linguaggio naturale e la possibilità di combinare la ricerca semantica con quella per parole chiave.

**Example : `neural`**  

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

*Per ulteriori informazioni, consulta [Neural query](https://docs.opensearch.org/latest/query-dsl/specialized/neural/) sul sito Web della documentazione. OpenSearch *

**Example : `hybrid`**  

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

Per ulteriori informazioni, vedere [Hybrid query](https://docs.opensearch.org/latest/query-dsl/compound/hybrid/) sul sito Web della *OpenSearch documentazione*.

*Per configurare i componenti di ricerca semantica in Amazon OpenSearch Serverless, segui i passaggi del [tutorial Neural Search](https://docs.opensearch.org/latest/tutorials/vector-search/neural-search-tutorial/) sul sito Web della OpenSearch documentazione.* Tieni a mente queste importanti differenze:
+ OpenSearch Serverless supporta solo modelli remoti. È necessario configurare i connettori per i modelli ospitati in remoto. Non è necessario distribuire o rimuovere modelli remoti. Per ulteriori informazioni, consulta [Guida introduttiva alla ricerca semantica e ibrida sul sito](https://docs.opensearch.org/latest/tutorials/vector-search/neural-search-tutorial/) Web della *OpenSearch documentazione*.
+ Aspettati fino a 15 secondi di latenza quando esegui una ricerca nell'indice vettoriale o cerchi pipeline di ricerca e inserimento create di recente.

## Configurazione delle autorizzazioni
<a name="serverless-configure-neural-search-permissions"></a>

La ricerca neurale in OpenSearch Serverless richiede le seguenti autorizzazioni. Per ulteriori informazioni, consulta [Autorizzazioni delle policy supportate](serverless-data-access.md#serverless-data-supported-permissions).

**Example : Politica di ricerca neurale**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "NeuralSearch",
            "Effect": "Allow",
            "Action": [
              "aoss:CreateIndex",
              "aoss:CreateCollection",
              "aoss:UpdateCollection",
              "aoss:DeleteIndex",
              "aoss:DeleteCollection"
            ],
            "Resource": "arn:aws:aoss:us-east-1:111122223333:collection/your-collection-name"
        }
    ]
}
```
+ **aoss: \$1Index — Crea un indice** vettoriale in cui vengono memorizzati gli incorporamenti di testo.
+ **aoss: \$1 CollectionItems** — Crea pipeline di importazione e ricerca.
+ **aoss: \$1 MLResource** — Crea e registra modelli di incorporamento del testo.
+ **aoss: APIAccess All** — Fornisce l'accesso a OpenSearch APIs per le operazioni di ricerca e inserimento.

Di seguito vengono descritte le politiche di accesso ai dati di raccolta necessarie per la ricerca neurale. Sostituiscili *placeholder values* con le tue informazioni specifiche.

**Example : politica di accesso ai dati**  

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

# Configurazione dei flussi di lavoro su Amazon Serverless OpenSearch
<a name="serverless-configure-workflows"></a>

## Flussi di lavoro
<a name="serverless-configure-workflows-what-is"></a>

I flussi di lavoro supportano i costruttori nell'innovazione delle applicazioni di intelligenza artificiale su. OpenSearch L'attuale processo di utilizzo delle offerte di machine learning (ML) OpenSearch, come la ricerca semantica, richiede attività complesse di configurazione e pre-elaborazione, oltre a domande dettagliate degli utenti, entrambe operazioni che possono richiedere molto tempo e sono soggette a errori. I flussi di lavoro sono un framework di semplificazione per cui concatenare più chiamate API. OpenSearch

Per la configurazione e l'utilizzo, consulta [Automazione delle configurazioni sul sito Web](https://docs.opensearch.org/docs/latest/automating-configurations/index/). *OpenSearch* Quando utilizzi Workflows in OpenSearch Serverless, considera queste importanti differenze:
+ OpenSearch Serverless utilizza solo modelli remoti nelle fasi del flusso di lavoro. Non è necessario implementare questi modelli.
+ OpenSearch Serverless non supporta la fase **Re-index** Workflow.
+ Quando cerchi **gli stati di **Workflows** e Workflow** dopo altre chiamate API, aspettati fino a 15 secondi di latenza per la visualizzazione degli aggiornamenti.

OpenSearch Le raccolte Serverless supportano i flussi di lavoro quando vengono utilizzate come fonte di dati nell'applicazione dell'interfaccia utente. OpenSearch Per ulteriori informazioni, consulta [Gestione delle associazioni delle fonti di dati](application-data-sources-and-vpc.md).

## Configurazione delle autorizzazioni
<a name="serverless-configure-workflows-permissions"></a>

Prima di creare e fornire un modello, verifica di disporre delle autorizzazioni necessarie. Se hai bisogno di assistenza, contatta l'amministratore del tuo account. OpenSearch I flussi di lavoro serverless richiedono le seguenti autorizzazioni. Puoi definire l'ambito delle autorizzazioni per una raccolta specifica definendo l'ARN della risorsa di raccolta nella tua policy IAM.

**Example : politica sui flussi di lavoro**    
****  

```
{
  "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 l'autorizzazione a creare e gestire modelli e fornisce pipeline di [ricerca e importazione](serverless-configure-neural-search.md).
+ **aoss: \$1Index** — Concede l'autorizzazione a creare ed eliminare indici utilizzando le operazioni API. OpenSearch 
+ **aoss: \$1 MLResource** — Concede l'autorizzazione per eseguire il provisioning delle fasi del flusso di lavoro che utilizzano [Configure Machine](serverless-configure-machine-learning.md) Learning.

# Panoramica della sicurezza in Amazon OpenSearch Serverless
<a name="serverless-security"></a>

La sicurezza in Amazon OpenSearch Serverless si differenzia fondamentalmente dalla sicurezza in Amazon OpenSearch Service nei seguenti modi:


| Funzionalità | OpenSearch Servizio | OpenSearch Senza server | 
| --- | --- | --- | 
| Controllo dell'accesso ai dati | L'accesso ai dati è determinato dalle policy IAM e dal controllo granulare degli accessi. | L'accesso ai dati è determinato dalle policy di accesso ai dati. | 
| Crittografia dei dati inattivi | La crittografia dei dati inattivi è facoltativa per i domini. | La crittografia dei dati inattivi è obbligatoria per le raccolte. | 
| Configurazione e amministrazione della sicurezza | È necessario configurare la rete, la crittografia e l'accesso ai dati singolarmente per ogni dominio. | Puoi utilizzare le policy di sicurezza per gestire le impostazioni di sicurezza per più raccolte su larga scala. | 

Il diagramma seguente illustra i componenti di sicurezza che costituiscono una raccolta funzionale. Una raccolta deve avere una chiave di crittografia assegnata, impostazioni di accesso alla rete e una policy di accesso ai dati corrispondente che garantisca l'autorizzazione alle relative risorse.

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


**Topics**
+ [Policy di crittografia](#serverless-security-encryption)
+ [Policy di rete](#serverless-security-network)
+ [Policy di accesso ai dati](#serverless-security-data-access)
+ [Autenticazione IAM e SAML](#serverless-security-authentication)
+ [Sicurezza dell’infrastruttura](#serverless-infrastructure-security)
+ [Guida introduttiva alla sicurezza in Amazon OpenSearch Serverless](serverless-tutorials.md)
+ [Identity and Access Management per Amazon OpenSearch Serverless](security-iam-serverless.md)
+ [Crittografia in Amazon OpenSearch Serverless](serverless-encryption.md)
+ [Accesso alla rete per Amazon OpenSearch Serverless](serverless-network.md)
+ [Conformità FIPS in Amazon Serverless OpenSearch](fips-compliance-opensearch-serverless.md)
+ [Controllo dell'accesso ai dati per Amazon OpenSearch Serverless](serverless-data-access.md)
+ [Accesso al piano dati tramite AWS PrivateLink](serverless-vpc.md)
+ [Controlla l'accesso al piano tramite AWS PrivateLink](serverless-vpc-cp.md)
+ [Autenticazione SAML per Amazon Serverless OpenSearch](serverless-saml.md)
+ [Convalida della conformità per Amazon Serverless OpenSearch](serverless-compliance-validation.md)

## Policy di crittografia
<a name="serverless-security-encryption"></a>

Le [politiche di crittografia](serverless-encryption.md) definiscono se le raccolte sono crittografate con una chiave Chiave di proprietà di AWS o con una chiave gestita dal cliente. Le policy di crittografia sono costituite da due componenti: un **modello di risorse** e una **chiave di crittografia**. Il modello di risorse definisce a quale raccolta o raccolte si applica la policy. La chiave di crittografia determina il modo in cui verranno protette le raccolte associate.

Per applicare una policy a più raccolte, includi un carattere jolly (\$1) nella regola della policy. Ad esempio, la seguente policy si applica a tutte le raccolte i cui nomi iniziano con "log".

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


Le policy di crittografia semplificano il processo di creazione e gestione delle raccolte, soprattutto quando lo si fa a livello di programmazione. È possibile creare una raccolta specificando un nome e una chiave di crittografia viene assegnata automaticamente alla raccolta al momento della creazione. 

## Policy di rete
<a name="serverless-security-network"></a>

I [criteri di rete](serverless-network.md) definiscono se le raccolte sono accessibili privatamente o tramite Internet da reti pubbliche. *È possibile accedere alle raccolte private tramite endpoint OpenSearch VPC gestiti senza server o tramite dispositivi specifici Servizi AWS come Amazon Bedrock che utilizzano l'accesso privato.Servizio AWS * Proprio come le policy di crittografia, le policy di rete possono essere applicate a più raccolte e questo consente di gestire l'accesso alla rete per molte raccolte su larga scala.

Le policy di rete sono costituite da due componenti: un **tipo di accesso** e un **tipo di risorsa**. Il tipo di accesso può essere pubblico o privato. Il tipo di risorsa determina se l'accesso scelto si applica all'endpoint di raccolta, all'endpoint OpenSearch Dashboards o a entrambi.

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


Se prevedi di configurare l'accesso VPC all'interno di una policy di rete, devi prima creare uno o più endpoint VPC gestiti [OpenSearch senza server](serverless-vpc.md). Questi endpoint ti consentono di accedere a OpenSearch Serverless come se fosse nel tuo VPC, senza l'uso di un gateway Internet, un dispositivo NAT, una connessione VPN o una connessione. Direct Connect 

L'accesso privato a Servizi AWS può essere applicato solo all'endpoint della raccolta, non all' OpenSearchendpoint Dashboards. OpenSearch Servizi AWS non può essere concesso l'accesso alle dashboard. OpenSearch 

## Policy di accesso ai dati
<a name="serverless-security-data-access"></a>

[Le policy di accesso ai dati](serverless-data-access.md) definiscono il modo in cui gli utenti accedono ai dati all'interno delle raccolte. Le policy di accesso ai dati consentono di gestire le raccolte su larga scala assegnando automaticamente autorizzazioni di accesso a raccolte e indici che corrispondono a uno schema specifico. È possibile applicare più policy a una singola risorsa.

Le policy di accesso ai dati sono costituite da un insieme di regole, ciascuna con tre componenti: un **tipo di risorsa**, le **risorse concesse** e un elenco delle **autorizzazioni**. Il tipo di risorsa può essere una raccolta o un indice. Le risorse concesse possono essere collection/index nomi o pattern con un carattere jolly (\$1). L'elenco delle autorizzazioni specifica a quali [operazioni OpenSearch API](serverless-genref.md#serverless-operations) la policy concede l'accesso. Inoltre, la policy contiene un elenco di **principali**, che specificano i ruoli IAM, gli utenti e le identità SAML a cui concedere l'accesso.

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


Per ulteriori informazioni sul formato di una policy di accesso ai dati, consulta la [sintassi della policy](serverless-data-access.md#serverless-data-access-syntax).

Prima di creare una policy di accesso ai dati, è necessario disporre di uno o più utenti o ruoli IAM, o identità SAML, a cui fornire l'accesso nella policy. Per ulteriori informazioni, consulta la prossima sezione.

**Nota**  
Il passaggio dall'accesso pubblico a quello privato per la raccolta rimuoverà la scheda Indici nella console Serverless Collection. OpenSearch 

## Autenticazione IAM e SAML
<a name="serverless-security-authentication"></a>

 I principali IAM e le identità SAML sono uno degli elementi costitutivi di una policy di accesso ai dati. All'interno dell'istruzione `principal` di una policy di accesso, è possibile includere ruoli IAM, utenti e identità SAML. A questi principali vengono quindi concesse le autorizzazioni specificate nelle regole delle policy associate.

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

L'autenticazione SAML viene configurata direttamente all'interno di Serverless. OpenSearch Per ulteriori informazioni, consulta [Autenticazione SAML per Amazon Serverless OpenSearch](serverless-saml.md). 

## Sicurezza dell’infrastruttura
<a name="serverless-infrastructure-security"></a>

Amazon OpenSearch Serverless è protetto dalla sicurezza di rete AWS globale. Per informazioni sui servizi di AWS sicurezza e su come AWS protegge l'infrastruttura, consulta [AWS Cloud Security](https://aws.amazon.com/security/). Per progettare il tuo AWS ambiente utilizzando le migliori pratiche per la sicurezza dell'infrastruttura, vedi [Infrastructure Protection](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) in *Security Pillar AWS Well‐Architected* Framework.

Utilizzi chiamate API AWS pubblicate per accedere ad Amazon OpenSearch Serverless attraverso la rete. I client devono supportare Transport Layer Security (TLS). È richiesto TLS 1.2 ed è consigliato TLS 1.3. Per un elenco dei codici supportati per TLS 1.3, consulta i [protocolli e le cifrari TLS nella documentazione di Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#tls-protocols-ciphers).

Inoltre, è necessario firmare le richieste utilizzando un ID di chiave di accesso e una chiave di accesso segreta associata a un'entità IAM. In alternativa, è possibile utilizzare [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html) (AWS STS) per generare le credenziali di sicurezza temporanee per sottoscrivere le richieste.

# Guida introduttiva alla sicurezza in Amazon OpenSearch Serverless
<a name="serverless-tutorials"></a>

I seguenti tutorial ti aiutano a iniziare a usare Amazon OpenSearch Serverless. Entrambi i tutorial completano le stesse fasi di base, ma uno utilizza la console mentre l'altro utilizza la AWS CLI.

Tieni presente che i casi d'uso in questi tutorial sono semplificati. Le policy di rete e di sicurezza sono relativamente aperte. Nei carichi di lavoro di produzione, si consiglia di configurare funzionalità di sicurezza più affidabili come l'autenticazione SAML, l'accesso al VPC e le policy restrittive di accesso ai dati.

**Topics**
+ [Tutorial: Guida introduttiva alla sicurezza in Amazon OpenSearch Serverless (console)](gsg-serverless.md)
+ [Tutorial: Guida introduttiva alla sicurezza in Amazon OpenSearch Serverless (CLI)](gsg-serverless-cli.md)

# Tutorial: Guida introduttiva alla sicurezza in Amazon OpenSearch Serverless (console)
<a name="gsg-serverless"></a>

Questo tutorial illustra i passaggi di base per creare e gestire le policy di sicurezza utilizzando la console Amazon OpenSearch Serverless.

In questo tutorial completerai le seguenti fasi:

1. [Configurazione delle autorizzazioni](#gsgpermissions)

1. [Creazione di una policy di crittografia](#gsg-encryption)

1. [Creazione di una policy di rete](#gsg-network)

1. [Configurazione di una policy di accesso ai dati](#gsg-data-access)

1. [Creazione di una raccolta](#gsgcreate-collection)

1. [Caricamento e ricerca dei dati](#gsgindex-collection)

Questo tutorial illustra come configurare una raccolta utilizzando. Console di gestione AWS Per gli stessi passaggi utilizzando il AWS CLI, vedere[Tutorial: Guida introduttiva alla sicurezza in Amazon OpenSearch Serverless (CLI)](gsg-serverless-cli.md).

## Fase 1: configurazione delle autorizzazioni
<a name="gsgpermissions"></a>

**Nota**  
Puoi saltare questa fase se stai già utilizzando una policy più ampia basata sull'identità, ad esempio `Action":"aoss:*"` o `Action":"*"`. Negli ambienti di produzione, tuttavia, si consiglia di seguire il principio del privilegio minimo e di assegnare solo le autorizzazioni minime necessarie per completare un'attività.

Per completare questo tutorial è necessario disporre delle autorizzazioni IAM corrette. L'utente o il ruolo devono avere una [policy basata sull'identità](security-iam-serverless.md#security-iam-serverless-id-based-policies) allegata con le seguenti autorizzazioni minime:

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

------

Per un elenco completo delle autorizzazioni OpenSearch Serverless, consulta. [Identity and Access Management per Amazon OpenSearch Serverless](security-iam-serverless.md)

## Fase 2: creazione di una policy di crittografia
<a name="gsg-encryption"></a>

Le [politiche di crittografia](serverless-encryption.md) specificano la AWS KMS chiave che OpenSearch Serverless utilizzerà per crittografare la raccolta. È possibile crittografare le raccolte con una Chiave gestita da AWS o un'altra chiave. Per semplicità, in questo tutorial crittograferemo la nostra raccolta con una Chiave gestita da AWS.

**Creazione di una policy di crittografia**

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

1. Espandi **Serverless** nel pannello di navigazione a sinistra e scegli **Encryption policies** (Policy di crittografia).

1. Scegli **Create encryption policy** (Crea policy di crittografia).

1. Nomina la policy **books-policy**. Nella descrizione, inserisci **Crittografia per una raccolta di libri**.

1. In **Resources** (Risorse), inserisci **books** (libri), che è il nome che darai alla tua raccolta. Se si desidera essere più generici, è possibile includere un asterisco (`books*`) per applicare la policy a tutte le raccolte che iniziano con la parola "books".

1. Per la **crittografia**, mantieni selezionata l'opzione **Usa chiave AWS di proprietà**.

1. Scegli **Create** (Crea).

## Fase 3: Creare una politica di rete
<a name="gsg-network"></a>

[Le politiche di rete](serverless-network.md) determinano se la raccolta è accessibile su Internet dalle reti pubbliche o se è necessario accedervi tramite endpoint VPC OpenSearch gestiti senza server. In questo tutorial, configureremo l'accesso pubblico.

**Creazione di una policy di rete**

1. Nel pannello di navigazione a sinistra, scegli **Network policies** (Policy di rete) e **Create network policy** (Crea policy di rete).

1. Nomina la policy **books-policy**. Nella descrizione, inserisci **Policy di rete per una raccolta di libri**.

1. Nella **Regola 1**, nomina la regola **Accesso pubblico per una raccolta di libri**.

1. Per semplicità, in questo tutorial configureremo l'accesso pubblico alla raccolta *books*. Per il tipo di accesso, seleziona **Public** (Pubblico).

1. Accederemo alla raccolta da Dashboards. OpenSearch Per fare ciò, devi configurare l'accesso alla rete per le dashboard *e* l' OpenSearch endpoint, altrimenti le dashboard non funzioneranno.

   **Per il tipo di risorsa, abilita sia **Access to OpenSearch endpoint che Access to Dashboards**. OpenSearch**

1. In entrambe le caselle di input, inserisci **Collection Name = books** (Nome raccolta = libri). Questa impostazione riduce l'ambito della policy in modo che si applichi solo a una singola raccolta (`books`). La tua regola dovrebbe assomigliare a questa:  
![\[Search interface showing two input fields for collection or prefix term selection, both set to "books".\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/images/serverless-tutorial-network.png)

1. Scegli **Create** (Crea).

## Passaggio 4: Creare una politica di accesso ai dati
<a name="gsg-data-access"></a>

I dati della raccolta non saranno accessibili finché non configuri l'accesso ai dati. Le [policy di accesso ai dati](serverless-data-access.md) sono separate dalla policy basata sull'identità IAM configurata nella fase 1. Consentono agli utenti di accedere ai dati effettivi all'interno di una raccolta.

In questo tutorial, forniremo a un singolo utente le autorizzazioni necessarie per indicizzare i dati nella raccolta denominata *books*.

**Creazione di una policy di accesso ai dati**

1. Nel pannello di navigazione a sinistra, scegli **Data access policies** (Policy di accesso ai dati) e **Create access policy** (Crea policy di accesso).

1. Nomina la policy **books-policy**. Nella descrizione, inserisci **policy di accesso ai dati per la raccolta di libri**.

1. Per il metodo di definizione della policy seleziona **JSON** e incolla la seguente policy nell'editor JSON.

   Sostituisci l'ARN principale con l'ARN dell'account che utilizzerai per accedere alle OpenSearch dashboard e ai dati degli indici.

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

   Questa policy fornisce a un singolo utente le autorizzazioni minime necessarie per creare un indice nella raccolta *books*, indicizzare alcuni dati e cercarli.

1. Scegli **Create** (Crea).

## Passaggio 5: Crea una raccolta
<a name="gsgcreate-collection"></a>

Ora che hai configurato la crittografia e le policy di rete, puoi creare una raccolta corrispondente e le impostazioni di sicurezza verranno applicate automaticamente ad essa.

**Per creare una raccolta OpenSearch Serverless**

1. Scegli **Collections** (Raccolte) nel pannello di navigazione a sinistra e scegli **Create collection** (Crea raccolta).

1. Nomina la raccolta **books**.

1. Per il tipo di raccolta, scegli **Search** (Cerca).

1. In **Encryption**, OpenSearch Serverless informa che il nome della raccolta corrisponde alla `books-policy` politica di crittografia.

1. In **Impostazioni di accesso alla rete**, OpenSearch Serverless informa che il nome della raccolta corrisponde alla politica di rete. `books-policy`

1. Scegli **Next (Successivo)**.

1. In **Opzioni della politica di accesso ai dati**, OpenSearch Serverless ti informa che il nome della raccolta corrisponde alla politica di accesso ai `books-policy` dati.

1. Scegli **Next (Successivo)**.

1. Rivedi la configurazione della raccolta e scegli **Submit** (Invia). Generalmente, l'inizializzazione delle raccolte richiede meno di un minuto.

## Fase 6: caricamento e ricerca dei dati
<a name="gsgindex-collection"></a>

Puoi caricare dati in una raccolta OpenSearch Serverless utilizzando Postman o curl. Per brevità, questi esempi utilizzano **Dev Tools** all'interno della console Dashboards. OpenSearch 

**Indicizzazione e ricerca di dati in una raccolta**

1. Scegli **Collections** (Raccolte) nel pannello di navigazione a sinistra e scegli la raccolta **books** per aprirne la pagina dei dettagli.

1. Scegli l'URL delle OpenSearch dashboard per la raccolta. L'URL assume il formato `https://collection-id.us-east-1.aoss.amazonaws.com/_dashboards`. 

1. Accedi alle OpenSearch dashboard utilizzando le [chiavi di AWS accesso e segrete](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-appendix-sign-up.html) per il principale che hai specificato nella politica di accesso ai dati.

1. All'interno di OpenSearch Dashboards, apri il menu di navigazione a sinistra e scegli **Dev** Tools.

1. Per creare un singolo indice chiamato *books-index*, esegui il seguente comando:

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

1. Per indicizzare un singolo documento in *books-index*, esegui il seguente comando:

   ```
   PUT books-index/_doc/1
   { 
     "title": "The Shining",
     "author": "Stephen King",
     "year": 1977
   }
   ```

1. Per cercare dati nelle OpenSearch dashboard, devi configurare almeno un modello di indice. OpenSearch utilizza questi modelli per identificare gli indici da analizzare. Apri il menu principale di Dashboards, scegliere **Gestione stack**, scegliere **Modelli di indice**, quindi scegliere **Crea modello di indice**. Per questo tutorial, inserisci *books-index*.

1. Scegliere **Fase successiva** quindi selezionare **Crea modello di indice**. Dopo aver creato il modello, è possibile visualizzare i vari campi del documento, ad esempio `author` e `title`.

1. Per iniziare a cercare i dati, apri di nuovo il menu principale e scegli **Discover** (Rileva) o utilizza l'[API di ricerca](https://opensearch.org/docs/latest/opensearch/rest-api/search/).

# Tutorial: Guida introduttiva alla sicurezza in Amazon OpenSearch Serverless (CLI)
<a name="gsg-serverless-cli"></a>

Questo tutorial illustra i passaggi descritti nel [tutorial introduttivo per la sicurezza della console](gsg-serverless.md), ma utilizza la console AWS CLI anziché la console di OpenSearch servizio. 

In questo tutorial completerai le seguenti fasi:

1. Crea una politica di autorizzazioni IAM

1. Associa la policy IAM a un ruolo IAM

1. Creare una policy di crittografia

1. Creazione di una policy di rete

1. Creare una raccolta

1. Configurazione di una policy di accesso ai dati

1. Recupera l'endpoint di raccolta

1. Carica i dati sulla tua connessione

1. Cerca i dati nella tua raccolta

L'obiettivo di questo tutorial è configurare un'unica raccolta OpenSearch Serverless con impostazioni di crittografia, rete e accesso ai dati abbastanza semplici. Ad esempio, configureremo l'accesso alla rete pubblica, una Chiave gestita da AWS per la crittografia e una politica di accesso ai dati semplificata che conceda autorizzazioni minime a un singolo utente. 

In uno scenario di produzione, ti consigliamo di implementare una configurazione più affidabile, che includa l'autenticazione SAML, una chiave di crittografia personalizzata e l'accesso al VPC.

**Per iniziare con le politiche di sicurezza in Serverless OpenSearch**

1. 
**Nota**  
Puoi saltare questa fase se stai già utilizzando una policy più ampia basata sull'identità, ad esempio `Action":"aoss:*"` o `Action":"*"`. Negli ambienti di produzione, tuttavia, si consiglia di seguire il principio del privilegio minimo e di assegnare solo le autorizzazioni minime necessarie per completare un'attività.

   Per iniziare, crea una AWS Identity and Access Management politica con le autorizzazioni minime richieste per eseguire i passaggi di questo tutorial. Denomineremo la policy `TutorialPolicy`:

   ```
   aws iam create-policy \
     --policy-name TutorialPolicy \
     --policy-document "{\"Version\": \"2012-10-17\",\"Statement\": [{\"Action\": [\"aoss:ListCollections\",\"aoss:BatchGetCollection\",\"aoss:CreateCollection\",\"aoss:CreateSecurityPolicy\",\"aoss:GetSecurityPolicy\",\"aoss:ListSecurityPolicies\",\"aoss:CreateAccessPolicy\",\"aoss:GetAccessPolicy\",\"aoss:ListAccessPolicies\"],\"Effect\": \"Allow\",\"Resource\": \"*\"}]}"
   ```

   **Risposta di esempio**

   ```
   {
       "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. Allega la `TutorialPolicy` al ruolo IAM che indicizzerà e cercherà i dati nella raccolta. Denomineremo l'utente `TutorialRole`:

   ```
   aws iam attach-role-policy \
     --role-name TutorialRole \
     --policy-arn arn:aws:iam::123456789012:policy/TutorialPolicy
   ```

1. Prima di creare una raccolta, è necessario creare una [policy di crittografia](serverless-encryption.md) che assegni una Chiave di proprietà di AWS alla raccolta *books* che creerai in una fase successiva.

   Invia la seguente richiesta per creare una policy di crittografia per la raccolta *books*:

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

   **Risposta di esempio**

   ```
   {
       "securityPolicyDetail": {
           "type": "encryption",
           "name": "books-policy",
           "policyVersion": "MTY2OTI0MDAwNTk5MF8x",
           "policy": {
               "Rules": [
                   {
                       "Resource": [
                           "collection/books"
                       ],
                       "ResourceType": "collection"
                   }
               ],
               "AWSOwnedKey": true
           },
           "createdDate": 1669240005990,
           "lastModifiedDate": 1669240005990
       }
   }
   ```

1. Crea una [policy di rete](serverless-network.md) che fornisca l'accesso pubblico alla raccolta *books*:

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

   **Risposta di esempio**

   ```
   {
       "securityPolicyDetail": {
           "type": "network",
           "name": "books-policy",
           "policyVersion": "MTY2OTI0MDI1Njk1NV8x",
           "policy": [
               {
                   "Rules": [
                       {
                           "Resource": [
                               "collection/books"
                           ],
                           "ResourceType": "dashboard"
                       },
                       {
                           "Resource": [
                               "collection/books"
                           ],
                           "ResourceType": "collection"
                       }
                   ],
                   "AllowFromPublic": true,
                   "Description": "Public access for books collection"
               }
           ],
           "createdDate": 1669240256955,
           "lastModifiedDate": 1669240256955
       }
   }
   ```

1. Crea la raccolta *books*:

   ```
   aws opensearchserverless create-collection --name books --type SEARCH
   ```

   **Risposta di esempio**

   ```
   {
       "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. Crea una [policy di accesso ai dati](serverless-data-access.md) che fornisca le autorizzazioni minime per indicizzare e cercare i dati nella raccolta *books*. Sostituisci l'ARN principale con l'ARN del `TutorialRole` dalla fase 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\"]}]"
   ```

   **Risposta di esempio**

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

   Ora `TutorialRole` dovrebbe essere in grado di indicizzare e cercare documenti nella raccolta *books*. 

1. Per effettuare chiamate all' OpenSearch API, è necessario l'endpoint di raccolta. Invia la seguente richiesta per recuperare il parametro `collectionEndpoint`:

   ```
   aws opensearchserverless batch-get-collection --names books  
   ```

   **Risposta di esempio**

   ```
   {
       "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**  
Non sarà possibile visualizzare l'endpoint della nuova raccolta fino a quando lo stato della nuova raccolta non sarà `ACTIVE`. Potrebbe essere necessario effettuare più chiamate per verificare lo stato fino a quando la raccolta non viene creata correttamente.

1. Usa uno strumento HTTP come [Postman](https://www.getpostman.com/) o curl per indicizzare i dati nella raccolta *books*. Creeremo un indice denominato *books-index* e aggiungeremo un singolo documento.

   Invia la richiesta seguente all'endpoint di raccolta recuperato nella fase precedente, utilizzando le credenziali del `TutorialRole`.

   ```
   PUT https://8kw362bpwg4gx9b2f6e0.us-east-1.aoss.amazonaws.com/books-index/_doc/1
   { 
     "title": "The Shining",
     "author": "Stephen King",
     "year": 1977
   }
   ```

   **Risposta di esempio**

   ```
   {
     "_index" : "books-index",
     "_id" : "1",
     "_version" : 1,
     "result" : "created",
     "_shards" : {
       "total" : 0,
       "successful" : 0,
       "failed" : 0
     },
     "_seq_no" : 0,
     "_primary_term" : 0
   }
   ```

1. Per iniziare a cercare i dati nella raccolta, usa l'[API di ricerca](https://opensearch.org/docs/latest/opensearch/rest-api/search/). La seguente query esegue una ricerca di base:

   ```
   GET https://8kw362bpwg4gx9b2f6e0.us-east-1.aoss.amazonaws.com/books-index/_search
   ```

   **Risposta di esempio**

   ```
   {
       "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 per Amazon OpenSearch Serverless
<a name="security-iam-serverless"></a>

AWS Identity and Access Management (IAM) è uno strumento Servizio AWS che aiuta un amministratore a controllare in modo sicuro l'accesso alle risorse. AWS Gli amministratori IAM controllano chi può essere *autenticato* (effettuato l'accesso) e *autorizzato (disporre delle autorizzazioni*) a utilizzare le risorse Serverless. OpenSearch IAM è un software Servizio AWS che puoi utilizzare senza costi aggiuntivi.

**Topics**
+ [Policy basate sull'identità per Serverless OpenSearch](#security-iam-serverless-id-based-policies)
+ [Azioni politiche per Serverless OpenSearch](#security-iam-serverless-id-based-policies-actions)
+ [Risorse politiche per Serverless OpenSearch](#security-iam-serverless-id-based-policies-resources)
+ [Chiavi delle condizioni delle policy per Amazon OpenSearch Serverless](#security_iam_serverless-conditionkeys)
+ [ABAC con Serverless OpenSearch](#security_iam_serverless-with-iam-tags)
+ [Utilizzo di credenziali temporanee con Serverless OpenSearch](#security_iam_serverless-tempcreds)
+ [Ruoli collegati ai servizi per Serverless OpenSearch](#security_iam_serverless-slr)
+ [Altri tipi di policy](#security_iam_access-manage-other-policies)
+ [Esempi di policy basate sull'identità per Serverless OpenSearch](#security_iam_serverless_id-based-policy-examples)
+ [Supporto IAM Identity Center per Amazon OpenSearch Serverless](serverless-iam-identity-center.md)

## Policy basate sull'identità per Serverless OpenSearch
<a name="security-iam-serverless-id-based-policies"></a>

**Supporta le policy basate sull’identità:** sì

Le policy basate sull'identità sono documenti di policy di autorizzazione JSON che è possibile allegare a un'identità (utente, gruppo di utenti o ruolo IAM). Tali policy definiscono le operazioni che utenti e ruoli possono eseguire, su quali risorse e in quali condizioni. Per informazioni su come creare una policy basata su identità, consulta [Definizione di autorizzazioni personalizzate IAM con policy gestite dal cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) nella *Guida per l’utente di IAM*.

Con le policy basate sull’identità di IAM, è possibile specificare quali operazioni e risorse sono consentite o respinte, nonché le condizioni in base alle quali le operazioni sono consentite o respinte. Per informazioni su tutti gli elementi utilizzabili in una policy JSON, consulta [Guida di riferimento agli elementi delle policy JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) nella *Guida per l’utente IAM*.

### Esempi di policy basate sull'identità per Serverless OpenSearch
<a name="security_iam_id-based-policy-examples"></a>

Per visualizzare esempi di policy basate sull'identità OpenSearch serverless, vedere. [Esempi di policy basate sull'identità per Serverless OpenSearch](#security_iam_serverless_id-based-policy-examples)

## Azioni politiche per Serverless OpenSearch
<a name="security-iam-serverless-id-based-policies-actions"></a>

**Supporta le operazioni di policy:** si

L'elemento `Action` di una policy JSON descrive le operazioni che è possibile utilizzare per consentire o negare l'accesso in una policy. Le azioni politiche in genere hanno lo stesso nome dell'operazione AWS API associata. Ci sono alcune eccezioni, ad esempio le *operazioni di sola autorizzazione* che non hanno un’operazione API corrispondente. Esistono anche alcune operazioni che richiedono più operazioni in una policy. Queste operazioni aggiuntive sono denominate *operazioni dipendenti*.

Includere le operazioni in una policy per concedere le autorizzazioni a eseguire l’operazione associata.

Le azioni politiche in OpenSearch Serverless utilizzano il seguente prefisso prima dell'azione:

```
aoss
```

Per specificare più operazioni in una sola istruzione, occorre separarle con la virgola.

```
"Action": [
      "aoss:action1",
      "aoss:action2"
         ]
```

Puoi specificare più operazioni tramite caratteri jolly (\$1). Ad esempio, per specificare tutte le azioni che iniziano con la parola `Describe`, includi la seguente azione:

```
"Action": "aoss:List*"
```

Per visualizzare esempi di politiche basate sull'identità OpenSearch Serverless, vedere. [Esempi di policy basate sull'identità per Serverless OpenSearch](#security_iam_id-based-policy-examples)

## Risorse politiche per Serverless OpenSearch
<a name="security-iam-serverless-id-based-policies-resources"></a>

**Supporta le risorse relative alle policy:** sì

Gli amministratori possono utilizzare le policy AWS JSON per specificare chi ha accesso a cosa. In altre parole, quale **entità principale** può eseguire **operazioni** su quali **risorse** e in quali **condizioni**.

L’elemento JSON `Resource` della policy specifica l’oggetto o gli oggetti ai quali si applica l’operazione. Come best practice, specifica una risorsa utilizzando il suo [nome della risorsa Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Per le azioni che non supportano le autorizzazioni a livello di risorsa, si utilizza un carattere jolly (\$1) per indicare che l’istruzione si applica a tutte le risorse.

```
"Resource": "*"
```

## Chiavi delle condizioni delle policy per Amazon OpenSearch Serverless
<a name="security_iam_serverless-conditionkeys"></a>

**Supporta le chiavi di condizione delle policy specifiche del servizio:** sì

Gli amministratori possono utilizzare le policy AWS JSON per specificare chi ha accesso a cosa. In altre parole, quale **entità principale** può eseguire **operazioni** su quali **risorse** e in quali **condizioni**.

L’elemento `Condition` specifica quando le istruzioni vengono eseguite in base a criteri definiti. È possibile compilare espressioni condizionali che utilizzano [operatori di condizione](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), ad esempio uguale a o minore di, per soddisfare la condizione nella policy con i valori nella richiesta. Per visualizzare tutte le chiavi di condizione AWS globali, consulta le chiavi di [contesto delle condizioni AWS globali nella Guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) per l'*utente IAM*.

Oltre al controllo degli accessi basato sugli attributi (ABAC), OpenSearch Serverless supporta le seguenti chiavi di condizione:
+ `aoss:collection`
+ `aoss:CollectionId`
+ `aoss:index`

È possibile utilizzare le chiavi di condizione anche quando si forniscono le autorizzazioni per le policy di accesso e le policy di sicurezza. Esempio:

```
[
   {
      "Effect":"Allow",
      "Action":[
         "aoss:CreateAccessPolicy",
         "aoss:CreateSecurityPolicy"
      ],
      "Resource":"*",
      "Condition":{
         "StringLike":{
            "aoss:collection":"log"
         }
      }
   }
]
```

In questo esempio, la condizione si applica alle policy che contengono *regole* che corrispondono al nome o al modello di una raccolta. Le condizioni hanno il seguente comportamento:
+ `StringEquals` - Si applica alle policy con regole che contengono la stringa di risorsa *esatta* "log" (ad esempio, `collection/log`).
+ `StringLike` - Si applica alle policy con regole che contengono una stringa di risorsa che *include* "log" (ad esempio, `collection/log` ma anche `collection/logs-application` o `collection/applogs123`).

**Nota**  
Le chiavi di condizione *raccolta* non si applicano a livello di indice. Ad esempio, nella policy precedente, la condizione non si applicherebbe ad una policy di accesso o di sicurezza contenente la stringa di risorsa `index/logs-application/*`.

Per visualizzare un elenco di chiavi di condizione OpenSearch Serverless, consulta [Condition keys for Amazon OpenSearch Serverless](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonopensearchserverless.html#amazonopensearchserverless-policy-keys) nel *Service Authorization* Reference. Per sapere con quali azioni e risorse puoi utilizzare una chiave di condizione, consulta [Azioni definite da Amazon OpenSearch Serverless](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonopensearchserverless.html#amazonopensearchserverless-actions-as-permissions).

## ABAC con Serverless OpenSearch
<a name="security_iam_serverless-with-iam-tags"></a>

**Supporta ABAC (tag nelle policy):** sì

Il controllo degli accessi basato su attributi (ABAC) è una strategia di autorizzazione che definisce le autorizzazioni in base ad attributi chiamati tag. Puoi allegare tag a entità e AWS risorse IAM, quindi progettare politiche ABAC per consentire le operazioni quando il tag del principale corrisponde al tag sulla risorsa.

Per controllare l’accesso basato su tag, fornire informazioni sui tag nell’[elemento condizione](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) di una policy utilizzando le chiavi di condizione `aws:ResourceTag/key-name`, `aws:RequestTag/key-name` o `aws:TagKeys`.

Se un servizio supporta tutte e tre le chiavi di condizione per ogni tipo di risorsa, il valore per il servizio è **Sì**. Se un servizio supporta tutte e tre le chiavi di condizione solo per alcuni tipi di risorsa, allora il valore sarà **Parziale**.

Per maggiori informazioni su ABAC, consulta [Definizione delle autorizzazioni con autorizzazione ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) nella *Guida per l’utente di IAM*. Per visualizzare un tutorial con i passaggi per l’impostazione di ABAC, consulta [Utilizzo del controllo degli accessi basato su attributi (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) nella *Guida per l’utente di IAM*.

Per ulteriori informazioni sull'etichettatura delle risorse OpenSearch Serverless, consulta. [Etichettatura delle raccolte Amazon OpenSearch Serverless](tag-collection.md)

## Utilizzo di credenziali temporanee con Serverless OpenSearch
<a name="security_iam_serverless-tempcreds"></a>

**Supporta le credenziali temporanee:** sì

Le credenziali temporanee forniscono l'accesso a breve termine alle AWS risorse e vengono create automaticamente quando si utilizza la federazione o si cambia ruolo. AWS consiglia di generare dinamicamente credenziali temporanee anziché utilizzare chiavi di accesso a lungo termine. Per ulteriori informazioni, consulta [Credenziali di sicurezza temporanee in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) e [Servizi AWS compatibili con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) nella *Guida per l’utente IAM*.

## Ruoli collegati ai servizi per Serverless OpenSearch
<a name="security_iam_serverless-slr"></a>

**Supporta i ruoli collegati ai servizi:** sì

 Un ruolo collegato al servizio è un tipo di ruolo di servizio collegato a un. Servizio AWS Il servizio può assumere il ruolo per eseguire un’operazione per tuo conto. I ruoli collegati al servizio vengono visualizzati nel tuo account Account AWS e sono di proprietà del servizio. Un amministratore IAM può visualizzare le autorizzazioni per i ruoli collegati al servizio, ma non modificarle. 

Per informazioni dettagliate sulla creazione e la gestione di ruoli OpenSearch Serverless collegati ai servizi, consulta. [Utilizzo di ruoli collegati ai servizi per creare raccolte Serverless OpenSearch](serverless-service-linked-roles.md)

## Altri tipi di policy
<a name="security_iam_access-manage-other-policies"></a>

AWS supporta tipi di policy aggiuntivi e meno comuni. Questi tipi di policy possono impostare il numero massimo di autorizzazioni concesse dai più tipi di policy comuni.
+ **Politiche di controllo del servizio (SCPs)**: SCPs sono politiche JSON che specificano le autorizzazioni massime per un'organizzazione o un'unità organizzativa (OU) in. AWS Organizations AWS Organizations è un servizio per il raggruppamento e la gestione centralizzata di più AWS account di proprietà dell'azienda. Se abiliti tutte le funzionalità di un'organizzazione, puoi applicare le politiche di controllo del servizio (SCPs) a uno o tutti i tuoi account. L'SCP limita le autorizzazioni per le entità negli account dei membri, incluso ogni AWS utente root dell'account. Per ulteriori informazioni su Organizations and SCPs, consulta [le politiche di controllo dei servizi](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) nella *Guida AWS Organizations per l'utente*.
+ **Politiche di controllo delle risorse (RCPs)**: RCPs sono politiche JSON che puoi utilizzare per impostare le autorizzazioni massime disponibili per le risorse nei tuoi account senza aggiornare le politiche IAM allegate a ciascuna risorsa di tua proprietà. L'RCP limita le autorizzazioni per le risorse negli account dei membri e può influire sulle autorizzazioni effettive per le identità, incluso l'utente root dell' AWS account, indipendentemente dal fatto che appartengano all'organizzazione. Per ulteriori informazioni su Organizations e RCPs, incluso un elenco di AWS servizi che supportano RCPs, vedere [Resource control policies (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) nella *Guida per l'AWS Organizations utente*.

## Esempi di policy basate sull'identità per Serverless OpenSearch
<a name="security_iam_serverless_id-based-policy-examples"></a>

Per impostazione predefinita, gli utenti e i ruoli non dispongono dell'autorizzazione per creare o modificare risorse Serverless. OpenSearch Per concedere agli utenti l’autorizzazione a eseguire azioni sulle risorse di cui hanno bisogno, un amministratore IAM può creare policy IAM.

Per informazioni su come creare una policy basata su identità IAM utilizzando questi documenti di policy JSON di esempio, consulta [Creazione di policy IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) nella *Guida per l’utente di IAM*.

Per dettagli sulle azioni e sui tipi di risorse definiti da Amazon OpenSearch Serverless, incluso il formato di ARNs per ogni tipo di risorsa, consulta [Azioni, risorse e chiavi di condizione per Amazon OpenSearch Serverless](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonopensearchserverless.html) nel *Service Authorization* Reference.

**Topics**
+ [Best practice per le policy](#security_iam_serverless-policy-best-practices)
+ [Utilizzo di OpenSearch Serverless nella console](#security_iam_serverless_id-based-policy-examples-console)
+ [Amministrazione delle raccolte Serverless OpenSearch](#security_iam_id-based-policy-examples-collection-admin)
+ [Visualizzazione delle raccolte Serverless OpenSearch](#security_iam_id-based-policy-examples-view-collections)
+ [Utilizzo delle operazioni OpenSearch API](#security_iam_id-based-policy-examples-data-plane)
+ [ABAC per le operazioni OpenSearch API](#security_iam_id-based-policy-examples-data-plane-abac)

### Best practice per le policy
<a name="security_iam_serverless-policy-best-practices"></a>

Le policy basate su identità sono molto efficaci. Determinano se qualcuno può creare, accedere o eliminare risorse OpenSearch Serverless nel tuo account. Queste azioni possono comportare costi aggiuntivi per l’ Account AWS. Quando si creano o modificano policy basate sull’identità, seguire queste linee guida e raccomandazioni:

Le politiche basate sull'identità determinano se qualcuno può creare, accedere o eliminare risorse OpenSearch Serverless nel tuo account. Queste azioni possono comportare costi aggiuntivi per l’ Account AWS. Quando si creano o modificano policy basate sull’identità, seguire queste linee guida e raccomandazioni:
+ **Inizia con le policy AWS gestite e passa alle autorizzazioni con privilegi minimi: per iniziare a concedere autorizzazioni** *a utenti e carichi di lavoro, utilizza le politiche gestite che concedono le autorizzazioni per molti casi d'uso comuni.AWS * Sono disponibili nel tuo. Account AWS Ti consigliamo di ridurre ulteriormente le autorizzazioni definendo politiche gestite dai AWS clienti specifiche per i tuoi casi d'uso. Per maggiori informazioni, consulta [Policy gestite da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) o [Policy gestite da AWS per le funzioni dei processi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) nella *Guida per l’utente di IAM*.
+ **Applicazione delle autorizzazioni con privilegio minimo** - Quando si impostano le autorizzazioni con le policy IAM, concedere solo le autorizzazioni richieste per eseguire un’attività. È possibile farlo definendo le azioni che possono essere intraprese su risorse specifiche in condizioni specifiche, note anche come *autorizzazioni con privilegio minimo*. Per maggiori informazioni sull’utilizzo di IAM per applicare le autorizzazioni, consulta [Policy e autorizzazioni in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) nella *Guida per l’utente di IAM*.
+ **Condizioni d’uso nelle policy IAM per limitare ulteriormente l’accesso** - Per limitare l’accesso ad azioni e risorse è possibile aggiungere una condizione alle policy. Ad esempio, è possibile scrivere una condizione di policy per specificare che tutte le richieste devono essere inviate utilizzando SSL. Puoi anche utilizzare le condizioni per concedere l'accesso alle azioni del servizio se vengono utilizzate tramite uno specifico Servizio AWS, ad esempio CloudFormation. Per maggiori informazioni, consultare la sezione [Elementi delle policy JSON di IAM: condizione](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) nella *Guida per l’utente di IAM*.
+ **Utilizzo dello strumento di analisi degli accessi IAM per convalidare le policy IAM e garantire autorizzazioni sicure e funzionali** - Lo strumento di analisi degli accessi IAM convalida le policy nuove ed esistenti in modo che aderiscano al linguaggio (JSON) della policy IAM e alle best practice di IAM. Lo strumento di analisi degli accessi IAM offre oltre 100 controlli delle policy e consigli utili per creare policy sicure e funzionali. Per maggiori informazioni, consultare [Convalida delle policy per il Sistema di analisi degli accessi IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) nella *Guida per l’utente di IAM*.
+ **Richiedi l'autenticazione a più fattori (MFA**): se hai uno scenario che richiede utenti IAM o un utente root nel Account AWS tuo, attiva l'MFA per una maggiore sicurezza. Per richiedere la MFA quando vengono chiamate le operazioni API, aggiungere le condizioni MFA alle policy. Per maggiori informazioni, consultare [Protezione dell’accesso API con MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) nella *Guida per l’utente di IAM*.

Per maggiori informazioni sulle best practice in IAM, consulta [Best practice di sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) nella *Guida per l’utente di IAM*.

### Utilizzo di OpenSearch Serverless nella console
<a name="security_iam_serverless_id-based-policy-examples-console"></a>

Per accedere a OpenSearch Serverless all'interno della console OpenSearch di servizio, è necessario disporre di un set minimo di autorizzazioni. Queste autorizzazioni devono consentirti di elencare e visualizzare i dettagli sulle risorse OpenSearch Serverless presenti nel tuo account. AWS Se crei una policy basata su identità più restrittiva rispetto alle autorizzazioni minime richieste, la console non funzionerà nel modo previsto per le entità (come i ruoli IAM) associate a tale policy.

Non è necessario consentire autorizzazioni minime per la console per gli utenti che effettuano chiamate solo verso AWS CLI o l'API. AWS Al contrario, è possibile accedere solo alle operazioni che soddisfano l'operazione API che stai cercando di eseguire.

La seguente politica consente a un utente di accedere a OpenSearch Serverless dalla console di OpenSearch servizio:

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

------

### Amministrazione delle raccolte Serverless OpenSearch
<a name="security_iam_id-based-policy-examples-collection-admin"></a>

Questa policy è un esempio di policy di «amministrazione della raccolta» che consente a un utente di gestire e amministrare le raccolte Amazon OpenSearch Serverless. L'utente può creare, visualizzare ed eliminare le raccolte.

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

------

### Visualizzazione delle raccolte Serverless OpenSearch
<a name="security_iam_id-based-policy-examples-view-collections"></a>

Questa policy di esempio consente a un utente di visualizzare i dettagli di tutte le raccolte Amazon OpenSearch Serverless nel proprio account. L'utente non può modificare le raccolte o le policy di sicurezza associate.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Resource": "*",
            "Action": [
                "aoss:ListAccessPolicies",
                "aoss:ListCollections",
                "aoss:ListSecurityPolicies",
                "aoss:ListTagsForResource",
                "aoss:BatchGetCollection"
            ],
            "Effect": "Allow"
        }
    ]
}
```

------

### Utilizzo delle operazioni OpenSearch API
<a name="security_iam_id-based-policy-examples-data-plane"></a>

Le operazioni API del piano dati sono costituite dalle funzioni utilizzate in OpenSearch Serverless per ricavare valore in tempo reale dal servizio. Le operazioni API del piano di controllo sono costituite dalle funzioni utilizzate per configurare l'ambiente. 

Per accedere al piano dati APIs e alle OpenSearch dashboard di Amazon OpenSearch Serverless dal browser, devi aggiungere due autorizzazioni IAM per le risorse di raccolta. Queste autorizzazioni sono e. `aoss:APIAccessAll` `aoss:DashboardsAccessAll` 

**Nota**  
A partire dal 10 maggio 2023, OpenSearch Serverless richiede queste due nuove autorizzazioni IAM per le risorse di raccolta. L'`aoss:APIAccessAll`autorizzazione consente l'accesso al piano dati e l'`aoss:DashboardsAccessAll`autorizzazione consente l'accesso alle OpenSearch dashboard dal browser. La mancata aggiunta delle due nuove autorizzazioni IAM genera un errore 403. 

Questa policy di esempio consente a un utente di accedere al piano dati APIs per una raccolta specifica nel proprio account e di accedere alle OpenSearch dashboard per tutte le raccolte nel proprio account.

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

------

Entrambi `aoss:APIAccessAll` `aoss:DashboardsAccessAll` concedi l'autorizzazione IAM completa alle risorse di raccolta, mentre l'autorizzazione Dashboards fornisce anche l'accesso alle OpenSearch dashboard. Ogni autorizzazione funziona in modo indipendente, quindi una negazione esplicita `aoss:APIAccessAll` non blocca `aoss:DashboardsAccessAll` l'accesso alle risorse, inclusi Dev Tools. Lo stesso vale per una negazione dell'accesso. `aoss:DashboardsAccessAll` OpenSearch Serverless supporta le seguenti chiavi di condizione globali: 
+ `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`

Di seguito è riportato un esempio di utilizzo `aws:SourceIp` del blocco condition nella politica IAM del principale per le chiamate sul piano dati:

```
"Condition": {
    "IpAddress": {
         "aws:SourceIp": "203.0.113.0"
    }
}
```

Di seguito è riportato un esempio di utilizzo `aws:SourceVpc` del blocco condition nella politica IAM del principale per le chiamate sul piano dati:

```
"Condition": {
    "StringEquals": {
        "aws:SourceVpc": "vpc-0fdd2445d8EXAMPLE"
    }
}
```

Inoltre, viene offerto supporto per le seguenti chiavi specifiche OpenSearch Serverless: 
+ `aoss:CollectionId`
+ `aoss:collection`

Di seguito è riportato un esempio di utilizzo del blocco condition `aoss:collection` nella politica IAM del principale per le chiamate sul piano dati:

```
"Condition": {
    "StringLike": {
         "aoss:collection": "log-*"
    }
}
```

### ABAC per le operazioni OpenSearch API
<a name="security_iam_id-based-policy-examples-data-plane-abac"></a>

Le policy basate sull'identità consentono di utilizzare i tag per controllare l'accesso al piano dati Amazon OpenSearch Serverless. APIs La seguente politica è un esempio per consentire ai principali collegati di accedere al piano dati APIs se la raccolta ha il tag: `team:devops`

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "aoss:APIAccessAll",
            "Resource": "arn:aws:aoss:us-east-1:111122223333:collection/collection-id",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/team": "devops"
                }
            }
        }
    ]
}
```

------

La seguente politica è un esempio per negare ai principali collegati l'accesso al piano dati APIs e alle dashboard se la raccolta ha il tag: `environment:production`

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "aoss:APIAccessAll",
                "aoss:DashboardsAccessAll"
            ],
            "Resource": "arn:aws:aoss:us-east-1:111122223333:collection/collection-id"
        }
    ]
}
```

------

Amazon OpenSearch Serverless non supporta chiavi `RequestTag` di condizione `TagKeys` globali per il piano APIs dati. 

# Supporto IAM Identity Center per Amazon OpenSearch Serverless
<a name="serverless-iam-identity-center"></a>

## Supporto IAM Identity Center per Amazon OpenSearch Serverless
<a name="serverless-iam-identity-support"></a>

Puoi utilizzare i principali (utenti e gruppi) di IAM Identity Center per accedere ai dati Amazon OpenSearch Serverless tramite Amazon OpenSearch Applications. Per abilitare il supporto di IAM Identity Center per Amazon OpenSearch Serverless, dovrai abilitare l'uso di IAM Identity Center. Per ulteriori informazioni su come eseguire questa operazione, consulta [Cos'è IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)?

**Nota**  
Per accedere alle raccolte Amazon OpenSearch Serverless utilizzando utenti o gruppi IAM Identity Center, devi utilizzare la funzionalità OpenSearch UI (Applications). L'accesso diretto ai dashboard OpenSearch Serverless utilizzando le credenziali IAM Identity Center non è supportato. Per ulteriori informazioni, consulta [Guida introduttiva all' OpenSearch interfaccia](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/application.html) utente.

Dopo aver creato l'istanza IAM Identity Center, l'amministratore dell'account del cliente deve creare un'applicazione IAM Identity Center per il servizio Amazon OpenSearch Serverless. Questo può essere fatto chiamando [CreateSecurityConfig:](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateSecurityConfig.html). L'amministratore dell'account cliente può specificare quali attributi verranno utilizzati per autorizzare la richiesta. Gli attributi predefiniti utilizzati sono e `UserId` `GroupId.`

L'integrazione di IAM Identity Center per Amazon OpenSearch Serverless utilizza le seguenti autorizzazioni AWS IAM Identity Center (IAM):
+ `aoss:CreateSecurityConfig`— Creare un provider IAM Identity Center
+ `aoss:ListSecurityConfig`— Elenca tutti i provider IAM Identity Center presenti nell'account corrente.
+ `aoss:GetSecurityConfig`— Visualizza le informazioni sui provider di IAM Identity Center.
+ `aoss:UpdateSecurityConfig`— Modifica una determinata configurazione di IAM Identity Center
+ `aoss:DeleteSecurityConfig`— Eliminare un provider IAM Identity Center. 

La seguente policy di accesso basata sull'identità può essere utilizzata per gestire tutte le configurazioni di IAM Identity Center:

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

****  

```
{
"Version": "2012-10-17",
    "Statement": [
        {
"Action": [
                "aoss:CreateSecurityConfig",
                "aoss:DeleteSecurityConfig",
                "aoss:GetSecurityConfig",
                "aoss:UpdateSecurityConfig",
                "aoss:ListSecurityConfigs"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

------

**Nota**  
L'`Resource`elemento deve essere un jolly.

## Creazione di un provider IAM Identity Center (console)
<a name="serverless-iam-console"></a>

Puoi creare un provider IAM Identity Center per abilitare l'autenticazione con OpenSearch l'applicazione. Per abilitare l'autenticazione IAM Identity Center for OpenSearch Dashboards, procedi nel seguente modo:

1. Accedi alla [console di Amazon OpenSearch Service](https://console.aws.amazon.com/aos/home.).

1. Nel pannello di navigazione a sinistra, espandi **Serverless** e scegli **Autenticazione**.

1. Scegli l'**autenticazione IAM Identity Center**.

1. Seleziona **Modifica**

1. Seleziona la casella accanto a Autentica con IAM Identity Center.

1. Seleziona la chiave degli attributi **utente e gruppo** dal menu a discesa. Gli attributi utente verranno utilizzati per autorizzare gli utenti in base a `UserName``UserId`, e. `Email` Gli attributi di gruppo verranno utilizzati per autenticare gli utenti in base `GroupName` a e. `GroupId`

1. Seleziona l'istanza **IAM Identity Center**.

1. Seleziona **Salva**

## Creazione del provider IAM Identity Center (AWS CLI)
<a name="serverless-iam-identity-center-cli"></a>

Per creare un provider IAM Identity Center utilizzando AWS Command Line Interface (AWS CLI), utilizza il seguente 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"
}'
```

Dopo aver abilitato un IAM Identity Center, i clienti possono solo modificare gli attributi di **utenti e gruppi**.

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

Per visualizzare il provider IAM Identity Center utilizzando il AWS Command Line Interface, utilizza il seguente comando:

```
aws opensearchserverless list-security-configs --type iamidentitycenter
```

## Eliminazione di un provider IAM Identity Center
<a name="serverless-iam-identity-center-deleting"></a>

 IAM Identity Center offre due istanze di provider, una per l'account dell'organizzazione e una per l'account membro. Se è necessario modificare l'istanza IAM Identity Center, è necessario eliminare la configurazione di sicurezza tramite l'`DeleteSecurityConfig`API e creare una nuova configurazione di sicurezza utilizzando la nuova istanza IAM Identity Center. Il seguente comando può essere utilizzato per eliminare un provider IAM Identity Center:

```
aws opensearchserverless delete-security-config \
--region us-east-1 \
--id <id_from_list_security_configs>
```

## Concessione dell'accesso a IAM Identity Center ai dati di raccolta
<a name="serverless-iam-identity-center-collection-data"></a>

Dopo aver abilitato il provider IAM Identity Center, puoi aggiornare la politica di accesso ai dati di raccolta per includere i principali di IAM Identity Center. I principali di IAM Identity Center devono essere aggiornati nel seguente formato: 

```
[
   {
"Rules":[
       ...  
      ],
      "Principal":[
         "iamidentitycenter/<iamidentitycenter-instance-id>/user/<UserName>",
         "iamidentitycenter/<iamidentitycenter-instance-id>/group/<GroupId>"
      ]
   }
]
```

**Nota**  
Amazon OpenSearch Serverless supporta solo un'istanza IAM Identity Center per tutte le raccolte di clienti e può supportare fino a 100 gruppi per un singolo utente. Se tenti di utilizzare un numero di istanze superiore a quello consentito, potresti riscontrare un'incoerenza nell'elaborazione delle autorizzazioni relative alla politica di accesso ai dati e riceverai un `403` messaggio di errore. 

Puoi concedere l'accesso a raccolte, a indici o a entrambi. Se desideri che utenti diversi abbiano autorizzazioni diverse, dovrai creare più regole. Per un elenco delle autorizzazioni disponibili, consulta [Identity and Access Management in Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ac.html). Per informazioni su come formattare una politica di accesso, consulta [Concedere alle identità SAML l'accesso ai](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-saml.html#serverless-saml-policies) dati di raccolta. 

# Crittografia in Amazon OpenSearch Serverless
<a name="serverless-encryption"></a>

## Crittografia dei dati a riposo
<a name="serverless-encryption-at-rest"></a>

Ogni raccolta Amazon OpenSearch Serverless che crei è protetta con la crittografia dei dati inattivi, una funzionalità di sicurezza che aiuta a prevenire l'accesso non autorizzato ai tuoi dati. Encryption at rest utilizza AWS Key Management Service (AWS KMS) per archiviare e gestire le chiavi di crittografia. Per eseguire la crittografia, utilizza l'algoritmo Advanced Encryption Standard con chiavi a 256 bit (AES-256).

**Topics**
+ [Policy di crittografia](#serverless-encryption-policies)
+ [Considerazioni](#serverless-encryption-considerations)
+ [Autorizzazioni richieste](#serverless-encryption-permissions)
+ [Policy della chiave per una chiave gestita dal cliente](#serverless-customer-cmk-policy)
+ [In OpenSearch che modo Serverless utilizza le sovvenzioni in AWS KMS](#serverless-encryption-grants)
+ [Creazione di policy di crittografia (console)](#serverless-encryption-console)
+ [Creazione di policy di crittografia (AWS CLI)](#serverless-encryption-cli)
+ [Visualizzazione delle policy di crittografia](#serverless-encryption-list)
+ [Aggiornamento di policy di crittografia](#serverless-encryption-update)
+ [Eliminazione delle policy di crittografia](#serverless-encryption-delete)

### Policy di crittografia
<a name="serverless-encryption-policies"></a>

Con le policy di crittografia è possibile gestire molte raccolte su larga scala assegnando automaticamente una chiave di crittografia alle raccolte appena create che corrispondono a un nome o a un modello specifico.

Quando si crea una policy di crittografia, è possibile specificare un *prefisso*, ossia una regola di corrispondenza basata su caratteri jolly come `MyCollection*`, oppure inserire un unico nome di raccolta. Quindi, quando si crea una raccolta che corrisponde a tale modello di prefisso o nome, ad essa vengono assegnate automaticamente la policy e la chiave KMS corrispondenti.

Quando si crea una raccolta, è possibile specificare una AWS KMS chiave in due modi: tramite politiche di sicurezza o direttamente nella `CreateCollection` richiesta. Se fornite una AWS KMS chiave come parte della `CreateCollection` richiesta, questa ha la precedenza su qualsiasi politica di sicurezza corrispondente. Con questo approccio, hai la flessibilità di ignorare le impostazioni di crittografia basate su policy per raccolte specifiche quando necessario.

![\[Encryption policy creation process with rules and collection matching to KMS key.\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/images/serverless-encryption.png)


Le policy di crittografia contengono i seguenti elementi:
+ `Rules`: una o più regole di abbinamento delle raccolte, ciascuna con i seguenti sottoelementi:
  + `ResourceType`: attualmente l'unica opzione è "raccolta". Le policy di crittografia si applicano solo alle risorse di raccolta.
  + `Resource`: uno o più nomi o modelli di raccolta a cui si applicherà la policy, nel formato `collection/<collection name|pattern>`.
+ `AWSOwnedKey`: se usare o meno una Chiave di proprietà di AWS.
+ `KmsARN`: se impostati `AWSOwnedKey` su falso, specifica il nome della risorsa Amazon (ARN) della chiave KMS con cui crittografare le raccolte associate. Se si include questo parametro, OpenSearch Serverless lo ignora. `AWSOwnedKey`

La seguente policy di esempio assegnerà una chiave gestita dal cliente a qualsiasi raccolta futura denominata `autopartsinventory`, nonché alle raccolte che iniziano con il termine "vendite":

```
{
   "Rules":[
      {
         "ResourceType":"collection",
         "Resource":[
            "collection/autopartsinventory",
            "collection/sales*"
         ]
      }
   ],
   "AWSOwnedKey":false,
   "KmsARN":"arn:aws:kms:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36"
}
```

Anche se una policy corrisponde al nome di una raccolta, è possibile scegliere di sovrascrivere tale assegnazione automatica durante la creazione della raccolta se il modello di risorsa contiene un carattere jolly (\$1). Se scegli di ignorare l'assegnazione automatica delle chiavi, OpenSearch Serverless crea per te una politica di crittografia denominata **auto-< *collection-name* >** e la allega alla raccolta. La policy inizialmente si applica solo a una singola raccolta, ma è possibile modificarla per includere raccolte aggiuntive.

Se modifichi le regole delle policy in modo che non corrispondano più a una raccolta, la chiave KMS associata non verrà annullata da tale raccolta. La raccolta rimane sempre crittografata con la sua chiave di crittografia iniziale. Se desideri modificare la chiave di crittografia per una raccolta, è necessario creare nuovamente la raccolta.

Se a una raccolta corrispondono le regole di più policy, viene utilizzata la regola più specifica. Ad esempio, se una policy contiene una regola per `collection/log*` e un'altra per `collection/logSpecial`, la chiave di crittografia per la seconda policy viene utilizzata in quanto è più specifica.

Non è possibile utilizzare un nome o un prefisso in una politica se esiste già in un'altra politica. OpenSearch Serverless visualizza un errore se si tenta di configurare modelli di risorse identici in diverse politiche di crittografia.

### Considerazioni
<a name="serverless-encryption-considerations"></a>

Quando configuri la crittografia per le tue raccolte considera quanto segue:
+ La crittografia dei dati inattivi è *obbligatoria* per tutte le raccolte serverless.
+ Hai la possibilità di utilizzare una chiave gestita dal cliente o una Chiave di proprietà di AWS. Se scegli una chiave gestita dal cliente, ti consigliamo di abilitare la [rotazione automatica delle chiavi](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html).
+ Dopo la creazione di una raccolta non è possibile modificarne la chiave di crittografia. Scegliete con AWS KMS attenzione quale utilizzare la prima volta che configurate una raccolta.
+ Una raccolta può corrispondere solo a una singola policy di crittografia.
+ Le raccolte con chiavi KMS uniche non possono condividere le unità di OpenSearch calcolo (OCUs) con altre raccolte. Ogni raccolta con una chiave unica richiede le sue 4. OCUs
+ Se aggiorni la chiave KMS in una policy di crittografia, la modifica non influirà sulle corrispondenti raccolte esistenti a cui sono state già assegnate chiavi KMS.
+ OpenSearch Serverless non controlla esplicitamente le autorizzazioni degli utenti sulle chiavi gestite dal cliente. Se un utente dispone delle autorizzazioni per accedere a una raccolta tramite una policy di accesso ai dati, sarà in grado di inserire e interrogare i dati crittografati con la chiave associata.

### Autorizzazioni richieste
<a name="serverless-encryption-permissions"></a>

Encryption at rest for OpenSearch Serverless utilizza le seguenti autorizzazioni AWS Identity and Access Management (IAM). È possibile specificare le condizioni IAM per limitare gli utenti a raccolte specifiche.
+ `aoss:CreateSecurityPolicy`: crea una policy di crittografia.
+ `aoss:ListSecurityPolicies`: elenca tutte le policy e le raccolte di crittografia a cui sono allegate.
+ `aoss:GetSecurityPolicy`: visualizza i dettagli di una policy di crittografia specifica.
+ `aoss:UpdateSecurityPolicy`: modifica una policy di crittografia.
+ `aoss:DeleteSecurityPolicy`: elimina una policy di crittografia.

Il seguente esempio di policy di accesso basata sull'identità fornisce le autorizzazioni minime necessarie all'utente per gestire le policy di crittografia con il modello di risorsa `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":"*"
      }
   ]
}
```

------

### Policy della chiave per una chiave gestita dal cliente
<a name="serverless-customer-cmk-policy"></a>

Se si seleziona una [chiave gestita dal cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) per proteggere una raccolta, OpenSearch Serverless ottiene l'autorizzazione a utilizzare la chiave KMS per conto del principale che effettua la selezione. Tale principale, un utente o un ruolo, deve disporre delle autorizzazioni sulla chiave KMS richieste da Serverless. OpenSearch Puoi fornire queste autorizzazioni in una [policy delle chiavi](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) o in una [policy IAM](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html).

OpenSearch Serverless effettua chiamate API `Decrypt` KMS durante le operazioni di manutenzione, come la scalabilità automatica `GenerateDataKey` e gli aggiornamenti software. Potresti osservare queste chiamate al di fuori dei tuoi schemi di traffico tipici. Queste chiamate fanno parte delle normali operazioni di servizio e non indicano traffico utente attivo. 

OpenSearch Serverless genera un messaggio `KMSKeyInaccessibleException` quando non può accedere alla chiave KMS che crittografa i dati inattivi. Ciò si verifica quando si disabilita o si elimina la chiave KMS o si revocano le concessioni che consentono a Serverless di utilizzare la chiave. OpenSearch 

 OpenSearch Serverless richiede almeno le seguenti autorizzazioni su una chiave gestita dal cliente:
+ [km: DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)
+ [km: CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)

Esempio:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
        "Action": "kms:DescribeKey",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::123456789012:user/Dale"
        },
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "kms:ViaService": "aoss.us-east-1.amazonaws.com"
            }
        }
    },
    {
        "Action": "kms:CreateGrant",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::123456789012:user/Dale"
        },
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "kms:ViaService": "aoss.us-east-1.amazonaws.com"
            },
            "ForAllValues:StringEquals": {
                "kms:GrantOperations": [
                    "Decrypt",
                    "GenerateDataKey"
                ]
            },
            "Bool": {
                "kms:GrantIsForAWSResource": "true"
            }
        }
    }
  ]
}
```

------

OpenSearch [Serverless crea una concessione con le autorizzazioni [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)

Per ulteriori informazioni, consulta [Utilizzo delle policy delle chiavi in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) nella *Guida per gli sviluppatori di AWS Key Management Service *.

### In OpenSearch che modo Serverless utilizza le sovvenzioni in AWS KMS
<a name="serverless-encryption-grants"></a>

OpenSearch Serverless richiede una [concessione](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) per utilizzare una chiave gestita dal cliente.

Quando crei una politica di crittografia nel tuo account con una nuova chiave, OpenSearch Serverless crea una concessione per tuo conto inviando una [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)richiesta a. AWS KMS Le concessioni AWS KMS vengono utilizzate per fornire a OpenSearch Serverless l'accesso a una chiave KMS in un account cliente.

OpenSearch Serverless richiede la concessione per utilizzare la chiave gestita dal cliente per le seguenti operazioni interne:
+ Invia [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)richieste AWS KMS a per verificare che l'ID della chiave gestita dal cliente simmetrico fornito sia valido. 
+ Invia [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)le richieste alla chiave KMS per creare chiavi di dati con cui crittografare gli oggetti.
+ Invia richieste [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) a per AWS KMS decrittografare le chiavi di dati crittografate in modo che possano essere utilizzate per crittografare i dati. 

Puoi revocare l'accesso alla concessione o rimuovere l'accesso del servizio alla chiave gestita dal cliente in qualsiasi momento. In tal caso, OpenSearch Serverless non sarà in grado di accedere a nessuno dei dati crittografati dalla chiave gestita dal cliente, il che influirà su tutte le operazioni che dipendono da tali dati, causando `AccessDeniedException` errori e guasti nei flussi di lavoro asincroni.

OpenSearch Serverless annulla le sovvenzioni in un flusso di lavoro asincrono quando una determinata chiave gestita dal cliente non è associata a politiche o raccolte di sicurezza.

### Creazione di policy di crittografia (console)
<a name="serverless-encryption-console"></a>

In una policy di crittografia, si specifica una chiave KMS e una serie di modelli di raccolta a cui verrà applicata la policy. A qualsiasi nuova raccolta che corrisponde a uno dei modelli definiti nella policy verrà assegnata la chiave KMS corrispondente al momento della creazione della raccolta. Consigliamo di creare policy di crittografia *prima* di iniziare a creare raccolte.

**Per creare una politica di crittografia Serverless OpenSearch**

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

1. Nel pannello di navigazione a sinistra, espandi **Serverless** e scegli **Encryption policies** (Policy di crittografia).

1. Scegli **Create encryption policy** (Crea policy di crittografia).

1. Fornisci un nome e una descrizione per la policy.

1. In **Resources** (Risorse), inserisci uno o più modelli di risorse per questa policy di crittografia. Tutte le nuove raccolte create nella Regione e nell' Account AWS attuali che corrispondono a uno dei modelli vengono automaticamente assegnate a questa policy. Ad esempio, se inserisci `ApplicationLogs` (senza caratteri jolly) e successivamente crei una raccolta con quel nome, la policy e la chiave KMS corrispondente vengono assegnate a tale raccolta.

   Puoi anche fornire un prefisso, ad esempio `Logs*`, che assegni la policy a tutte le nuove raccolte i cui nomi iniziano con `Logs`. Utilizzando i caratteri jolly, puoi gestire le impostazioni di crittografia per varie raccolte su larga scala.

1. In **Encryption** (Crittografia), scegli una chiave KMS da usare.

1. Scegli **Create** (Crea).

#### Fase successiva: creazione di raccolte
<a name="serverless-encryption-next"></a>

Dopo aver configurato una o più policy di crittografia, puoi iniziare a creare raccolte che corrispondono alle regole definite in tali policy. Per istruzioni, consulta [Creazione di raccolte](serverless-create.md).

Nella fase di **crittografia** della creazione della raccolta, OpenSearch Serverless ti informa che il nome che hai inserito corrisponde al modello definito in una politica di crittografia e assegna automaticamente la chiave KMS corrispondente alla raccolta. Se il modello di risorsa contiene un carattere jolly (\$1), puoi scegliere di ignorare la corrispondenza e selezionare la tua chiave.

### Creazione di policy di crittografia (AWS CLI)
<a name="serverless-encryption-cli"></a>

Per creare una politica di crittografia utilizzando le operazioni dell'API OpenSearch Serverless, si specificano modelli di risorse e una chiave di crittografia in formato JSON. La [CreateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateSecurityPolicy.html)richiesta accetta sia le politiche in linea che i file.json.

Le policy di crittografia assumono il formato seguente. Questo file `my-policy.json` di esempio corrisponde a qualsiasi raccolta futura denominata `autopartsinventory`, nonché a qualsiasi raccolta con nomi che iniziano con `sales`.

```
{
   "Rules":[
      {
         "ResourceType":"collection",
         "Resource":[
            "collection/autopartsinventory",
            "collection/sales*"
         ]
      }
   ],
   "AWSOwnedKey":false,
   "KmsARN":"arn:aws:kms:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36"
}
```

Per utilizzare una chiave di proprietà del servizio, imposta `AWSOwnedKey` su `true`:

```
{
   "Rules":[
      {
         "ResourceType":"collection",
         "Resource":[
            "collection/autopartsinventory",
            "collection/sales*"
         ]
      }
   ],
   "AWSOwnedKey":true
}
```

La seguente richiesta crea la policy di crittografia:

```
aws opensearchserverless create-security-policy \
    --name sales-inventory \
    --type encryption \
    --policy file://my-policy.json
```

Quindi, utilizzate l'operazione [CreateCollection](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateCollection.html)API per creare una o più raccolte che corrispondono a uno dei modelli di risorse.

### Visualizzazione delle policy di crittografia
<a name="serverless-encryption-list"></a>

Prima di creare una raccolta, hai la possibilità di visualizzare in anteprima le policy di crittografia esistenti nel tuo account per vedere quali hanno uno schema di risorse che corrisponde al nome della raccolta. La seguente [ListSecurityPolicies](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListSecurityPolicies.html)richiesta elenca tutte le politiche di crittografia del tuo account:

```
aws opensearchserverless list-security-policies --type encryption
```

La richiesta restituisce informazioni su tutte le policy di crittografia configurate. Utilizza i contenuti dell'elemento `policy` per visualizzare le regole del modello definite nella policy:

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

Per visualizzare informazioni dettagliate su una politica specifica, inclusa la chiave KMS, usa il [GetSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetSecurityPolicy.html)comando.

### Aggiornamento di policy di crittografia
<a name="serverless-encryption-update"></a>

Se aggiorni la chiave KMS in una policy di crittografia, la modifica verrà applicata solo alle raccolte appena create che corrispondono al nome o al modello configurato. Non influisce sulle raccolte esistenti a cui sono già assegnate chiavi KMS. 

Lo stesso vale per le regole di abbinamento delle policy. Se aggiungi, modifichi o elimini una regola, la modifica si applica solo alle raccolte appena create. Se modifichi le regole di una policy in modo che non corrisponda più al nome di una raccolta, le raccolte esistenti non perdono la chiave KMS assegnata.

**Per aggiornare una politica di crittografia nella console OpenSearch Serverless, scegli **Politiche di crittografia**, seleziona la politica da modificare e scegli Modifica.** Apporta le modifiche necessarie, quindi scegli **Save** (Salva).

Per aggiornare una politica di crittografia utilizzando l'API OpenSearch Serverless, utilizza l'[UpdateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateSecurityPolicy.html)operazione. La seguente richiesta aggiorna una policy di crittografia con un nuovo documento JSON della policy:

```
aws opensearchserverless update-security-policy \
    --name sales-inventory \
    --type encryption \
    --policy-version 2 \
    --policy file://my-new-policy.json
```

### Eliminazione delle policy di crittografia
<a name="serverless-encryption-delete"></a>

Quando elimini una policy di crittografia, tutte le raccolte che attualmente utilizzano la chiave KMS definita nella policy non saranno modificate. **Per eliminare una policy nella console OpenSearch Serverless, seleziona la policy e scegli Elimina.**

Puoi anche utilizzare l'[DeleteSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_DeleteSecurityPolicy.html)operazione:

```
aws opensearchserverless delete-security-policy --name my-policy --type encryption
```

## Crittografia dei dati in transito
<a name="serverless-encryption-in-transit"></a>

In OpenSearch Serverless, tutti i percorsi di una raccolta sono crittografati in transito utilizzando Transport Layer Security 1.2 (TLS) con un codice AES-256 standard di settore. L'accesso a tutti APIs e alle dashboard di Opensearch avviene anche tramite TLS 1.2. TLS è un insieme di protocolli crittografici standard del settore utilizzati per crittografare le informazioni scambiate sulla rete.

# Accesso alla rete per Amazon OpenSearch Serverless
<a name="serverless-network"></a>

Le impostazioni di rete per una raccolta Amazon OpenSearch Serverless determinano se la raccolta è accessibile su Internet da reti pubbliche o se è necessario accedervi privatamente.

L'accesso privato può applicarsi a uno o entrambi i seguenti elementi:
+ OpenSearch Endpoint VPC gestiti senza server
+ Supportato Servizi AWS come Amazon Bedrock

Puoi configurare l'accesso alla rete separatamente per l'endpoint di una raccolta e l'*OpenSearch*endpoint *OpenSearch Dashboards* corrispondente.

L'accesso alla rete è il meccanismo di isolamento che consente l'accesso da diverse reti di origine. Ad esempio, se l'endpoint OpenSearch Dashboards di una raccolta è accessibile pubblicamente ma l'endpoint OpenSearch API no, un utente può accedere ai dati della raccolta solo tramite Dashboards quando si connette da una rete pubblica. Se provano a chiamarli OpenSearch APIs direttamente da una rete pubblica, verranno bloccati. Le impostazioni di rete possono essere utilizzate per tali permutazioni dall'origine al tipo di risorsa. Amazon OpenSearch Serverless supporta sia la connettività che IPv4 la IPv6 connettività.

**Topics**
+ [Policy di rete](#serverless-network-policies)
+ [Considerazioni](#serverless-network-considerations)
+ [Autorizzazioni necessarie per configurare le politiche di rete](#serverless-network-permissions)
+ [Priorità delle policy](#serverless-network-precedence)
+ [Creazione di policy di rete (console)](#serverless-network-console)
+ [Creazione di policy di rete (AWS CLI)](#serverless-network-cli)
+ [Visualizzazione delle policy di rete](#serverless-network-list)
+ [Aggiornamento delle policy di rete](#serverless-network-update)
+ [Eliminazione delle policy di rete](#serverless-network-delete)

## Policy di rete
<a name="serverless-network-policies"></a>

Le policy di rete consentono di gestire molte raccolte su larga scala assegnando automaticamente le impostazioni di accesso alla rete alle raccolte che corrispondono alle regole definite nella policy.

In una policy di rete, si specifica una serie di *regole*. Queste regole definiscono le autorizzazioni di accesso agli endpoint di raccolta e OpenSearch agli endpoint di Dashboards. Ogni regola è composta da un tipo di accesso (pubblico o privato) e da un tipo di risorsa (raccolta e/o OpenSearch endpoint Dashboards). Per ogni tipo di risorsa (`collection` e `dashboard`), si specifica una serie di regole che definiscono a quali raccolte si applicherà la policy.

In questa policy di esempio, la prima regola specifica l'accesso degli endpoint VPC sia all'endpoint di raccolta che all'endpoint Dashboards per tutte le raccolte che iniziano con il termine. `marketing*` Specifica inoltre l'accesso ad Amazon Bedrock. 

**Nota**  
L'accesso privato Servizi AWS ad Amazon Bedrock si applica *solo* all'endpoint della raccolta, non all' OpenSearch endpoint OpenSearch Dashboards. Anche se lo `ResourceType` è`dashboard`, Servizi AWS non può essere concesso l'accesso alle dashboard. OpenSearch 

La seconda regola specifica l'accesso pubblico alla raccolta `finance`, ma solo per l'endpoint di raccolta (nessun accesso a 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
   }
]
```

Questa politica fornisce l'accesso pubblico solo alle OpenSearch dashboard per le raccolte che iniziano con «finanza». Qualsiasi tentativo di accedere direttamente all' OpenSearch API fallirà.

```
[
  {
    "Description": "Dashboards access",
    "Rules": [
      {
        "ResourceType": "dashboard",
        "Resource": [
          "collection/finance*"
        ]
      }
    ],
    "AllowFromPublic": true
  }
]
```

Le policy di rete possono essere applicate alle raccolte esistenti e alle raccolte future. Ad esempio, è possibile creare una raccolta e quindi creare una policy di rete con una regola che corrisponda al nome della raccolta. Non è necessario creare policy di rete prima di creare le raccolte.

## Considerazioni
<a name="serverless-network-considerations"></a>

Quando configuri l'accesso di rete per le tue raccolte considera quanto segue:
+ [Se prevedi di configurare l'accesso agli endpoint VPC per una raccolta, devi prima creare almeno un endpoint VPC gestito senza server. OpenSearch ](serverless-vpc.md)
+ L'accesso privato a si applica Servizi AWS solo all'endpoint della raccolta, non all' OpenSearchendpoint Dashboards. OpenSearch Anche se lo `ResourceType` è`dashboard`, Servizi AWS non può essere concesso l'accesso alle dashboard. OpenSearch 
+ Se una raccolta è accessibile dalle reti pubbliche, è accessibile anche da tutti gli endpoint VPC OpenSearch gestiti senza server e tutto il resto. Servizi AWS
+ A una singola raccolta possono essere applicate più policy di rete. Per ulteriori informazioni, consulta [Priorità delle policy](#serverless-network-precedence).

## Autorizzazioni necessarie per configurare le politiche di rete
<a name="serverless-network-permissions"></a>

L'accesso alla rete per OpenSearch Serverless utilizza le seguenti autorizzazioni AWS Identity and Access Management (IAM). È possibile specificare le condizioni IAM per limitare gli utenti alle policy di rete associate a raccolte specifiche.
+ `aoss:CreateSecurityPolicy`: crea una policy di accesso alla rete.
+ `aoss:ListSecurityPolicies`: elenca tutte le policy di rete nell'account corrente.
+ `aoss:GetSecurityPolicy`: visualizza una specifica della policy di accesso alla rete.
+ `aoss:UpdateSecurityPolicy`: modifica una determinata policy di accesso alla rete e modifica l'ID VPC o la designazione di accesso pubblico.
+ `aoss:DeleteSecurityPolicy`: elimina una policy di accesso alla rete (dopo che è stata scollegata da tutte le raccolte).

La seguente policy di accesso basata sull'identità consente a un utente di visualizzare tutte le policy di rete e di aggiornarle in base al modello delle risorse `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**  
Inoltre, OpenSearch Serverless richiede le autorizzazioni `aoss:APIAccessAll` e le `aoss:DashboardsAccessAll` autorizzazioni per le risorse di raccolta. Per ulteriori informazioni, consulta [Utilizzo delle operazioni OpenSearch API](security-iam-serverless.md#security_iam_id-based-policy-examples-data-plane).

## Priorità delle policy
<a name="serverless-network-precedence"></a>

Possono verificarsi situazioni in cui le regole delle policy di rete si sovrappongono, all'interno delle policy o tra di esse. *Quando ciò accade, una regola che specifica l'accesso pubblico ha la precedenza su una regola che specifica l'accesso privato per tutte le raccolte comuni a entrambe le regole.*

Ad esempio, nella policy seguente, entrambe le regole assegnano l'accesso di rete alla raccolta `finance`, ma una regola specifica l'accesso VPC mentre l'altra specifica l'accesso pubblico. In questa situazione, l'accesso pubblico prevale sull'accesso al VPC *solo per la raccolta "finance"* (poiché esiste in entrambe le regole), quindi la raccolta "finance" sarà accessibile dalle reti pubbliche. La raccolta delle vendite avrà accesso al VPC dall'endpoint specificato.

```
[
   {
      "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 a una raccolta si applicano più endpoint VPC di regole diverse, la raccolta sarà accessibile da tutti gli endpoint specificati in quanto le regole sono additive. Se lo `AllowFromPublic` imposti `true` ma ne fornisci anche uno o più `SourceVPCEs` oppure`SourceServices`, OpenSearch Serverless ignora gli endpoint VPC e gli identificatori del servizio e le raccolte associate avranno accesso pubblico.

## Creazione di policy di rete (console)
<a name="serverless-network-console"></a>

Le policy di rete possono essere applicate alle raccolte esistenti e alle raccolte future. Consigliamo di creare le policy di rete prima di iniziare a creare raccolte.

**Per creare una policy di rete Serverless OpenSearch**

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

1. Nel pannello di navigazione a sinistra, espandi **Serverless** e scegli **Network policies** (Policy di rete).

1. Scegli **Create network policy** (Crea policy di rete).

1. Fornisci un nome e una descrizione per la policy.

1. Fornisci una o più *regole*. Queste regole definiscono le autorizzazioni di accesso per le tue raccolte OpenSearch Serverless e i relativi endpoint OpenSearch Dashboard.

   Ogni regola contiene i seguenti elementi:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-network.html)

   Per ogni tipo di risorsa selezionato, puoi scegliere raccolte esistenti a cui applicare le impostazioni dei criteri, and/or creare uno o più modelli di risorse. I modelli di risorse sono costituiti da un prefisso e da un carattere jolly (\$1), e definiscono a quali raccolte si applicheranno le impostazioni delle policy. 

   Ad esempio, se includi un modello denominato `Marketing*`, a qualsiasi raccolta nuova o esistente il cui nome inizia con "Marketing" verranno applicate automaticamente le impostazioni di rete di questa policy. Una singolo carattere jolly (`*`) applica la policy a tutte le raccolte attuali e future.

   Inoltre, potete specificare il nome di una collezione *futura* senza caratteri jolly, ad esempio`Finance`. OpenSearch Serverless applicherà le impostazioni dei criteri a qualsiasi raccolta appena creata con quel nome esatto.

1. Quando sei soddisfatto della configurazione della policy, scegli **Create** (Crea).

## Creazione di policy di rete (AWS CLI)
<a name="serverless-network-cli"></a>

Per creare una politica di rete utilizzando le operazioni dell'API OpenSearch Serverless, specificate le regole in formato JSON. La [CreateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateSecurityPolicy.html)richiesta accetta sia le politiche in linea che i file.json. Tutte le raccolte e i modelli devono assumere la forma `collection/<collection name|pattern>`.

**Nota**  
Il tipo di risorsa consente `dashboards` solo l'autorizzazione alle OpenSearch dashboard, ma per far funzionare le OpenSearch dashboard è necessario consentire anche l'accesso alla raccolta dalle stesse fonti. Osserva la seconda policy di seguito per un esempio.

Per specificare l'accesso privato, includi uno o entrambi i seguenti elementi:
+ `SourceVPCEs`— Specificare uno o più endpoint OpenSearch VPC gestiti senza server.
+ `SourceServices`— Specificare l'identificatore di uno o più supportati. Servizi AWS Attualmente sono supportati i seguenti identificatori di servizio:
  + `bedrock.amazonaws.com`— Amazon Bedrock

La seguente policy di rete di esempio fornisce l'accesso privato, a un endpoint VPC e Amazon Bedrock, agli endpoint di raccolta solo per le raccolte che iniziano con il prefisso. `log*` Gli utenti autenticati non possono accedere alle OpenSearch dashboard; possono solo accedere all'endpoint di raccolta a livello di codice.

```
[
   {
      "Description":"Private access for log collections",
      "Rules":[
         {
            "ResourceType":"collection",
            "Resource":[
               "collection/log*"
            ]
         }
      ],
      "AllowFromPublic":false,
      "SourceVPCEs":[
         "vpce-050f79086ee71ac05"
      ],
      "SourceServices":[
         "bedrock.amazonaws.com"
      ],
   }
]
```

La seguente politica fornisce l'accesso pubblico all' OpenSearch endpoint *e* alle OpenSearch dashboard per una singola raccolta denominata. `finance` Se la raccolta non esiste, le impostazioni di rete verranno applicate alla raccolta se e quando viene creata.

```
[
   {
      "Description":"Public access for finance collection",
      "Rules":[
         {
            "ResourceType":"dashboard",
            "Resource":[
               "collection/finance"
            ]
         },
         {
            "ResourceType":"collection",
            "Resource":[
               "collection/finance"
            ]
         }
      ],
      "AllowFromPublic":true
   }
]
```

La seguente richiesta crea la policy di rete di cui sopra:

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

Per fornire la policy in un file JSON, utilizzare il formato `--policy file://my-policy.json`

## Visualizzazione delle policy di rete
<a name="serverless-network-list"></a>

Prima di creare una raccolta, hai la possibilità di visualizzare in anteprima le policy di rete esistenti nel tuo account per vedere quali hanno uno schema di risorse che corrisponde al nome della raccolta. La [ListSecurityPolicies](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListSecurityPolicies.html)richiesta seguente elenca tutte le politiche di rete del tuo account:

```
aws opensearchserverless list-security-policies --type network
```

La richiesta restituisce informazioni su tutte le policy di rete configurate. Per visualizzare le regole del modello definite in una politica specifica, trova le informazioni sulla politica nel contenuto dell'`securityPolicySummaries`elemento nella risposta. Prendi nota della `name` fine `type` di questa politica e utilizza queste proprietà in una [GetSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetSecurityPolicy.html)richiesta per ricevere una risposta con i seguenti dettagli della politica: 

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

Per visualizzare informazioni dettagliate su una politica specifica, utilizzare il [GetSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetSecurityPolicy.html)comando.

## Aggiornamento delle policy di rete
<a name="serverless-network-update"></a>

Quando si modificano gli endpoint VPC o la designazione di accesso pubblico per una rete, vengono interessate anche tutte le raccolte associate. Per aggiornare una politica di rete nella console OpenSearch Serverless, espandi **Criteri di rete**, seleziona la politica da modificare e scegli **Modifica**. Apporta le modifiche necessarie, quindi scegli **Save** (Salva).

Per aggiornare una politica di rete utilizzando l'API OpenSearch Serverless, usa il [UpdateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateSecurityPolicy.html)comando. È necessario includere una versione della policy nella richiesta. È possibile recuperare la versione della policy utilizzando i comandi `ListSecurityPolicies` o `GetSecurityPolicy`. L'inclusione della versione più recente delle policy garantisce di non sovrascrivere inavvertitamente una modifica apportata da qualcun altro. 

La seguente richiesta aggiorna una policy di rete con un nuovo documento JSON della policy:

```
aws opensearchserverless update-security-policy \
    --name sales-inventory \
    --type network \
    --policy-version MTY2MzY5MTY1MDA3Ml8x \
    --policy file://my-new-policy.json
```

## Eliminazione delle policy di rete
<a name="serverless-network-delete"></a>

Prima di eliminare una policy di rete, è necessario scollegarla da tutte le raccolte. **Per eliminare una policy nella console OpenSearch Serverless, seleziona la policy e scegli Elimina.**

Puoi anche usare il [DeleteSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_DeleteSecurityPolicy.html)comando:

```
aws opensearchserverless delete-security-policy --name my-policy --type network
```

# Conformità FIPS in Amazon Serverless OpenSearch
<a name="fips-compliance-opensearch-serverless"></a>

Amazon OpenSearch Serverless supporta il Federal Information Processing Standards (FIPS) 140-2, uno standard governativo statunitense e canadese che specifica i requisiti di sicurezza per i moduli crittografici che proteggono le informazioni sensibili. Quando ti connetti a endpoint compatibili con FIPS con OpenSearch Serverless, le operazioni crittografiche avvengono utilizzando librerie crittografiche convalidate FIPS.

OpenSearch Gli endpoint FIPS serverless sono disponibili laddove è supportato FIPS. Regioni AWS Questi endpoint utilizzano TLS 1.2 o versioni successive e algoritmi crittografici convalidati da FIPS per tutte le comunicazioni. *Per ulteriori informazioni, consulta la conformità [FIPS](https://docs.aws.amazon.com/verified-access/latest/ug/fips-compliance.html) nella Guida per l'utente ad accesso verificato.AWS *

**Topics**
+ [Utilizzo degli endpoint FIPS con Serverless OpenSearch](#using-fips-endpoints-opensearch-serverless)
+ [Utilizza gli endpoint FIPS con AWS SDKs](#using-fips-endpoints-aws-sdks)
+ [Configurazione dei gruppi di sicurezza per gli endpoint VPC](#configuring-security-groups-vpc-endpoints)
+ [Usa l'endpoint FIPS VPC](#using-fips-vpc-endpoint)
+ [Verifica la conformità FIPS](#verifying-fips-compliance)
+ [Risolvi i problemi di connettività degli endpoint FIPS nelle zone ospitate private](serverless-fips-endpoint-issues.md)

## Utilizzo degli endpoint FIPS con Serverless OpenSearch
<a name="using-fips-endpoints-opensearch-serverless"></a>

 Regioni AWS Laddove è supportato FIPS, le raccolte OpenSearch Serverless sono accessibili tramite endpoint standard e conformi a FIPS. *Per ulteriori informazioni, consulta la conformità [FIPS](https://docs.aws.amazon.com/verified-access/latest/ug/fips-compliance.html) nella Guida per l'utente ad accesso verificato.AWS *

Negli esempi seguenti, sostituisci *collection\$1id* e *Regione AWS* con il tuo ID di raccolta e il relativo Regione AWS.
+ **Endpoint standard**:**https://*collection\$1id*.*Regione AWS*.aoss.amazonaws.com**.
+ **Endpoint conforme allo standard FIPS:**. **https://*collection\$1id*.*Regione AWS*.aoss-fips.amazonaws.com**

Allo stesso modo, le OpenSearch dashboard sono accessibili tramite endpoint standard e conformi a FIPS:
+ Endpoint di **dashboard** standard:. **https://*collection\$1id*.*Regione AWS*.aoss.amazonaws.com/\$1dashboards**
+ **Endpoint di dashboard conformi allo standard FIPS:**. **https://*collection\$1id*.*Regione AWS*.aoss-fips.amazonaws.com/\$1dashboards**

**Nota**  
Nelle regioni abilitate alla FIPS, gli endpoint standard e conformi allo standard FIPS forniscono una crittografia conforme allo standard FIPS. **Gli endpoint specifici per FIPS consentono di soddisfare i requisiti di conformità che impongono specificamente l'uso di endpoint con FIPS nel nome.**

## Utilizza gli endpoint FIPS con AWS SDKs
<a name="using-fips-endpoints-aws-sdks"></a>

Quando si utilizza AWS SDKs, è possibile specificare l'endpoint FIPS durante la creazione del client. Nell'esempio seguente, sostituisci *collection\$1id* e *Regione AWS* con il tuo ID di raccolta e il relativo. Regione AWS

```
# Python SDK example
from opensearchpy import OpenSearch, RequestsHttpConnection, AWSV4SignerAuth
import boto3
host = '"https://collection_id.Regione 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
)
```

## Configurazione dei gruppi di sicurezza per gli endpoint VPC
<a name="configuring-security-groups-vpc-endpoints"></a>

Per garantire una comunicazione corretta con il tuo endpoint Amazon VPC (VPC) conforme a FIPS, crea o modifica un gruppo di sicurezza per consentire il traffico HTTPS in entrata (porta TCP 443) dalle risorse del tuo VPC che devono accedere a Serverless. OpenSearch Quindi associa questo gruppo di sicurezza al tuo endpoint VPC durante la creazione o modificando l'endpoint dopo la creazione. Per ulteriori informazioni, consulta [Creazione di un gruppo di sicurezza](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html) nella *Guida per l'utente di Amazon VPC*.

## Usa l'endpoint FIPS VPC
<a name="using-fips-vpc-endpoint"></a>

Dopo aver creato l'endpoint VPC conforme a FIPS, puoi utilizzarlo per accedere OpenSearch a Serverless dalle risorse all'interno del tuo VPC. Per utilizzare l'endpoint per le operazioni API, configura il tuo SDK per utilizzare l'endpoint FIPS regionale come descritto nella sezione. [Utilizzo degli endpoint FIPS con Serverless OpenSearch](#using-fips-endpoints-opensearch-serverless) Per accedere alle OpenSearch dashboard, utilizza l'URL Dashboards specifico della raccolta, che verrà indirizzato automaticamente attraverso l'endpoint VPC conforme a FIPS quando vi si accede dall'interno del VPC. Per ulteriori informazioni, consulta [Utilizzo dei OpenSearch pannelli di controllo con Amazon Service OpenSearch](dashboards.md).

## Verifica la conformità FIPS
<a name="verifying-fips-compliance"></a>

Per verificare che le connessioni a OpenSearch Serverless utilizzino la crittografia conforme a FIPS, utilizza per monitorare le chiamate API effettuate a Serverless. AWS CloudTrail OpenSearch Verifica che il campo nei log venga visualizzato per le chiamate API. `eventSource` CloudTrail `aoss-fips.amazonaws.com` 

Per accedere alle OpenSearch dashboard, puoi utilizzare gli strumenti di sviluppo del browser per controllare i dettagli della connessione TLS e verificare che vengano utilizzate suite di crittografia conformi a FIPS. 

# Risolvi i problemi di connettività degli endpoint FIPS nelle zone ospitate private
<a name="serverless-fips-endpoint-issues"></a>

Gli endpoint FIPS funzionano con raccolte Amazon OpenSearch Serverless ad accesso pubblico. Per le raccolte VPC appena create che utilizzano endpoint VPC appena creati, gli endpoint FIPS funzionano come previsto. Per altre raccolte VPC, potrebbe essere necessario eseguire la configurazione manuale per garantire il corretto funzionamento degli endpoint FIPS.

**Per configurare zone ospitate private FIPS in Amazon Route 53**

1. Apri la console Route 53 all'indirizzo [https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/).

1. Controlla le tue zone ospitate:

   1. Individua le zone ospitate in cui si trovano le Regioni AWS tue raccolte.

   1. Verifica i modelli di denominazione delle zone ospitate:
      + Formato non FIPS:. `region.aoss.amazonaws.com`
      + Formato FIPS:. `region.aoss-fips.amazonaws.com`

   1. Conferma che il **Tipo** per tutte le tue zone ospitate sia impostato su **Zona ospitata privata**.

1. Se manca la zona ospitata privata FIPS:

   1. Seleziona la zona ospitata privata non FIPS corrispondente.

   1. Copia le informazioni **associate VPCs**. Ad esempio: `vpc-1234567890abcdef0 | us-east-2`.

   1. Trova il record del dominio wildcard. Ad esempio: `*.us-east-2.aoss.amazonaws.com`.

   1. Copia il **valore e il percorso del traffico** nelle informazioni. Ad esempio: `uoc1c1qsw7poexampleewjeno1pte3rw.3ym756xh7yj.aoss.searchservices.aws`.

1. Crea la zona ospitata privata FIPS:

   1. Crea una nuova zona ospitata privata con il formato FIPS. Ad esempio: `us-east-2.aoss-fips.amazonaws.com`.

   1. Per **Associato VPCs**, inserisci le informazioni sul VPC che hai copiato dalla zona ospitata privata non FIPS.

1. Aggiungi un nuovo record con le seguenti impostazioni:

   1. Nome del record: \$1

   1. Tipo di record: CNAME

   1. Valore: inserisci il **valore/indirizzamento del traffico verso le informazioni che** hai copiato in precedenza.

## Problemi comuni
<a name="serverless-fips-endpoint-common-problems"></a>

Se riscontri problemi di connettività con gli endpoint VPC conformi a FIPS, utilizza le seguenti informazioni per risolvere il problema.
+ Errori di risoluzione DNS: non è possibile risolvere il nome di dominio dell'endpoint FIPS all'interno del VPC
+ Timeout di connessione: scadono le tue richieste all'endpoint FIPS
+ Errori di accesso negato: l'autenticazione o l'autorizzazione falliscono quando si utilizzano gli endpoint FIPS
+ Record di zona ospitata privata mancanti per le raccolte solo VPC

**Per risolvere i problemi di connettività degli endpoint FIPS**

1. Verifica la configurazione della tua zona ospitata privata:

   1. Conferma che esiste una zona ospitata privata per il dominio dell'endpoint FIPS (. `*.region.aoss-fips.amazonaws.com`

   1. Verifica che la zona ospitata privata sia associata al VPC corretto.

      Per ulteriori informazioni, consulta le [zone ospitate private](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted- zones-private.html) nella *Amazon Route 53 Developer Guide* e [Manage DNS names](https://docs.aws.amazon.com/vpc/latest/privatelink/manage-dns-names.html) nella *AWS PrivateLink Guida*.

1. Verifica la risoluzione DNS:

   1. Connect a un'istanza EC2 nel tuo VPC.

   1. Esegui il comando seguente:

      ```
      nslookup collection-id.region.aoss-fips.amazonaws.com
      ```

   1. Verifica che la risposta includa l'indirizzo IP privato del tuo endpoint VPC.

      Per ulteriori informazioni, consulta [le politiche degli endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints- access.html#endpoint-dns-verification) e gli [attributi DNS](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc- dns-troubleshooting) nella Amazon *VPC* User Guide.

1. Controlla le impostazioni del tuo gruppo di sicurezza:

   1. Verifica che il gruppo di sicurezza collegato all'endpoint VPC consenta il traffico HTTPS (porta 443) dalle tue risorse.

   1. Verifica che i gruppi di sicurezza per le tue risorse consentano il traffico in uscita verso l'endpoint VPC.

   Per ulteriori informazioni, consulta [le politiche degli endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html#vpc-endpoint-security-groups) nella *AWS PrivateLink Guida* e i [gruppi di sicurezza](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html#SecurityGroupRules) nella *Amazon VPC* User Guide.

1. Controlla la configurazione ACL della tua rete:

   1. Verifica che la rete ACLs consenta il traffico tra le tue risorse e l'endpoint VPC.

     Per ulteriori informazioni, consulta [Network ACLs](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network- acls.html#nacl-troubleshooting) in the *Amazon VPC User* Guide.

1. Rivedi la tua politica sugli endpoint:

   1. Verifica che la policy degli endpoint VPC consenta le azioni richieste sulle tue risorse Serverless. OpenSearch 

     *Per ulteriori informazioni, consulta le [autorizzazioni degli endpoint VPC richieste](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html#serverless-vpc-permissions) e le politiche degli [endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints- access.html#vpc-endpoint-policies) nella Guida.AWS PrivateLink *

**Suggerimento**  
Se utilizzi resolver DNS personalizzati nel tuo VPC, configurali per inoltrare le richieste di domini ai server. `*.amazonaws.com` AWS 

# Controllo dell'accesso ai dati per Amazon OpenSearch Serverless
<a name="serverless-data-access"></a>

Con il controllo dell'accesso ai dati in Amazon OpenSearch Serverless, puoi consentire agli utenti di accedere a raccolte e indici, indipendentemente dal meccanismo di accesso o dalla fonte di rete. Puoi fornire l'accesso ai ruoli IAM e alle [identità SAML](serverless-saml.md).

Puoi gestire le autorizzazioni di accesso tramite le *policy di accesso ai dati*, che si applicano alle raccolte e alle risorse dell'indice. Le policy di accesso ai dati consentono di gestire le raccolte su larga scala assegnando automaticamente autorizzazioni di accesso a raccolte e indici che corrispondono a uno schema specifico. È possibile applicare più policy di accesso ai dati a una singola risorsa. Tieni presente che devi disporre di una politica di accesso ai dati per la tua raccolta per poter accedere all'URL delle dashboard OpenSearch .

**Topics**
+ [Policy di accesso ai dati rispetto alle policy IAM](#serverless-data-access-vs-iam)
+ [Autorizzazioni IAM necessarie per configurare le politiche di accesso ai dati](#serverless-data-access-permissions)
+ [Sintassi delle policy](#serverless-data-access-syntax)
+ [Autorizzazioni delle policy supportate](#serverless-data-supported-permissions)
+ [Set di dati di esempio nelle dashboard OpenSearch](#serverless-data-sample-index)
+ [Creazione di policy di accesso ai dati (console)](#serverless-data-access-console)
+ [Creazione di policy di accesso ai dati (AWS CLI)](#serverless-data-access-cli)
+ [Visualizzazione di policy di accesso ai dati](#serverless-data-access-list)
+ [Aggiornamento delle policy di accesso ai dati](#serverless-data-access-update)
+ [Eliminazione delle policy di accesso ai dati](#serverless-data-access-delete)
+ [Accesso ai dati tra account](#serverless-data-access-cross)

## Policy di accesso ai dati rispetto alle policy IAM
<a name="serverless-data-access-vs-iam"></a>

Le policy di accesso ai dati sono logicamente separate dalle policy AWS Identity and Access Management (IAM). Le autorizzazioni IAM controllano l'accesso alle [operazioni API serverless](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/Welcome.html), come `CreateCollection` e `ListAccessPolicies`. Le politiche di accesso ai dati controllano l'accesso alle [OpenSearch operazioni](#serverless-data-supported-permissions) supportate da OpenSearch Serverless, come `PUT <index>` o. `GET _cat/indices`

Le autorizzazioni IAM che controllano l'accesso alle operazioni dell'API della policy di accesso ai dati, come `aoss:CreateAccessPolicy` e `aoss:GetAccessPolicy` (descritte nella sezione successiva), non influiscono sull'autorizzazione specificata in una policy di accesso ai dati.

Ad esempio, supponiamo che una policy IAM impedisca a un utente di creare policy di accesso ai dati per `collection-a`, ma gli consenta di creare policy di accesso ai dati per tutte le raccolte (`*`):

------
#### [ 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 l'utente crea una policy di accesso ai dati che consente determinate autorizzazioni per *tutte* le raccolte (`collection/*` o `index/*/*`), la policy si applicherà a tutte le raccolte, inclusa la raccolta A.

**Importante**  
La concessione delle autorizzazioni nell'ambito di una politica di accesso ai dati non è sufficiente per accedere ai dati della raccolta OpenSearch Serverless. A un principale associato deve *inoltre* essere concesso l'accesso alle autorizzazioni `aoss:APIAccessAll` IAM e. `aoss:DashboardsAccessAll` Entrambe le autorizzazioni garantiscono l'accesso completo alle risorse di raccolta, mentre l'autorizzazione Dashboards fornisce anche l'accesso alle dashboard. OpenSearch Se un principale non dispone di entrambe queste autorizzazioni IAM, riceverà 403 errori quando tenta di inviare richieste alla raccolta. Per ulteriori informazioni, consulta [Utilizzo delle operazioni OpenSearch API](security-iam-serverless.md#security_iam_id-based-policy-examples-data-plane).

## Autorizzazioni IAM necessarie per configurare le politiche di accesso ai dati
<a name="serverless-data-access-permissions"></a>

Il controllo dell'accesso ai dati per OpenSearch Serverless utilizza le seguenti autorizzazioni IAM. È possibile specificare condizioni IAM per limitare gli utenti a nomi di policy di accesso specifici.
+ `aoss:CreateAccessPolicy`: crea una policy di accesso.
+ `aoss:ListAccessPolicies`: elenca tutte le policy di accesso.
+ `aoss:GetAccessPolicy`: visualizza i dettagli su una policy di accesso specifica.
+ `aoss:UpdateAccessPolicy`: modifica una policy di accesso.
+ `aoss:DeleteAccessPolicy`: elimina una policy di accesso.

La seguente policy di accesso basata sull'identità consente a un utente di visualizzare tutte le policy di accesso e aggiornare le policy che contengono il modello delle risorse `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**  
Inoltre, OpenSearch Serverless richiede le autorizzazioni `aoss:APIAccessAll` e le `aoss:DashboardsAccessAll` autorizzazioni per le risorse di raccolta. Per ulteriori informazioni, consulta [Utilizzo delle operazioni OpenSearch API](security-iam-serverless.md#security_iam_id-based-policy-examples-data-plane).

## Sintassi delle policy
<a name="serverless-data-access-syntax"></a>

Una policy di accesso ai dati include una serie di regole, ognuna con i seguenti elementi:


| Elemento | Description | 
| --- | --- | 
| ResourceType | Il tipo di risorsa (raccolta o indice) a cui si applicano le autorizzazioni. Le autorizzazioni degli alias e dei modelli sono a livello di raccolta, mentre le autorizzazioni per la creazione, la modifica e la ricerca dei dati sono a livello di indice. Per ulteriori informazioni, consulta la sezione [Supported policy permissions](#serverless-data-supported-permissions) (Autorizzazioni delle policy supportate). | 
| Resource | Un elenco di modelli di nomi and/or di risorse. I modelli sono prefissi seguiti da un carattere jolly (\$1), che consentono di applicare le autorizzazioni associate a più risorse.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-data-access.html) | 
| Permission | Un elenco di autorizzazioni da concedere per le risorse specificate. Per un elenco completo delle autorizzazioni e delle operazioni dell'API che queste concedono, consulta la sezione [Operazioni e autorizzazioni API supportate OpenSearch](serverless-genref.md#serverless-operations). | 
| Principal | Un elenco di uno o più principali a cui concedere l'accesso. I principali possono essere ruoli IAM ARNs o identità SAML. Questi principali devono essere all'interno dell' Account AWS corrente. Le policy di accesso ai dati non supportano direttamente l'accesso tra account diversi, ma puoi includere nella policy un ruolo che un utente di un altro account Account AWS può assumere nell'account proprietario della raccolta. Per ulteriori informazioni, consulta [Accesso ai dati tra account](#serverless-data-access-cross). | 

La seguente policy di esempio concede autorizzazioni di alias e modello alla raccolta denominata `autopartsinventory`, nonché a tutte le raccolte che iniziano con il prefisso `sales*`. Inoltre, concede autorizzazioni di lettura e scrittura a tutti gli indici della raccolta `autopartsinventory` e a tutti gli indici della raccolta `salesorders` che iniziano con il prefisso `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"
      ]
   }
]
```

Non puoi negare esplicitamente l'accesso all'interno di una policy. Pertanto, tutte le autorizzazioni delle policy sono additive. Ad esempio, se a un utente una policy concede `aoss:ReadDocument` e un'altra concede `aoss:WriteDocument`, l'utente avrà *entrambe* le autorizzazioni. Se una terza policy concede `aoss:*` allo stesso utente, l'utente può eseguire *tutte* le azioni sull'indice associato; le autorizzazioni più restrittive non sostituiscono quelle meno restrittive.

## Autorizzazioni delle policy supportate
<a name="serverless-data-supported-permissions"></a>

Le seguenti autorizzazioni sono supportate nelle policy di accesso ai dati. Per le operazioni OpenSearch API consentite da ciascuna autorizzazione, consulta. [Operazioni e autorizzazioni API supportate OpenSearch](serverless-genref.md#serverless-operations)

**Autorizzazioni della raccolta**
+ `aoss:CreateCollectionItems`
+ `aoss:DeleteCollectionItems`
+ `aoss:UpdateCollectionItems`
+ `aoss:DescribeCollectionItems`
+ `aoss:*`

**Autorizzazioni dell'indice**
+ `aoss:ReadDocument`
+ `aoss:WriteDocument`
+ `aoss:CreateIndex`
+ `aoss:DeleteIndex`
+ `aoss:UpdateIndex`
+ `aoss:DescribeIndex`
+ `aoss:*`

## Set di dati di esempio nelle dashboard OpenSearch
<a name="serverless-data-sample-index"></a>

OpenSearch Dashboards fornisce [set di dati di esempio](https://opensearch.org/docs/latest/dashboards/quickstart-dashboards/#adding-sample-data) che includono visualizzazioni, dashboard e altri strumenti per aiutarti a esplorare le dashboard prima di aggiungere i tuoi dati. Per creare indici a partire da questi dati di esempio, è necessaria una politica di accesso ai dati che fornisca le autorizzazioni per il set di dati con cui desideri lavorare. La seguente politica utilizza un wildcard (`*`) per fornire le autorizzazioni per tutti e tre i set di dati di esempio.

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

## Creazione di policy di accesso ai dati (console)
<a name="serverless-data-access-console"></a>

È possibile creare una policy di accesso ai dati utilizzando l'editor visivo o in formato JSON. A qualsiasi nuova raccolta che corrisponde a uno dei modelli definiti nella policy verranno assegnate le autorizzazioni corrispondenti al momento della creazione della raccolta.

**Per creare una politica di accesso ai dati OpenSearch Serverless**

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

1. Nel riquadro di navigazione a sinistra, espandi **Serverless** e in **Sicurezza**, scegli **Politiche di accesso ai dati**.

1. Scegli **Create access policy** (Crea policy di accesso).

1. Fornisci un nome e una descrizione per la policy.

1. Fornisci un nome per la prima regola nella policy. Ad esempio, "Accesso alla raccolta di log".

1. Scegli **Add principals** (Aggiungi principali) e seleziona uno o più ruoli IAM o [utenti e gruppi SAML](serverless-saml.md) a cui fornire l'accesso ai dati.
**Nota**  
Per poter selezionare i principali dai menu a discesa, è necessario disporre delle autorizzazioni `iam:ListUsers` e `iam:ListRoles` (per i principali IAM) e dell'autorizzazione `aoss:ListSecurityConfigs` (per le identità SAML). 

1. Scegli **Grant** (Concedi) e seleziona le autorizzazioni per l'alias, il modello e l'indice da concedere ai principali associati. Per un elenco completo delle autorizzazioni e l'accesso che queste concedono, consulta la sezione [Operazioni e autorizzazioni API supportate OpenSearch](serverless-genref.md#serverless-operations).

1. (Facoltativo) Configurazione di regole aggiuntive per la policy.

1. Scegli **Create** (Crea). Potrebbe esserci circa un minuto di ritardo tra il momento in cui si crea la policy e il momento in cui vengono applicate le autorizzazioni. Se occorrono più di 5 minuti, contatta [Supporto](https://console.aws.amazon.com/support/home).

**Importante**  
Se la policy include solo le autorizzazioni dell'indice (e nessuna autorizzazione della raccolta), potresti comunque visualizzare un messaggio per le raccolte corrispondenti che indica `Collection cannot be accessed yet. Configure data access policies so that users can access the data within this collection`. Tale avviso si può ignorare. I principali autorizzati possono comunque eseguire le operazioni relative all'indice assegnate sulla raccolta.

## Creazione di policy di accesso ai dati (AWS CLI)
<a name="serverless-data-access-cli"></a>

Per creare una politica di accesso ai dati utilizzando l'API OpenSearch Serverless, usa il `CreateAccessPolicy` comando. Il comando accetta sia policy inline che file .json. Le policy inline devono essere codificate come una [stringa con escape JSON](https://www.freeformatter.com/json-escape.html).

La seguente richiesta crea una policy di accesso ai dati:

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

Per fornire la policy all'interno di un file .json, utilizza il formato `--policy file://my-policy.json`.

I principali inclusi nella policy possono ora utilizzare le [OpenSearch operazioni](#serverless-data-supported-permissions) a cui hanno avuto accesso.

## Visualizzazione di policy di accesso ai dati
<a name="serverless-data-access-list"></a>

Prima di creare una raccolta, hai la possibilità di visualizzare in anteprima le policy di accesso ai dati esistenti nel tuo account per vedere quali hanno un modello di risorse che corrisponde al nome della raccolta. La seguente [ListAccessPolicies](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListAccessPolicies.html)richiesta elenca tutte le politiche di accesso ai dati del tuo account:

```
aws opensearchserverless list-access-policies --type data
```

La richiesta restituisce informazioni su tutte le policy di accesso ai dati configurate. Per visualizzare le regole del modello definite in una politica specifica, trova le informazioni sulla politica nel contenuto dell'`accessPolicySummaries`elemento nella risposta. Prendi nota della `name` fine `type` di questa politica e utilizza queste proprietà in una [GetAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetAccessPolicy.html)richiesta per ricevere una risposta con i seguenti dettagli della politica: 

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

Puoi includere filtri di risorse per limitare i risultati alle policy che contengono raccolte o indici specifici:

```
aws opensearchserverless list-access-policies --type data --resource "index/autopartsinventory/*"
```

Per visualizzare i dettagli su una politica specifica, utilizzare il [GetAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetAccessPolicy.html)comando.

## Aggiornamento delle policy di accesso ai dati
<a name="serverless-data-access-update"></a>

Quando aggiorni una policy di accesso ai dati, vengono interessate anche tutte le altre raccolte associate. Per aggiornare una politica di accesso ai dati nella console OpenSearch Serverless, scegli **Controllo dell'accesso ai dati**, seleziona la politica da modificare e scegli **Modifica**. Apporta le modifiche necessarie, quindi scegli **Save** (Salva).

Per aggiornare una politica di accesso ai dati utilizzando l'API OpenSearch Serverless, invia una `UpdateAccessPolicy` richiesta. È necessario includere una versione della policy, che è possibile recuperare utilizzando i comandi `ListAccessPolicies` o `GetAccessPolicy`. L'inclusione della versione più recente delle policy garantisce di non sovrascrivere inavvertitamente una modifica apportata da qualcun altro.

La seguente [UpdateAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateAccessPolicy.html)richiesta aggiorna una politica di accesso ai dati con un nuovo documento JSON di policy:

```
aws opensearchserverless update-access-policy \
    --name sales-inventory \
    --type data \
    --policy-version MTY2NDA1NDE4MDg1OF8x \
    --policy file://my-new-policy.json
```

Potrebbero verificarsi alcuni minuti di ritardo tra l'aggiornamento della policy e il momento in cui vengono applicate le nuove autorizzazioni.

## Eliminazione delle policy di accesso ai dati
<a name="serverless-data-access-delete"></a>

Quando si elimina una policy di accesso ai dati, tutte le raccolte associate perdono l'accesso definito nella policy stessa. Prima di eliminare una policy, assicurati che i tuoi utenti IAM e SAML abbiano l'accesso appropriato alla raccolta. **Per eliminare una policy nella console OpenSearch Serverless, seleziona la policy e scegli Elimina.**

Puoi anche usare il [DeleteAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_DeleteAccessPolicy.html)comando:

```
aws opensearchserverless delete-access-policy --name my-policy --type data
```

## Accesso ai dati tra account
<a name="serverless-data-access-cross"></a>

Sebbene non sia possibile creare una politica di accesso ai dati con identità o raccolte tra più account, puoi comunque configurare l'accesso su più account con l'opzione Assumi ruolo. Ad esempio, se `account-a` possiede una raccolta a cui `account-b` deve accedere, l'utente di `account-b` può assumere un ruolo in. `account-a` Il ruolo deve disporre delle autorizzazioni IAM `aoss:APIAccessAll` ed `aoss:DashboardsAccessAll` essere incluso nella politica di accesso ai dati su`account-a`.

# Accesso al piano dati tramite AWS PrivateLink
<a name="serverless-vpc"></a>

Amazon OpenSearch Serverless supporta due tipi di AWS PrivateLink connessioni per le operazioni sul piano di controllo e sul piano dati. Le operazioni del piano di controllo includono la creazione e l'eliminazione di raccolte e la gestione delle politiche di accesso. Le operazioni del piano dati servono per l'indicizzazione e l'interrogazione dei dati all'interno di una raccolta. Questa pagina descrive gli endpoint VPC del piano dati. Per informazioni sugli AWS PrivateLink endpoint del piano di controllo, vedere. [Controlla l'accesso al piano tramite AWS PrivateLink](serverless-vpc-cp.md)

Puoi usarlo AWS PrivateLink per creare una connessione privata tra il tuo VPC e Amazon OpenSearch Serverless. Puoi accedere a OpenSearch Serverless come se fosse nel tuo VPC, senza l'uso di un gateway Internet, un dispositivo NAT, una connessione VPN o una connessione. Direct Connect Le istanze nel tuo VPC non necessitano di indirizzi IP pubblici per accedere a OpenSearch Serverless. Per ulteriori informazioni sull'accesso alla rete VPC, consulta [Modelli di connettività di rete per Amazon OpenSearch Serverless](https://aws.amazon.com/blogs/big-data/network-connectivity-patterns-for-amazon-opensearch-serverless/).

Stabilisci questa connessione privata creando un *endpoint di interfaccia* attivato da AWS PrivateLink. In ciascuna sottorete viene creata un'interfaccia di rete endpoint da specificare per l'endpoint di interfaccia. Si tratta di interfacce di rete gestite dai richiedenti che fungono da punto di ingresso per il traffico destinato a Serverless. OpenSearch 

Per ulteriori informazioni, consulta la sezione [Accesso a Servizi AWS tramite AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-access-aws-services.html) nella *Guida di AWS PrivateLink *.

**Topics**
+ [Risoluzione DNS degli endpoint di raccolta](#vpc-endpoint-dnc)
+ [VPCs e politiche di accesso alla rete](#vpc-endpoint-network)
+ [VPCs e politiche relative agli endpoint](#vpc-endpoint-policy)
+ [Considerazioni](#vpc-endpoint-considerations)
+ [Autorizzazioni richieste](#serverless-vpc-permissions)
+ [Crea un endpoint di interfaccia per Serverless OpenSearch](#serverless-vpc-create)
+ [Configurazione VPC condivisa per Amazon Serverless OpenSearch](#shared-vpc-setup)

## Risoluzione DNS degli endpoint di raccolta
<a name="vpc-endpoint-dnc"></a>

Quando crei un endpoint VPC del piano dati tramite la console OpenSearch Serverless, il servizio crea una nuova [zona ospitata Amazon Route 53 privata](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html) e la collega al VPC. Questa zona ospitata privata è costituita da un record per risolvere il record DNS wildcard per le raccolte OpenSearch Serverless (`*.us-east-1.aoss.amazonaws.com`) negli indirizzi di interfaccia utilizzati per l'endpoint. È sufficiente un solo endpoint VPC OpenSearch serverless in un VPC per accedere a tutte le raccolte e i dashboard di ciascuno di essi. Regione AWS Ogni VPC con un endpoint per OpenSearch Serverless ha una propria zona ospitata privata collegata.

L'endpoint di interfaccia OpenSearch Serverless crea anche un record DNS wildcard pubblico di Route 53 per tutte le raccolte nella regione. Il nome DNS viene risolto negli indirizzi IP pubblici Serverless. OpenSearch I client VPCs che non dispongono di un endpoint VPC OpenSearch Serverless o i client in reti pubbliche possono utilizzare il resolver pubblico Route 53 e accedere alle raccolte e ai dashboard con tali indirizzi IP. [Il tipo di indirizzo IP (IPv4o Dualstack) dell'endpoint VPC viene determinato in base alle sottoreti fornite quando si crea un endpoint di interfaccia per Serverless. IPv6 OpenSearch ](#serverless-vpc-create)

**Nota**  
OpenSearch Serverless crea una zona ospitata privata (``<region>.opensearch.amazonaws.com``) Amazon Route 53 aggiuntiva per la risoluzione di qualsiasi dominio di OpenSearch servizio. Puoi aggiornare il tuo endpoint IPv4 VPC esistente a Dualstack utilizzando il comando in. [update-vpc-endpoint](https://docs.aws.amazon.com/cli/latest/reference/opensearchserverless/update-vpc-endpoint.html) AWS CLI

L'indirizzo del resolver DNS per un determinato VPC è il secondo indirizzo IP del VPC CIDR. Qualsiasi client nel VPC deve utilizzare quel resolver per ottenere l'indirizzo dell'endpoint VPC per qualsiasi raccolta. Il resolver utilizza una zona ospitata privata creata da Serverless. OpenSearch È sufficiente utilizzare quel resolver per tutte le raccolte di qualsiasi account. È anche possibile utilizzare il resolver VPC per alcuni endpoint di raccolta e il resolver pubblico per altri, sebbene in genere non sia necessario.

## VPCs e politiche di accesso alla rete
<a name="vpc-endpoint-network"></a>

Per concedere le autorizzazioni di rete OpenSearch APIs e i dashboard per le tue raccolte, puoi utilizzare le policy di [accesso alla rete OpenSearch ](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html) Serverless. Puoi controllare questo accesso alla rete dai tuoi endpoint VPC o dalla rete Internet pubblica. Poiché la policy di rete controlla solo le autorizzazioni relative al traffico, è necessario impostare anche una [policy di accesso ai dati](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html) che specifichi l'autorizzazione a operare sui dati di una raccolta e sui relativi indici. Pensate a un endpoint VPC OpenSearch serverless come punto di accesso al servizio, a una policy di accesso alla rete come punto di accesso a livello di rete a raccolte e dashboard e a una politica di accesso ai dati come punto di accesso per il controllo granulare degli accessi per qualsiasi operazione sui dati della raccolta. 

Poiché puoi specificare più endpoint VPC IDs in una policy di rete, ti consigliamo di creare un endpoint VPC per ogni VPC che deve accedere a una raccolta. Questi VPCs possono appartenere a AWS account diversi rispetto all'account che possiede la raccolta e la policy di rete OpenSearch Serverless. Non è consigliabile creare una soluzione di VPC-to-VPC peering o altra soluzione di proxy tra due account in modo che il VPC di un account possa utilizzare l'endpoint VPC di un altro account. Si tratta di una soluzione meno sicura ed economica rispetto a ogni VPC con il proprio endpoint. Il primo VPC non sarà facilmente visibile all'amministratore dell'altro VPC, che ha impostato l'accesso all'endpoint di quel VPC nella policy di rete. 

## VPCs e politiche relative agli endpoint
<a name="vpc-endpoint-policy"></a>

 Amazon OpenSearch Serverless supporta le policy degli endpoint per. VPCs Una policy per gli endpoint è una policy basata sulle risorse IAM che colleghi a un endpoint VPC per controllare quali AWS responsabili possono utilizzare l'endpoint per accedere al tuo servizio. AWS Per ulteriori informazioni, consulta [Controllare l'accesso agli endpoint VPC utilizzando le policy degli endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html). 

Per utilizzare una policy per gli endpoint, devi prima creare un endpoint di interfaccia. È possibile creare un endpoint di interfaccia utilizzando la console Serverless o l' OpenSearch API Serverless. OpenSearch Dopo aver creato l'endpoint di interfaccia, dovrai aggiungere la policy dell'endpoint all'endpoint. Per ulteriori informazioni, consulta [Crea un endpoint di interfaccia per Serverless OpenSearch](#serverless-vpc-create).

**Nota**  
Non è possibile definire una policy per gli endpoint direttamente nella console di servizio. OpenSearch 

Una policy per gli endpoint non sostituisce né sostituisce altre politiche basate sull'identità, politiche basate sulle risorse, politiche di rete o politiche di accesso ai dati che potresti aver configurato. Per ulteriori informazioni sull'aggiornamento delle policy degli endpoint, consulta [Controllare l'accesso agli endpoint VPC utilizzando le policy degli endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html).

Per impostazione predefinita, una policy per gli endpoint garantisce l'accesso completo all'endpoint VPC. 

```
{
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "*",
            "Resource": "*"
        }
    ]
}
```

Sebbene la policy degli endpoint VPC predefinita garantisca l'accesso completo agli endpoint, puoi configurare una policy degli endpoint VPC per consentire l'accesso a ruoli e utenti specifici. A tale scopo, consulta l'esempio seguente:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "123456789012",
                    "987654321098"
                ]
            },
            "Action": "*",
            "Resource": "*"
        }
    ]
}
```

------

Puoi specificare una raccolta OpenSearch Serverless da includere come elemento condizionale nella tua policy degli endpoint VPC. A tale scopo, consulta l'esempio seguente:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aoss:collection": [
                        "coll-abc"
                    ]
                }
            }
        }
    ]
}
```

------

Il supporto per `aoss:CollectionId` è supportato.

```
Condition": {
         "StringEquals": {
               "aoss:CollectionId": "collection-id"
          }
}
```

Puoi utilizzare le identità SAML nella tua policy degli endpoint VPC per determinare l'accesso agli endpoint VPC. È necessario utilizzare un carattere jolly `(*)` nella sezione principale della policy degli endpoint VPC. A tale scopo, consulta l'esempio seguente:

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

------

Inoltre, puoi configurare la tua policy sugli endpoint per includere una politica principale SAML specifica. A tale scopo, consulta quanto segue:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:PrincipalTag/Department": [
                        "Engineering"]
                    }
                }
            }
        ]
    }
```

------

Per ulteriori informazioni sull'utilizzo dell'autenticazione SAML con Amazon OpenSearch Serverless, consulta Autenticazione [SAML per Amazon](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-saml.html) Serverless. OpenSearch 

Puoi anche includere utenti IAM e SAML nella stessa policy degli endpoint VPC. A tale scopo, consulta l'esempio seguente:

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

------

Puoi anche accedere a una raccolta Amazon OpenSearch Serverless da Amazon EC2 tramite endpoint VPC di interfaccia. Per ulteriori informazioni, consulta [Accedere a una raccolta OpenSearch serverless da Amazon EC2 (tramite endpoint VPC di interfaccia)](https://aws.amazon.com/blogs/big-data/network-connectivity-patterns-for-amazon-opensearch-serverless/).

## Considerazioni
<a name="vpc-endpoint-considerations"></a>

Prima di configurare un endpoint di interfaccia per OpenSearch Serverless, considera quanto segue:
+ OpenSearch Serverless supporta l'esecuzione di chiamate a tutte le [operazioni OpenSearch API supportate (non le operazioni](serverless-genref.md#serverless-operations) API di configurazione) tramite l'endpoint dell'interfaccia.
+ Dopo aver creato un endpoint di interfaccia per OpenSearch Serverless, è comunque necessario includerlo nelle [politiche di accesso alla rete per consentirgli di accedere alle](serverless-network.md) raccolte serverless.
+ Per impostazione predefinita, l'accesso completo a OpenSearch Serverless è consentito tramite l'endpoint dell'interfaccia. È possibile associare un gruppo di sicurezza alle interfacce di rete degli endpoint per controllare il traffico verso OpenSearch Serverless attraverso l'endpoint dell'interfaccia.
+ Un singolo dispositivo Account AWS può avere un massimo di 50 endpoint VPC OpenSearch serverless.
+ Se abiliti l'accesso pubblico a Internet all'API o alle dashboard della tua raccolta in una politica di rete, la raccolta è accessibile da qualsiasi VPC e dalla rete Internet pubblica.
+ Se sei in locale e all'esterno del VPC, non puoi utilizzare direttamente un resolver DNS per OpenSearch la risoluzione degli endpoint VPC Serverless. Se hai bisogno di un accesso VPN, il VPC necessita di un resolver proxy DNS per l'utilizzo da parte di client esterni. Route 53 offre un'opzione di endpoint in entrata che puoi utilizzare per risolvere le query DNS sul tuo VPC dalla tua rete locale o da un altro VPC.
+ La zona ospitata privata che OpenSearch Serverless crea e collega al VPC è gestita dal servizio, ma compare nelle tue Amazon Route 53 risorse e viene fatturata sul tuo account.
+ Per altre considerazioni, consulta la sezione [Considerazioni](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#considerations-interface-endpoints) nella *Guida AWS PrivateLink *.

## Autorizzazioni richieste
<a name="serverless-vpc-permissions"></a>

L'accesso VPC per OpenSearch Serverless utilizza le seguenti autorizzazioni AWS Identity and Access Management (IAM). È possibile specificare le condizioni IAM per limitare gli utenti a raccolte specifiche.
+ `aoss:CreateVpcEndpoint` - Creazione di un endpoint VPC.
+ `aoss:ListVpcEndpoints` - Elencazione di tutti gli endpoint VPC.
+ `aoss:BatchGetVpcEndpoint` - Visualizzazione dei dettagli su un sottoinsieme di endpoint VPC.
+ `aoss:UpdateVpcEndpoint` - Modifica di un endpoint VPC.
+ `aoss:DeleteVpcEndpoint` - Eliminazione di un endpoint VPC.

Inoltre, sono necessarie le seguenti autorizzazioni Amazon EC2 e Route 53 per creare un endpoint 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`

## Crea un endpoint di interfaccia per Serverless OpenSearch
<a name="serverless-vpc-create"></a>

Puoi creare un endpoint di interfaccia per OpenSearch Serverless utilizzando la console o l'API Serverless. OpenSearch 

**Per creare un endpoint di interfaccia per una raccolta Serverless OpenSearch**

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

1. Nel pannello di navigazione a sinistra, espandi **Serverless** e seleziona **endpoint VPC**.

1. Scegli **Create VPC endpoint** (Crea endpoint VPC).

1. Fornisci un nome per l'endpoint.

1. Per **VPC**, seleziona il VPC da cui accederai Serverless. OpenSearch 

1. Per le **sottoreti**, seleziona una sottorete da cui accederai a Serverless. OpenSearch 
   + L'indirizzo IP e il tipo DNS dell'endpoint si basano sul tipo di sottorete
     + Dualstack: se tutte le sottoreti hanno entrambi gli intervalli di indirizzi IPv4 IPv6 
     + IPv6: Se tutte le sottoreti sono solo sottoreti IPv6 
     + IPv4: Se tutte le sottoreti hanno intervalli di indirizzi IPv4 

1. Per **Security groups** (Gruppi di sicurezza), seleziona i gruppi di sicurezza da associare alle interfacce di rete dell'endpoint. Questo è un passaggio fondamentale in cui limiti le porte, i protocolli e le fonti per il traffico in entrata che stai autorizzando verso il tuo endpoint. Assicurati che le regole del gruppo di sicurezza consentano alle risorse che utilizzeranno l'endpoint VPC di comunicare con OpenSearch Serverless di comunicare con l'interfaccia di rete dell'endpoint.

1. Seleziona **Crea endpoint**.

Per creare un endpoint VPC utilizzando l'API OpenSearch Serverless, usa il comando. `CreateVpcEndpoint`

**Nota**  
Dopo aver creato un endpoint, annotane l'ID (ad esempio, `vpce-abc123def4EXAMPLE`). Per fornire all'endpoint l'accesso alle raccolte, è necessario includere questo ID in una o più policy di accesso alla rete. 

Dopo aver creato un endpoint di interfaccia, è necessario fornirgli l'accesso alle raccolte tramite policy di accesso alla rete. Per ulteriori informazioni, consulta [Accesso alla rete per Amazon OpenSearch Serverless](serverless-network.md).

## Configurazione VPC condivisa per Amazon Serverless OpenSearch
<a name="shared-vpc-setup"></a>

Puoi utilizzare Amazon Virtual Private Cloud (VPC) per condividere sottoreti VPC con altri Account AWS membri dell'organizzazione, nonché condividere infrastrutture di rete come una VPN tra più risorse. Account AWS

Attualmente, Amazon OpenSearch Serverless non supporta la creazione di una AWS PrivateLink connessione a un VPC condiviso a meno che tu non sia il proprietario di quel VPC. AWS PrivateLink inoltre non supporta la condivisione di connessioni tra. Account AWS

Tuttavia, sulla base dell'architettura flessibile e modulare di OpenSearch Serverless, puoi comunque configurare un VPC condiviso. Questo perché l'infrastruttura di rete OpenSearch Serverless è separata da quella dell'infrastruttura di raccolta individuale (OpenSearch Service). È quindi possibile creare un AWS PrivateLink VPCe endpoint per un account in cui si trova un VPC e quindi utilizzare VPCe un ID nella politica di rete di altri account per limitare il traffico proveniente solo da quel VPC condiviso. 

*Le seguenti procedure si riferiscono a un *account proprietario e a un account* consumatore.*

Un account proprietario funge da account di rete comune in cui è possibile configurare un VPC e condividerlo con altri account. Gli account consumer sono quegli account che creano e gestiscono le proprie raccolte OpenSearch Serverless nel VPC condiviso con loro dall'account proprietario. 

**Prerequisiti**  
Assicurati che siano soddisfatti i seguenti requisiti prima di configurare il VPC condiviso:
+ L'account proprietario desiderato deve aver già configurato un VPC, sottoreti, tabella di routing e altre risorse richieste in Amazon Virtual Private Cloud. Per ulteriori informazioni, consulta la *[Guida utente Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/)*.
+ L'account proprietario e gli account consumer previsti devono appartenere alla stessa organizzazione in. AWS Organizations Per ulteriori informazioni, consulta la *Guida per l'utente [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/)*.

**Per configurare un VPC condiviso in un account di account/common rete proprietario.**

1. Accedi alla console di Amazon OpenSearch Service da [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. Segui la procedura riportata in [Crea un endpoint di interfaccia per Serverless OpenSearch](#serverless-vpc-create). Mentre lo fai, effettua le seguenti selezioni:
   + Seleziona un VPC e delle sottoreti condivise con gli account consumer della tua organizzazione.

1. Dopo aver creato l'endpoint, prendi nota dell' VPCe ID generato e forniscilo agli amministratori che devono eseguire l'attività di configurazione negli account consumer.

   VPCe IDs sono nel formato. `vpce-abc123def4EXAMPLE`

**Per configurare un VPC condiviso in un account consumer**

1. Accedi alla console di Amazon OpenSearch Service da [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. Usa le informazioni [Gestione delle raccolte Amazon OpenSearch Serverless](serverless-manage.md) per creare una collezione, se non ne hai già una.

1. Usa le informazioni contenute [Creazione di policy di rete (console)](serverless-network.md#serverless-network-console) per creare una politica di rete. Mentre lo fai, effettua le seguenti selezioni.
**Nota**  
A tale scopo è inoltre possibile aggiornare una politica di rete esistente.

   1. Per **Tipo di accesso**, seleziona **VPC (consigliato)**.

   1. Per gli **endpoint VPC per l'accesso**, scegli l' VPCe ID fornito dall'account proprietario, nel formato. `vpce-abc123def4EXAMPLE`

   1. Nell'area **Tipo di risorsa, procedi** come segue:
      + Seleziona la casella **Abilita l'accesso all' OpenSearchendpoint**, quindi seleziona il nome o il modello di raccolta da utilizzare per abilitare l'accesso da quel VPC condiviso.
      + Seleziona la casella **Abilita l'accesso alla OpenSearch dashboard**, quindi seleziona il nome o il modello di raccolta da utilizzare per abilitare l'accesso da quel VPC condiviso.

1. Per una nuova politica, scegli **Crea**. Per una politica esistente, scegli **Aggiorna**.

# Controlla l'accesso al piano tramite AWS PrivateLink
<a name="serverless-vpc-cp"></a>

Amazon OpenSearch Serverless supporta due tipi di AWS PrivateLink connessioni per le operazioni sul piano di controllo e sul piano dati. Le operazioni del piano di controllo includono la creazione e l'eliminazione di raccolte e la gestione delle politiche di accesso. Le operazioni sul piano dati servono per l'indicizzazione e l'interrogazione dei dati all'interno di una raccolta. Questa pagina copre l'endpoint del piano di controllo. AWS PrivateLink Per informazioni sugli endpoint VPC del piano dati, vedere. [Accesso al piano dati tramite AWS PrivateLink](serverless-vpc.md)

## Creazione di un endpoint del piano di controllo AWS PrivateLink
<a name="serverless-vpc-privatelink"></a>

Puoi migliorare il livello di sicurezza del tuo VPC OpenSearch configurando Serverless per utilizzare un endpoint VPC di interfaccia. Gli endpoint di interfaccia sono alimentati da. AWS PrivateLink Questa tecnologia consente di accedere privatamente a OpenSearch Serverless APIs senza un gateway Internet, un dispositivo NAT, una connessione VPN o una connessione AWS Direct Connect.

Per ulteriori informazioni sugli AWS PrivateLink endpoint VPC, consulta la sezione Endpoint VPC [nella Amazon VPC User Guide](https://docs.aws.amazon.com/vpc/latest/privatelink/concepts.html#concepts-vpc-endpoints).

### Considerazioni
<a name="serverless-vpc-cp-considerations"></a>
+ Gli endpoint VPC sono supportati solo all'interno della stessa regione.
+ Gli endpoint VPC supportano solo il DNS fornito da Amazon tramite Amazon Route 53.
+ Gli endpoint VPC supportano le policy degli endpoint per controllare l'accesso a OpenSearch Serverless Collections, Policies e. VpcEndpoints
+ OpenSearch Serverless supporta solo gli endpoint di interfaccia. Gli endpoint gateway non sono supportati.

### Creazione dell'endpoint VPC
<a name="serverless-vpc-cp-create"></a>

*Per creare l'endpoint VPC del piano di controllo per Amazon OpenSearch Serverless, utilizza la [procedura Access an AWS service using an interface VPC endpoint nella Amazon VPC Developer Guide](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint).* Crea il seguente endpoint:
+ `com.amazonaws.region.aoss`

**Per creare un endpoint VPC del piano di controllo utilizzando la console**

1. Apri la console Amazon VPC all'indirizzo [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. Nel pannello di navigazione, seleziona **Endpoints (Endpoint)**.

1. Scegliere **Create Endpoint** (Crea endpoint).

1. Per **Service category** (Categoria servizio), scegli **Servizi AWS**.

1. Per **Servizi, scegli**. `com.amazonaws.region.aoss` Ad esempio, `com.amazonaws.us-east-1.aoss`.

1. Per **VPC**, scegli un VPC in cui creare l'endpoint.

1. In **Subnets (Sottoreti)**, scegliere le sottoreti (zone di disponibilità) in cui creare le interfacce di rete degli endpoint.

1. Per **i gruppi di sicurezza**, scegli i gruppi di sicurezza da associare alle interfacce di rete degli endpoint. Assicurati che HTTPS (porta 443) sia consentito.

1. Per **Policy**, scegli **Accesso completo** per consentire tutte le operazioni oppure scegli **Personalizzato** per allegare una politica personalizzata.

1. Seleziona **Crea endpoint**.

### Creazione di una policy per gli endpoint
<a name="serverless-vpc-cp-endpoint-policy"></a>

Puoi allegare una policy per gli endpoint al tuo endpoint VPC che controlla l'accesso ad Amazon Serverless. OpenSearch La policy specifica le informazioni riportate di seguito:
+ Il principale che può eseguire operazioni.
+ Le azioni che possono essere eseguite.
+ Le risorse sui cui si possono eseguire operazioni.

Per ulteriori informazioni, consulta [Controllo degli accessi ai servizi con endpoint VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html) in *Guida per l'utente di Amazon VPC*.

**Example Policy degli endpoint VPC per Serverless OpenSearch**  

```
{  
  "Version": "2012-10-17",		 	 	   
  "Statement": [  
    {  
      "Effect": "Allow",  
      "Principal": "*",  
      "Action": [  
        "aoss:ListCollections",  
        "aoss:BatchGetCollection"  
      ],  
      "Resource": "*"  
    }  
  ]  
}
```

**Example Politica restrittiva che consente solo le operazioni di elenco**  

```
{  
  "Version": "2012-10-17",		 	 	   
  "Statement": [  
    {  
      "Effect": "Allow",  
      "Principal": "*",  
      "Action": "aoss:ListCollections",  
      "Resource": "*"  
    }  
  ]  
}
```

# Autenticazione SAML per Amazon Serverless OpenSearch
<a name="serverless-saml"></a>

Con l'autenticazione SAML per Amazon OpenSearch Serverless, puoi utilizzare il tuo provider di identità esistente per offrire il Single Sign-On (SSO) per gli endpoint OpenSearch Dashboards delle raccolte serverless.

L'autenticazione SAML consente di utilizzare provider di identità di terze parti per accedere alle dashboard per indicizzare e cercare dati. OpenSearch OpenSearch Serverless supporta i provider che utilizzano lo standard SAML 2.0, come IAM Identity Center, Okta, Keycloak, Active Directory Federation Services (AD FS) e Auth0. Puoi configurare IAM Identity Center per sincronizzare utenti e gruppi da altre fonti di identità come Okta e Microsoft Entra ID. OneLogin Per un elenco delle fonti di identità supportate da IAM Identity Center e i passaggi per configurarle, consulta i [tutorial introduttivi](https://docs.aws.amazon.com/singlesignon/latest/userguide/tutorials.html) nella Guida per l'utente di *IAM Identity* Center.

**Nota**  
L'autenticazione SAML serve solo per accedere alle OpenSearch dashboard tramite un browser web. Gli utenti autenticati possono effettuare richieste alle operazioni OpenSearch API solo tramite **Dev Tools** in Dashboards. OpenSearch Le tue credenziali SAML *non* ti consentono di effettuare richieste HTTP dirette alle operazioni API. OpenSearch 

Per configurare l'autenticazione SAML, è necessario configurare prima un provider di identità (IdP) SAML. Quindi includi uno o più utenti di quell'IdP in una [policy di accesso ai dati](serverless-data-access.md). Questa politica concede determinate autorizzazioni per gli indici delle raccolte. and/or Un utente può quindi accedere alle OpenSearch dashboard ed eseguire le azioni consentite nella politica di accesso ai dati.

![\[SAML authentication flow with data access policy, OpenSearch interface, and JSON configuration.\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/images/serverless-saml-flow.png)


**Topics**
+ [Considerazioni](#serverless-saml-considerations)
+ [Autorizzazioni richieste](#serverless-saml-permissions)
+ [Creazione di provider SAML (console)](#serverless-saml-creating)
+ [Accesso ai pannelli OpenSearch di controllo](#serverless-saml-dashboards)
+ [Concessione alle identità SAML dell'accesso ai dati della raccolta](#serverless-saml-policies)
+ [Creazione di provider SAML (AWS CLI)](#serverless-saml-creating-api)
+ [Visualizzazione di provider SAML](#serverless-saml-viewing)
+ [Aggiornamento dei provider SAML](#serverless-saml-updating)
+ [Eliminazione di provider SAML](#serverless-saml-deleting)

## Considerazioni
<a name="serverless-saml-considerations"></a>

Durante la configurazione dell'autenticazione SAML tieni presente quanto segue:
+ Le richieste firmate e crittografate non sono supportate.
+ Le asserzioni crittografate non sono supportate.
+ L'autenticazione e la disconnessione avviate dal'IdP non sono supportate.
+ Le policy di controllo dei servizi (SCP) non saranno applicabili o valutate nel caso di identità non IAM (come SAML in Amazon OpenSearch Serverless e SAML e l'autorizzazione utente interna di base per Amazon Service). OpenSearch 

## Autorizzazioni richieste
<a name="serverless-saml-permissions"></a>

L'autenticazione SAML per OpenSearch Serverless utilizza le seguenti autorizzazioni (IAM): AWS Identity and Access Management 
+ `aoss:CreateSecurityConfig`: crea un provider SAML.
+ `aoss:ListSecurityConfig`: elenca tutti i provider SAML nell'account corrente.
+ `aoss:GetSecurityConfig`: visualizza le informazioni sul provider SAML.
+ `aoss:UpdateSecurityConfig`: modifica una determinata configurazione del provider SAML, inclusi i metadati XML.
+ `aoss:DeleteSecurityConfig`: elimina un provider SAML.

La seguente policy di accesso basata sull'identità consente a un utente di gestire tutte le configurazioni dell'IdP:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "aoss:CreateSecurityConfig",
                "aoss:DeleteSecurityConfig",
                "aoss:GetSecurityConfig",
                "aoss:UpdateSecurityConfig",
                "aoss:ListSecurityConfigs"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

------

Nota bene: l'elemento `Resource` deve essere un carattere jolly.

## Creazione di provider SAML (console)
<a name="serverless-saml-creating"></a>

Queste fasi spiegano come creare provider SAML. Ciò consente l'autenticazione SAML con l'autenticazione avviata dal provider di servizi (SP) per le dashboard. OpenSearch L'autenticazione avviata dall'IdP non è supportata.

**Per abilitare l'autenticazione SAML per le dashboard OpenSearch**

1. Accedi alla console di Amazon OpenSearch Service da [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home ).

1. Nel pannello di navigazione a sinistra, espandi **Serverless** e scegli **SAML authentication** (Autenticazione SAML).

1. Scegli **Add SAML provider** (Aggiungi provider SAML).

1. Fornisci un nome e una descrizione per il provider.
**Nota**  
Il nome specificato è accessibile pubblicamente e verrà visualizzato in un menu a discesa quando gli utenti accedono alle OpenSearch dashboard. Assicurati che il nome sia facilmente riconoscibile e non riveli informazioni sensibili sul tuo provider di identità.

1. In **Configure your IdP** (Configura il tuo IdP), copia l'URL Assertion consumer service (ACS).

1. Utilizza l'URL ACS che hai appena copiato per configurare il provider di identità. La terminologia e le fasi variano in base al provider. Consultare la documentazione del provider.

   In Okta, ad esempio, crei una "applicazione Web SAML 2.0" e specifichi l'URL ACS come l'**URL di Single Sign-On**, l'**URL del destinatario** e l'**URL di destinazione**. **Per Auth0, lo specifichi in Allowed Callback. URLs**

1. Se il tuo IdP prevede un campo apposito, fornisci la restrizione per il pubblico. La restrizione per il pubblico è un valore all'interno dell'asserzione SAML che specifica a chi è destinata l'asserzione. Con OpenSearch Serverless, puoi fare quanto segue. Assicurati di sostituire il codice riportato *content* nel seguente esempio di codice con il tuo Account AWS ID: 

   1. Usa la restrizione `:opensearch:111122223333` predefinita per il pubblico.

   1. (Facoltativo) configura una restrizione personalizzata per il pubblico utilizzando. AWS CLI Per ulteriori informazioni, consulta [Creazione di provider SAML (AWS CLI)](#serverless-saml-creating-api).

   Il nome del campo della restrizione per il pubblico varia in base al provider. Per Okta è l'**URI del pubblico (ID entità SP)**. Per IAM Identity Center è il **pubblico SAML dell'applicazione**.

1. Se si utilizza IAM Identity Center, è necessario anche specificare la seguente [mappatura degli attributi](https://docs.aws.amazon.com/singlesignon/latest/userguide/attributemappingsconcept.html): `Subject=${user:name}`, con un formato `unspecified`.

1. Dopo aver configurato il provider di identità, viene generato un file di metadati IdP. Questo file XML contiene informazioni sul provider, ad esempio un certificato TLS, endpoint Single Sign-On e l'ID entità del provider di identità.

   Copia il testo nel file di metadati dell'IdP e incollalo nel campo **Provide metadata from your IdP** (Fornisci metadati dal tuo IdP). In alternativa, scegliere **Importa da file XML** e caricare il file. Il file dei metadati dovrebbe avere un aspetto simile al seguente:

   ```
   <?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. Mantieni vuoto il campo dell'**attributo ID utente personalizzato** per utilizzare l'`NameID`elemento dell'asserzione SAML per il nome utente. Se l'asserzione non utilizza questo elemento standard e include invece il nome utente come attributo personalizzato, specificare tale attributo qui. Gli attributi rispettano la distinzione tra maiuscole e minuscole. È supportato solo un singolo attributo dell'utente.

   L'esempio seguente mostra un attributo di sovrascrizione per `NameID` nell'asserzione 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. (Facoltativo) Specifica un attributo personalizzato nel campo **Group attribute** (Attributo del gruppo), ad esempio `role` o `group`. È supportato solo un singolo attributo del gruppo. Non esiste un attributo del gruppo predefinito. Se non ne specifichi uno, le policy di accesso ai dati possono contenere solo utenti principali.

   L'esempio seguente mostra un attributo del gruppo nell'asserzione 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. Per impostazione predefinita, OpenSearch Dashboards disconnette gli utenti dopo 24 ore. **Puoi configurare questo valore su qualsiasi numero compreso tra 1 e 12 ore (15 e 720 minuti) specificando il timeout del OpenSearch pannello di controllo.** Se tenti di impostare il timeout uguale o inferiore a 15 minuti, la sessione verrà reimpostata a un'ora.

1. Scegli **Create SAML provider** (Crea provider SAML).

## Accesso ai pannelli OpenSearch di controllo
<a name="serverless-saml-dashboards"></a>

Dopo aver configurato un provider SAML, tutti gli utenti e i gruppi associati a tale provider possono accedere all'endpoint OpenSearch Dashboards. *L'URL Dashboards ha il formato `collection-endpoint/_dashboards/` per tutte le raccolte.* 

Se hai abilitato SAML, selezionando il link in basso verrai Console di gestione AWS indirizzato alla pagina di selezione IdP, dove puoi accedere utilizzando le tue credenziali SAML. Innanzitutto, utilizza il menu a discesa per selezionare un provider di identità:

![\[OpenSearch login page with dropdown menu for selecting SAML Identity Provider options.\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/images/idpList.png)


Quindi accedi utilizzando le tue credenziali IdP. 

Se non hai abilitato SAML, selezionando il link nelle Console di gestione AWS istruzioni potrai accedere come utente o ruolo IAM, senza alcuna opzione per SAML.

## Concessione alle identità SAML dell'accesso ai dati della raccolta
<a name="serverless-saml-policies"></a>

Dopo aver creato un provider SAML, è comunque necessario concedere agli utenti e ai gruppi sottostanti l'accesso ai dati all'interno delle raccolte. L'accesso viene concesso tramite le [policy di accesso ai dati](serverless-data-access.md). Finché non fornisci l'accesso agli utenti, questi non saranno in grado di leggere, scrivere o eliminare alcun dato contenuto nelle raccolte.

Per concedere l'accesso, crea una politica di accesso ai dati e specifica il tuo and/or gruppo IDs di utenti SAML nella dichiarazione: `Principal`

```
[
   {
      "Rules":[
       ...  
      ],
      "Principal":[
         "saml/987654321098/myprovider/user/Shaheen",
         "saml/987654321098/myprovider/group/finance"
      ]
   }
]
```

Puoi concedere l'accesso a raccolte, a indici o a entrambi. Se desideri che utenti diversi dispongano di autorizzazioni diverse, crea più regole. Per un elenco di autorizzazioni disponibili, consulta la sezione [Supported policy permissions](serverless-data-access.md#serverless-data-supported-permissions) (Autorizzazioni di policy supportate). Per ulteriori informazioni sul formato di una policy di accesso, consulta la sezione [Policy syntax](serverless-data-access.md) (Sintassi della policy).

## Creazione di provider SAML (AWS CLI)
<a name="serverless-saml-creating-api"></a>

Per creare un provider SAML utilizzando l'API OpenSearch Serverless, invia una richiesta: [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
```

Specifica `saml-options`, inclusi i metadati XML, come una mappa chiave-valore all'interno di un file .json. I metadati XML devono essere codificati come [stringa con 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**  
(Facoltativo) configura una restrizione personalizzata per il pubblico utilizzando. AWS CLI Per ulteriori informazioni, consulta [Creazione di provider SAML (AWS CLI)](#serverless-saml-creating-api).

## Visualizzazione di provider SAML
<a name="serverless-saml-viewing"></a>

La seguente [ListSecurityConfigs](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListSecurityConfigs.html)richiesta elenca tutti i provider SAML presenti nel tuo account:

```
aws opensearchserverless list-security-configs --type saml
```

La richiesta restituisce informazioni su tutti i provider SAML esistenti, inclusi i metadati completi dell'IdP generati dal provider di identità:

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

Per visualizzare i dettagli su un provider specifico, inclusa la `configVersion` per gli aggiornamenti futuri, invia una richiesta `GetSecurityConfig`.

## Aggiornamento dei provider SAML
<a name="serverless-saml-updating"></a>

**Per aggiornare un provider SAML utilizzando la console OpenSearch Serverless, scegli l'**autenticazione SAML**, seleziona il tuo provider di identità e scegli Modifica.** Puoi modificare tutti i campi, inclusi i metadati e gli attributi personalizzati.

Per aggiornare un provider tramite l'API OpenSearch Serverless, invia una [UpdateSecurityConfig](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateSecurityConfig.html)richiesta e includi l'identificatore della politica da aggiornare. Inoltre, è necessario includere una versione di configurazione, che è possibile recuperare utilizzando i comandi `ListSecurityConfigs` o `GetSecurityConfig`. L'inclusione della versione più recente garantisce di non sovrascrivere inavvertitamente una modifica apportata da qualcun altro.

La seguente richiesta aggiorna le opzioni SAML per un provider:

```
aws opensearchserverless update-security-config \
    --id saml/123456789012/myprovider \
    --type saml \
    --saml-options file://saml-auth0.json \
    --config-version MTY2NDA1MjY4NDQ5M18x
```

Specifica le opzioni di configurazione SAML come mappa chiave-valore all'interno di un file .json.

**Importante**  
**Gli aggiornamenti alle opzioni SAML *non* sono incrementali**. Se non si specifica un valore per un parametro nell'oggetto `SAMLOptions` quando si effettua un aggiornamento, i valori esistenti verranno sostituiti da valori vuoti. Ad esempio, se la configurazione corrente contiene un valore per `userAttribute`, e poi si effettua un aggiornamento e non lo si include, il valore viene rimosso dalla configurazione. Prima di effettuare un aggiornamento, assicurati di conoscere i valori esistenti richiamando l'operazione `GetSecurityConfig`.

## Eliminazione di provider SAML
<a name="serverless-saml-deleting"></a>

Quando elimini un provider SAML, qualsiasi riferimento a utenti e gruppi associati nelle policy di accesso ai dati non è più funzionale. Per evitare confusione, nelle policy di accesso ti suggeriamo di rimuovere tutti i riferimenti all'endpoint prima di eliminarlo.

**Per eliminare un provider SAML utilizzando la console OpenSearch Serverless, scegli **Autenticazione**, seleziona il provider e scegli Elimina.**

Per eliminare un provider tramite l'API OpenSearch Serverless, invia una richiesta: [DeleteSecurityConfig](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_DeleteSecurityConfig.html)

```
aws opensearchserverless delete-security-config --id saml/123456789012/myprovider
```

# Convalida della conformità per Amazon Serverless OpenSearch
<a name="serverless-compliance-validation"></a>

Revisori di terze parti valutano la sicurezza e la conformità di Amazon OpenSearch Serverless nell'ambito di diversi programmi di AWS conformità. Questi programmi includono SOC, PCI e HIPAA.

Per sapere se un Servizio AWS programma rientra nell'ambito di specifici programmi di conformità, consulta Servizi AWS la sezione [Scope by Compliance Program Servizi AWS](https://aws.amazon.com/compliance/services-in-scope/) e scegli il programma di conformità che ti interessa. Per informazioni generali, consulta Programmi di [AWS conformità Programmi](https://aws.amazon.com/compliance/programs/) di di .

È possibile scaricare report di audit di terze parti utilizzando AWS Artifact. Per ulteriori informazioni, consulta [Scaricamento dei report in AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html) .

La vostra responsabilità di conformità durante l'utilizzo Servizi AWS è determinata dalla sensibilità dei dati, dagli obiettivi di conformità dell'azienda e dalle leggi e dai regolamenti applicabili. Per ulteriori informazioni sulla responsabilità di conformità durante l'utilizzo Servizi AWS, consulta la [Documentazione AWS sulla sicurezza](https://docs.aws.amazon.com/security/).

# Etichettatura delle raccolte Amazon OpenSearch Serverless
<a name="tag-collection"></a>

I tag consentono di assegnare informazioni arbitrarie a una raccolta Amazon OpenSearch Serverless in modo da poterle classificare e filtrare in base a tali informazioni. Un *tag* è un'etichetta di metadati che assegni o che assegni a una risorsa. AWS AWS 

Ciascun tag è formato da una *chiave* e da un *valore*, Per i tag assegnati da te, puoi definire la chiave e il valore. Ad esempio, potresti definire la chiave come `stage`e il valore di una risorsa come `test`.

Con i tag, puoi identificare e organizzare le tue risorse. AWS Molti AWS servizi supportano l'etichettatura, quindi è possibile assegnare lo stesso tag a risorse di servizi diversi per indicare che le risorse sono correlate. Ad esempio, puoi assegnare lo stesso tag a una raccolta OpenSearch Serverless che assegni a un dominio Amazon OpenSearch Service.

In OpenSearch Serverless, la risorsa principale è una raccolta. È possibile utilizzare la console di OpenSearch servizio AWS CLI, le operazioni dell'API OpenSearch Serverless o AWS SDKs aggiungere, gestire e rimuovere tag da una raccolta.

## Autorizzazioni richieste
<a name="collection-tag-permissions"></a>

OpenSearch Serverless utilizza le seguenti autorizzazioni AWS Identity and Access Management Access Analyzer (IAM) per etichettare le raccolte:
+ `aoss:TagResource`
+ `aoss:ListTagsForResource`
+ `aoss:UntagResource`

# Etichettatura delle raccolte (console)
<a name="tag-collection-console"></a>

La console è il modo più semplice per assegnare un tag a una raccolta.

****Per creare un tag (console)****

1. Accedi alla console di Amazon OpenSearch Service da [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home ).

1. Espandi **Serverless** nel pannello di navigazione a sinistra e scegli **Collections** (Raccolte).

1. Seleziona la raccolta a cui aggiungere i tag e passa alla scheda **Tag**.

1. Scegli **Gestisci**, quindi seleziona **Aggiungi nuovo tag**.

1. Inserire una chiave di tag e un valore facoltativo.

1. Scegli **Save** (Salva).

Per eliminare un tag, esegui la stessa procedura e scegli **Rimuovi** nella pagina **Gestisci tag**.

Per ulteriori informazioni sull'utilizzo della console per il funzionamento con i tag, consulta [Editor di tag](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html) nella *Guida alle operazioni di base della Console di gestione AWS *.

# Etichettatura delle raccolte ()AWS CLI
<a name="tag-collection-cli"></a>

Per etichettare una raccolta utilizzando il AWS CLI, invia una [TagResource](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_TagResource.html)richiesta: 

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

Visualizza i tag esistenti per una raccolta con il [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
```

Rimuovi i tag da una raccolta usando il [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
```

# Operazioni e plugin supportati in Amazon Serverless OpenSearch
<a name="serverless-genref"></a>

[Amazon OpenSearch Serverless supporta una varietà di OpenSearch plug-in, nonché un sottoinsieme delle operazioni API di indicizzazione, ricerca e metadati disponibili in.](https://opensearch.org/docs/latest/opensearch/rest-api/index/) OpenSearch Per limitare l'accesso a determinate operazioni è possibile includere le autorizzazioni nella colonna sinistra della tabella all'interno delle [policy di accesso ai dati](serverless-data-access.md).

**Topics**
+ [Operazioni e autorizzazioni API supportate OpenSearch](#serverless-operations)
+ [OpenSearch Plugin supportati](#serverless-plugins)

## Operazioni e autorizzazioni API supportate OpenSearch
<a name="serverless-operations"></a>

La tabella seguente elenca le operazioni API supportate da OpenSearch Serverless, insieme alle corrispondenti autorizzazioni relative alle politiche di accesso ai dati:


| Autorizzazione della policy di accesso ai dati | OpenSearch operazioni API | Descrizione e avvertenze | 
| --- | --- | --- | 
|  `aoss:CreateIndex`  | PUT <index> |  Creazione di indici. Per ulteriori informazioni, consulta la sezione [Creazione di indici](https://opensearch.org/docs/latest/api-reference/index-apis/create-index/).  Questa autorizzazione si applica anche alla creazione di indici con i dati di esempio nei dashboard. OpenSearch    | 
|  `aoss:DescribeIndex`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-genref.html)  |  Descrizione di indici. Per maggiori informazioni, consulta le seguenti risorse: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-genref.html)  | 
|  `aoss:WriteDocument`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-genref.html)  |  Scrittura e aggiornamento di documenti. Per maggiori informazioni, consulta le seguenti risorse: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-genref.html)  Alcune operazioni sono consentite solo per raccolte di tipo `SEARCH`. Per ulteriori informazioni, consulta [Scelta di un tipo di raccolta](serverless-overview.md#serverless-usecase).   | 
|  `aoss:ReadDocument`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-genref.html)  | Lettura di documenti. Per maggiori informazioni, consulta le seguenti risorse:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-genref.html) | 
|  `aoss:DeleteIndex`  | DELETE <target> | Eliminazione degli indici. Per ulteriori informazioni, consulta la sezione [Eliminazione di indici](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/it_it/opensearch-service/latest/developerguide/serverless-genref.html)  |  Aggiornamento delle impostazioni dell'indice. Per maggiori informazioni, consulta le seguenti risorse: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-genref.html)  | 
|  `aoss:CreateCollectionItems`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-genref.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-genref.html) | 
|  `aoss:DescribeCollectionItems`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-genref.html)  |  Descrive come lavorare con alias, modelli di indici e framework e pipeline. Per maggiori informazioni, consulta le seguenti risorse: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-genref.html)  | 
|  `aoss:UpdateCollectionItems`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-genref.html)  | Aggiorna alias, modelli di indice e modelli di framework. Per maggiori informazioni, consulta le seguenti risorse: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-genref.html) \$1 L'API per annullare il provisioning dei modelli. I servizi ML Commons Client e OpenSearch Serverless gestiscono le politiche dipendenti.  | 
|  `aoss:DeleteCollectionItems`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-genref.html)  |  Eliminare alias, modelli di indice e framework e pipeline. Per maggiori informazioni, consulta le seguenti risorse: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-genref.html)  | 
|  `aoss:DescribeMLResource`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-genref.html)  |  Descrive GET e search per recuperare informazioni su modelli e connettori. APIs   | 
|  `aoss:CreateMLResource`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-genref.html)  |  Fornisce il permesso di creare risorse ML.  | 
|  `aoss:UpdateMLResource`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-genref.html)  |  Fornisce l'autorizzazione per aggiornare le risorse ML esistenti.  | 
|  `aoss:DeleteMLResource`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-genref.html)  |  Fornisce l'autorizzazione per eliminare le risorse ML.  | 
|  `aoss:ExecuteMLResource`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/serverless-genref.html)  |  Fornisce il permesso di eseguire modelli.  | 

## OpenSearch Plugin supportati
<a name="serverless-plugins"></a>

OpenSearch Le raccolte serverless sono preconfezionate con i seguenti plugin della community. OpenSearch Serverless implementa e gestisce automaticamente i plug-in per tuo conto.

**Plug-in di analisi**
+  [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)
+  [Korean (Nori) Analysis](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-in 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) 
+  [Mapper Annotated Text](https://github.com/opensearch-project/OpenSearch/tree/main/plugins/mapper-annotated-text)

**Plug-in di scripting**
+  [Painless](https://opensearch.org/docs/latest/api-reference/script-apis/exec-script/)
+  [Expression](https://opensearch.org/docs/latest/data-prepper/pipelines/expression-syntax/) 
+  [Mustache](https://mustache.github.io/mustache.5.html)

Inoltre, OpenSearch Serverless include tutti i plugin forniti come moduli. 

# Monitoraggio di Amazon OpenSearch Serverless
<a name="serverless-monitoring"></a>

Il monitoraggio è una parte importante per mantenere l'affidabilità, la disponibilità e le prestazioni di Amazon OpenSearch Serverless e delle altre AWS soluzioni. AWS fornisce i seguenti strumenti di monitoraggio per monitorare OpenSearch Serverless, segnalare quando qualcosa non va e intraprendere azioni automatiche se necessario:
+ *Amazon CloudWatch* monitora AWS le tue risorse e le applicazioni su cui esegui AWS in tempo reale. È possibile raccogliere e tenere traccia dei parametri, creare pannelli di controllo personalizzati e impostare allarmi per inviare una notifica o intraprendere azioni quando un parametro specificato raggiunge una determinata soglia. 

  Ad esempio, puoi tenere CloudWatch traccia dell'utilizzo della CPU o di altri parametri delle tue istanze Amazon EC2 e avviare automaticamente nuove istanze quando necessario. Per ulteriori informazioni, consulta la [Amazon CloudWatch User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).
+ *AWS CloudTrail* acquisisce chiamate API ed eventi correlati da parte di o per conto del tuo Account AWS. Distribuisce i file di log a un bucket Amazon S3 specificato. Puoi identificare quali utenti e account hanno effettuato la chiamata AWS, l'indirizzo IP di origine da cui sono state effettuate le chiamate e quando sono avvenute le chiamate. Per ulteriori informazioni, consulta la [Guida per l'utente AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).
+ *Amazon EventBridge* offre un flusso quasi in tempo reale di eventi di sistema che descrivono le modifiche nei tuoi domini OpenSearch di servizio. Puoi creare regole che controllano determinati eventi e attivano azioni automatiche in altri Servizi AWS quando si verificano tali eventi. Per ulteriori informazioni, consulta la [Amazon EventBridge User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/).

# Monitoraggio OpenSearch serverless con Amazon CloudWatch
<a name="monitoring-cloudwatch"></a>

Puoi monitorare l'utilizzo di Amazon OpenSearch Serverless CloudWatch, che raccoglie dati grezzi e li elabora in parametri leggibili quasi in tempo reale. Queste statistiche vengono conservate per un periodo di 15 mesi, per permettere l'accesso alle informazioni storiche e offrire una prospettiva migliore sulle prestazioni del servizio o dell'applicazione web. 

È anche possibile impostare allarmi che controllano determinate soglie e inviare notifiche o intraprendere azioni quando queste soglie vengono raggiunte. Per ulteriori informazioni, consulta la [Amazon CloudWatch User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).

OpenSearch Serverless riporta le seguenti metriche nel namespace. `AWS/AOSS`


| Metrica | Description | 
| --- | --- | 
| ActiveCollection |  Indica se una raccolta è attiva. Un valore pari a 1 significa che la raccolta è in uno stato `ACTIVE`. Questo valore viene emesso dopo la corretta creazione di una raccolta e rimane 1 finché non si elimina la raccolta. Il parametro non può avere un valore pari a 0. **Statistiche rilevanti**: Max (Massimo) **Dimensioni**: `ClientId`, `CollectionId`, `CollectionName` **Frequenza**: 60 secondi  | 
| DeletedDocuments |  Il numero totale di documenti eliminati. **Statistiche rilevanti**: Average (Media), Sum (Somma) **Dimensioni**: `ClientId`, `CollectionId`, `CollectionName`, `IndexId`, `IndexName` **Frequenza**: 60 secondi  | 
| IndexingOCU |  Il numero di unità di OpenSearch calcolo (OCUs) utilizzate per importare i dati della raccolta. Questo parametro si applica a livello di account. Rappresenta l'utilizzo solo per le raccolte che non fanno parte di alcun gruppo di raccolte. **Statistiche rilevanti**: Sum (Somma) **Dimensioni**: `ClientId` **Frequenza**: 60 secondi  | 
| IndexingOCU |  Il numero di unità di OpenSearch calcolo (OCUs) utilizzate per importare i dati della raccolta. Questa metrica si applica a livello di gruppo di raccolta. **Statistiche rilevanti**: Sum (Somma) **Dimensioni**: `ClientId`, `CollectionGroupId`, `CollectionGroupName` **Frequenza**: 60 secondi  | 
| IngestionDataRate |  La velocità di indicizzazione in GiB al secondo di una raccolta o di un indice. Questo parametro si applica solo alle richieste di indicizzazione in blocco. **Statistiche rilevanti**: Sum (Somma) **Dimensioni**: `ClientId`, `CollectionId`, `CollectionName`, `IndexId`, `IndexName` **Frequenza**: 60 secondi  | 
| IngestionDocumentErrors |  Il numero totale di errori del documento durante l'importazione di una raccolta o di un indice. Dopo che una richiesta di indicizzazione in blocco è riuscita, le istanze di scrittura elaborano la richiesta e generano errori per tutti i documenti non riusciti all'interno della richiesta. **Statistiche rilevanti**: Sum (Somma) **Dimensioni**: `ClientId`, `CollectionId`, `CollectionName`, `IndexId`, `IndexName` **Frequenza**: 60 secondi  | 
| IngestionDocumentRate |  La frequenza al secondo con cui i documenti vengono inseriti in una raccolta o in un indice. Questo parametro si applica solo alle richieste di indicizzazione in blocco. **Statistiche rilevanti**: Sum (Somma) **Dimensioni**: `ClientId`, `CollectionId`, `CollectionName`, `IndexId`, `IndexName` **Frequenza**: 60 secondi  | 
| IngestionRequestErrors |  Il numero totale di errori di richiesta di indicizzazione in blocco relativi a una raccolta. OpenSearch Serverless emette questa metrica quando una richiesta di indicizzazione di massa fallisce per qualsiasi motivo, ad esempio un problema di autenticazione o disponibilità. **Statistiche rilevanti**: Sum (Somma) **Dimensioni**: `ClientId`, `CollectionId`, `CollectionName` **Frequenza**: 60 secondi  | 
| IngestionRequestLatency |  La latenza, in secondi, per le operazioni di scrittura in blocco su una raccolta. **Statistiche rilevanti**: Minimum, Maximum, Average (Minimo, Massimo, Medio) **Dimensioni**: `ClientId`, `CollectionId`, `CollectionName` **Frequenza**: 60 secondi  | 
| IngestionRequestRate |  Il numero totale di operazioni di scrittura in blocco ricevute da una raccolta. **Statistiche rilevanti**: Minimum, Maximum, Average (Minimo, Massimo, Medio) **Dimensioni**: `ClientId`, `CollectionId`, `CollectionName` **Frequenza**: 60 secondi  | 
| IngestionRequestSuccess |  Il numero totale di operazioni di indicizzazione riuscite su una raccolta. **Statistiche rilevanti**: Sum (Somma) **Dimensioni**: `ClientId`, `CollectionId`, `CollectionName` **Frequenza**: 60 secondi  | 
| SearchableDocuments |  Il numero totale di documenti ricercabili in una raccolta o in un indice. **Statistiche rilevanti**: Sum (Somma) **Dimensioni**: `ClientId`, `CollectionId`, `CollectionName`, `IndexId`, `IndexName` **Frequenza**: 60 secondi  | 
| SearchRequestErrors |  Il numero totale di errori di query al minuto per una raccolta. **Statistiche rilevanti**: Sum (Somma) **Dimensioni**: `ClientId`, `CollectionId`, `CollectionName` **Frequenza**: 60 secondi  | 
| SearchRequestLatency |  Il tempo medio, in millisecondi, impiegato per completare un'operazione di ricerca su una raccolta. **Statistiche rilevanti**: Minimum, Maximum, Average (Minimo, Massimo, Medio) **Dimensioni**: `ClientId`, `CollectionId`, `CollectionName` **Frequenza**: 60 secondi  | 
| SearchOCU |  Il numero di unità di OpenSearch calcolo () OCUs utilizzate per cercare i dati della raccolta. Questo parametro si applica a livello di account. Rappresenta l'utilizzo solo per le raccolte che non fanno parte di alcun gruppo di raccolte. **Statistiche rilevanti**: Sum (Somma) **Dimensioni**: `ClientId` **Frequenza**: 60 secondi  | 
| SearchOCU |  Il numero di unità di OpenSearch calcolo (OCUs) utilizzate per cercare i dati della raccolta. Questa metrica si applica a livello di gruppo di raccolta. **Statistiche rilevanti**: Sum (Somma) **Dimensioni**: `ClientId`, `CollectionGroupId`, `CollectionGroupName` **Frequenza**: 60 secondi  | 
| SearchRequestRate |  Il numero totale di richieste di ricerca al minuto a una raccolta. **Statistiche rilevanti**: Average (Media), Maximum (Massimo), Sum (Somma) **Dimensioni**: `ClientId`, `CollectionId`, `CollectionName` **Frequenza**: 60 secondi  | 
| StorageUsedInS3 |  La quantità, in byte, di storage Amazon S3 utilizzata. OpenSearch Serverless archivia i dati indicizzati in Amazon S3. È necessario selezionare il periodo in un minuto per ottenere un valore preciso. **Statistiche rilevanti**: Sum (Somma) **Dimensioni**: `ClientId`, `CollectionId`, `CollectionName`, `IndexId`, `IndexName` **Frequenza**: 60 secondi  | 
| VectorIndexBuildAccelerationOCU |  Il numero di unità di OpenSearch calcolo (OCUs) utilizzate per accelerare l'indicizzazione vettoriale. Questa metrica si applica a livello di raccolta. **Statistiche rilevanti**: Sum (Somma) **Dimensioni**:`ClientId`, `CollectionId` **Frequenza**: 60 secondi  | 
| 2xx, 3xx, 4xx, 5xx |  Il numero di richieste alla raccolta che hanno prodotto il codice di risposta HTTP specificato (2*xx*, 3*xx*, 4*xx*, 5*xx*). **Statistiche rilevanti**: Sum (Somma) **Dimensioni**: `ClientId`, `CollectionId`, `CollectionName` **Frequenza**: 60 secondi  | 

# Registrazione delle chiamate API OpenSearch Serverless utilizzando AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

Amazon OpenSearch Serverless è integrato con AWS CloudTrail, un servizio che fornisce un registro delle azioni intraprese da un utente, un ruolo o un AWS servizio in Serverless. 

CloudTrail acquisisce tutte le chiamate API per OpenSearch Serverless come eventi. Le chiamate acquisite includono chiamate dalla sezione Serverless della console di OpenSearch servizio e chiamate in codice alle operazioni dell'API OpenSearch Serverless.

Se crei un trail, puoi abilitare la distribuzione continua di CloudTrail eventi a un bucket Amazon S3, inclusi gli eventi per Serverless. OpenSearch **Se non configuri un percorso, puoi comunque visualizzare gli eventi più recenti nella CloudTrail console nella cronologia degli eventi.** 

Utilizzando le informazioni raccolte da CloudTrail, è possibile determinare la richiesta che è stata effettuata a OpenSearch Serverless, l'indirizzo IP da cui è stata effettuata la richiesta, chi ha effettuato la richiesta, quando è stata effettuata e ulteriori dettagli.

Per ulteriori informazioni CloudTrail, consulta la [Guida per l'AWS CloudTrail utente](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html).

## OpenSearch Informazioni serverless in CloudTrail
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail è abilitato sul tuo Account AWS quando crei l'account. Quando l'attività si verifica in OpenSearch Serverless, tale attività viene registrata in un CloudTrail evento insieme ad altri eventi di AWS servizio nella **cronologia** degli eventi. Puoi visualizzare, cercare e scaricare eventi recenti in. Account AWS Per ulteriori informazioni, consulta [Visualizzazione degli eventi con la cronologia degli CloudTrail eventi](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html).

Per una registrazione continua degli eventi in tuo Account AWS, inclusi gli eventi per OpenSearch Serverless, crea un percorso. Un *trail* consente di CloudTrail inviare file di log a un bucket Amazon S3. Per impostazione predefinita, quando si crea un percorso nella console, questo sarà valido in tutte le Regioni AWS. 

Il trail registra gli eventi di tutte le regioni della AWS partizione e consegna i file di log al bucket Amazon S3 specificato. Inoltre, puoi configurare altri AWS servizi per analizzare ulteriormente e agire in base ai dati sugli eventi raccolti nei log. CloudTrail Per ulteriori informazioni, consulta gli argomenti seguenti:
+ [Panoramica della creazione di un percorso](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail servizi e integrazioni supportati](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [Configurazione delle notifiche Amazon SNS per CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [Ricezione di file di CloudTrail registro da più regioni](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) e [ricezione di file di CloudTrail registro da](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html) più account

Tutte le azioni OpenSearch Serverless vengono registrate CloudTrail e documentate nel riferimento all'API [OpenSearch Serverless](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/Welcome.html). Ad esempio, le chiamate alle `CreateCollection` `DeleteCollection` azioni e generano voci nei file di registro. `ListCollections` CloudTrail 

Ogni evento o voce di log contiene informazioni sull’utente che ha generato la richiesta. Le informazioni di identità consentono di stabilire:
+ Se la richiesta è stata effettuata con credenziali utente root o AWS Identity and Access Management (IAM).
+ Se la richiesta è stata effettuata con le credenziali di sicurezza temporanee per un ruolo o un utente federato.
+ Se la richiesta è stata effettuata da un altro AWS servizio.

Per ulteriori informazioni, consulta [Elemento CloudTrail userIdentity](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## OpenSearch Eventi di dati senza server in CloudTrail
<a name="cloudtrail-data-events"></a>

[Gli eventi relativi ai dati](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events) forniscono informazioni sulle operazioni eseguite sulle risorse su o all'interno di una risorsa (ad esempio, la ricerca o l'indicizzazione in una raccolta OpenSearch Serverless). Queste operazioni sono definite anche operazioni del piano dei dati. Gli eventi di dati sono spesso attività che interessano volumi elevati di dati. Per impostazione predefinita, CloudTrail non registra gli eventi relativi ai dati. La **cronologia CloudTrail degli eventi** non registra gli eventi relativi ai dati.

Per gli eventi di dati sono previsti costi aggiuntivi. Per ulteriori informazioni sui CloudTrail prezzi, consulta la sezione [AWS CloudTrail Prezzi](https://aws.amazon.com/cloudtrail/pricing/).

Puoi registrare gli eventi relativi ai dati per i tipi di `AWS::AOSS::Collection` risorse utilizzando la CloudTrail console o AWS CLI le operazioni CloudTrail dell'API. Per ulteriori informazioni su come registrare gli eventi relativi ai dati, consulta [Registrazione di eventi relativi ai dati con Console di gestione AWS](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-console) e [Registrazione di eventi di dati con 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) nella *Guida per l'utente AWS CloudTrail *.

È possibile configurare selettori di eventi avanzati per filtrare i campi `eventName`, `readOnly` e `resources.ARN` per registrare solo gli eventi importanti per l'utente. Per ulteriori informazioni su questi campi, consulta [https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html) in *Riferimento API AWS CloudTrail *.

## Comprendere le OpenSearch voci relative ai Serverless Data Event
<a name="understanding-data-event-entries"></a>

Nel seguente esempio:
+ Il `requestParameters` campo contiene dettagli sulla chiamata API effettuata alla raccolta. Include il percorso della richiesta di base (senza parametri di query).
+ Il `responseElements` campo include un codice di stato che indica l'esito della richiesta durante la modifica delle risorse. Questo codice di stato consente di verificare se le modifiche sono state elaborate correttamente o richiedono attenzione.
+ OpenSearch Serverless registra gli eventi CloudTrail relativi ai dati solo per le richieste che hanno completato con successo l'autenticazione 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"
    }
  ]
}
```

## Comprensione delle voci OpenSearch relative agli eventi di gestione serverless
<a name="understanding-service-name-entries"></a>

Un trail è una configurazione che consente la distribuzione di eventi come file di log in un bucket Amazon S3 specificato dall'utente. CloudTrail i file di registro contengono una o più voci di registro. 

Un evento rappresenta una singola richiesta da un'origine. Include informazioni sull'azione richiesta, la data e l'ora dell'azione, i parametri della richiesta e così via. CloudTrail i file di registro non sono una traccia ordinata dello stack delle chiamate API pubbliche, quindi non vengono visualizzati in un ordine specifico. 

L'esempio seguente visualizza una voce di CloudTrail registro che illustra l'`CreateCollection`azione.

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

# Monitoraggio degli eventi OpenSearch serverless tramite Amazon EventBridge
<a name="serverless-monitoring-events"></a>

Amazon OpenSearch Service si integra con Amazon EventBridge per notificarti determinati eventi che influiscono sui tuoi domini. Gli eventi AWS relativi ai servizi vengono forniti quasi EventBridge in tempo reale. Gli stessi eventi vengono inviati anche ad [Amazon CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatchEvents.html), il predecessore di Amazon EventBridge. Puoi scrivere regole per indicare quali eventi ti interessano e quali azioni automatiche intraprendere quando un evento corrisponde a una regola. Di seguito sono riportati alcuni esempi di azioni che è possibile attivare automaticamente:
+ Invocare una funzione AWS Lambda 
+ Richiamo di un Run Command di Amazon EC2
+ Inoltro dell'evento a Amazon Kinesis Data Streams
+ Attivazione di una macchina a stati AWS Step Functions
+ Notifica di un argomento Amazon SNS o di una coda Amazon SQS

Per ulteriori informazioni, consulta la sezione Guida [introduttiva ad Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-get-started.html) nella *Amazon EventBridge User Guide*.

## Configurazione delle notifiche
<a name="monitoring-events-notifications"></a>

Puoi utilizzare [le notifiche AWS utente](https://docs.aws.amazon.com/notifications/latest/userguide/what-is-service.html) per ricevere notifiche quando si verifica un evento OpenSearch Serverless. Un evento è un indicatore di un cambiamento nell'ambiente OpenSearch Serverless, ad esempio quando si raggiunge il limite massimo di utilizzo dell'OCU. Amazon EventBridge riceve l'evento e invia una notifica al Centro Console di gestione AWS notifiche e ai canali di distribuzione scelti. L'utente riceverà una notifica quando un evento corrisponde a una regola specificata.

## OpenSearch eventi Compute Units (OCU)
<a name="monitoring-events-ocu"></a>

OpenSearch Serverless invia eventi a EventBridge quando si verifica uno dei seguenti eventi relativi all'OCU. 

### L'utilizzo dell'OCU si avvicina al limite massimo
<a name="monitoring-events-ocu-approaching-max"></a>

OpenSearch Serverless invia questo evento quando l'utilizzo dell'OCU per la ricerca o l'indicizzazione raggiunge il 75% del limite di capacità. L'utilizzo dell'OCU viene calcolato in base al limite di capacità configurato e al consumo attuale dell'OCU.

**Esempio**

Di seguito è riportato un esempio di evento di questo tipo (cerca OCU):

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

Di seguito è riportato un esempio di evento di questo tipo (indice OCU):

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

### L'utilizzo dell'OCU ha raggiunto il limite massimo
<a name="monitoring-events-ocu-approaching-max"></a>

OpenSearch Serverless invia questo evento quando l'utilizzo dell'OCU per la ricerca o l'indice raggiunge il 100% del limite di capacità. L'utilizzo dell'OCU viene calcolato in base al limite di capacità configurato e al consumo attuale dell'OCU.

**Esempio**

Di seguito è riportato un esempio di evento di questo tipo (cerca OCU):

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

Di seguito è riportato un esempio di evento di questo tipo (indice OCU):

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