

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

# Esempi di policy basate sull'identità per Amazon QLDB
<a name="security_iam_id-based-policy-examples"></a>

Per impostazione predefinita, gli utenti e i ruoli non dispongono dell'autorizzazione per creare o modificare risorse QLDB. Inoltre, non possono eseguire attività utilizzando Console di gestione AWS, AWS Command Line Interface (AWS CLI) o AWS l'API. Per concedere agli utenti l'autorizzazione a eseguire operazioni sulle risorse di cui hanno bisogno, un amministratore IAM può creare policy IAM. L'amministratore può quindi aggiungere le policy IAM ai ruoli e gli utenti possono assumere i ruoli.

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 IAM*.

*Per dettagli sulle azioni e sui tipi di risorse definiti da QLDB, incluso il formato di per ogni tipo di ARNs risorsa, [consulta Azioni, risorse e chiavi di condizione per Amazon QLDB](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonqldb.html) nel Service Authorization Reference.*

**Contents**
+ [

## Best practice per le policy
](#security_iam_service-with-iam-policy-best-practices)
+ [

## Utilizzo della console QLDB
](#security_iam_id-based-policy-examples-console)
  + [

### Autorizzazioni per la cronologia delle query
](#id-based-policy-examples-console-dbqms)
  + [

### Autorizzazioni di accesso completo alla console senza cronologia delle query
](#id-based-policy-examples-console-no-dbqms)
+ [

## Consentire agli utenti di visualizzare le loro autorizzazioni
](#security_iam_id-based-policy-examples-view-own-permissions)
+ [

## Esecuzione di transazioni di dati
](#security_iam_id-based-policy-examples-data-transactions)
  + [

### Autorizzazioni standard per le azioni PartiQL e le risorse delle tabelle
](#security_iam_id-based-policy-examples-standard-mode)
    + [

#### Accesso completo a tutte le azioni
](#security_iam_id-based-policy-examples-full-access)
    + [

#### Accesso completo a tutte le azioni basate sui tag della tabella
](#security_iam_id-based-policy-examples-full-tags)
    + [

#### Accesso in lettura/scrittura
](#security_iam_id-based-policy-examples-read-write)
    + [

#### Accesso in sola lettura
](#security_iam_id-based-policy-examples-read-only)
    + [

#### Accesso in sola lettura a una tabella specifica
](#security_iam_id-based-policy-examples-table-specific)
    + [

#### Consenti l'accesso per creare tabelle
](#security_iam_id-based-policy-examples-create-table)
    + [

#### Consenti l'accesso per creare tabelle basate sui tag di richiesta
](#security_iam_id-based-policy-examples-table-tags)
+ [

## Esportazione di un journal in un bucket Amazon S3
](#security_iam_id-based-policy-examples-export-to-s3-bucket)
+ [

## Trasmissione di un diario su Kinesis Data Streams
](#security_iam_id-based-policy-examples-stream-to-kinesis)
+ [

## Aggiornamento dei registri QLDB in base ai tag
](#security_iam_id-based-policy-examples-update-ledger-tags)

**Importante**  
Avviso di fine del supporto: i clienti esistenti potranno utilizzare Amazon QLDB fino alla fine del supporto, il 31/07/2025. Per ulteriori dettagli, consulta [Migrare un registro Amazon QLDB su Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/).

## Best practice per le policy
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Le politiche basate sull'identità determinano se qualcuno può creare, accedere o eliminare risorse QLDB nel tuo account. Queste azioni possono comportare costi aggiuntivi per l' Account AWS. Quando crei o modifichi policy basate su identità, segui 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 policy 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 ulteriori 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 IAM*.
+ **Applica le autorizzazioni con privilegio minimo**: quando imposti le autorizzazioni con le policy IAM, concedi 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 privilegi minimi*. Per ulteriori 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 IAM*.
+ **Condizioni d'uso nelle policy IAM per limitare ulteriormente l'accesso**: per limitare l'accesso a operazioni e risorse è possibile aggiungere una condizione alle tue 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 ulteriori informazioni, consulta 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 IAM*.
+ **Utilizzo di IAM Access Analyzer per convalidare le policy IAM e garantire autorizzazioni sicure e funzionali**: IAM Access Analyzer convalida le policy nuove ed esistenti in modo che aderiscano alla sintassi della policy IAM (JSON) e alle best practice di IAM. IAM Access Analyzer offre oltre 100 controlli delle policy e consigli utili per creare policy sicure e funzionali. Per ulteriori informazioni, consulta [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 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, aggiungi le condizioni MFA alle policy. Per ulteriori informazioni, consulta [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 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 della console QLDB
<a name="security_iam_id-based-policy-examples-console"></a>

Per accedere alla console Amazon QLDB, devi disporre di un set minimo di autorizzazioni. Queste autorizzazioni devono consentirti di elencare e visualizzare i dettagli sulle risorse QLDB presenti nel tuo. Account AWS Se crei una policy basata sull'identità più restrittiva rispetto alle autorizzazioni minime richieste, la console non funzionerà nel modo previsto per le entità (utenti o ruoli) associate a tale policy.

Non è necessario consentire autorizzazioni minime per la console per gli utenti che effettuano chiamate solo verso o l' AWS CLI API. AWS Al contrario, concedi l'accesso solo alle operazioni che corrispondono all'operazione API che stanno cercando di eseguire.

Per garantire che utenti e ruoli abbiano pieno accesso alla console QLDB e a tutte le sue funzionalità, allega la AWS seguente policy gestita alle entità. Per ulteriori informazioni[AWS politiche gestite per Amazon QLDB](security-iam-awsmanpol.md), consulta [Aggiungere autorizzazioni a un utente nella Guida per l'utente](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) *IAM*.

```
AmazonQLDBConsoleFullAccess
```

### Autorizzazioni per la cronologia delle query
<a name="id-based-policy-examples-console-dbqms"></a>

Oltre alle autorizzazioni QLDB, alcune funzionalità della console richiedono le autorizzazioni per il *Database Query Metadata Service (prefisso del* servizio:). `dbqms` Si tratta di un servizio solo interno che gestisce le query recenti e salvate nell'editor di query della console per QLDB e altri. Servizi AWS*Per un elenco completo delle azioni dell'API DBQMS, consulta [Database Query Metadata](https://docs.aws.amazon.com/service-authorization/latest/reference/list_databasequerymetadataservice.html) Service nel Service Authorization Reference.*

Per consentire le autorizzazioni per la cronologia delle query, puoi utilizzare la policy AWS gestita [Amazon QLDBConsole FullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonQLDBConsoleFullAccess). Questa policy utilizza un wildcard (`dbqms:*`) per consentire tutte le azioni DBQMS per tutte le risorse.

In alternativa, puoi creare una policy IAM personalizzata e includere le seguenti azioni DBQMS. L'editor di query PartiQL sulla console QLDB richiede le autorizzazioni per utilizzare queste azioni per le funzionalità della cronologia delle query.

```
dbqms:CreateFavoriteQuery
dbqms:CreateQueryHistory
dbqms:DeleteFavoriteQueries
dbqms:DeleteQueryHistory
dbqms:DescribeFavoriteQueries
dbqms:DescribeQueryHistory
dbqms:UpdateFavoriteQuery
```

### Autorizzazioni di accesso completo alla console senza cronologia delle query
<a name="id-based-policy-examples-console-no-dbqms"></a>

[Per consentire l'accesso completo alla *console* QLDB senza autorizzazioni per la cronologia delle query, puoi creare una policy IAM personalizzata che escluda tutte le azioni DBQMS.](https://docs.aws.amazon.com/service-authorization/latest/reference/list_databasequerymetadataservice.html) Ad esempio, il seguente documento di policy consente le stesse autorizzazioni concesse dalla policy AWS gestita [Amazon QLDBConsole FullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonQLDBConsoleFullAccess), *ad eccezione* delle azioni che iniziano con il prefisso `dbqms` del servizio.

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "qldb:CreateLedger",
        "qldb:UpdateLedger",
        "qldb:UpdateLedgerPermissionsMode",
        "qldb:DeleteLedger",
        "qldb:ListLedgers",
        "qldb:DescribeLedger",
        "qldb:ExportJournalToS3",
        "qldb:ListJournalS3Exports",
        "qldb:ListJournalS3ExportsForLedger",
        "qldb:DescribeJournalS3Export",
        "qldb:CancelJournalKinesisStream",
        "qldb:DescribeJournalKinesisStream",
        "qldb:ListJournalKinesisStreamsForLedger",
        "qldb:StreamJournalToKinesis",
        "qldb:GetBlock",
        "qldb:GetDigest",
        "qldb:GetRevision",
        "qldb:TagResource",
        "qldb:UntagResource",
        "qldb:ListTagsForResource",
        "qldb:SendCommand",
        "qldb:ExecuteStatement",
        "qldb:ShowCatalog",
        "qldb:InsertSampleData",
        "qldb:PartiQLCreateIndex",
        "qldb:PartiQLDropIndex",
        "qldb:PartiQLCreateTable",
        "qldb:PartiQLDropTable",
        "qldb:PartiQLUndropTable",
        "qldb:PartiQLDelete",
        "qldb:PartiQLInsert",
        "qldb:PartiQLUpdate",
        "qldb:PartiQLSelect",
        "qldb:PartiQLHistoryFunction"
      ],
      "Effect": "Allow",
      "Resource": "*"
    },
    {
      "Action": [
        "kinesis:ListStreams",
        "kinesis:DescribeStream"
      ],
      "Effect": "Allow",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": "qldb.amazonaws.com"
        }
      }
    }
  ]
}
```

## Consentire agli utenti di visualizzare le loro autorizzazioni
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Questo esempio mostra in che modo è possibile creare una policy che consente agli utenti IAM di visualizzare le policy inline e gestite che sono cpllegate alla relativa identità utente. Questa politica include le autorizzazioni per completare questa azione sulla console o utilizzando l'API o a livello di codice. AWS CLI AWS 

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## Esecuzione di transazioni di dati
<a name="security_iam_id-based-policy-examples-data-transactions"></a>

Per interagire con l'API dei dati transazionali QLDB *(sessione QLDB*) [eseguendo](ql-reference.md) istruzioni PartiQL su un registro, è necessario concedere l'autorizzazione all'azione API. `SendCommand` Il seguente documento JSON è un esempio di policy che concede l'autorizzazione solo all'azione API sul registro. `SendCommand` `myExampleLedger`

Per utilizzare questa politica, sostituisci e *us-east-1**123456789012*, *myExampleLedger* nell'esempio, con le tue informazioni.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "QLDBSendCommandPermission",
            "Effect": "Allow",
            "Action": "qldb:SendCommand",
            "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger"
        }
    ]
}
```

Se `myExampleLedger` utilizza la modalità `ALLOW_ALL` autorizzazioni, questa politica concede le autorizzazioni per eseguire tutti i comandi PartiQL su qualsiasi tabella del registro.

Puoi anche utilizzare una policy AWS gestita per concedere l'accesso completo a tutte le risorse QLDB. Per ulteriori informazioni, consulta [AWS politiche gestite per Amazon QLDB](security-iam-awsmanpol.md).

### Autorizzazioni standard per le azioni PartiQL e le risorse delle tabelle
<a name="security_iam_id-based-policy-examples-standard-mode"></a>

Per i registri in modalità `STANDARD` autorizzazioni, puoi fare riferimento ai seguenti documenti sulle policy IAM come esempi di concessione delle autorizzazioni PartiQL appropriate. Per un elenco delle autorizzazioni richieste per ogni comando PartiQL, vedere. [Riferimento alle autorizzazioni PartiQL](getting-started-standard-mode.md#security_iam_partiql-reference)

**Topics**
+ [

#### Accesso completo a tutte le azioni
](#security_iam_id-based-policy-examples-full-access)
+ [

#### Accesso completo a tutte le azioni basate sui tag della tabella
](#security_iam_id-based-policy-examples-full-tags)
+ [

#### Accesso in lettura/scrittura
](#security_iam_id-based-policy-examples-read-write)
+ [

#### Accesso in sola lettura
](#security_iam_id-based-policy-examples-read-only)
+ [

#### Accesso in sola lettura a una tabella specifica
](#security_iam_id-based-policy-examples-table-specific)
+ [

#### Consenti l'accesso per creare tabelle
](#security_iam_id-based-policy-examples-create-table)
+ [

#### Consenti l'accesso per creare tabelle basate sui tag di richiesta
](#security_iam_id-based-policy-examples-table-tags)

#### Accesso completo a tutte le azioni
<a name="security_iam_id-based-policy-examples-full-access"></a>

*Il seguente documento di policy JSON garantisce l'accesso completo all'utilizzo di tutti i comandi *PartiQL* su tutte le tabelle di.* `myExampleLedger` Questa politica produce lo stesso effetto dell'utilizzo della modalità di `ALLOW_ALL` autorizzazione per il registro.

Per utilizzare questo criterio, sostituisci e *us-east-1**123456789012*, *myExampleLedger* nell'esempio, con le tue informazioni.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "QLDBSendCommandPermission",
            "Effect": "Allow",
            "Action": "qldb:SendCommand",
            "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger"
        },
        {
            "Sid": "QLDBPartiQLFullPermissions",
            "Effect": "Allow",
            "Action": [
                "qldb:PartiQLCreateIndex",
                "qldb:PartiQLDropIndex",
                "qldb:PartiQLCreateTable",
                "qldb:PartiQLDropTable",
                "qldb:PartiQLUndropTable",
                "qldb:PartiQLDelete",
                "qldb:PartiQLInsert",
                "qldb:PartiQLUpdate",
                "qldb:PartiQLRedact",
                "qldb:PartiQLSelect",
                "qldb:PartiQLHistoryFunction"
            ],
            "Resource": [
                "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/*",
                "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/information_schema/user_tables"
            ]
        }
    ]
}
```

#### Accesso completo a tutte le azioni basate sui tag della tabella
<a name="security_iam_id-based-policy-examples-full-tags"></a>

Il seguente documento di policy JSON utilizza una condizione basata sui tag delle risorse della tabella per concedere l'accesso completo all'utilizzo di *tutti* i comandi PartiQL *su* tutte le tabelle in. `myExampleLedger` Le autorizzazioni vengono concesse solo se il tag della tabella `environment` ha il valore. `development`

**avvertimento**  
Questo è un esempio di utilizzo di un carattere jolly (\$1) per consentire tutte le azioni PartiQL, incluse le operazioni amministrative read/write e le operazioni su tutte le tabelle in un registro QLDB. È invece consigliabile specificare esplicitamente ogni azione da concedere e solo ciò di cui l'utente, il ruolo o il gruppo ha bisogno.

Per utilizzare questa politica, sostituisci e *us-east-1**123456789012*, *myExampleLedger* nell'esempio, con le tue informazioni.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "QLDBSendCommandPermission",
            "Effect": "Allow",
            "Action": "qldb:SendCommand",
            "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger"
        },
        {
            "Sid": "QLDBPartiQLFullPermissionsBasedOnTags",
            "Effect": "Allow",
            "Action": [
                "qldb:PartiQL*"
            ],
            "Resource": [
                "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/*",
                "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/information_schema/user_tables"
            ],
            "Condition": {
                "StringEquals": { "aws:ResourceTag/environment": "development" }
            }
        }
    ]
}
```

#### Accesso in lettura/scrittura
<a name="security_iam_id-based-policy-examples-read-write"></a>

Il seguente documento sulla politica JSON concede le autorizzazioni per selezionare, inserire, aggiornare ed eliminare i dati su tutte le tabelle di. `myExampleLedger` Questa politica non concede le autorizzazioni per oscurare i dati o modificare lo schema, ad esempio per creare e eliminare tabelle e indici.

**Nota**  
Un'`UPDATE`istruzione richiede le autorizzazioni sia per le azioni che per le azioni sulla tabella che viene `qldb:PartiQLUpdate` modificata`qldb:PartiQLSelect`. Quando si esegue un'`UPDATE`istruzione, questa esegue un'operazione di lettura oltre all'operazione di aggiornamento. La richiesta di entrambe le azioni garantisce che solo gli utenti autorizzati a leggere il contenuto di una tabella ricevano `UPDATE` le autorizzazioni.  
Analogamente, un'`DELETE`istruzione richiede le autorizzazioni sia per le `qldb:PartiQLDelete` azioni che per. `qldb:PartiQLSelect`

Per utilizzare questa politica, sostituisci e *us-east-1**123456789012*, *myExampleLedger* nell'esempio, con le tue informazioni.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "QLDBSendCommandPermission",
            "Effect": "Allow",
            "Action": "qldb:SendCommand",
            "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger"
        },
        {
            "Sid": "QLDBPartiQLReadWritePermissions",
            "Effect": "Allow",
            "Action": [
                "qldb:PartiQLDelete",
                "qldb:PartiQLInsert",
                "qldb:PartiQLUpdate",
                "qldb:PartiQLSelect",
                "qldb:PartiQLHistoryFunction"
            ],
            "Resource": [
                "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/*",
                "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/information_schema/user_tables"
            ]
        }
    ]
}
```

#### Accesso in sola lettura
<a name="security_iam_id-based-policy-examples-read-only"></a>

Il seguente documento sulla politica JSON concede autorizzazioni di sola lettura su tutte le tabelle di. `myExampleLedger` Per utilizzare questa politica, sostituisci e*us-east-1*, *myExampleLedger* nell'esempio*123456789012*, con le tue informazioni.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "QLDBSendCommandPermission",
            "Effect": "Allow",
            "Action": "qldb:SendCommand",
            "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger"
        },
        {
            "Sid": "QLDBPartiQLReadOnlyPermissions",
            "Effect": "Allow",
            "Action": [
                "qldb:PartiQLSelect",
                "qldb:PartiQLHistoryFunction"
            ],
            "Resource": [
                "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/*",
                "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/information_schema/user_tables"
            ]
        }
    ]
}
```

#### Accesso in sola lettura a una tabella specifica
<a name="security_iam_id-based-policy-examples-table-specific"></a>

Il seguente documento di policy JSON concede autorizzazioni di sola lettura su una tabella specifica in. `myExampleLedger` In questo esempio, l'ID della tabella è. `Au1EiThbt8s0z9wM26REZN`

Per utilizzare questo criterio*us-east-1*, sostituisci *123456789012**myExampleLedger*,, e *Au1EiThbt8s0z9wM26REZN* nell'esempio con le tue informazioni.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "QLDBSendCommandPermission",
            "Effect": "Allow",
            "Action": "qldb:SendCommand",
            "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger"
        },
        {
            "Sid": "QLDBPartiQLReadOnlyPermissionsOnTable",
            "Effect": "Allow",
            "Action": [
                "qldb:PartiQLSelect",
                "qldb:PartiQLHistoryFunction"
            ],
            "Resource": [
                "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/Au1EiThbt8s0z9wM26REZN"
            ]
        }
    ]
}
```

#### Consenti l'accesso per creare tabelle
<a name="security_iam_id-based-policy-examples-create-table"></a>

Il seguente documento di policy JSON concede il permesso di creare tabelle in. `myExampleLedger` L'`qldb:PartiQLCreateTable`azione richiede le autorizzazioni per il tipo di risorsa della tabella. Tuttavia, l'ID di tabella di una nuova tabella non è noto al momento dell'esecuzione di un'`CREATE TABLE`istruzione. Pertanto, una politica che concede l'`qldb:PartiQLCreateTable`autorizzazione deve utilizzare un carattere jolly (\$1) nella tabella ARN per specificare la risorsa.

Per utilizzare questa politica, sostituisci e *us-east-1**123456789012*, *myExampleLedger* nell'esempio, con le tue informazioni.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "QLDBSendCommandPermission",
            "Effect": "Allow",
            "Action": "qldb:SendCommand",
            "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger"
        },
        {
            "Sid": "QLDBPartiQLCreateTablePermission",
            "Effect": "Allow",
            "Action": [
                "qldb:PartiQLCreateTable"
            ],
            "Resource": [
                "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/*"
            ]
        }
    ]
}
```

#### Consenti l'accesso per creare tabelle basate sui tag di richiesta
<a name="security_iam_id-based-policy-examples-table-tags"></a>

Il seguente documento di policy JSON utilizza una condizione basata sulla chiave di `aws:RequestTag` contesto per concedere l'autorizzazione alla creazione di tabelle`myExampleLedger`. Le autorizzazioni vengono concesse solo se il tag di richiesta `environment` ha il valore. `development` L'aggiunta di tag alle tabelle al momento della creazione richiede l'accesso `qldb:PartiQLCreateTable` sia `qldb:TagResource` alle azioni che. Per informazioni su come etichettare le tabelle al momento della creazione, consulta[Tabelle di etichettatura](getting-started-standard-mode.md#security_iam_partiql-ref.table-tags).

Per utilizzare questa politica*us-east-1*, sostituisci e*123456789012*, *myExampleLedger* nell'esempio, con le tue informazioni.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "QLDBSendCommandPermission",
            "Effect": "Allow",
            "Action": "qldb:SendCommand",
            "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger"
        },
        {
            "Sid": "QLDBPartiQLCreateTablePermission",
            "Effect": "Allow",
            "Action": [
                "qldb:PartiQLCreateTable",
                "qldb:TagResource"
            ],
            "Resource": [
                "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger/table/*"
            ],
            "Condition": {
                "StringEquals": { "aws:RequestTag/environment": "development" }
            }
        }
    ]
}
```

## Esportazione di un journal in un bucket Amazon S3
<a name="security_iam_id-based-policy-examples-export-to-s3-bucket"></a>

**Fase 1: Autorizzazioni di esportazione del journal QLDB**

Nell'esempio seguente, concedi a un utente Account AWS le autorizzazioni per eseguire l'`qldb:ExportJournalToS3`azione su una risorsa di registro QLDB. Concedi anche le autorizzazioni per eseguire l'`iam:PassRole`azione sulla risorsa del ruolo IAM che desideri passare al servizio QLDB. Questo è necessario per tutte le richieste di esportazione del diario.

Per utilizzare questa politica, sostituisci *us-east-1* *123456789012**myExampleLedger*,, e *qldb-s3-export* nell'esempio con le tue informazioni.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "QLDBJournalExportPermission",
            "Effect": "Allow",
            "Action": "qldb:ExportJournalToS3",
            "Resource": "arn:aws:qldb:us-east-1:123456789012:ledger/myExampleLedger"
        },
        {
            "Sid": "IAMPassRolePermission",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::123456789012:role/qldb-s3-export",
            "Condition": {
               "StringEquals": {
                  "iam:PassedToService": "qldb.amazonaws.com"
               }
            }
        }
    ]
}
```

**Fase 2: autorizzazioni per i bucket Amazon S3**

Nell'esempio seguente, utilizzi un ruolo IAM per concedere l'accesso a QLDB per la scrittura in uno dei tuoi bucket Amazon S3,. `amzn-s3-demo-bucket` Ciò è necessario anche per tutte le esportazioni di giornali QLDB.

Oltre a concedere l'`s3:PutObject`autorizzazione, la politica concede anche l'`s3:PutObjectAcl`autorizzazione per la possibilità di impostare le autorizzazioni dell'elenco di controllo degli accessi (ACL) per un oggetto.

Per utilizzare questa politica, sostituisci amzn-s3-demo-bucket nell'esempio con il nome del tuo bucket Amazon S3.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "QLDBJournalExportS3Permissions",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
        }
    ]
}
```

Quindi, colleghi questa policy di autorizzazione a un ruolo IAM che QLDB può assumere per accedere al tuo bucket Amazon S3. Il seguente documento JSON è un esempio di policy di fiducia che consente a QLDB di assumere il ruolo IAM solo per qualsiasi risorsa QLDB nell'account. `123456789012`

Per utilizzare questa politica, sostituisci *us-east-1* e *123456789012* nell'esempio con le tue informazioni.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "qldb.amazonaws.com"
            },
            "Action": [ "sts:AssumeRole" ],
            "Condition": {
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:qldb:us-east-1:123456789012:*"
                },
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

## Trasmissione di un diario su Kinesis Data Streams
<a name="security_iam_id-based-policy-examples-stream-to-kinesis"></a>

**Passaggio 1: autorizzazioni per lo streaming del journal QLDB**

Nell'esempio seguente, concedi a un utente tra le tue Account AWS autorizzazioni per eseguire l'`qldb:StreamJournalToKinesis`azione su tutte le sottorisorse di flusso QLDB in un registro. Concedi anche le autorizzazioni per eseguire l'`iam:PassRole`azione sulla risorsa del ruolo IAM che desideri passare al servizio QLDB. Questa operazione è necessaria per tutte le richieste di flusso journal.

Per utilizzare questa politica, sostituisci*us-east-1*, *123456789012**myExampleLedger*, e *qldb-kinesis-stream* nell'esempio con le tue informazioni.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "QLDBJournalStreamPermission",
            "Effect": "Allow",
            "Action": "qldb:StreamJournalToKinesis",
            "Resource": "arn:aws:qldb:us-east-1:123456789012:stream/myExampleLedger/*"
        },
        {
            "Sid": "IAMPassRolePermission",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::123456789012:role/qldb-kinesis-stream",
            "Condition": {
               "StringEquals": {
                  "iam:PassedToService": "qldb.amazonaws.com"
               }
            }
        }
    ]
}
```

**Fase 2: Autorizzazioni Kinesis Data Streams**

Nell'esempio seguente, utilizzi un ruolo IAM per concedere l'accesso a QLDB per scrivere record di dati nel flusso di dati di Amazon Kinesis,. *stream-for-qldb* Ciò è necessario anche per tutti i flussi di journal QLDB.

Per utilizzare questa politica, sostituisci e *us-east-1**123456789012*, *stream-for-qldb* nell'esempio, con le tue informazioni.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "QLDBStreamKinesisPermissions",
            "Action": [ "kinesis:PutRecord*", "kinesis:DescribeStream", "kinesis:ListShards" ],
            "Effect": "Allow",
            "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/stream-for-qldb"
        }
    ]
}
```

Quindi, colleghi questa policy di autorizzazione a un ruolo IAM che QLDB può assumere per accedere al flusso di dati Kinesis. Il seguente documento JSON è un esempio di policy di fiducia che consente a QLDB di assumere un ruolo IAM per qualsiasi flusso QLDB nell'account solo per il registro. `123456789012` `myExampleLedger`

Per utilizzare questa politica, sostituisci e, *myExampleLedger* nell'*us-east-1*esempio*123456789012*, con le tue informazioni.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "qldb.amazonaws.com"
            },
            "Action": [ "sts:AssumeRole" ],
            "Condition": {
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:qldb:us-east-1:123456789012:stream/myExampleLedger/*"
                },
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

## Aggiornamento dei registri QLDB in base ai tag
<a name="security_iam_id-based-policy-examples-update-ledger-tags"></a>

Puoi utilizzare le condizioni nella tua policy basata sull'identità per controllare l'accesso alle risorse QLDB in base ai tag. Questo esempio mostra come è possibile creare una politica che consenta l'aggiornamento di un registro. Tuttavia, l'autorizzazione viene concessa solo se il tag ledger `Owner` ha il valore del nome utente di quell'utente. Questa policy concede anche le autorizzazioni necessarie per completare questa azione nella console.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ListLedgersInConsole",
            "Effect": "Allow",
            "Action": "qldb:ListLedgers",
            "Resource": "*"
        },
        {
            "Sid": "UpdateLedgerIfOwner",
            "Effect": "Allow",
            "Action": "qldb:UpdateLedger",
            "Resource": "arn:aws:qldb:*:*:ledger/*",
            "Condition": {
                "StringEquals": {"aws:ResourceTag/Owner": "${aws:username}"}
            }
        }
    ]
}
```

È possibile collegare questa policy agli utenti nell'account. Se un utente denominato `richard-roe` tenta di aggiornare un registro QLDB, il registro deve essere contrassegnato con o. `Owner=richard-roe` `owner=richard-roe` In caso contrario, gli viene negato l'accesso. La chiave di tag di condizione `Owner` corrisponde sia a `Owner` che a `owner` perché i nomi delle chiavi di condizione non distinguono tra maiuscole e minuscole. Per ulteriori informazioni, consulta 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 IAM*.