

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à.

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