

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.

# Gestion de l'accès aux bases de données Amazon Neptune à l'aide des politiques IAM
<a name="security-iam-access-manage"></a>

Les [politiques IAM](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html) sont des objets JSON qui définissent les autorisations d'utilisation des actions et des ressources.

Vous contrôlez l'accès en AWS créant des politiques et en les associant à AWS des identités ou à des ressources. Une politique définit les autorisations lorsqu'elles sont associées à une identité ou à une ressource. AWS évalue ces politiques lorsqu'un directeur fait une demande. La plupart des politiques sont stockées AWS sous forme de documents JSON. Pour plus d’informations les documents de politique JSON, consultez [Vue d’ensemble des politiques JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) dans le *Guide de l’utilisateur IAM*.

À l’aide de politiques, les administrateurs précisent qui a accès à quoi en définissant quel **principal** peut effectuer des **actions** sur quelles **ressources** et dans quelles **conditions**.

Par défaut, les utilisateurs et les rôles ne disposent d’aucune autorisation. Un administrateur IAM crée des politiques IAM et les ajoute aux rôles, que les utilisateurs peuvent ensuite assumer. Les politiques IAM définissent les autorisations quelle que soit la méthode que vous utilisez pour exécuter l’opération.

## politiques basées sur l’identité
<a name="security_iam_access-manage-id-based-policies"></a>

