

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Politiques de sécurité IAM avec PartiQL pour DynamoDB
<a name="ql-iam"></a>

Les autorisations suivantes sont requises :
+ Pour lire des éléments à l’aide de PartiQL pour DynamoDB, vous devez disposer de l’autorisation `dynamodb:PartiQLSelect` sur la table ou l’index.
+ Pour insérer des éléments à l’aide de PartiQL pour DynamoDB, vous devez disposer de l’autorisation `dynamodb:PartiQLInsert` sur la table ou l’index.
+ Pour mettre à jour des éléments à l’aide de PartiQL pour DynamoDB, vous devez disposer de l’autorisation `dynamodb:PartiQLUpdate` sur la table ou l’index.
+ Pour supprimer des éléments à l’aide de PartiQL pour DynamoDB, vous devez disposer de l’autorisation `dynamodb:PartiQLDelete` sur la table ou l’index.

## Exemple : autoriser toutes les instructions PartiQL pour DynamoDB () sur une table Select/Insert/Update/Delete
<a name="access-policy-ql-iam-example1"></a>

La politique IAM suivante accorde les autorisations nécessaires pour exécuter toutes les instructions PartiQL pour DynamoDB sur une table. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "dynamodb:PartiQLInsert",
            "dynamodb:PartiQLUpdate",
            "dynamodb:PartiQLDelete",
            "dynamodb:PartiQLSelect"
         ],
         "Resource":[
            "arn:aws:dynamodb:us-west-2:123456789012:table/Music"
         ]
      }
   ]
}
```

------

## Exemple : Autoriser les instructions PartiQL select pour DynamoDB sur une table
<a name="access-policy-ql-iam-example2"></a>

La politique IAM suivante accorde les autorisations nécessaires pour exécuter l’instruction `select` sur une table spécifique.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "dynamodb:PartiQLSelect"
         ],
         "Resource":[
            "arn:aws:dynamodb:us-west-2:123456789012:table/Music"
         ]
      }
   ]
}
```

------

## Exemple : Autoriser les instructions PartiQL insert pour DynamoDB sur un index
<a name="access-policy-ql-iam-example3"></a>

La politique IAM suivante accorde les autorisations nécessaires pour exécuter l’instruction `insert` sur un index spécifique. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "dynamodb:PartiQLInsert"
         ],
         "Resource":[
            "arn:aws:dynamodb:us-west-2:123456789012:table/Music/index/index1"
         ]
      }
   ]
}
```

------

## Exemple : Autoriser les instructions transactionnelles PartiQL pour DynamoDB sur une table
<a name="access-policy-ql-iam-example4"></a>

La politique IAM suivante accorde les autorisations nécessaires pour exécuter uniquement des instructions transactionnelles sur une table spécifique. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "dynamodb:PartiQLInsert",
            "dynamodb:PartiQLUpdate",
            "dynamodb:PartiQLDelete",
            "dynamodb:PartiQLSelect"
         ],
         "Resource":[
            "arn:aws:dynamodb:us-west-2:123456789012:table/Music"
         ],
         "Condition":{
            "StringEquals":{
               "dynamodb:EnclosingOperation":[
                  "ExecuteTransaction"
               ]
            }
         }
      }
   ]
}
```

------

## Exemple : Autoriser les lectures et d’écritures non transactionnelles PartiQL pour DynamoDB, et bloquer les instructions de lectures et d’écritures transactionnelles PartiQL sur une table.
<a name="access-policy-ql-iam-example5"></a>

 La politique IAM suivante accorde des autorisations pour exécuter des lectures et des écritures non transactionnelles PartiQL pour DynamoDB tout en bloquant les lectures et écritures transactionnelles PartiQL pour DynamoDB.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Deny",
         "Action":[
            "dynamodb:PartiQLInsert",
            "dynamodb:PartiQLUpdate",
            "dynamodb:PartiQLDelete",
            "dynamodb:PartiQLSelect"
         ],
         "Resource":[
            "arn:aws:dynamodb:us-west-2:123456789012:table/Music"
         ],
         "Condition":{
            "StringEquals":{
               "dynamodb:EnclosingOperation":[
                  "ExecuteTransaction"
               ]
            }
         }
      },
      {
         "Effect":"Allow",
         "Action":[
            "dynamodb:PartiQLInsert",
            "dynamodb:PartiQLUpdate",
            "dynamodb:PartiQLDelete",
            "dynamodb:PartiQLSelect"
         ],
         "Resource":[
            "arn:aws:dynamodb:us-west-2:123456789012:table/Music"
         ]
      }
   ]
}
```

------

## Exemple : autoriser les instructions de sélection et rejeter les instructions d’analyse de table complète dans PartiQL pour DynamoDB
<a name="access-policy-ql-iam-example6"></a>

La politique IAM suivante accorde des autorisations pour exécuter l’instruction `select` sur une table spécifique tout en bloquant les instructions `select` qui entraînent une analyse de table complète.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Deny",
         "Action":[
            "dynamodb:PartiQLSelect"
         ],
         "Resource":[
            "arn:aws:dynamodb:us-west-2:123456789012:table/WatchList"
         ],
         "Condition":{
            "Bool":{
               "dynamodb:FullTableScan":[
                  "true"
               ]
            }
         }
      },
      {
         "Effect":"Allow",
         "Action":[
            "dynamodb:PartiQLSelect"
         ],
         "Resource":[
            "arn:aws:dynamodb:us-west-2:123456789012:table/WatchList"
         ]
      }
   ]
}
```

------