Les stratégies basées sur l’identité sont des documents de stratégie d’autorisations JSON que vous attachez à une identité (utilisateur, groupe ou rôle). Ces politiques contrôlent les actions que peuvent exécuter ces identités, sur quelles ressources et dans quelles conditions. Pour découvrir comment créer une politique basée sur l’identité, consultez [Définition d’autorisations IAM personnalisées avec des politiques gérées par le client](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dans le *Guide de l’utilisateur IAM*.

Les politiques basées sur l’identité peuvent être des *politiques intégrées* (intégrées directement dans une seule identité) ou des *politiques gérées (politiques* autonomes associées à plusieurs identités). Pour découvrir comment choisir entre des politiques gérées et en ligne, consultez [Choix entre les politiques gérées et les politiques en ligne](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) dans le *Guide de l’utilisateur IAM*.

## Utilisation des politiques de contrôle des services (SCP) avec les organisations AWS
<a name="security_iam_access-manage-scp"></a>

Les politiques de contrôle des services (SCPs) sont des politiques JSON qui spécifient les autorisations maximales pour une organisation ou une unité organisationnelle (UO) dans [AWS Organizations](https://aws.amazon.com/organizations/). AWS Organizations est un service permettant de regrouper et de gérer de manière centralisée plusieurs AWS comptes détenus par votre entreprise. Si vous activez toutes les fonctionnalités d'une organisation, vous pouvez appliquer des politiques de contrôle des services (SCPs) à l'un ou à l'ensemble de vos comptes. Le SCP limite les autorisations pour les entités des comptes membres, y compris pour chaque utilisateur root AWS du compte. Pour plus d'informations sur les Organizations SCPs, voir [Comment SCPs travailler](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_about-scps.html) dans le Guide de AWS Organizations l'utilisateur.

Les clients qui déploient Amazon Neptune dans un AWS compte au sein d'une AWS organisation peuvent en tirer parti SCPs pour contrôler les comptes autorisés à utiliser Neptune. Pour garantir l'accès à Neptune depuis un compte de membre, assurez-vous de :
+  Autoriser l'accès aux opérations `rds:*` de base de données Neptune et `neptune-db:*` pour celles-ci. Reportez-vous à la section [Pourquoi les autorisations et les ressources Amazon RDS sont-elles nécessaires pour utiliser la base de données Neptune](https://aws.amazon.com/neptune/faqs/) ? pour savoir pourquoi les autorisations Amazon RDS sont nécessaires pour la base de données Neptune. 
+  Autoriser l'accès `neptune-graph:*` aux opérations de Neptune Analytics. 

## Autorisations requises pour utiliser la console Amazon Neptune
<a name="security-iam-access-manage-console"></a>

Pour qu'un utilisateur puisse utiliser la console Amazon Neptune, il doit disposer d'un ensemble minimum d'autorisations. Ces autorisations lui permettront de décrire les ressources Neptune de son compte AWS et de fournir d'autres informations associées, y compris les informations relatives à la sécurité et au réseau Amazon EC2.

Si vous créez une politique IAM plus restrictive que les autorisations minimales requises, la console ne fonctionnera pas comme prévu pour les utilisateurs dotés de cette politique IAM. Pour que ces utilisateurs puissent continuer à utiliser la console Neptune, attachez également la politique gérée `NeptuneReadOnlyAccess` aux différents utilisateurs, comme indiqué dans la section [Utilisation de politiques AWS gérées pour accéder aux bases de données Amazon Neptune](security-iam-access-managed-policies.md).

Il n'est pas nécessaire d'accorder des autorisations de console minimales aux utilisateurs qui appellent uniquement l'API Amazon Neptune AWS CLI ou l'API Amazon Neptune.

## Association d'une politique IAM à un utilisateur IAM
<a name="iam-auth-policy-attaching"></a>

Pour appliquer une politique personnalisée ou gérée, vous devez l'attacher à un utilisateur IAM. Pour accéder à un didacticiel sur ce sujet, consultez [Créer et attacher votre première politique gérée par le client](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_managed-policies.html) dans le *Guide de l'utilisateur IAM*.

Tandis que vous parcourez ce didacticiel, vous pouvez utiliser un exemple de politique illustré dans cette section comme point de départ afin de le personnaliser en fonction de vos besoins. À la fin de ce didacticiel, vous aurez un utilisateur IAM avec une politique associée qui peut utiliser l'action `neptune-db:*`.

**Important**  
Il faut jusqu'à 10 minutes pour que les modifications apportées à une politique IAM s'appliquent aux ressources Neptune spécifiées.
Les politiques IAM appliquées à un cluster de bases de données Neptune s'appliquent à toutes les instances de ce cluster.

## Utilisation de différents types de politique IAM pour contrôler l'accès à Neptune
<a name="iam-auth-policy"></a>

Pour donner accès aux actions administratives Neptune ou aux données d'un cluster de bases de données Neptune, vous devez associer des politiques à un utilisateur ou à un rôle IAM. Pour en savoir plus sur la façon d'associer une politique IAM à un utilisateur, consultez [Association d'une politique IAM à un utilisateur IAM](#iam-auth-policy-attaching). Pour en savoir plus sur l'association d'une politique à un rôle, consultez [Ajout et suppression de politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) dans le *Guide de l'utilisateur IAM*.

Pour un accès général à Neptune, vous pouvez utiliser l'une des [politiques gérées](security-iam-access-managed-policies.md) de Neptune. Pour un accès plus restreint, vous pouvez créer votre propre politique personnalisée à l'aide des [actions administratives](neptune-iam-admin-actions.md) et des [ressources administratives](iam-admin-resources.md) prises en charge par Neptune.

Dans une politique IAM personnalisée, vous pouvez utiliser deux types de déclarations de politique qui contrôlent différents modes d'accès à un cluster de bases de données Neptune :
+ [Déclarations de politique administrative](iam-admin-policies.md) — Les déclarations de politique administrative donnent accès à la [gestion Neptune APIs](api.md) que vous utilisez pour créer, configurer et gérer un cluster de bases de données et ses instances.

  Comme Neptune partage des fonctionnalités avec Amazon RDS, les actions administratives, les ressources et les clés de condition des politiques Neptune utilisent un préfixe `rds:` dès leur conception.
+ [Déclarations de stratégie d'accès aux données](iam-data-access-policies.md) : les déclarations de stratégie d'accès aux données utilisent des [actions d'accès aux données](iam-dp-actions.md), des [ressources](iam-data-resources.md) et des [clés de condition](iam-data-condition-keys.md#iam-neptune-condition-keys) pour contrôler l'accès aux données qui se trouvent dans un cluster de bases de données.

  Les actions d'accès aux données, les ressources et les clés de condition Neptune utilisent un préfixe `neptune-db:`.

## Utilisation des clés contextuelles de condition IAM dans Amazon Neptune
<a name="iam-using-condition-keys"></a>

Vous pouvez spécifier des conditions dans une déclaration de politique IAM qui contrôle l'accès à Neptune. La déclaration de politique n'entre ensuite en vigueur que lorsque les conditions sont remplies.

Par exemple, il peut être utile d'appliquer une déclaration de politique après une date spécifique ou de n'autoriser l'accès que lorsqu'une valeur spécifique est présente dans la demande.

Pour exprimer des conditions, utilisez les clés de condition prédéfinies dans l'élément [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) d'une déclaration de politique avec des [opérateurs de politique de condition IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) comme « égal à » et « inférieur à ».

Si vous spécifiez plusieurs éléments `Condition` dans une instruction, ou plusieurs clés dans un seul élément `Condition`, AWS les évalue à l’aide d’une opération `AND` logique. Si vous spécifiez plusieurs valeurs pour une seule clé de condition, AWS évalue la condition à l'aide d'une `OR` opération logique. Toutes les conditions doivent être remplies avant que les autorisations associées à l’instruction ne soient accordées.

 Vous pouvez aussi utiliser des variables d’espace réservé quand vous spécifiez des conditions. Par exemple, vous pouvez accorder à un utilisateur IAM l’autorisation d’accéder à une ressource uniquement si elle est balisée avec son nom d’utilisateur IAM. Pour plus d'informations, consultez [Éléments d'une politique IAM : variables et balises](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html) dans le *Guide de l’utilisateur IAM*.

Le type de données d'une clé de condition détermine les opérateurs de condition que vous pouvez utiliser pour comparer les valeurs de la demande avec les valeurs de la déclaration de politique. Si vous utilisez un opérateur de condition incompatible avec ce type de données, la correspondance échoue toujours et la déclaration de politique ne s'applique jamais.

Neptune prend en charge différents ensembles de clés de condition pour les déclarations de politique administrative et pour les déclarations de stratégie d'accès aux données :
+ [Clés de condition des déclarations de politique administrative](iam-admin-condition-keys.md)
+ [Clés de condition des déclarations de stratégie d'accès aux données](iam-data-condition-keys.md#iam-neptune-condition-keys)

## Prise en charge des fonctionnalités de politique IAM et de contrôle d'accès dans Amazon Neptune
<a name="neptune-iam-policy-support"></a>

Le tableau suivant indique les fonctionnalités IAM prises en charge par Neptune pour les déclarations de politique administrative et les déclarations de stratégie d'accès aux données :


**Fonctionnalités IAM que vous pouvez utiliser avec Neptune**  

| Fonctionnalité IAM | Administration | Accès aux données | 
| --- | --- | --- | 
| [Politiques basées sur l’identité](#security_iam_access-manage-id-based-policies) | Oui | Oui | 
| [Politiques basées sur les ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) | Non | Non | 
| [Actions de politique](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_action.html) | Oui | Oui | 
| [Ressources de politique](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html) | Oui | Oui | 
| [Clés de condition globale](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) | Oui | (sous-ensemble) | 
| [Clés de condition basées sur des balises](iam-admin-condition-keys.md#iam-rds-tag-based-condition-keys) | Oui | Non | 
| [Listes de contrôle d'accès (ACLs)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acls.html) | Non | Non | 
| [Politiques de contrôle des services (SCPs)](#security_iam_access-manage-scp) | Oui | Oui | 
| [Rôles liés à un service](security-iam-service-linked-roles.md) | Oui | Non | 

## Limites des politiques IAM
<a name="iam-policy-limits"></a>

Il faut jusqu'à 10 minutes pour que les modifications apportées à une politique IAM s'appliquent aux ressources Neptune spécifiées.

Les politiques IAM appliquées à un cluster de bases de données Neptune s'appliquent à toutes les instances de ce cluster.

Neptune ne prend actuellement pas en charge le contrôle d'accès entre comptes au niveau du plan de données. Le contrôle d'accès entre comptes n'est pris en charge que lors du chargement groupé et à l'aide du chaînage des rôles. Pour plus d'informations, consultez le [didacticiel sur le chargement en bloc](https://docs.aws.amazon.com//neptune/latest/userguide/bulk-load-tutorial-chain-roles.html#bulk-load-tutorial-chain-cross-account).

# Utilisation de politiques AWS gérées pour accéder aux bases de données Amazon Neptune
<a name="security-iam-access-managed-policies"></a>

AWS répond à de nombreux cas d'utilisation courants en fournissant des politiques IAM autonomes créées et administrées par. AWS Les politiques gérées octroient les autorisations requises dans les cas d’utilisation courants et vous évitent d’avoir à réfléchir aux autorisations qui sont requises. Pour plus d'informations, consultez [ Politiques gérées par AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) dans le *Guide de l'utilisateur IAM*.

Les politiques AWS gérées suivantes, que vous pouvez associer aux utilisateurs de votre compte, concernent l'utilisation de la gestion d'Amazon Neptune : APIs
+ **[NeptuneReadOnlyAccess](read-only-access-iam-managed-policy.md)**— Accorde un accès en lecture seule à toutes les ressources Neptune à des fins administratives et d'accès aux données dans le compte root. AWS 
+ **[NeptuneFullAccess](full-access-iam-managed-policy.md)**— Accorde un accès complet à toutes les ressources Neptune à des fins administratives et d'accès aux données dans le compte root. AWS Cela est recommandé si vous avez besoin d'un accès complet à Neptune depuis le AWS CLI SDK, mais pas pour y accéder. AWS Management Console 
+ **[NeptuneConsoleFullAccess](console-full-access-iam-managed-policy.md)**— Accorde un accès complet dans le AWS compte root à toutes les actions et ressources administratives de Neptune, mais pas aux actions ou ressources d'accès aux données. Il inclut aussi des autorisations supplémentaires pour simplifier l'accès à Neptune depuis la console, y compris les autorisations IAM et EC2 (VPC) limitées.
+ **[NeptuneGraphReadOnlyAccess ](graph-read-only-access-iam-managed-policy.md)**— Fournit un accès en lecture seule à toutes les ressources Amazon Neptune Analytics ainsi que des autorisations en lecture seule pour les services dépendants
+ **[AWSServiceRoleForNeptuneGraphPolicy](aws-service-role-for-neptune-graph-policy.md)**— Permet aux graphiques de Neptune Analytics de publier des statistiques et CloudWatch des journaux opérationnels et d'utilisation.

Les rôles et politiques IAM Neptune accordent un accès aux ressources Amazon RDS, car Neptune partage sa technologie opérationnelle avec Amazon RDS pour certaines fonctionnalités de gestion. Cela inclut les autorisations d'API administratives. C'est pourquoi les actions administratives Neptune ont le préfixe `rds:`.

## Mises à jour des politiques gérées par Neptune AWS
<a name="neptune-managed-policy-updates"></a>

Le tableau suivant effectue le suivi des mises à jour des politiques gérées de Neptune depuis le moment où Neptune a commencé à suivre ces modifications :


| Politique | Description | Date | 
| --- | --- | --- | 
| AWS politiques gérées pour Amazon Neptune - mise à jour des politiques existantes | Les politiques `NeptuneFullAccess` gérées `NeptuneReadOnlyAcess` et incluent désormais `Sid` (ID de déclaration) comme identifiant dans la déclaration de politique. | 22/01/2022 | 
| [NeptuneGraphReadOnlyAccess](read-only-access-iam-managed-policy.md)(publié) | Publié pour fournir un accès en lecture seule aux graphiques et aux ressources de Neptune Analytics. | 29/11/2023 | 
| [AWSServiceRoleForNeptuneGraphPolicy](aws-service-role-for-neptune-graph-policy.md)(publié) | Publié pour permettre aux graphes de Neptune Analytics d'accéder à des statistiques et CloudWatch à des journaux opérationnels et d'utilisation. Consultez la section [Utilisation de rôles liés à un service (SLRs) dans Neptune Analytics](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/nan-service-linked-roles.html). | 29/11/2023 | 
| [NeptuneConsoleFullAccess](console-full-access-iam-managed-policy.md)(autorisations ajoutées) | Les autorisations ajoutées fournissent tous les accès nécessaires pour interagir avec les graphes de Neptune Analytics. | 29/11/2023 | 
| [NeptuneFullAccess](full-access-iam-managed-policy.md)(autorisations ajoutées) | Ajout d'autorisations d'accès aux données et d'autorisations pour la nouvelle base de données APIs globale. | 07-28 | 
| [NeptuneConsoleFullAccess](console-full-access-iam-managed-policy.md)(autorisations ajoutées) | Autorisations ajoutées pour la nouvelle base de données globale APIs. | 07-21 | 
| Début du suivi des modifications avec Neptune | Neptune a commencé à suivre les modifications apportées à ses politiques AWS gérées. | 07-21 | 

# Octroi `NeptuneReadOnlyAccess` de bases de données à Amazon Neptune à l'aide AWS d'une politique gérée
<a name="read-only-access-iam-managed-policy"></a>

La politique [NeptuneReadOnlyAccess](https://console.aws.amazon.com/iam/home#policies/NeptuneReadOnlyAccess)gérée ci-dessous accorde un accès en lecture seule à toutes les actions et ressources de Neptune à des fins administratives et d'accès aux données.

**Note**  
Cette politique a été mise à jour le 21 juillet pour inclure les autorisations d'accès aux données en lecture seule ainsi que les autorisations administratives en lecture seule et pour inclure les autorisations nécessaires pour les actions de base de données globales.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowReadOnlyPermissionsForRDS",
            "Effect": "Allow",
            "Action": [
                "rds:DescribeAccountAttributes",
                "rds:DescribeCertificates",
                "rds:DescribeDBClusterParameterGroups",
                "rds:DescribeDBClusterParameters",
                "rds:DescribeDBClusterSnapshotAttributes",
                "rds:DescribeDBClusterSnapshots",
                "rds:DescribeDBClusters",
                "rds:DescribeDBEngineVersions",
                "rds:DescribeDBInstances",
                "rds:DescribeDBLogFiles",
                "rds:DescribeDBParameterGroups",
                "rds:DescribeDBParameters",
                "rds:DescribeDBSubnetGroups",
                "rds:DescribeEventCategories",
                "rds:DescribeEventSubscriptions",
                "rds:DescribeEvents",
                "rds:DescribeGlobalClusters",
                "rds:DescribeOrderableDBInstanceOptions",
                "rds:DescribePendingMaintenanceActions",
                "rds:DownloadDBLogFilePortion",
                "rds:ListTagsForResource"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowReadOnlyPermissionsForCloudwatch",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowReadOnlyPermissionsForEC2",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeAccountAttributes",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeInternetGateways",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcAttribute",
                "ec2:DescribeVpcs"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowReadOnlyPermissionsForKMS",
            "Effect": "Allow",
            "Action": [
                "kms:ListKeys",
                "kms:ListRetirableGrants",
                "kms:ListAliases",
                "kms:ListKeyPolicies"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowReadOnlyPermissionsForLogs",
            "Effect": "Allow",
            "Action": [
                "logs:DescribeLogStreams",
                "logs:GetLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:*:*:log-group:/aws/rds/*:log-stream:*",
                "arn:aws:logs:*:*:log-group:/aws/neptune/*:log-stream:*"
            ]
        },
        {
            "Sid": "AllowReadOnlyPermissionsForNeptuneDB",
            "Effect": "Allow",
            "Action": [
                "neptune-db:Read*",
                "neptune-db:Get*",
                "neptune-db:List*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

# Octroi `NeptuneFullAccess` de bases de données à Amazon Neptune à l'aide AWS d'une politique gérée
<a name="full-access-iam-managed-policy"></a>

La politique [NeptuneFullAccess](https://console.aws.amazon.com/iam/home#policies/NeptuneFullAccess)gérée ci-dessous accorde un accès complet à toutes les actions et ressources de Neptune à des fins administratives et d'accès aux données. Il est recommandé si vous avez besoin d'un accès complet depuis AWS CLI ou depuis un SDK, mais pas depuis le AWS Management Console.

**Note**  
Cette politique a été mise à jour le 21 juillet pour inclure des autorisations complètes d'accès aux données ainsi que des autorisations administratives complètes et pour inclure les autorisations nécessaires pour les actions de base de données globales.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowNeptuneCreate",
            "Effect": "Allow",
            "Action": [
                "rds:CreateDBCluster",
                "rds:CreateDBInstance"
            ],
            "Resource": [
                "arn:aws:rds:*:*:*"
            ],
            "Condition": {
                "StringEquals": {
                    "rds:DatabaseEngine": [
                        "graphdb",
                        "neptune"
                    ]
                }
            }
        },
        {
            "Sid": "AllowManagementPermissionsForRDS",
            "Effect": "Allow",
            "Action": [
                "rds:AddRoleToDBCluster",
                "rds:AddSourceIdentifierToSubscription",
                "rds:AddTagsToResource",
                "rds:ApplyPendingMaintenanceAction",
                "rds:CopyDBClusterParameterGroup",
                "rds:CopyDBClusterSnapshot",
                "rds:CopyDBParameterGroup",
                "rds:CreateDBClusterEndpoint",
                "rds:CreateDBClusterParameterGroup",
                "rds:CreateDBClusterSnapshot",
                "rds:CreateDBParameterGroup",
                "rds:CreateDBSubnetGroup",
                "rds:CreateEventSubscription",
                "rds:CreateGlobalCluster",
                "rds:DeleteDBCluster",
                "rds:DeleteDBClusterEndpoint",
                "rds:DeleteDBClusterParameterGroup",
                "rds:DeleteDBClusterSnapshot",
                "rds:DeleteDBInstance",
                "rds:DeleteDBParameterGroup",
                "rds:DeleteDBSubnetGroup",
                "rds:DeleteEventSubscription",
                "rds:DeleteGlobalCluster",
                "rds:DescribeDBClusterEndpoints",
                "rds:DescribeAccountAttributes",
                "rds:DescribeCertificates",
                "rds:DescribeDBClusterParameterGroups",
                "rds:DescribeDBClusterParameters",
                "rds:DescribeDBClusterSnapshotAttributes",
                "rds:DescribeDBClusterSnapshots",
                "rds:DescribeDBClusters",
                "rds:DescribeDBEngineVersions",
                "rds:DescribeDBInstances",
                "rds:DescribeDBLogFiles",
                "rds:DescribeDBParameterGroups",
                "rds:DescribeDBParameters",
                "rds:DescribeDBSecurityGroups",
                "rds:DescribeDBSubnetGroups",
                "rds:DescribeEngineDefaultClusterParameters",
                "rds:DescribeEngineDefaultParameters",
                "rds:DescribeEventCategories",
                "rds:DescribeEventSubscriptions",
                "rds:DescribeEvents",
                "rds:DescribeGlobalClusters",
                "rds:DescribeOptionGroups",
                "rds:DescribeOrderableDBInstanceOptions",
                "rds:DescribePendingMaintenanceActions",
                "rds:DescribeValidDBInstanceModifications",
                "rds:DownloadDBLogFilePortion",
                "rds:FailoverDBCluster",
                "rds:FailoverGlobalCluster",
                "rds:ListTagsForResource",
                "rds:ModifyDBCluster",
                "rds:ModifyDBClusterEndpoint",
                "rds:ModifyDBClusterParameterGroup",
                "rds:ModifyDBClusterSnapshotAttribute",
                "rds:ModifyDBInstance",
                "rds:ModifyDBParameterGroup",
                "rds:ModifyDBSubnetGroup",
                "rds:ModifyEventSubscription",
                "rds:ModifyGlobalCluster",
                "rds:PromoteReadReplicaDBCluster",
                "rds:RebootDBInstance",
                "rds:RemoveFromGlobalCluster",
                "rds:RemoveRoleFromDBCluster",
                "rds:RemoveSourceIdentifierFromSubscription",
                "rds:RemoveTagsFromResource",
                "rds:ResetDBClusterParameterGroup",
                "rds:ResetDBParameterGroup",
                "rds:RestoreDBClusterFromSnapshot",
                "rds:RestoreDBClusterToPointInTime",
                "rds:StartDBCluster",
                "rds:StopDBCluster"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "AllowOtherDepedentPermissions",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics",
                "ec2:DescribeAccountAttributes",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcAttribute",
                "ec2:DescribeVpcs",
                "kms:ListAliases",
                "kms:ListKeyPolicies",
                "kms:ListKeys",
                "kms:ListRetirableGrants",
                "logs:DescribeLogStreams",
                "logs:GetLogEvents",
                "sns:ListSubscriptions",
                "sns:ListTopics",
                "sns:Publish"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "AllowPassRoleForNeptune",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:passedToService": "rds.amazonaws.com"
                }
            }
        },
        {
            "Sid": "AllowCreateSLRForNeptune",
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "arn:aws:iam::*:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS",
            "Condition": {
                "StringLike": {
                    "iam:AWSServiceName": "rds.amazonaws.com"
                }
            }
        },
        {
            "Sid": "AllowDataAccessForNeptune",
            "Effect": "Allow",
            "Action": [
                "neptune-db:*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

# Octroi `NeptuneConsoleFullAccess` à l'aide de politiques AWS gérées
<a name="console-full-access-iam-managed-policy"></a>

La politique [NeptuneConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/NeptuneConsoleFullAccess)gérée ci-dessous accorde un accès complet à toutes les actions et ressources de Neptune à des fins administratives, mais pas à des fins d'accès aux données. Il inclut aussi des autorisations supplémentaires pour simplifier l'accès à Neptune depuis la console, y compris les autorisations IAM et EC2 (VPC) limitées.

**Note**  
Cette politique a été mise à jour le 29-11-2023 afin d’inclure les autorisations nécessaires pour interagir avec les graphes de Neptune Analytics.  
Cette politique a été mise à jour le 21-07-2022 afin d’inclure des autorisations pour les actions de base de données globales.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowNeptuneCreate",
      "Effect": "Allow",
      "Action": [
        "rds:CreateDBCluster",
        "rds:CreateDBInstance"
      ],
      "Resource": [
        "arn:aws:rds:*:*:*"
      ],
      "Condition": {
        "StringEquals": {
          "rds:DatabaseEngine": [
            "graphdb",
            "neptune"
          ]
        }
      }
    },
    {
      "Sid": "AllowManagementPermissionsForRDS",
      "Action": [
        "rds:AddRoleToDBCluster",
        "rds:AddSourceIdentifierToSubscription",
        "rds:AddTagsToResource",
        "rds:ApplyPendingMaintenanceAction",
        "rds:CopyDBClusterParameterGroup",
        "rds:CopyDBClusterSnapshot",
        "rds:CopyDBParameterGroup",
        "rds:CreateDBClusterParameterGroup",
        "rds:CreateDBClusterSnapshot",
        "rds:CreateDBParameterGroup",
        "rds:CreateDBSubnetGroup",
        "rds:CreateEventSubscription",
        "rds:DeleteDBCluster",
        "rds:DeleteDBClusterParameterGroup",
        "rds:DeleteDBClusterSnapshot",
        "rds:DeleteDBInstance",
        "rds:DeleteDBParameterGroup",
        "rds:DeleteDBSubnetGroup",
        "rds:DeleteEventSubscription",
        "rds:DescribeAccountAttributes",
        "rds:DescribeCertificates",
        "rds:DescribeDBClusterParameterGroups",
        "rds:DescribeDBClusterParameters",
        "rds:DescribeDBClusterSnapshotAttributes",
        "rds:DescribeDBClusterSnapshots",
        "rds:DescribeDBClusters",
        "rds:DescribeDBEngineVersions",
        "rds:DescribeDBInstances",
        "rds:DescribeDBLogFiles",
        "rds:DescribeDBParameterGroups",
        "rds:DescribeDBParameters",
        "rds:DescribeDBSecurityGroups",
        "rds:DescribeDBSubnetGroups",
        "rds:DescribeEngineDefaultClusterParameters",
        "rds:DescribeEngineDefaultParameters",
        "rds:DescribeEventCategories",
        "rds:DescribeEventSubscriptions",
        "rds:DescribeEvents",
        "rds:DescribeOptionGroups",
        "rds:DescribeOrderableDBInstanceOptions",
        "rds:DescribePendingMaintenanceActions",
        "rds:DescribeValidDBInstanceModifications",
        "rds:DownloadDBLogFilePortion",
        "rds:FailoverDBCluster",
        "rds:ListTagsForResource",
        "rds:ModifyDBCluster",
        "rds:ModifyDBClusterParameterGroup",
        "rds:ModifyDBClusterSnapshotAttribute",
        "rds:ModifyDBInstance",
        "rds:ModifyDBParameterGroup",
        "rds:ModifyDBSubnetGroup",
        "rds:ModifyEventSubscription",
        "rds:PromoteReadReplicaDBCluster",
        "rds:RebootDBInstance",
        "rds:RemoveRoleFromDBCluster",
        "rds:RemoveSourceIdentifierFromSubscription",
        "rds:RemoveTagsFromResource",
        "rds:ResetDBClusterParameterGroup",
        "rds:ResetDBParameterGroup",
        "rds:RestoreDBClusterFromSnapshot",
        "rds:RestoreDBClusterToPointInTime"
      ],
      "Effect": "Allow",
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "AllowOtherDepedentPermissions",
      "Action": [
        "cloudwatch:GetMetricStatistics",
        "cloudwatch:ListMetrics",
        "ec2:AllocateAddress",
        "ec2:AssignIpv6Addresses",
        "ec2:AssignPrivateIpAddresses",
        "ec2:AssociateAddress",
        "ec2:AssociateRouteTable",
        "ec2:AssociateSubnetCidrBlock",
        "ec2:AssociateVpcCidrBlock",
        "ec2:AttachInternetGateway",
        "ec2:AttachNetworkInterface",
        "ec2:CreateCustomerGateway",
        "ec2:CreateDefaultSubnet",
        "ec2:CreateDefaultVpc",
        "ec2:CreateInternetGateway",
        "ec2:CreateNatGateway",
        "ec2:CreateNetworkInterface",
        "ec2:CreateRoute",
        "ec2:CreateRouteTable",
        "ec2:CreateSecurityGroup",
        "ec2:CreateSubnet",
        "ec2:CreateVpc",
        "ec2:CreateVpcEndpoint",
        "ec2:CreateVpcEndpoint",
        "ec2:DescribeAccountAttributes",
        "ec2:DescribeAccountAttributes",
        "ec2:DescribeAddresses",
        "ec2:DescribeAvailabilityZones",
        "ec2:DescribeAvailabilityZones",
        "ec2:DescribeCustomerGateways",
        "ec2:DescribeInstances",
        "ec2:DescribeNatGateways",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribePrefixLists",
        "ec2:DescribeRouteTables",
        "ec2:DescribeSecurityGroupReferences",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSubnets",
        "ec2:DescribeSubnets",
        "ec2:DescribeVpcAttribute",
        "ec2:DescribeVpcAttribute",
        "ec2:DescribeVpcEndpoints",
        "ec2:DescribeVpcs",
        "ec2:DescribeVpcs",
        "ec2:ModifyNetworkInterfaceAttribute",
        "ec2:ModifySubnetAttribute",
        "ec2:ModifyVpcAttribute",
        "ec2:ModifyVpcEndpoint",
        "iam:ListRoles",
        "kms:ListAliases",
        "kms:ListKeyPolicies",
        "kms:ListKeys",
        "kms:ListRetirableGrants",
        "logs:DescribeLogStreams",
        "logs:GetLogEvents",
        "sns:ListSubscriptions",
        "sns:ListTopics",
        "sns:Publish"
      ],
      "Effect": "Allow",
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "AllowPassRoleForNeptune",
      "Action": "iam:PassRole",
      "Effect": "Allow",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:passedToService": "rds.amazonaws.com"
        }
      }
    },
    {
      "Sid": "AllowCreateSLRForNeptune",
      "Action": "iam:CreateServiceLinkedRole",
      "Effect": "Allow",
      "Resource": "arn:aws:iam::*:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS",
      "Condition": {
        "StringLike": {
          "iam:AWSServiceName": "rds.amazonaws.com"
        }
      }
    },
    {
      "Sid": "AllowManagementPermissionsForNeptuneAnalytics",
      "Effect": "Allow",
      "Action": [
        "neptune-graph:CreateGraph",
        "neptune-graph:DeleteGraph",
        "neptune-graph:GetGraph",
        "neptune-graph:ListGraphs",
        "neptune-graph:UpdateGraph",
        "neptune-graph:ResetGraph",
        "neptune-graph:CreateGraphSnapshot",
        "neptune-graph:DeleteGraphSnapshot",
        "neptune-graph:GetGraphSnapshot",
        "neptune-graph:ListGraphSnapshots",
        "neptune-graph:RestoreGraphFromSnapshot",
        "neptune-graph:CreatePrivateGraphEndpoint",
        "neptune-graph:GetPrivateGraphEndpoint",
        "neptune-graph:ListPrivateGraphEndpoints",
        "neptune-graph:DeletePrivateGraphEndpoint",
        "neptune-graph:CreateGraphUsingImportTask",
        "neptune-graph:GetImportTask",
        "neptune-graph:ListImportTasks",
        "neptune-graph:CancelImportTask"
      ],
      "Resource": [
        "arn:aws:neptune-graph:*:*:*"
      ]
    },
    {
      "Sid": "AllowPassRoleForNeptuneAnalytics",
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:passedToService": "neptune-graph.amazonaws.com"
        }
      }
    },
    {
      "Sid": "AllowCreateSLRForNeptuneAnalytics",
      "Effect": "Allow",
      "Action": "iam:CreateServiceLinkedRole",
      "Resource": "arn:aws:iam::*:role/aws-service-role/neptune-graph.amazonaws.com/AWSServiceRoleForNeptuneGraph",
      "Condition": {
        "StringLike": {
          "iam:AWSServiceName": "neptune-graph.amazonaws.com"
        }
      }
    }
  ]
}
```

------

# Octroi `NeptuneGraphReadOnlyAccess` à l'aide de politiques AWS gérées
<a name="graph-read-only-access-iam-managed-policy"></a>

La politique [NeptuneGraphReadOnlyAccess](https://console.aws.amazon.com/iam/home#policies/NeptuneGraphReadOnlyAccess)gérée ci-dessous fournit un accès en lecture seule à toutes les ressources Amazon Neptune Analytics ainsi que des autorisations en lecture seule pour les services dépendants.

Cette politique inclut les autorisations pour effectuer les opérations suivantes :
+ **Pour Amazon EC2** : récupérez des informations sur les sous-réseaux VPCs, les groupes de sécurité et les zones de disponibilité.
+ **Pour AWS KMS** — Récupérez des informations sur les clés et alias KMS.
+ **Pour CloudWatch** — Récupérez des informations sur CloudWatch les métriques.
+ **Pour les CloudWatch journaux** : récupérez des informations sur les flux de CloudWatch journaux et les événements.

**Note**  
Cette politique a été publiée le 29-11-2023.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowReadOnlyPermissionsForNeptuneGraph",
      "Effect": "Allow",
      "Action": [
        "neptune-graph:Get*",
        "neptune-graph:List*",
        "neptune-graph:Read*"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowReadOnlyPermissionsForEC2",
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeVpcEndpoints",
        "ec2:DescribeVpcAttribute",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSubnets",
        "ec2:DescribeVpcs",
        "ec2:DescribeAvailabilityZones"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowReadOnlyPermissionsForKMS",
      "Effect": "Allow",
      "Action": [
        "kms:ListKeys",
        "kms:ListAliases"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowReadOnlyPermissionsForCloudwatch",
      "Effect": "Allow",
      "Action": [
        "cloudwatch:GetMetricData",
        "cloudwatch:ListMetrics",
        "cloudwatch:GetMetricStatistics"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowReadOnlyPermissionsForLogs",
      "Effect": "Allow",
      "Action": [
        "logs:DescribeLogStreams",
        "logs:GetLogEvents"
      ],
      "Resource": [
        "arn:aws:logs:*:*:log-group:/aws/neptune/*:log-stream:*"
      ]
    }
  ]
}
```

------

# Autoriser l'accès au graphe Neptune à l'aide de `AWSServiceRoleForNeptuneGraphPolicy`
<a name="aws-service-role-for-neptune-graph-policy"></a>

La politique [AWSServiceRoleForNeptuneGraphPolicy](https://console.aws.amazon.com/iam/home#policies/AWSServiceRoleForNeptuneGraphPolicy)gérée ci-dessous permet d'accéder aux graphiques CloudWatch pour publier des statistiques et des journaux opérationnels et d'utilisation. Consultez [nan-service-linked-roles](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/nan-service-linked-roles.html).

**Note**  
Cette politique a été publiée le 29-11-2023.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "GraphMetrics",
      "Effect": "Allow",
      "Action": [
        "cloudwatch:PutMetricData"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "cloudwatch:namespace": [
            "AWS/Neptune",
            "AWS/Usage"
          ]
        }
      }
    },
    {
      "Sid": "GraphLogGroup",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup"
      ],
      "Resource": [
        "arn:aws:logs:*:*:log-group:/aws/neptune/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "GraphLogEvents",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogStreams"
      ],
      "Resource": [
        "arn:aws:logs:*:*:log-group:/aws/neptune/*:log-stream:*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    }
  ]
}
```

------



# Personnalisation de l'accès aux ressources Amazon Neptune à l'aide des clés contextuelles de condition IAM
<a name="iam-condition-keys"></a>

Vous pouvez spécifier dans les politiques IAM des conditions qui contrôlent l'accès aux actions et ressources de gestion Neptune. La déclaration de politique n'entre ensuite en vigueur que lorsque les conditions sont remplies.

Par exemple, il peut être utile d'appliquer une déclaration de politique après une date spécifique ou de n'autoriser l'accès que lorsqu'une valeur spécifique est présente dans la demande d'API.

Pour exprimer des conditions, utilisez les clés de condition prédéfinies dans l'élément [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) d'une déclaration de politique avec des [opérateurs de politique de condition IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) comme « égal à » et « inférieur à ».

Si vous spécifiez plusieurs éléments `Condition` dans une instruction, ou plusieurs clés dans un seul élément `Condition`, AWS les évalue à l’aide d’une opération `AND` logique. Si vous spécifiez plusieurs valeurs pour une seule clé de condition, AWS évalue la condition à l'aide d'une `OR` opération logique. Toutes les conditions doivent être remplies avant que les autorisations associées à l’instruction ne soient accordées.

 Vous pouvez aussi utiliser des variables d’espace réservé quand vous spécifiez des conditions. Par exemple, vous pouvez accorder à un utilisateur IAM l’autorisation d’accéder à une ressource uniquement si elle est balisée avec son nom d’utilisateur IAM. Pour plus d'informations, consultez [Éléments d'une politique IAM : variables et balises](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html) dans le *Guide de l’utilisateur IAM*.

Le type de données d'une clé de condition détermine les opérateurs de condition que vous pouvez utiliser pour comparer les valeurs de la demande avec les valeurs de la déclaration de politique. Si vous utilisez un opérateur de condition incompatible avec ce type de données, la correspondance échoue toujours et la déclaration de politique ne s'applique jamais. 

**Clés de condition IAM pour les déclarations de politique administrative Neptune**
+ [Clés de condition globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) : vous pouvez utiliser la plupart des clés de condition AWS globales dans les déclarations de politique administrative de Neptune.
+ [Clés de condition spécifiques au service](iam-admin-condition-keys.md) : il s'agit de clés définies pour des services spécifiques AWS . Celles que Neptune prend en charge pour les déclarations de politique administrative sont répertoriées dans [Clés de condition IAM pour administrer Amazon Neptune](iam-admin-condition-keys.md).

**Clés de condition IAM pour les déclarations de stratégie d'accès aux données Neptune**
+ [Clés de condition globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) : le sous-ensemble de ces clés pris en charge par Neptune dans les déclarations de stratégie d'accès aux données est répertorié dans [AWS clés contextuelles de conditions globales prises en charge par Neptune dans les déclarations de politique d'accès aux données](iam-data-condition-keys.md#iam-data-global-condition-keys).
+ Les clés de condition spécifiques au service définies par Neptune pour les déclarations de stratégie d'accès aux données sont répertoriées dans [Clés de condition](iam-data-condition-keys.md).

# Création de déclarations de politique IAM personnalisées pour administrer Amazon Neptune
<a name="iam-admin-policies"></a>

Les déclarations de politique administrative vous permettent de contrôler ce qu'un utilisateur IAM peut faire pour gérer une base de données Neptune.

Une déclaration de politique administrative Neptune donne accès à une ou plusieurs [actions administratives](neptune-iam-admin-actions.md) et [ressources administratives](iam-admin-resources.md) prises en charge par Neptune. Vous pouvez également utiliser des [Clés de condition](iam-admin-condition-keys.md) pour rendre les autorisations administratives plus spécifiques.

**Note**  
Comme Neptune partage des fonctionnalités avec Amazon RDS, les actions administratives, les ressources et les clés de condition spécifiques aux services figurant dans les déclarations de politique administrative utilisent un préfixe `rds:` dès leur conception.

**Topics**
+ [Actions IAM pour administrer Amazon Neptune](neptune-iam-admin-actions.md)
+ [Types de ressources IAM pour administrer Amazon Neptune](iam-admin-resources.md)
+ [Clés de condition IAM pour administrer Amazon Neptune](iam-admin-condition-keys.md)
+ [Création de déclarations de politique administrative IAM pour Amazon Neptune](iam-admin-policy-examples.md)

# Actions IAM pour administrer Amazon Neptune
<a name="neptune-iam-admin-actions"></a>

Vous pouvez utiliser les actions administratives répertoriées ci-dessous dans l'`Action`élément d'une déclaration de politique IAM pour contrôler l'accès à la gestion de [ APIsNeptune](api.md). Lorsque vous utilisez une action dans une politique, vous autorisez ou refusez généralement l'accès à l'opération d'API ou à la commande CLI portant le même nom. Toutefois, dans certains cas, une seule action contrôle l'accès à plusieurs opérations. D'autres opérations, quant à elles, requièrent plusieurs actions différentes.

Le champ `Resource type` de la liste ci-dessous indique si chaque action prend en charge les autorisations au niveau des ressources. S'il n'y a pas de valeur pour ce champ, vous devez indiquer toutes les ressources (\$1) dans l'élément `Resource` de la déclaration de politique. Si la colonne inclut un type de ressource, vous pouvez indiquer un ARN de ce type dans une déclaration avec cette action. Les types de ressources administratives Neptune sont répertoriés sur [cette page](iam-admin-resources.md).

Les ressources requises sont indiquées dans la liste ci-dessous par un astérisque (\$1). Si vous indiquez un ARN d'autorisation au niveau des ressources dans une déclaration à l'aide de cette action, il doit être de ce type. Certaines actions prennent en charge plusieurs types de ressources. Si un type de ressource est facultatif (en d'autres termes, s'il n'est pas marqué d'un astérisque), vous n'êtes pas obligé de l'inclure.

Pour plus d'informations sur les champs répertoriés ici, consultez le [tableau des actions](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_actions-resources-contextkeys.html#actions_table) du [Guide de l'utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/).

## rouge : AddRoleTo DBCluster
<a name="neptune-iam-admin-actions-AddRoleToDBCluster"></a>

`AddRoleToDBCluster` associe un rôle IAM à un cluster de bases de données Neptune.

*Niveau d'accès :* `Write`.

*Actions dépendantes :* `iam:PassRole`.

*Type de ressource :* [cluster](iam-admin-resources.md#neptune-cluster-resource) (obligatoire).

## rouge : AddSourceIdentifierToSubscription
<a name="neptune-iam-admin-actions-AddSourceIdentifierToSubscription"></a>

`AddSourceIdentifierToSubscription` ajoute un identifiant source à un abonnement existant à la notification d'événements.

*Niveau d'accès :* `Write`.

*Type de ressource :* [es](iam-admin-resources.md#neptune-es-resource) (obligatoire).

## rouge : AddTagsToResource
<a name="neptune-iam-admin-actions-AddTagsToResource"></a>

`AddTagsToResource` associe un rôle IAM à un cluster de bases de données Neptune.

*Niveau d'accès :* `Write`.

*Types de ressources :*
+ [db](iam-admin-resources.md#neptune-db-resource)
+ [es](iam-admin-resources.md#neptune-es-resource)
+ [pg](iam-admin-resources.md#neptune-pg-resource)
+ [cluster-snapshot](iam-admin-resources.md#neptune-cluster-snapshot-resource)
+ [subgrp](iam-admin-resources.md#neptune-subgrp-resource)

*Clés de condition  :*
+ [lois :RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [lois : TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)

## rouge : ApplyPendingMaintenanceAction
<a name="neptune-iam-admin-actions-ApplyPendingMaintenanceAction"></a>

`ApplyPendingMaintenanceAction` applique une action de maintenance en attente à une ressource.

*Niveau d'accès :* `Write`.

*Type de ressource :* [db](iam-admin-resources.md#neptune-db-resource) (obligatoire).

## RDS : copie DBCluster ParameterGroup
<a name="neptune-iam-admin-actions-CopyDBClusterParameterGroup"></a>

`Copier DBCluster ParameterGroup` copie le groupe de paramètres de cluster de bases de données spécifié.

*Niveau d'accès :* `Write`.

*Type de ressource :* [cluster-pg](iam-admin-resources.md#neptune-cluster-pg-resource) (obligatoire).

## RDS DBCluster : Copier un instantané
<a name="neptune-iam-admin-actions-CopyDBClusterSnapshot"></a>

`Copier DBCluster un instantané` copie un instantané d'un cluster de bases de données.

*Niveau d'accès :* `Write`.

*Type de ressource :* [cluster-snapshot](iam-admin-resources.md#neptune-cluster-snapshot-resource) (obligatoire).

## RDS:Copy Group DBParameter
<a name="neptune-iam-admin-actions-CopyDBParameterGroup"></a>

`DBParameterGroupe de copies` copie le groupe de paramètres de base de données spécifié.

*Niveau d'accès :* `Write`.

*Type de ressource :* [pg](iam-admin-resources.md#neptune-pg-resource) (obligatoire).

## RDS : créer DBCluster
<a name="neptune-iam-admin-actions-CreateDBCluster"></a>

`Créez DBCluster` crée un cluster de bases de données Amazon Neptune.

*Niveau d'accès :* `Tagging`.

*Actions dépendantes :* `iam:PassRole`.

*Types de ressources :*
+ [cluster](iam-admin-resources.md#neptune-cluster-resource) (obligatoire).
+ [cluster-pg](iam-admin-resources.md#neptune-cluster-pg-resource) (obligatoire).
+ [subgrp](iam-admin-resources.md#neptune-subgrp-resource) (obligatoire).

*Clés de condition  :*
+ [lois :RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [lois : TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)
+ [neptune-rds\$1 DatabaseEngine](iam-admin-condition-keys.md#admin-rds_DatabaseEngine)

## RDS : créer DBCluster ParameterGroup
<a name="neptune-iam-admin-actions-CreateDBClusterParameterGroup"></a>

`Créez DBCluster ParameterGroup` crée un groupe de paramètres de cluster de bases de données.

*Niveau d'accès :* `Tagging`.

*Type de ressource :* [cluster-pg](iam-admin-resources.md#neptune-cluster-pg-resource) (obligatoire).

*Clés de condition  :*
+ [lois :RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [lois : TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)

## RDS DBCluster : créer un instantané
<a name="neptune-iam-admin-actions-CreateDBClusterSnapshot"></a>

`Créer un DBCluster instantané` crée un instantané d'un cluster de bases de données.

*Niveau d'accès :* `Tagging`.

*Types de ressources :*
+ [cluster](iam-admin-resources.md#neptune-cluster-resource) (obligatoire).
+ [cluster-snapshot](iam-admin-resources.md#neptune-cluster-snapshot-resource) (obligatoire).

*Clés de condition  :*
+ [lois :RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [lois : TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)

## RDS : créer DBInstance
<a name="neptune-iam-admin-actions-CreateDBInstance"></a>

`Créez DBInstance` crée une instance de base de données.

*Niveau d'accès :* `Tagging`.

*Actions dépendantes :* `iam:PassRole`.

*Types de ressources :*
+ [db](iam-admin-resources.md#neptune-db-resource) (obligatoire).
+ [pg](iam-admin-resources.md#neptune-pg-resource) (obligatoire).
+ [subgrp](iam-admin-resources.md#neptune-subgrp-resource) (obligatoire).

*Clés de condition  :*
+ [lois :RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [lois : TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)

## RDS DBParameter : créer un groupe
<a name="neptune-iam-admin-actions-CreateDBParameterGroup"></a>

`Créer un DBParameter groupe` crée un groupe de paramètres de base de données.

*Niveau d'accès :* `Tagging`.

*Type de ressource :* [pg](iam-admin-resources.md#neptune-pg-resource) (obligatoire).

*Clés de condition  :*
+ [lois :RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [lois : TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)

## RDS DBSubnet : créer un groupe
<a name="neptune-iam-admin-actions-CreateDBSubnetGroup"></a>

`Créer un DBSubnet groupe` crée un groupe de sous-réseaux de base de données.

*Niveau d'accès :* `Tagging`.

*Type de ressource :* [subgrp](iam-admin-resources.md#neptune-subgrp-resource) (obligatoire).

*Clés de condition  :*
+ [lois :RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [lois : TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)

## rouge : CreateEventSubscription
<a name="neptune-iam-admin-actions-CreateEventSubscription"></a>

`CreateEventSubscription` crée un abonnement aux notifications d'événement Neptune.

*Niveau d'accès :* `Tagging`.

*Type de ressource :* [es](iam-admin-resources.md#neptune-es-resource) (obligatoire).

*Clés de condition  :*
+ [lois :RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [lois : TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)

## RDS : Supprimer DBCluster
<a name="neptune-iam-admin-actions-DeleteDBCluster"></a>

`Supprimer DBCluster` supprime un cluster de bases de données Neptune existant.

*Niveau d'accès :* `Write`.

*Types de ressources :*
+ [cluster](iam-admin-resources.md#neptune-cluster-resource) (obligatoire).
+ [cluster-snapshot](iam-admin-resources.md#neptune-cluster-snapshot-resource) (obligatoire).

## RDS : Supprimer DBCluster ParameterGroup
<a name="neptune-iam-admin-actions-DeleteDBClusterParameterGroup"></a>

`Supprimer DBCluster ParameterGroup` supprime un groupe de paramètres de cluster de bases de données spécifié.

*Niveau d'accès :* `Write`.

*Type de ressource :* [cluster-pg](iam-admin-resources.md#neptune-cluster-pg-resource) (obligatoire).

## RDS DBCluster : Supprimer l'instantané
<a name="neptune-iam-admin-actions-DeleteDBClusterSnapshot"></a>

`Supprimer DBCluster un instantané` supprime un instantané de cluster de bases de données.

*Niveau d'accès :* `Write`.

*Type de ressource :* [cluster-snapshot](iam-admin-resources.md#neptune-cluster-snapshot-resource) (obligatoire).

## RDS : Supprimer DBInstance
<a name="neptune-iam-admin-actions-DeleteDBInstance"></a>

`Supprimer DBInstance` supprime une instance de base de données spécifiée.

*Niveau d'accès :* `Write`.

*Type de ressource :* [db](iam-admin-resources.md#neptune-db-resource) (obligatoire).

## RDS:Supprimer le groupe DBParameter
<a name="neptune-iam-admin-actions-DeleteDBParameterGroup"></a>

`Supprimer le DBParameter groupe`supprime un DBParameter groupe spécifié.

*Niveau d'accès :* `Write`.

*Type de ressource :* [pg](iam-admin-resources.md#neptune-pg-resource) (obligatoire).

## RDS:Supprimer le groupe DBSubnet
<a name="neptune-iam-admin-actions-DeleteDBSubnetGroup"></a>

`Supprimer le DBSubnet groupe` supprime un groupe de sous-réseaux de base de données.

*Niveau d'accès :* `Write`.

*Type de ressource :* [subgrp](iam-admin-resources.md#neptune-subgrp-resource) (obligatoire).

## rouge : DeleteEventSubscription
<a name="neptune-iam-admin-actions-DeleteEventSubscription"></a>

`DeleteEventSubscription` supprime un abonnement aux notifications d'événements.

*Niveau d'accès :* `Write`.

*Type de ressource :* [es](iam-admin-resources.md#neptune-es-resource) (obligatoire).

## RDS : Décrivez DBCluster ParameterGroups
<a name="neptune-iam-admin-actions-DescribeDBClusterParameterGroups"></a>

`Décrivez DBCluster ParameterGroups`renvoie une liste de DBCluster ParameterGroup descriptions.

*Niveau d'accès :* `List`.

*Type de ressource :* [cluster-pg](iam-admin-resources.md#neptune-cluster-pg-resource) (obligatoire).

## RDS DBCluster : Décrire les paramètres
<a name="neptune-iam-admin-actions-DescribeDBClusterParameters"></a>

`Décrire DBCluster les paramètres` renvoie la liste détaillée des paramètres d'un groupe de paramètres de cluster de bases de données spécifique.

*Niveau d'accès :* `List`.

*Type de ressource :* [cluster-pg](iam-admin-resources.md#neptune-cluster-pg-resource) (obligatoire).

## RDS : Décrivez DBCluster SnapshotAttributes
<a name="neptune-iam-admin-actions-DescribeDBClusterSnapshotAttributes"></a>

`Décrivez DBCluster SnapshotAttributes` renvoie une liste de noms et de valeurs d'attributs d'instantané pour un instantané de cluster de bases de données manuel.

*Niveau d'accès :* `List`.

*Type de ressource :* [cluster-snapshot](iam-admin-resources.md#neptune-cluster-snapshot-resource) (obligatoire).

## RDS DBCluster : Décrire les instantanés
<a name="neptune-iam-admin-actions-DescribeDBClusterSnapshots"></a>

`Décrire les DBCluster instantanés` renvoie des informations sur des instantanés de cluster de bases de données.

*Niveau d'accès :* `Read`.

## RDS : décrire DBClusters
<a name="neptune-iam-admin-actions-DescribeDBClusters"></a>

`Décrivez DBClusters` renvoie des informations sur un cluster de bases de données Neptune provisionné.

*Niveau d'accès :* `List`.

*Type de ressource :* [cluster](iam-admin-resources.md#neptune-cluster-resource) (obligatoire).

## RDS DBEngine : Décrire les versions
<a name="neptune-iam-admin-actions-DescribeDBEngineVersions"></a>

`Décrire DBEngine les versions` renvoie une liste des moteurs de base de données disponibles.

*Niveau d'accès :* `List`.

*Type de ressource :* [pg](iam-admin-resources.md#neptune-pg-resource) (obligatoire).

## RDS : décrire DBInstances
<a name="neptune-iam-admin-actions-DescribeDBInstances"></a>

`Décrivez DBInstances` renvoie des informations sur les instances de base de données.

*Niveau d'accès :* `List`.

*Type de ressource :* [es](iam-admin-resources.md#neptune-es-resource) (obligatoire).

## RDS DBParameter : Décrire les groupes
<a name="neptune-iam-admin-actions-DescribeDBParameterGroups"></a>

`Décrire DBParameter les groupes`renvoie une liste de descriptions de DBParameter groupes.

*Niveau d'accès :* `List`.

*Type de ressource :* [pg](iam-admin-resources.md#neptune-pg-resource) (obligatoire).

## RDS : décrire DBParameters
<a name="neptune-iam-admin-actions-DescribeDBParameters"></a>

`Décrivez DBParameters` renvoie la liste détaillée des paramètres d'un groupe de paramètres de base de données spécifique.

*Niveau d'accès :* `List`.

*Type de ressource :* [pg](iam-admin-resources.md#neptune-pg-resource) (obligatoire).

## RDS DBSubnet : Décrire les groupes
<a name="neptune-iam-admin-actions-DescribeDBSubnetGroups"></a>

`Décrire DBSubnet les groupes`renvoie une liste de descriptions de DBSubnet groupes.

*Niveau d'accès :* `List`.

*Type de ressource :* [subgrp](iam-admin-resources.md#neptune-subgrp-resource) (obligatoire).

## rouge : DescribeEventCategories
<a name="neptune-iam-admin-actions-DescribeEventCategories"></a>

`DescribeEventCategories` affiche une liste des catégories de tous les types de sources d'événement ou, si la valeur est spécifiée, d'un type de source donné.

*Niveau d'accès :* `List`.

## rouge : DescribeEventSubscriptions
<a name="neptune-iam-admin-actions-DescribeEventSubscriptions"></a>

`DescribeEventSubscriptions` répertorie toutes les descriptions d'abonnements d'un compte client.

*Niveau d'accès :* `List`.

*Type de ressource :* [es](iam-admin-resources.md#neptune-es-resource) (obligatoire).

## rouge : DescribeEvents
<a name="neptune-iam-admin-actions-DescribeEvents"></a>

`DescribeEvents` renvoie des événements associés aux instances de base de données, aux groupes de sécurité de base de données et aux groupes de paramètres de base de données des 14 derniers jours.

*Niveau d'accès :* `List`.

*Type de ressource :* [es](iam-admin-resources.md#neptune-es-resource) (obligatoire).

## RDS : Options DescribeOrderable DBInstance
<a name="neptune-iam-admin-actions-DescribeOrderableDBInstanceOptions"></a>

`DescribeOrderableDBInstanceOptions` renvoie une liste des options d'instance de base de données à commander pour le moteur spécifié.

*Niveau d'accès :* `List`.

## rouge : DescribePendingMaintenanceActions
<a name="neptune-iam-admin-actions-DescribePendingMaintenanceActions"></a>

`DescribePendingMaintenanceActions` renvoie une liste des ressources (par exemple, des instances de base de données) ayant au moins une action de maintenance en attente.

*Niveau d'accès :* `List`.

*Type de ressource :* [db](iam-admin-resources.md#neptune-db-resource) (obligatoire).

## RDS : Modifications DescribeValid DBInstance
<a name="neptune-iam-admin-actions-DescribeValidDBInstanceModifications"></a>

`DescribeValidDBInstanceModifications` répertorie les modifications disponibles que vous pouvez apporter à votre instance de base de données.

*Niveau d'accès :* `List`.

*Type de ressource :* [db](iam-admin-resources.md#neptune-db-resource) (obligatoire).

## RDS : Failover DBCluster
<a name="neptune-iam-admin-actions-FailoverDBCluster"></a>

`Basculement DBCluster` force un basculement pour un cluster de bases de données.

*Niveau d'accès :* `Write`.

*Type de ressource :* [cluster](iam-admin-resources.md#neptune-cluster-resource) (obligatoire).

## rouge : ListTagsForResource
<a name="neptune-iam-admin-actions-ListTagsForResource"></a>

`ListTagsForResource` répertorie toutes les balises sur une ressource Neptune.

*Niveau d'accès :* `Read`.

*Types de ressources :*
+ [cluster-snapshot](iam-admin-resources.md#neptune-cluster-snapshot-resource)
+ [db](iam-admin-resources.md#neptune-db-resource)
+ [es](iam-admin-resources.md#neptune-es-resource)
+ [pg](iam-admin-resources.md#neptune-pg-resource)
+ [subgrp](iam-admin-resources.md#neptune-subgrp-resource)

## RDS : Modifier DBCluster
<a name="neptune-iam-admin-actions-ModifyDBCluster"></a>

`Modifier DBCluster`

Modifie un paramètre pour un cluster de bases de données Neptune.

*Niveau d'accès :* `Write`.

*Actions dépendantes :* `iam:PassRole`.

*Types de ressources :*
+ [cluster](iam-admin-resources.md#neptune-cluster-resource) (obligatoire).
+ [cluster-pg](iam-admin-resources.md#neptune-cluster-pg-resource) (obligatoire).

## RDS : Modifier DBCluster ParameterGroup
<a name="neptune-iam-admin-actions-ModifyDBClusterParameterGroup"></a>

`Modifier DBCluster ParameterGroup` modifie les paramètres d'un groupe de paramètres de cluster de bases de données.

*Niveau d'accès :* `Write`.

*Type de ressource :* [cluster-pg](iam-admin-resources.md#neptune-cluster-pg-resource) (obligatoire).

## RDS : Modifier DBCluster SnapshotAttribute
<a name="neptune-iam-admin-actions-ModifyDBClusterSnapshotAttribute"></a>

`Modifier DBCluster SnapshotAttribute` ajoute ou supprime un attribut et des valeurs dans un instantané de cluster de bases de données manuel.

*Niveau d'accès :* `Write`.

*Type de ressource :* [cluster-snapshot](iam-admin-resources.md#neptune-cluster-snapshot-resource) (obligatoire).

## RDS : Modifier DBInstance
<a name="neptune-iam-admin-actions-ModifyDBInstance"></a>

`Modifier DBInstance` modifie les paramètres d'une instance de base de données.

*Niveau d'accès :* `Write`.

*Actions dépendantes :* `iam:PassRole`.

*Types de ressources :*
+ [db](iam-admin-resources.md#neptune-db-resource) (obligatoire).
+ [pg](iam-admin-resources.md#neptune-pg-resource) (obligatoire).

## RDS:Modifier le groupe DBParameter
<a name="neptune-iam-admin-actions-ModifyDBParameterGroup"></a>

`Modifier le DBParameter groupe` modifie les paramètres d'un groupe de paramètres de base de données.

*Niveau d'accès :* `Write`.

*Type de ressource :* [pg](iam-admin-resources.md#neptune-pg-resource) (obligatoire).

## RDS:Modifier le groupe DBSubnet
<a name="neptune-iam-admin-actions-ModifyDBSubnetGroup"></a>

`Modifier le DBSubnet groupe` modifie un groupe de sous-réseaux de base de données existant.

*Niveau d'accès :* `Write`.

*Type de ressource :* [subgrp](iam-admin-resources.md#neptune-subgrp-resource) (obligatoire).

## rouge : ModifyEventSubscription
<a name="neptune-iam-admin-actions-ModifyEventSubscription"></a>

`ModifyEventSubscription` modifie un abonnement aux notifications d'événements.

*Niveau d'accès :* `Write`.

*Type de ressource :* [es](iam-admin-resources.md#neptune-es-resource) (obligatoire).

## RDS : redémarrage DBInstance
<a name="neptune-iam-admin-actions-RebootDBInstance"></a>

`Redémarrer DBInstance` redémarre le service du moteur de base de données de l'instance.

*Niveau d'accès :* `Write`.

*Type de ressource :* [db](iam-admin-resources.md#neptune-db-resource) (obligatoire).

## rouge : RemoveRoleFrom DBCluster
<a name="neptune-iam-admin-actions-RemoveRoleFromDBCluster"></a>

`RemoveRoleFromDBCluster`dissocie un rôle AWS Identity and Access Management (IAM) d'un cluster de base de données Amazon Neptune.

*Niveau d'accès :* `Write`.

*Actions dépendantes :* `iam:PassRole`.

*Type de ressource :* [cluster](iam-admin-resources.md#neptune-cluster-resource) (obligatoire).

## rouge : RemoveSourceIdentifierFromSubscription
<a name="neptune-iam-admin-actions-RemoveSourceIdentifierFromSubscription"></a>

`RemoveSourceIdentifierFromSubscription` supprime un identifiant source d'un abonnement aux notifications d'événements.

*Niveau d'accès :* `Write`.

*Type de ressource :* [es](iam-admin-resources.md#neptune-es-resource) (obligatoire).

## rouge : RemoveTagsFromResource
<a name="neptune-iam-admin-actions-RemoveTagsFromResource"></a>

`RemoveTagsFromResource` supprime des balises de métadonnées d'une ressource Neptune.

*Niveau d'accès :* `Tagging`.

*Types de ressources :*
+ [cluster-snapshot](iam-admin-resources.md#neptune-cluster-snapshot-resource)
+ [db](iam-admin-resources.md#neptune-db-resource)
+ [es](iam-admin-resources.md#neptune-es-resource)
+ [pg](iam-admin-resources.md#neptune-pg-resource)
+ [subgrp](iam-admin-resources.md#neptune-subgrp-resource)

*Clés de condition  :*
+ [lois :RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [lois : TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)

## RDS : réinitialisation DBCluster ParameterGroup
<a name="neptune-iam-admin-actions-ResetDBClusterParameterGroup"></a>

`Réinitialiser DBCluster ParameterGroup` remplace les paramètres d'un groupe de paramètres de cluster de bases de données par les valeurs par défaut.

*Niveau d'accès :* `Write`.

*Type de ressource :* [cluster-pg](iam-admin-resources.md#neptune-cluster-pg-resource) (obligatoire).

## RDS DBParameter : Réinitialiser le groupe
<a name="neptune-iam-admin-actions-ResetDBParameterGroup"></a>

`Réinitialiser le DBParameter groupe`modifie les paramètres d'un groupe de paramètres de base de données à la valeur engine/system par défaut.

*Niveau d'accès :* `Write`.

*Type de ressource :* [pg](iam-admin-resources.md#neptune-pg-resource) (obligatoire).

## RDS : Restaurer DBCluster FromSnapshot
<a name="neptune-iam-admin-actions-RestoreDBClusterFromSnapshot"></a>

`Restaurer DBCluster FromSnapshot` crée un cluster de bases de données à partir d'un instantané de cluster de bases de données.

*Niveau d'accès :* `Write`.

*Actions dépendantes :* `iam:PassRole`.

*Types de ressources :*
+ [cluster](iam-admin-resources.md#neptune-cluster-resource) (obligatoire).
+ [cluster-snapshot](iam-admin-resources.md#neptune-cluster-snapshot-resource) (obligatoire).

*Clés de condition  :*
+ [lois :RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [lois : TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)

## RDS : Restaurer DBCluster ToPointInTime
<a name="neptune-iam-admin-actions-RestoreDBClusterToPointInTime"></a>

`Restaurer DBCluster ToPointInTime` restaure un cluster de bases de données à un moment donné arbitraire.

*Niveau d'accès :* `Write`.

*Actions dépendantes :* `iam:PassRole`.

*Types de ressources :*
+ [cluster](iam-admin-resources.md#neptune-cluster-resource) (obligatoire).
+ [subgrp](iam-admin-resources.md#neptune-subgrp-resource) (obligatoire).

*Clés de condition  :*
+ [lois :RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [lois : TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)

## RDS : démarrer DBCluster
<a name="neptune-iam-admin-actions-StartDBCluster"></a>

`Démarrer DBCluster` démarre le cluster de bases de données spécifié.

*Niveau d'accès :* `Write`.

*Type de ressource :* [cluster](iam-admin-resources.md#neptune-cluster-resource) (obligatoire).

## RDS : arrêt DBCluster
<a name="neptune-iam-admin-actions-StopDBCluster"></a>

`Arrêtez DBCluster` arrête le cluster de bases de données spécifié.

*Niveau d'accès :* `Write`.

*Type de ressource :* [cluster](iam-admin-resources.md#neptune-cluster-resource) (obligatoire).

# Types de ressources IAM pour administrer Amazon Neptune
<a name="iam-admin-resources"></a>

Neptune prend en charge les types de ressources du tableau suivant. Ils peuvent être utilisés dans l'élément `Resource` des déclarations de politique d'administration IAM. Pour plus d'informations sur l'élément `Resource`, consultez [Éléments de politique JSON IAM : Ressource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html).

La [liste des actions d'administration Neptune](neptune-iam-admin-actions.md) identifie les types de ressources pouvant être spécifiés avec chaque action. Un type de ressource détermine également les clés de condition que vous pouvez inclure dans une politique, comme indiqué dans la dernière colonne du tableau suivant.

La colonne `ARN` dans le tableau ci-dessous spécifie le format Amazon Resource Name (ARN) à utiliser pour référencer des ressources de ce type. Les parties précédées d'un symbole ` $ ` doivent être remplacées par les valeurs réelles de votre scénario. Par exemple, si `$user-name` s'affiche dans un ARN, vous devez remplacer cette chaîne par le nom de l'utilisateur IAM ou par une variable de politique contenant le nom d'un utilisateur IAM. Pour plus d'informations sur ARNs, voir [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns) et[Utilisation de l'administration ARNs dans Amazon Neptune](tagging-arns.md).

La colonne ` Condition Keys ` spécifie les clés de contexte de condition que vous pouvez inclure dans une déclaration de politique IAM uniquement lorsque cette action et cette ressource sont incluses dans la déclaration.


****  

| Types de ressources | ARN | Clés de condition | 
| --- | --- | --- | 
|  `cluster` (Cluster de bases de données)  | arn:partition:rds:region:account-id:cluster:instance-name |  [lois :ResourceTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_ResourceTag) [rds : cluster-tag/ *tag-key*](iam-admin-condition-keys.md#admin-rds_cluster-tag)  | 
|  `cluster-pg` (Groupe de paramètres de cluster de bases de données)  | arn:partition:rds:region:account-id:cluster-pg:neptune-DBClusterParameterGroupName |  [lois :ResourceTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_ResourceTag)  | 
|  `cluster-snapshot` (Instantané de cluster de bases de données)  | arn:partition:rds:region:account-id:cluster-snapshot:neptune-DBClusterSnapshotName |  [lois :ResourceTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_ResourceTag) [Rouges :/cluster-snapshot-tag*tag-key*](iam-admin-condition-keys.md#admin-rds_cluster-snapshot-tag)  | 
|  `db` (instance de base de données)  | arn:partition:rds:region:account-id:db:neptune-DbInstanceName |  [lois :ResourceTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_ResourceTag) [rouge : DatabaseClass](iam-admin-condition-keys.md#admin-rds_DatabaseClass) [rouge : DatabaseEngine](iam-admin-condition-keys.md#admin-rds_DatabaseEngine) [rds : db-tag/ *tag-key*](iam-admin-condition-keys.md#admin-rds_db-tag)  | 
|  `es` (abonnement aux événements)  | arn:partition:rds:region:account-id:es:neptune-CustSubscriptionId  |  [lois :ResourceTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_ResourceTag) [rds : es-tag/ *tag-key*](iam-admin-condition-keys.md#admin-rds_es-tag)  | 
|  `pg` (Groupe de paramètres de base de données)  | arn:partition:rds:region:account-id:pg:neptune-ParameterGroupName |  [lois :ResourceTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_ResourceTag) [rds : pg-tag/ *tag-key*](iam-admin-condition-keys.md#admin-rds_pg-tag)  | 
|  `subgrp` (Groupe de sous-réseaux de base de données)  | arn:partition:rds:region:account-id:subgrp:neptune-DBSubnetGroupName\$1 |  [lois :ResourceTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_ResourceTag) [rds : subgrp-tag/ *tag-key*](iam-admin-condition-keys.md#admin-rds_subgrp-tag)  | 

# Clés de condition IAM pour administrer Amazon Neptune
<a name="iam-admin-condition-keys"></a>

[À l'aide des clés de condition](security-iam-access-manage.md#iam-using-condition-keys), vous pouvez spécifier des conditions dans une déclaration de politique IAM de sorte qu'elle ne prenne effet que lorsque les conditions sont remplies. Les clés de condition que vous pouvez utiliser dans les déclarations de politique administrative Neptune appartiennent aux catégories suivantes :
+ [Clés de condition globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) : elles sont définies AWS pour une utilisation générale avec AWS les services. La plupart peuvent être utilisées dans les déclarations de politique administrative Neptune.
+ [Clés de condition des propriétés des ressources administratives](#iam-rds-property-condition-keys) : ces clés, répertoriées [ci-dessous](#iam-rds-property-condition-keys), sont basées sur les propriétés des ressources administratives.
+ [Clés de condition d'accès basées sur des balises](#iam-rds-tag-based-condition-keys) : ces clés, répertoriées [ci-dessous](#iam-rds-tag-based-condition-keys), sont basées sur des [balises AWS](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) associées aux ressources administratives.

## Clés de condition des propriétés des ressources administratives Neptune
<a name="iam-rds-property-condition-keys"></a>


| Clés de condition | Description | Type | 
| --- | --- | --- | 
| rds:DatabaseClass | Filtre l'accès en fonction du type de classe d'instances de base de données. | String | 
| rds:DatabaseEngine | Filtre l'accès en fonction du moteur de base de données. Pour les valeurs possibles, reportez-vous au paramètre du moteur dans Create DBInstance API. | String | 
| rds:DatabaseName | Filtre l'accès en fonction du nom défini par l'utilisateur de la base de données sur l'instance de base de données | Chaîne | 
| rds:EndpointType | Filtre l'accès en fonction du type du point de terminaison. Exemple : LECTEUR, AUTEUR ou PERSONNALISÉ. | String | 
| rds:Vpc | Filtre l'accès en fonction de la valeur qui spécifie si l'instance de base de données s'exécute dans un VPC Amazon (Amazon Virtual Private Cloud). Pour indiquer que l'instance de base de données s'exécute dans un VPC Amazon, spécifiez true. | Booléen | 

## Clés de condition basées sur des balises administratives
<a name="iam-rds-tag-based-condition-keys"></a>

Amazon Neptune prend en charge la spécification de conditions dans une politique IAM à l'aide de balises personnalisées, afin de contrôler l'accès à Neptune via l'[Référence de l'API de gestion](api.md).

Par exemple, si vous ajoutez une balise nommée `environment` à vos instances de base de données, avec des valeurs telles que `beta`, `staging` et `production`, vous pouvez créer une politique qui restreint l'accès aux instances en fonction de la valeur de cette balise.

**Important**  
Si vous gérez l'accès à vos ressources Neptune à l'aide du balisage, assurez-vous de sécuriser l'accès aux balises. Vous pouvez gérer l'accès aux balises en créant des politiques pour les actions `AddTagsToResource` et `RemoveTagsFromResource`.  
Par exemple, vous pouvez utiliser la politique suivante pour empêcher les utilisateurs la capacité d'ajouter ou de supprimer des balises pour toutes les ressources. Vous pouvez ensuite créer des politiques pour autoriser des utilisateurs spécifiques à ajouter ou supprimer des balises.  

****  

```
{ "Version":"2012-10-17",		 	 	 
  "Statement":[
    { "Sid": "DenyTagUpdates",
      "Effect": "Deny",
      "Action": [
        "rds:AddTagsToResource",
        "rds:RemoveTagsFromResource"
      ],
      "Resource":"*"
    }
  ]
}
```

Les clés de condition suivantes basées sur des balises ne fonctionnent qu'avec les ressources administratives figurant dans les déclarations de politique administrative.


**Clés de condition administrative basées sur des balises**  

| Clés de condition | Description | Type | 
| --- | --- | --- | 
|   [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag)  | Filtre l'accès en fonction de la présence de paires clé-valeur de balise dans la demande. | String | 
|   [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag)  | Filtre l'accès en fonction des paires clé-valeur de balise attachées à la ressource. | String | 
|   [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keyss](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keyss)  | Filtre l'accès en fonction de la présence de clés de balise dans la demande. | String | 
| rds:cluster-pg-tag/\$1\$1TagKey\$1 | Filtre l'accès en fonction de la balise attachée à un groupe de paramètres de cluster de bases de données. | String | 
| rds:cluster-snapshot-tag/\$1\$1TagKey\$1 | Filtre l'accès en fonction de la balise attachée à un instantané de cluster de bases de données. | String | 
| rds:cluster-tag/\$1\$1TagKey\$1 | Filtre l'accès en fonction de la balise attachée à un cluster de bases de données. | String | 
| rds:db-tag/\$1\$1TagKey\$1 | Filtre l'accès en fonction de la balise attachée à une instance de base de données. | String | 
| rds:es-tag/\$1\$1TagKey\$1 | Filtre l'accès en fonction de la balise attachée à un abonnement à un événement. | String | 
| rds:pg-tag/\$1\$1TagKey\$1 | Filtre l'accès en fonction de la balise attachée à un groupe de paramètres de base de données. | String | 
| rds:req-tag/\$1\$1TagKey\$1 | Filtre l'accès en fonction de l'ensemble de clés et de valeurs de balise pouvant être utilisées pour baliser une ressource. | String | 
| rds:secgrp-tag/\$1\$1TagKey\$1 | Filtre l'accès en fonction de la balise attachée à un groupe de sécurité de base de données. | String | 
| rds:snapshot-tag/\$1\$1TagKey\$1 | Filtre l'accès en fonction de la balise attachée à un instantané de base de données. | String | 
| rds:subgrp-tag/\$1\$1TagKey\$1 | Filtre l'accès en fonction de la balise attachée à un groupe de sous-réseaux de base de données | String | 

# Création de déclarations de politique administrative IAM pour Amazon Neptune
<a name="iam-admin-policy-examples"></a>

## Exemples de politiques administratives générales
<a name="iam-admin-policy-general-examples"></a>

Les exemples suivants montrent comment créer des politiques administratives Neptune qui accordent des autorisations pour effectuer diverses actions de gestion sur un cluster de bases de données.

### Politique empêchant un utilisateur IAM de supprimer une instance de base de données spécifiée
<a name="iam-admin-policy-not-delete-instance"></a>

Voici un exemple de politique qui empêche un utilisateur IAM de supprimer une instance de base de données Neptune spécifiée :

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyDeleteOneInstance",
      "Effect": "Deny",
      "Action": "rds:DeleteDBInstance",
      "Resource": "arn:aws:rds:us-west-2:123456789012:db:my-instance-name"
    }
  ]
}
```

------

### Politique autorisant la création d'instances de base de données
<a name="iam-admin-policy-to-create-instances"></a>

Voici un exemple de politique autorisant un utilisateur IAM à créer des instances de base de données dans un cluster de bases de données Neptune spécifié :

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowCreateInstance",
      "Effect": "Allow",
      "Action": "rds:CreateDBInstance",
      "Resource": "arn:aws:rds:us-west-2:123456789012:cluster:my-cluster"
    }
  ]
}
```

------

### Politique autorisant la création d'instances de base de données utilisant un groupe de paramètres de base de données spécifique
<a name="iam-admin-policy-to-create-instances-with-pg"></a>

Voici un exemple de politique qui permet à un utilisateur IAM de créer des instances de base de données dans un cluster de bases de données Neptune spécifié (ici `us-west-2`) en utilisant uniquement un groupe de paramètres de base de données donné.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowCreateInstanceWithPG",
      "Effect": "Allow",
      "Action": "rds:CreateDBInstance",
      "Resource": [
        "arn:aws:rds:us-west-2:123456789012:cluster:my-cluster",
        "arn:aws:rds:us-west-2:123456789012:pg:my-instance-pg"
      ]
    }
  ]
}
```

------

### Politique qui accorde l'autorisation de décrire n'importe quelle ressource
<a name="iam-admin-policy-to-describe"></a>

Voici un exemple de politique qui permet à un utilisateur IAM de décrire n'importe quelle ressource Neptune.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowDescribe",
            "Effect": "Allow",
            "Action": "rds:Describe*",
            "Resource": "*"
        }
    ]
}
```

------

## Exemples de politiques administratives basées sur des balises
<a name="iam-admin-policy-tagging-examples"></a>

Les exemples suivants montrent comment créer des politiques administratives Neptune qui utilisent le balisage pour filtrer les autorisations pour diverses actions de gestion sur un cluster de bases de données.

### Exemple 1 : accorder une autorisation pour des actions sur une ressource à l'aide d'une balise personnalisée qui peut prendre plusieurs valeurs
<a name="security-iam-tag-examples-1"></a>

La politique ci-dessous autorise l'utilisation de l'API `ModifyDBInstance`, `CreateDBInstance` ou `DeleteDBInstance` sur toute instance de base de données dont la balise `env` est définie sur `dev` ou `test` :

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

****  

```
{ "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowDevTestAccess",
      "Effect": "Allow",
      "Action": [
        "rds:ModifyDBInstance",
        "rds:CreateDBInstance",
        "rds:DeleteDBInstance"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "rds:db-tag/env": [
              "dev",
              "test"
          ],
          "rds:DatabaseEngine": "neptune"
        }
      }
    }
  ]
}
```

------

### Exemple 2 : limiter l'ensemble de clés et de valeurs de balise pouvant être utilisées pour baliser une ressource
<a name="security-iam-tag-examples-2"></a>

Cette politique utilise une clé `Condition` pour autoriser une balise dotée de la clé `env` et de la valeur `test`, `qa` ou `dev` à être ajoutée à une ressource :

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

****  

```
{ "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowTagAccessForDevResources",
      "Effect": "Allow",
      "Action": [
        "rds:AddTagsToResource",
        "rds:RemoveTagsFromResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "rds:req-tag/env": [
            "test",
            "qa",
            "dev"
          ],
          "rds:DatabaseEngine": "neptune"
        }
      }
    }
  ]
}
```

------

### Exemple 3 : autoriser l'accès complet aux ressources Neptune en fonction de la balise `aws:ResourceTag`
<a name="security-iam-tag-examples-3"></a>

La politique suivante est similaire au premier exemple ci-dessus, mais utilise `aws:ResourceTag` à la place :

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

****  

```
{ "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowFullAccessToDev",
      "Effect": "Allow",
      "Action": [
        "rds:*"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/env": "dev",
          "rds:DatabaseEngine": "neptune"
        }
      }
    }
  ]
}
```

------

# Création de déclarations de politique IAM personnalisées pour accéder aux données dans Amazon Neptune
<a name="iam-data-access-policies"></a>

Les déclarations de stratégie d'accès aux données Neptune utilisent des [actions d'accès aux données](iam-dp-actions.md), des [ressources](iam-data-resources.md) et des [clés de condition](iam-data-condition-keys.md#iam-neptune-condition-keys), toutes précédées d'un préfixe `neptune-db:`.

**Topics**
+ [Utilisation d'actions de requête dans les déclarations de stratégie d'accès aux données Neptune](#iam-data-query-actions)
+ [Actions IAM pour l'accès aux données dans Amazon Neptune](iam-dp-actions.md)
+ [Types de ressources IAM pour accéder aux données dans Amazon Neptune](iam-data-resources.md)
+ [Clés de condition IAM pour accéder aux données dans Amazon Neptune](iam-data-condition-keys.md)
+ [Création de politiques d'accès aux données IAM dans Amazon Neptune](iam-data-access-examples.md)

## Utilisation d'actions de requête dans les déclarations de stratégie d'accès aux données Neptune
<a name="iam-data-query-actions"></a>

Trois actions de requête Neptune peuvent être utilisées dans les déclarations de stratégie d'accès aux données, à savoir `ReadDataViaQuery`, `WriteDataViaQuery` et `DeleteDataViaQuery`. Une requête particulière peut nécessiter les autorisations nécessaires pour effectuer plusieurs de ces actions, et il n'est pas toujours évident de savoir quelle combinaison de ces actions doit être autorisée pour exécuter une requête.

Avant d'exécuter une requête, Neptune détermine les autorisations nécessaires pour exécuter chaque étape de la requête et les combine dans l'ensemble complet d'autorisations requises par la requête. Notez que cet ensemble complet d'autorisations inclut toutes les actions que la requête *peut* effectuer, ce qui n'est pas nécessairement l'ensemble des actions que la requête effectuera réellement lorsqu'elle traitera vos données.

Autrement dit, pour autoriser l'exécution d'une requête donnée, vous devez fournir les autorisations nécessaires pour chaque action que la requête est susceptible d'effectuer, qu'elle les exécute réellement ou non.

Voici quelques exemples de requêtes Gremlin qui permettent d'illustrer ce principe :
+ 

  ```
  g.V().count()
  ```

  `g.V()` et `count()` ne nécessitent qu'un accès en lecture. La requête ne nécessite donc qu'un accès `ReadDataViaQuery`.
+ 

  ```
  g.addV()
  ```

  `addV()` doit vérifier si un sommet avec un ID donné existe ou non avant d'en insérer un nouveau. La requête a donc besoin à la fois d'un accès `ReadDataViaQuery` et d'un accès `WriteDataViaQuery`.
+ 

  ```
  g.V('1').as('a').out('created').addE('createdBy').to('a')
  ```

  `g.V('1').as('a')` et `out('created')` ne nécessitent qu'un accès en lecture, mais `addE().from('a')` nécessite un accès en lecture et en écriture, car `addE()` doit lire les sommets `from` et `to` et vérifier si une arête portant le même ID existe déjà avant d'en ajouter une autre. La requête dans son ensemble a donc besoin à la fois d'un accès `ReadDataViaQuery` et d'un accès `WriteDataViaQuery`.
+ 

  ```
  g.V().drop()
  ```

  `g.V()` ne nécessite qu'un accès en lecture. `drop()` a besoin à la fois d'un accès en lecture et en suppression, car il doit lire un sommet ou une arête avant de le supprimer. La requête nécessite donc à la fois un accès `ReadDataViaQuery` et un accès `DeleteDataViaQuery`.
+ 

  ```
  g.V('1').property(single, 'key1', 'value1')
  ```

  `g.V('1')` ne nécessite qu'un accès en lecture, mais `property(single, 'key1', 'value1')` nécessite un accès en lecture, en écriture et en suppression. Ici, l'étape `property()` insère la clé et la valeur si elles n'existent pas déjà dans le sommet, mais si elles existent déjà, elle supprime la valeur de propriété existante et insère une nouvelle valeur à sa place. Par conséquent, la requête nécessite les accès `ReadDataViaQuery`, `WriteDataViaQuery` et `DeleteDataViaQuery`.

  Toute requête contenant une étape `property()` nécessite les autorisations `ReadDataViaQuery`, `WriteDataViaQuery` et `DeleteDataViaQuery`.

Voici quelques exemples openCypher :
+ 

  ```
  MATCH (n)
  RETURN n
  ```

  Cette requête lit tous les nœuds de la base de données et les renvoie, ce qui nécessite uniquement un accès `ReadDataViaQuery`.
+ 

  ```
  MATCH (n:Person)
  SET n.dept = 'AWS'
  ```

  Cette requête nécessite les accès `ReadDataViaQuery`, `WriteDataViaQuery` et `DeleteDataViaQuery`. Elle lit tous les nœuds portant l'étiquette « Personne » et y ajoute une nouvelle propriété avec la clé `dept` et la valeur `AWS`, ou si la propriété `dept` existe déjà, elle supprime l'ancienne valeur et insère `AWS` à la place. De même, si la valeur à définir est `null`, `SET` supprime complètement la propriété.

   Étant donné que la clause `SET` peut dans certains cas nécessiter la suppression d'une valeur existante, elle a **toujours** besoin d'autorisations `DeleteDataViaQuery`, ainsi que d'autorisations `ReadDataViaQuery` et `WriteDataViaQuery`.
+ 

  ```
  MATCH (n:Person)
  DETACH DELETE n
  ```

  Cette requête nécessite les autorisations `ReadDataViaQuery` et `DeleteDataViaQuery`. Elle trouve tous les nœuds portant l'étiquette `Person` et les supprime ainsi que les arêtes connectées à ces nœuds et toutes les étiquettes et propriétés associées.
+ 

  ```
  MERGE (n:Person {name: 'John'})-[:knows]->(:Person {name: 'Peter'})
  RETURN n
  ```

  Cette requête nécessite les autorisations `ReadDataViaQuery` et `WriteDataViaQuery`. La clause `MERGE` correspond à un modèle spécifié ou le crée. Étant donné qu'une écriture peut avoir lieu si le modèle ne correspond pas, des autorisations d'écriture sont nécessaires, ainsi que des autorisations de lecture.

# Actions IAM pour l'accès aux données dans Amazon Neptune
<a name="iam-dp-actions"></a>

Notez que les actions d'accès aux données dans Neptune ont le préfixe `neptune-db:`, tandis que les actions administratives dans Neptune ont le préfixe `rds:`.

L'Amazon Resource Name (ARN) d'une ressource de données dans IAM n'est pas identique à l'ARN affecté au cluster au moment de la création. Vous devez construire l'ARN comme indiqué dans [Spécification des ressources de données](iam-data-resources.md). Une telle ressource de données ARNs peut utiliser des caractères génériques pour inclure plusieurs ressources.

Les déclarations de politique d'accès aux données peuvent également inclure la clé de QueryLanguage condition [neptune-db :](iam-data-condition-keys.md#iam-neptune-condition-keys) pour restreindre l'accès par langage de requête.

À compter de la [Sortie : 1.2.0.0 (21/07/2022)](engine-releases-1.2.0.0.md), Neptune prend en charge la restriction des autorisations pour une ou plusieurs [actions Neptune spécifiques](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonneptune.html). Cela permet un contrôle d'accès plus précis qu'auparavant.

**Important**  
Il faut jusqu'à 10 minutes pour que les modifications apportées à une politique IAM s'appliquent aux ressources Neptune spécifiées.
Les politiques IAM appliquées à un cluster de bases de données Neptune s'appliquent à toutes les instances dans ce cluster.

## *Actions d'accès aux données basées sur des requêtes*
<a name="iam-dp-actions-queries"></a>

**Note**  
Les autorisations nécessaires pour exécuter une requête donnée ne sont pas toujours évidentes, car les requêtes peuvent effectuer diverses actions en fonction des données qu'elles traitent. Pour plus d'informatons, consultez [Utilisation d'actions de requête](iam-data-access-policies.md#iam-data-query-actions).

## `neptune-db:ReadDataViaQuery`
<a name="readdataviaquery"></a>

`ReadDataViaQuery` permet à l'utilisateur de lire les données de la base de données Neptune en soumettant des requêtes.

*Groupes d'actions :* lecture seule, lecture/écriture.

*Clés de contexte d'action :* `neptune-db:QueryLanguage`.

*Ressources requises :* base de données.

## `neptune-db:WriteDataViaQuery`
<a name="writedataviaquery"></a>

`WriteDataViaQuery` permet à l'utilisateur d'écrire des données dans la base de données Neptune en soumettant des requêtes.

*Groupes d'actions :* lecture/écriture.

*Clés de contexte d'action :* `neptune-db:QueryLanguage`.

*Ressources requises :* base de données.

## `neptune-db:DeleteDataViaQuery`
<a name="deletedataviaquery"></a>

`DeleteDataViaQuery` permet à l'utilisateur de supprimer des données de la base de données Neptune en soumettant des requêtes.

*Groupes d'actions :* lecture/écriture.

*Clés de contexte d'action :* `neptune-db:QueryLanguage`.

*Ressources requises :* base de données.

## `neptune-db:GetQueryStatus`
<a name="getquerystatus"></a>

`GetQueryStatus` permet à l'utilisateur de vérifier le statut de toutes les requêtes actives.

*Groupes d'actions :* lecture seule, lecture/écriture.

*Clés de contexte d'action :* `neptune-db:QueryLanguage`.

*Ressources requises :* base de données.

## `neptune-db:GetStreamRecords`
<a name="getstreamrecords"></a>

`GetStreamRecords` permet à l'utilisateur de récupérer des enregistrements de flux à partir de Neptune.

*Groupes d'actions :* lecture/écriture.

*Clés de contexte d'action :* `neptune-db:QueryLanguage`.

*Ressources requises :* base de données.

## `neptune-db:CancelQuery`
<a name="cancelquery"></a>

`CancelQuery` permet à l'utilisateur d'annuler une requête.

*Groupes d'actions :* lecture/écriture.

*Ressources requises :* base de données.

## *Actions générales d'accès aux données*
<a name="iam-dp-actions-general"></a>

## `neptune-db:GetEngineStatus`
<a name="getenginestatus"></a>

`GetEngineStatus` permet à l'utilisateur de vérifier le statut du moteur Neptune.

*Groupes d'actions :* lecture seule, lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:GetStatisticsStatus`
<a name="getstatisticsstatus"></a>

`GetStatisticsStatus` permet à l'utilisateur de vérifier l'état des statistiques collectées pour la base de données.

*Groupes d'actions :* lecture seule, lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:GetGraphSummary`
<a name="getgraphsummary"></a>

`GetGraphSummary` : l'API de résumé de graphe vous permet de récupérer un résumé en lecture seule de votre graphe.

*Groupes d'actions :* lecture seule, lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:ManageStatistics`
<a name="managestatistics"></a>

`ManageStatistics` permet à l'utilisateur de gérer la collecte de statistiques pour la base de données.

*Groupes d'actions :* lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:DeleteStatistics`
<a name="deletestatistics"></a>

`DeleteStatistics` permet à l'utilisateur de supprimer toutes les statistiques dans la base de données.

*Groupes d'actions :* lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:ResetDatabase`
<a name="resetdatabase"></a>

`ResetDatabase` permet à l'utilisateur d'obtenir le jeton nécessaire à une réinitialisation et de réinitialiser la base de données Neptune.

*Groupes d'actions :* lecture/écriture.

*Ressources requises :* base de données.

## *Actions d'accès aux données via le chargeur en bloc*
<a name="iam-dp-actions-loader"></a>

## `neptune-db:StartLoaderJob`
<a name="startloaderjob"></a>

`StartLoaderJob` permet à l'utilisateur de démarrer une tâche de chargement en bloc.

*Groupes d'actions :* lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:GetLoaderJobStatus`
<a name="getloaderjobstatus"></a>

`GetLoaderJobStatus` permet à l'utilisateur de vérifier le statut d'une tâche de chargement en bloc.

*Groupes d'actions :* lecture seule, lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:ListLoaderJobs`
<a name="listloaderjobs"></a>

`ListLoaderJobs` permet à l'utilisateur de répertorier toutes les tâches de chargement en bloc.

*Groupes d'actions :* affichage uniquement, lecture seule, lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:CancelLoaderJob`
<a name="cancelloaderjob"></a>

`CancelLoaderJob` permet à l'utilisateur d'annuler une tâche de chargement.

*Groupes d'actions :* lecture/écriture.

*Ressources requises :* base de données.

## *Actions d'accès aux données par machine learning*
<a name="iam-dp-actions-ml"></a>

## `neptune-db:StartMLDataProcessingJob`
<a name="startmldataprocessingjob"></a>

`StartMLDataProcessingJob` permet à un utilisateur de démarrer une tâche de traitement de données Neptune ML.

*Groupes d'actions :* lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:StartMLModelTrainingJob`
<a name="startmlmodeltrainingjob"></a>

`StartMLModelTrainingJob` permet à un utilisateur de démarrer une tâche d'entraînement de modèle ML.

*Groupes d'actions :* lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:StartMLModelTransformJob`
<a name="startmlmodeltransformjob"></a>

`StartMLModelTransformJob` permet à un utilisateur de démarrer une tâche de transformation de modèle ML.

*Groupes d'actions :* lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:CreateMLEndpoint`
<a name="createmlendpoint"></a>

`CreateMLEndpoint` permet à un utilisateur de créer un point de terminaison Neptune ML.

*Groupes d'actions :* lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:GetMLDataProcessingJobStatus`
<a name="getmldataprocessingjobstatus"></a>

`GetMLDataProcessingJobStatus` permet à un utilisateur de vérifier le statut d'une tâche de traitement de données Neptune ML.

*Groupes d'actions :* lecture seule, lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:GetMLModelTrainingJobStatus`
<a name="getmlmodeltrainingjobstatus"></a>

`GetMLModelTrainingJobStatus` permet à un utilisateur de vérifier le statut d'une tâche d'entraînement de modèle Neptune ML.

*Groupes d'actions :* lecture seule, lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:GetMLModelTransformJobStatus`
<a name="getmlmodeltransformjobstatus"></a>

`GetMLModelTransformJobStatus` permet à un utilisateur de vérifier le statut d'une tâche de transformation de modèle Neptune ML.

*Groupes d'actions :* lecture seule, lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:GetMLEndpointStatus`
<a name="getmlendpointstatus"></a>

`GetMLEndpointStatus` permet à un utilisateur de vérifier le statut d'un point de terminaison Neptune ML.

*Groupes d'actions :* lecture seule, lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:ListMLDataProcessingJobs`
<a name="listmldataprocessingjobs"></a>

`ListMLDataProcessingJobs` permet à un utilisateur de répertorier toutes les tâches de traitement de données Neptune ML.

*Groupes d'actions :* affichage uniquement, lecture seule, lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:ListMLModelTrainingJobs`
<a name="listmlmodeltrainingjobs"></a>

`ListMLModelTrainingJobs` permet à un utilisateur de répertorier toutes les tâches d'entraînement de modèle Neptune ML.

*Groupes d'actions :* affichage uniquement, lecture seule, lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:ListMLModelTransformJobs`
<a name="listmlmodeltransformjobs"></a>

`ListMLModelTransformJobs` permet à un utilisateur de répertorier toutes les tâches de transformation de modèle ML.

*Groupes d'actions :* affichage uniquement, lecture seule, lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:ListMLEndpoints`
<a name="listmlendpoints"></a>

`ListMLEndpoints` permet à un utilisateur de répertorier tous les points de terminaison Neptune ML.

*Groupes d'actions :* affichage uniquement, lecture seule, lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:CancelMLDataProcessingJob`
<a name="cancelmldataprocessingjob"></a>

`CancelMLDataProcessingJob` permet à un utilisateur d'annuler une tâche de traitement de données Neptune ML.

*Groupes d'actions :* lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:CancelMLModelTrainingJob`
<a name="cancelmlmodeltrainingjob"></a>

`CancelMLModelTrainingJob` permet à un utilisateur d'annuler une tâche d'entraînement de modèle Neptune ML.

*Groupes d'actions :* lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:CancelMLModelTransformJob`
<a name="cancelmlmodeltransformjob"></a>

`CancelMLModelTransformJob` permet à un utilisateur d'annuler une tâche de transformation de modèle Neptune ML.

*Groupes d'actions :* lecture/écriture.

*Ressources requises :* base de données.

## `neptune-db:DeleteMLEndpoint`
<a name="deletemlendpoint"></a>

`DeleteMLEndpoint` permet à un utilisateur de supprimer un point de terminaison Neptune ML.

*Groupes d'actions :* lecture/écriture.

*Ressources requises :* base de données.

# Types de ressources IAM pour accéder aux données dans Amazon Neptune
<a name="iam-data-resources"></a>

Les ressources de données, comme les actions sur les données, ont le préfixe `neptune-db:`.

Dans une stratégie d'accès aux données Neptune, vous spécifiez le cluster de bases de données auquel vous donnez accès dans un ARN au format suivant :

```
arn:aws:neptune-db:region:account-id:cluster-resource-id/*
```

Cet ARN de ressource contient les éléments suivants :
+ `region`est la AWS région du cluster de base de données Amazon Neptune.
+ `account-id` est le numéro de compte AWS du cluster de bases de données.
+ `cluster-resource-id` est un ID de ressource pour le cluster de bases de données.
**Important**  
L'`cluster-resource-id` est différent de l'identifiant du cluster. Pour trouver un ID de ressource de cluster dans le Neptune AWS Management Console, consultez la section **Configuration** du cluster de base de données en question.

# Clés de condition IAM pour accéder aux données dans Amazon Neptune
<a name="iam-data-condition-keys"></a>

[À l'aide des clés de condition](security-iam-access-manage.md#iam-using-condition-keys), vous pouvez spécifier des conditions dans une déclaration de politique IAM de sorte qu'elle ne prenne effet que lorsque les conditions sont remplies.

Les clés de condition que vous pouvez utiliser dans les déclarations de stratégie d'accès aux données Neptune appartiennent aux catégories suivantes :
+ [Clés de [condition globales — Le sous-ensemble de clés](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) de condition AWS globales que Neptune prend en charge dans les déclarations de politique d'accès aux données est répertorié ci-dessous.](#iam-data-global-condition-keys)
+ [Clés de condition spécifiques au service](#iam-neptune-condition-keys) : il s'agit de clés définies par Neptune spécifiquement pour être utilisées dans les déclarations de stratégie d'accès aux données. À l'heure actuelle, il n'en existe qu'un seul, [neptune-db : QueryLanguage](#neptune-db-query-language), qui autorise l'accès uniquement si un langage de requête spécifique est utilisé.

## AWS clés contextuelles de conditions globales prises en charge par Neptune dans les déclarations de politique d'accès aux données
<a name="iam-data-global-condition-keys"></a>

Le tableau suivant répertorie le sous-ensemble de [clés contextuelles de conditions globales AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) prises en charge par Amazon Neptune pour une utilisation dans les déclarations de stratégie d'accès aux données :


**Clés de condition globales que vous pouvez utiliser dans les déclarations de stratégie d'accès aux données**  

| Clés de condition | Description | Type | 
| --- | --- | --- | 
| [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-currenttime](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-currenttime) | Filtre l'accès en fonction de la date et de l'heure actuelles de la demande. | String | 
| [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-epochtime](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-epochtime) | Filtre l'accès en fonction de la date et de l'heure de la demande, exprimées sous forme de valeur d'époque UNIX. | Numeric | 
| [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalaccount) | Filtre l'accès en fonction du compte auquel appartient le principal à l'origine de la demande. | String | 
| [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalarn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalarn) | Filtre l'accès via l'ARN du principal à l'origine de la demande. | String | 
| [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalisawsservice](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalisawsservice) | Autorise l'accès uniquement si l'appel est effectué directement par un principal AWS de service. | Boolean | 
| [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid) | Filtre l'accès en fonction de l'identifiant de l'organisation dans AWS les Organizations auxquelles appartient le principal demandeur. | String | 
| [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgpaths](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgpaths) | Filtre l'accès par le chemin AWS Organizations pour le principal qui fait la demande. | String | 
| [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principaltag](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principaltag) | Filtre l'accès via une balise attachée au principal à l'origine de la demande. | String | 
| [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principaltype](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principaltype) | Filtre l'accès en fonction du type de principal à l'origine de la demande. | String | 
| [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requestedregion](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requestedregion) | Filtre l'accès en AWS fonction de la région appelée dans la demande. | String | 
| [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-securetransport](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-securetransport) | Autorise l'accès uniquement si la demande a été envoyée en utilisant SSL. | Boolean | 
| [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceip](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceip) | Filtre l'accès en fonction de l'adresse IP du demandeur | String | 
| [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tokenissuetime](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tokenissuetime) | Filtre l'accès selon la date et l'heure auxquelles les informations d'identification de sécurité temporaires ont été émises. | String | 
| [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-useragent](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-useragent) | Filtre l'accès par l'application cliente du demandeur. | String | 
| [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-userid](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-userid) | Filtre l'accès en fonction de l'identifiant du principal du demandeur. | String | 
| [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-viaawsservice](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-viaawsservice) | Autorise l'accès uniquement si un AWS service a fait la demande en votre nom. | Boolean | 

## Clés de condition spécifiques au service Neptune
<a name="iam-neptune-condition-keys"></a>

Neptune prend en charge la clé de condition spécifique au service suivante pour les politiques IAM :


**Clés de condition spécifiques au service Neptune**  

| Clés de condition | Description | Type | 
| --- | --- | --- | 
| neptune-db:QueryLanguage |  Filtre l'accès aux données en fonction du langage de requête utilisé. Les valeurs valides sont `Gremlin`, `OpenCypher` et `Sparql`. Les options prises en charge sont `ReadDataViaQuery`, `WriteDataViaQuery`, `DeleteDataViaQuery`, `GetQueryStatus` et `CancelQuery`.  | String | 

# Création de politiques d'accès aux données IAM dans Amazon Neptune
<a name="iam-data-access-examples"></a>

[Les exemples suivants montrent comment créer des politiques IAM personnalisées qui utilisent un contrôle d'accès précis au plan de données APIs et aux actions, introduit dans la version 1.2.0.0 du moteur Neptune.](engine-releases-1.2.0.0.md) 

## Exemple de politique autorisant un accès illimité aux données d'un cluster de bases de données Neptune
<a name="iam-auth-data-policy-example-general"></a>

L'exemple de politique suivant permet à un utilisateur IAM de se connecter à un cluster de bases de données à l'aide de l'authentification de base de données IAM. Il utilise le caractère `*` pour spécifier toutes les actions disponibles.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "neptune-db:*",
      "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*"
    }
  ]
}
```

------

L'exemple précédent inclut un ARN de ressource dans un format spécifique à l'authentification Neptune IAM. Pour créer l'ARN, consultez la section [Spécification des ressources de données](iam-data-resources.md). Notez que l'ARN utilisée pour l'autorisation IAM `Resource` n'est pas le même que l'ARN assigné au cluster au moment de la création.

## Exemple de politique autorisant l'accès en lecture seule à un cluster de bases de données Neptune
<a name="iam-auth-data-policy-example-read-only"></a>

La politique suivante autorise l'accès complet en lecture seule aux données d'un cluster de bases de données Neptune : 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect": "Allow",
      "Action": [
        "neptune-db:Read*",
        "neptune-db:Get*",
        "neptune-db:List*"
      ],
      "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*"
    }
  ]
}
```

------

## Exemple de politique refusant tout accès à un cluster de bases de données Neptune
<a name="iam-auth-data-policy-example-deny"></a>

L'action IAM par défaut consiste à refuser l'accès à un cluster de bases de données, sauf si un *effet `Allow`* est accordé. Cependant, la politique suivante refuse tout accès à un cluster de base de données pour un AWS compte et une région particuliers, ce qui a alors la priorité sur tout `Allow` effet.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "neptune-db:*",
      "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*"
    }
  ]
}
```

------

## Exemple de politique accordant un accès en lecture par le biais de requêtes
<a name="iam-auth-data-policy-example-read-query"></a>

La politique suivante accorde uniquement l'autorisation de lire des données à partir d'un cluster de bases de données Neptune à l'aide d'une requête : 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "neptune-db:ReadDataViaQuery",
      "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*"
    }
  ]
}
```

------

## Exemple de politique autorisant uniquement les requêtes Gremlin
<a name="iam-auth-data-policy-example-gremlin-only"></a>

La politique suivante utilise la clé de condition `neptune-db:QueryLanguage` pour autoriser Neptune uniquement avec le langage de requête Gremlin : 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "neptune-db:ReadDataViaQuery",
        "neptune-db:WriteDataViaQuery",
        "neptune-db:DeleteDataViaQuery"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "neptune-db:QueryLanguage": "Gremlin"
        }
      }
    }
  ]
}
```

------

## Exemple de politique autorisant tous les accès sauf l'accès à la gestion du modèle Neptune ML
<a name="iam-auth-data-policy-example-all-but-ml"></a>

La politique suivante accorde l'accès total aux opérations de graphes Neptune, à l'exception des fonctionnalités de gestion des modèles Neptune ML :

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect": "Allow",
      "Action": [
        "neptune-db:CancelLoaderJob",
        "neptune-db:CancelQuery",
        "neptune-db:DeleteDataViaQuery",
        "neptune-db:DeleteStatistics",
        "neptune-db:GetEngineStatus",
        "neptune-db:GetLoaderJobStatus",
        "neptune-db:GetQueryStatus",
        "neptune-db:GetStatisticsStatus",
        "neptune-db:GetStreamRecords",
        "neptune-db:ListLoaderJobs",
        "neptune-db:ManageStatistics",
        "neptune-db:ReadDataViaQuery",
        "neptune-db:ResetDatabase",
        "neptune-db:StartLoaderJob",
        "neptune-db:WriteDataViaQuery"
      ],
      "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*"
    }
  ]
}
```

------

## Exemple de politique autorisant l'accès à la gestion des modèles Neptune ML
<a name="iam-auth-data-policy-example-ml"></a>

Cette politique donne accès aux fonctionnalités de gestion des modèles Neptune ML :

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect": "Allow",
      "Action": [
        "neptune-db:CancelMLDataProcessingJob",
        "neptune-db:CancelMLModelTrainingJob",
        "neptune-db:CancelMLModelTransformJob",
        "neptune-db:CreateMLEndpoint",
        "neptune-db:DeleteMLEndpoint",
        "neptune-db:GetMLDataProcessingJobStatus",
        "neptune-db:GetMLEndpointStatus",
        "neptune-db:GetMLModelTrainingJobStatus",
        "neptune-db:GetMLModelTransformJobStatus",
        "neptune-db:ListMLDataProcessingJobs",
        "neptune-db:ListMLEndpoints",
        "neptune-db:ListMLModelTrainingJobs",
        "neptune-db:ListMLModelTransformJobs",
        "neptune-db:StartMLDataProcessingJob",
        "neptune-db:StartMLModelTrainingJob",
        "neptune-db:StartMLModelTransformJob"
      ],
      "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*"
    }
  ]
}
```

------

## Exemple de politique accordant un accès complet aux requêtes
<a name="iam-auth-data-policy-example-full-query"></a>

La politique suivante accorde un accès complet aux opérations de requête de graphe Neptune, mais pas aux fonctionnalités telles que la réinitialisation rapide, les flux, le chargeur en bloc, la gestion des modèles Neptune ML, etc.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect": "Allow",
      "Action": [
        "neptune-db:ReadDataViaQuery",
        "neptune-db:WriteDataViaQuery",
        "neptune-db:DeleteDataViaQuery",
        "neptune-db:GetEngineStatus",
        "neptune-db:GetQueryStatus",
        "neptune-db:CancelQuery"
      ],
      "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*"
    }
  ]
}
```

------

## Exemple de politique accordant un accès complet aux requêtes Gremlin uniquement
<a name="iam-auth-data-policy-example-full-gremlin-access"></a>

La politique suivante accorde un accès complet aux opérations de requête de graphe Neptune à l'aide du langage de requête Gremlin, mais pas aux requêtes dans les autres langages ni à des fonctionnalités telles que la réinitialisation rapide, les flux, le chargeur en bloc, la gestion des modèles Neptune ML, etc.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect": "Allow",
      "Action": [
        "neptune-db:ReadDataViaQuery",
        "neptune-db:WriteDataViaQuery",
        "neptune-db:DeleteDataViaQuery",
        "neptune-db:GetEngineStatus",
        "neptune-db:GetQueryStatus",
        "neptune-db:CancelQuery"
      ],
      "Resource": [
        "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*"
      ],
      "Condition": {
        "StringEquals": {
           "neptune-db:QueryLanguage":"Gremlin"
        }
      }
    }
  ]
}
```

------

## Exemple de politique accordant un accès complet à l'exception de la réinitialisation rapide
<a name="iam-auth-data-policy-example-all-but-fast-reset"></a>

La politique suivante accorde l'accès total à un cluster de bases de données Neptune, à l'exception de l'utilisation de la réinitialisation rapide :

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "neptune-db:*",
      "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*"
    },
    {
      "Effect": "Deny",
      "Action": "neptune-db:ResetDatabase",
      "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*"
    }
  ]
}
```

------