

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Erstellen benutzerdefinierter IAM-Richtlinienerklärungen für den Zugriff auf Daten in Amazon Neptune
<a name="iam-data-access-policies"></a>

Neptune-Datenzugriff-Richtlinienanweisungen verwenden [Datenzugriffsaktionen](iam-dp-actions.md), [Ressourcen](iam-data-resources.md) und [Bedingungsschlüssel](iam-data-condition-keys.md#iam-neptune-condition-keys), denen jeweils das Präfix `neptune-db:` vorangestellt ist.

**Topics**
+ [Verwenden von Abfrageaktionen in Neptune-Datenzugriff-Richtlinienanweisungen](#iam-data-query-actions)
+ [IAM-Aktionen für den Datenzugriff in Amazon Neptune](iam-dp-actions.md)
+ [IAM-Ressourcentypen für den Zugriff auf Daten in Amazon Neptune](iam-data-resources.md)
+ [IAM-Bedingungsschlüssel für den Zugriff auf Daten in Amazon Neptune](iam-data-condition-keys.md)
+ [Erstellen von IAM-Datenzugriffsrichtlinien in Amazon Neptune](iam-data-access-examples.md)

## Verwenden von Abfrageaktionen in Neptune-Datenzugriff-Richtlinienanweisungen
<a name="iam-data-query-actions"></a>

Es gibt drei Neptune-Abfrageaktionen, die in Datenzugriff-Richtlinienanweisungen verwendet werden können, `ReadDataViaQuery`, `WriteDataViaQuery` und `DeleteDataViaQuery`. Eine bestimmte Abfrage benötigt möglicherweise Berechtigungen, um mehr als eine dieser Aktionen auszuführen, und es möglicherweise nicht immer offensichtlich, welche Kombination dieser Aktionen zulässig sein muss, um eine Abfrage auszuführen.

Neptune ermittelt vor der Ausführung einer Abfrage die Berechtigungen, die für die Ausführung der einzelnen Schritte der Abfrage erforderlich sind, und kombiniert diese zu einem vollständigen Satz der Berechtigungen, die für die Abfrage erforderlich sind. Beachten Sie, dass dieser vollständige Satz von Berechtigungen alle Aktionen enthält, die die Abfrage *möglicherweise* ausführt. Dabei handelt es sich nicht notwendigerweise um den Satz von Aktionen, den die Abfrage tatsächlich für Ihre Daten ausführt.

Das bedeutet, dass Sie Berechtigungen für alle Aktionen bereitstellen müssen, die die Abfrage möglicherweise ausführt, um die Ausführung einer bestimmten Abfrage zu ermöglichen, unabhängig davon, ob die Abfrage diese Aktionen tatsächlich ausführt oder nicht.

Dies sind einige Beispiele für Gremlin-Abfragen, die dies im Detail zeigen:
+ 

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

  `g.V()` und `count()` benötigen lediglich Lesezugriff, sodass die Abfrage insgesamt lediglich einen `ReadDataViaQuery`-Zugriff benötigt.
+ 

  ```
  g.addV()
  ```

  `addV()` muss überprüfen, ob ein Eckpunkt mit einer bestimmten ID vorhanden ist oder nicht, bevor ein neuer Eckpunkt eingefügt wird. Das bedeutet, dass die Abfrage einen `ReadDataViaQuery`- und einen `WriteDataViaQuery`-Zugriff benötigt.
+ 

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

  `g.V('1').as('a')` und `out('created')` benötigen lediglich Lesezugriff. `addE().from('a')` benötigt jedoch sowohl Lese- als auch Schreibzugriff, da `addE()` die Eckpunkte `to` und `from` lesen muss und prüfen muss, ob bereits eine Kante mit derselben ID vorhanden ist, bevor eine neue Kante hinzugefügt wird. Die Abfrage benötigt daher insgesamt einen `ReadDataViaQuery`- und einen `WriteDataViaQuery`-Zugriff.
+ 

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

  `g.V()` benötigt lediglich Lesezugriff. `drop()` benötigt einen Lese- und Löschzugriff, da Eckpunkte oder Kanten vor dem Löschen gelesen werden müssen. Daher benötigt die Abfrage insgesamt einen `ReadDataViaQuery`- und einen `DeleteDataViaQuery`-Zugriff.
+ 

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

  `g.V('1')` benötigt lediglich Lesezugriff. `property(single, 'key1', 'value1')` benötigt jedoch einen Lese-, Schreib- und Löschzugriff. Hier werden im Schritt `property()` Schlüssel und Wert eingefügt, falls noch nicht im Eckpunkt vorhanden. Falls jedoch bereits vorhanden, wird der vorhandene Eigenschaftswert gelöscht und es wird ein neuer Wert eingefügt. Daher benötigt die Abfrage insgesamt einen `ReadDataViaQuery`-, `WriteDataViaQuery`- und `DeleteDataViaQuery`-Zugriff.

  Jede Abfrage, die den Schritt `property()` enthält, benötigt `ReadDataViaQuery`-, `WriteDataViaQuery`- und `DeleteDataViaQuery`-Berechtigungen.

Dies sind einige openCypher-Beispiele:
+ 

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

  Diese Abfrage liest alle Knoten in der Datenbank und gibt sie zurück. Hierfür wird lediglich ein `ReadDataViaQuery`-Zugriff benötigt.
+ 

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

  Diese Abfrage benötigt einen `ReadDataViaQuery`-, `WriteDataViaQuery`- und `DeleteDataViaQuery`-Zugriff. Sie liest alle Knoten mit der Bezeichnung 'Person' und fügt ihnen entweder eine neue Eigenschaft mit dem Schlüssel `dept` und dem Wert `AWS` hinzu oder (wenn die Eigenschaft `dept` bereits vorhanden ist) löscht den alten Wert und fügt stattdessen `AWS` ein. Wenn der festzulegende Wert `null` ist, löscht `SET` die Eigenschaft vollständig.

   Da die `SET`-Klausel in einigen Fällen möglicherweise einen vorhandenen Wert löschen muss, benötigt sie **stets** `DeleteDataViaQuery`-, `ReadDataViaQuery`- und `WriteDataViaQuery`-Berechtigungen.
+ 

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

  Diese Abfrage benötigt `ReadDataViaQuery`- und `DeleteDataViaQuery`-Berechtigungen. Sie sucht alle Knoten mit der Bezeichnung `Person` und löscht sie zusammen mit den Kanten, die mit diesen Knoten verbunden sind, und allen zugehörigen Bezeichnungen und Eigenschaften.
+ 

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

  Diese Abfrage benötigt `ReadDataViaQuery`- und `WriteDataViaQuery`-Berechtigungen. Die `MERGE`-Klausel stimmt entweder mit einem angegebenen Muster überein oder erstellt es. Da ein Schreibvorgang erfolgen kann, wenn das Muster nicht übereinstimmt, sind Schreib- und Leseberechtigungen erforderlich.

# IAM-Aktionen für den Datenzugriff in Amazon Neptune
<a name="iam-dp-actions"></a>

Beachten Sie, dass Neptun-Datenzugriffsaktionen das Präfix `neptune-db:` besitzen, während administrative Aktionen in Neptune das Präfix `rds:` besitzen.

Der Amazon-Ressourcenname (ARN) für eine Datenressource in IAM ist nicht mit dem ARN identisch, der dem Cluster bei der Erstellung zugeordnet wird. Sie müssen den ARN wie in [Angeben von Datenressourcen](iam-data-resources.md) beschrieben konstruieren. Eine solche Datenressource ARNs kann Platzhalter verwenden, um mehrere Ressourcen einzubeziehen.

Richtlinien für den Datenzugriff können auch den QueryLanguage Bedingungsschlüssel [neptune-db:](iam-data-condition-keys.md#iam-neptune-condition-keys) enthalten, um den Zugriff anhand der Abfragesprache einzuschränken.

Ab [Release: 1.2.0.0 (21.07.2022)](engine-releases-1.2.0.0.md) unterstützt Neptune die Einschränkung von Berechtigungen auf eine oder mehrere [bestimmte Neptune-Aktionen](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonneptune.html). Dies ermöglicht eine detailliertere Zugriffssteuerung als bisher möglich.

**Wichtig**  
Die Anwendung von Änderungen einer IAM-Richtlinie auf die angegebenen Neptune-Ressourcen kann bis zu 10 Minuten dauern.
IAM-Richtlinien, die auf einen Neptune-DB-Cluster angewendet werden, werden auf alle Instances in diesem Cluster angewendet.

## *Abfragebasierte Datenzugriffsaktionen*
<a name="iam-dp-actions-queries"></a>

**Anmerkung**  
Es ist nicht immer offensichtlich, welche Berechtigungen für die Ausführung einer bestimmten Abfrage benötigt werden, da Abfragen abhängig von den verarbeiteten Daten mehr als eine Aktion ausführen können. Weitere Informationen finden Sie unter [Verwenden von Abfrageaktionen](iam-data-access-policies.md#iam-data-query-actions).

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

`ReadDataViaQuery` ermöglicht Benutzern das Lesen von Daten aus der Neptune-Datenbank mittels Abfragen.

*Aktionsgruppen:* Schreibgeschützt, Lesen und Schreiben.

*Aktionskontextschlüssel:* `neptune-db:QueryLanguage`.

*Erforderliche Ressourcen:* Datenbank.

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

`WriteDataViaQuery` ermöglicht Benutzern das Schreiben von Daten zur Neptune-Datenbank mittels Abfragen.

*Aktionsgruppen:* Lesen und Schreiben.

*Aktionskontextschlüssel:* `neptune-db:QueryLanguage`.

*Erforderliche Ressourcen:* Datenbank.

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

`DeleteDataViaQuery` ermöglicht Benutzern das Löschen von Daten aus der Neptune-Datenbank mittels Abfragen.

*Aktionsgruppen:* Lesen und Schreiben.

*Aktionskontextschlüssel:* `neptune-db:QueryLanguage`.

*Erforderliche Ressourcen:* Datenbank.

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

`GetQueryStatus` ermöglicht Benutzern die Prüfung des Status aller aktiven Abfragen.

*Aktionsgruppen:* Schreibgeschützt, Lesen und Schreiben.

*Aktionskontextschlüssel:* `neptune-db:QueryLanguage`.

*Erforderliche Ressourcen:* Datenbank.

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

`GetStreamRecords` ermöglicht Benutzern das Abrufen von Stream-Datensätzen aus Neptune.

*Aktionsgruppen:* Lesen und Schreiben.

*Aktionskontextschlüssel:* `neptune-db:QueryLanguage`.

*Erforderliche Ressourcen:* Datenbank.

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

`CancelQuery` ermöglicht Benutzern das Abbrechen von Abfragen.

*Aktionsgruppen:* Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

## *Allgemeine Datenzugriffsaktionen*
<a name="iam-dp-actions-general"></a>

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

`GetEngineStatus` ermöglicht Benutzern die Prüfung des Status der Neptune-Engine.

*Aktionsgruppen:* Schreibgeschützt, Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`GetStatisticsStatus` ermöglicht Benutzern die Prüfung des Status der Statistiken, die für die Datenbank gesammelt werden.

*Aktionsgruppen:* Schreibgeschützt, Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`GetGraphSummary` Die Diagrammübersichts-API ermöglicht Benutzern das Abrufen einer schreibgeschützten Übersicht über ein Diagramm.

*Aktionsgruppen:* Schreibgeschützt, Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`ManageStatistics` ermöglicht Benutzern die Verwaltung der Erfassung von Statistiken für die Datenbank.

*Aktionsgruppen:* Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`DeleteStatistics` ermöglicht Benutzern das Löschen aller Statistiken in der Datenbank.

*Aktionsgruppen:* Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`ResetDatabase` ermöglicht Benutzern das Abrufen des für eine Zurücksetzung benötigten Tokens und das Zurücksetzen der Neptune-Datenbank.

*Aktionsgruppen:* Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

## *Massen-Loader-Datenzugriffsaktionen*
<a name="iam-dp-actions-loader"></a>

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

`StartLoaderJob` ermöglicht Benutzern das Starten eines Massen-Loader-Auftrags.

*Aktionsgruppen:* Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`GetLoaderJobStatus` ermöglicht Benutzern das Prüfen des Status eines Massen-Loader-Auftrags.

*Aktionsgruppen:* Schreibgeschützt, Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`ListLoaderJobs` ermöglicht Benutzern das Auflisten aller Massen-Loader-Aufträge.

*Aktionsgruppen:* Nur Auflistung, Schreibgeschützt, Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`CancelLoaderJob` ermöglicht Benutzern das Abbrechen von Loader-Aufträgen.

*Aktionsgruppen:* Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

## *Machine-Learning-Datenzugriffsaktionen*
<a name="iam-dp-actions-ml"></a>

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

`StartMLDataProcessingJob` ermöglicht Benutzern das Starten von Neptune-ML-Datenverarbeitungsaufträgen.

*Aktionsgruppen:* Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`StartMLModelTrainingJob` ermöglicht Benutzern das Starten von ML-Modelltrainingsaufträgen.

*Aktionsgruppen:* Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`StartMLModelTransformJob` ermöglicht Benutzern das Starten von ML-Modelltransformierungsaufträgen.

*Aktionsgruppen:* Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`CreateMLEndpoint` ermöglicht Benutzer das Erstellen von Neptune-ML-Endpunkten.

*Aktionsgruppen:* Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`GetMLDataProcessingJobStatus` ermöglicht Benutzern das Prüfen von Neptune-ML-Datenverarbeitungsaufträgen.

*Aktionsgruppen:* Schreibgeschützt, Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`GetMLModelTrainingJobStatus` ermöglicht Benutzern das Prüfen des Status von Neptune-ML-Modelltrainingsaufträgen.

*Aktionsgruppen:* Schreibgeschützt, Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`GetMLModelTransformJobStatus` ermöglicht Benutzern das Prüfen des Status von Neptune-ML-Modelltransformierungsaufträgen.

*Aktionsgruppen:* Schreibgeschützt, Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`GetMLEndpointStatus` ermöglicht Benutzern das Prüfen des Status von Neptune-ML-Endpunkten.

*Aktionsgruppen:* Schreibgeschützt, Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`ListMLDataProcessingJobs` ermöglicht Benutzern das Auflisten aller Neptune-ML-Datenverarbeitungsaufträge.

*Aktionsgruppen:* Nur Auflistung, Schreibgeschützt, Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`ListMLModelTrainingJobs` ermöglicht Benutzern das Auflisten aller Neptune-ML-Modelltrainingsaufträge.

*Aktionsgruppen:* Nur Auflistung, Schreibgeschützt, Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`ListMLModelTransformJobs` ermöglicht Benutzern das Auflisten aller Neptune-ML-Modelltransformierungsaufträge.

*Aktionsgruppen:* Nur Auflistung, Schreibgeschützt, Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`ListMLEndpoints` ermöglicht Benutzern das Auflisten aller Neptune-ML-Endpunkte.

*Aktionsgruppen:* Nur Auflistung, Schreibgeschützt, Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`CancelMLDataProcessingJob` ermöglicht Benutzern das Abbrechen von Neptune-ML-Datenverarbeitungsaufträgen.

*Aktionsgruppen:* Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`CancelMLModelTrainingJob` ermöglicht Benutzern das Abbrechen von Neptune-ML-Modelltrainingsaufträgen.

*Aktionsgruppen:* Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`CancelMLModelTransformJob` ermöglicht Benutzern das Abbrechen von Neptune-ML-Modelltransformierungsaufträgen.

*Aktionsgruppen:* Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

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

`DeleteMLEndpoint` ermöglicht Benutzer das Löschen von Neptune-ML-Endpunkten.

*Aktionsgruppen:* Lesen und Schreiben.

*Erforderliche Ressourcen:* Datenbank.

# IAM-Ressourcentypen für den Zugriff auf Daten in Amazon Neptune
<a name="iam-data-resources"></a>

Datenressourcen besitzen wie Datenaktionen das Präfix `neptune-db:`.

In einer Neptune-Datenzugriffsrichtlinie geben Sie den DB-Cluster an, auf den Sie Zugriff gewähren, im ARN im folgenden Format an:

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

Dieser Ressourcen-ARN enthält die folgenden Teile:
+ `region`ist die AWS Region für den Amazon Neptune DB-Cluster.
+ `account-id` ist die Nummer des AWS -Kontos für den DB-Cluster.
+ `cluster-resource-id` ist eine Ressourcen-ID für den DB-Cluster.
**Wichtig**  
Die `cluster-resource-id` unterscheidet sich von der Cluster-ID. Um eine Cluster-Ressourcen-ID im Neptune zu finden AWS-Managementkonsole, suchen Sie im Abschnitt **Konfiguration** nach dem betreffenden DB-Cluster.

# IAM-Bedingungsschlüssel für den Zugriff auf Daten in Amazon Neptune
<a name="iam-data-condition-keys"></a>

[Mithilfe von Bedingungsschlüsseln](security-iam-access-manage.md#iam-using-condition-keys) können Sie Bedingungen in einer IAM-Richtlinienanweisung angeben, damit die Anweisung nur dann wirksam wird, wenn die Bedingungen erfüllt werden.

Die Bedingungsschlüssel, die Sie in Datenzugriff-Richtlinienanweisungen in Neptune verwenden können, gehören den folgenden Kategorien an:
+ [Globale Bedingungsschlüssel](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) [— Die Teilmenge der AWS globalen Bedingungsschlüssel, die Neptune in Richtlinienerklärungen für den Datenzugriff unterstützt, ist unten aufgeführt.](#iam-data-global-condition-keys)
+ [Servicespezifische Bedingungsschlüssel](#iam-neptune-condition-keys)   –   Dies sind Schlüssel, die von Neptune speziell für die Verwendung in Datenzugriffs-Richtlinienanweisungen definiert werden. Derzeit gibt es nur eine Option, [neptune-db:](#neptune-db-query-language), die Zugriff nur gewährtQueryLanguage, wenn eine bestimmte Abfragesprache verwendet wird.

## AWS Globale Bedingungskontextschlüssel, die von Neptune in Datenzugriffspolitikanweisungen unterstützt werden
<a name="iam-data-global-condition-keys"></a>

Die folgende Tabelle listet die Teilmenge der [globalen AWS -Bedingungskontextschlüssel](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) auf, die Amazon Neptune für die Verwendung in Datenzugriff-Richtlinienanweisungen unterstützt:


**Globale Bedingungsschlüssel, die Sie in Datenzugriff-Richtlinienanweisungen verwenden können**  

| Bedingungsschlüssel | Beschreibung | Typ | 
| --- | --- | --- | 
| [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) | Filtert den Zugriff nach aktuellen Datum und aktueller Uhrzeit der Anforderung. | 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) | Filtert den Zugriff nach Datum und Uhrzeit der Anforderung ausgedrückt als UNIX-Epochenwert. | 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) | Filtert den Zugriff nach dem Konto, zu dem der anfordernde Prinzipal gehört. | 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) | Filtert den Zugriff nach dem ARN des Prinzipals, der die Anforderung gesendet hat. | 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) | Erlaubt den Zugriff nur, wenn der Anruf direkt von einem AWS Dienstprinzipal getätigt wird. | 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) | Filtert den Zugriff nach der ID der Organisation in AWS Organizations, zu denen der anfragende Principal gehört. | 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) | Filtert den Zugriff nach dem AWS Organisationspfad für den Prinzipal, der die Anfrage stellt. | 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) | Filtert den Zugriff nach einem Tag, das dem anfordernden Prinzipal angefügt ist. | 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) | Filtert den Zugriff nach dem Typ des Prinzipals, der die Anforderung sendet. | 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) | Filtert den Zugriff nach der AWS Region, die in der Anfrage aufgerufen wurde. | 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) | Gewährt den Zugriff nur, wenn die Anforderung über SSL gesendet wurde. | 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) | Filtert den Zugriff nach der IP-Adresse des Anforderers. | 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) | Filtert den Zugriff nach Datum und Uhrzeit der Ausgabe temporärer Sicherheitsanmeldeinformationen. | 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) | Filtert den Zugriff nach der Client-Anwendung des Anforderers. | 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) | Filtert den Zugriff nach der Prinzipal–ID des Anforderers. | 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) | Ermöglicht den Zugriff nur, wenn ein AWS Dienst die Anfrage in Ihrem Namen gestellt hat. | Boolean | 

## Servicespezifische Neptune-Bedingungsschlüssel
<a name="iam-neptune-condition-keys"></a>

Neptune unterstützt den folgenden servicespezifischen Bedingungsschlüssel für IAM-Richtlinien:


**Servicespezifische Neptune-Bedingungsschlüssel**  

| Bedingungsschlüssel | Beschreibung | Typ | 
| --- | --- | --- | 
| neptune-db:QueryLanguage |  Filtert den Datenzugriff nach der verwendeten Abfragesprache. Gültige Werte sind: `Gremlin`, `OpenCypher` und `Sparql`. Unterstützte Aktionen sind `ReadDataViaQuery`, `WriteDataViaQuery`, `DeleteDataViaQuery`, `GetQueryStatus` und `CancelQuery`.  | String | 

# Erstellen von IAM-Datenzugriffsrichtlinien in Amazon Neptune
<a name="iam-data-access-examples"></a>

[Die folgenden Beispiele zeigen, wie benutzerdefinierte IAM-Richtlinien erstellt werden, die eine differenzierte Zugriffskontrolle für Datenebene APIs und Aktionen verwenden, die in der Neptune Engine-Version 1.2.0.0 eingeführt wurde.](engine-releases-1.2.0.0.md) 

## Beispiel für eine Richtlinie, die den uneingeschränkten Zugriff auf die Daten in einem Neptune-DB-Cluster ermöglicht
<a name="iam-auth-data-policy-example-general"></a>

Das folgende Beispiel für eine Richtlinie ermöglicht IAM-Benutzern die Herstellung von Verbindungen mit Neptune-DB-Clustern mittels IAM-Datenbank-Authentifizierung und verwendet das Zeichen „`*`“, um alle verfügbaren Aktionen abzugleichen.

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

****  

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

------

Das vorhergehende Beispiel enthält einen Ressourcen-ARN in einem Format, das für die Neptune-IAM-Authentifizierung spezifisch ist. Informationen zum Konstruieren des ARN finden Sie unter [Angeben von Datenressourcen](iam-data-resources.md). Beachten Sie, dass der ARN für eine IAM-Autorisierung `Resource` nicht mit dem ARN identisch ist, der dem Cluster bei Erstellung zugewiesen wurde.

## Beispiel für eine Richtlinie, die einen schreibgeschützten Zugriff auf ein Neptune-DB-Cluster gewährt
<a name="iam-auth-data-policy-example-read-only"></a>

Die folgende Richtlinie gewährt die Berechtigung für einen schreibgeschützten Vollzugriff auf Daten in einem Neptune-DB-Cluster: 

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

------

## Beispiel für eine Richtlinie, die jede Art von Zugriff auf ein Neptune-DB-Cluster ablehnt
<a name="iam-auth-data-policy-example-deny"></a>

Die IAM-Standardaktion ist die Ablehnung des Zugriffs auf einen DB-Cluster, wenn der *Effekt* `Allow` nicht gewährt wird. Die folgende Richtlinie verweigert jedoch jeglichen Zugriff auf einen DB-Cluster für ein bestimmtes AWS Konto und eine bestimmte Region, was dann Vorrang vor allen Auswirkungen hat. `Allow`

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

****  

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

------

## Beispiel für eine Richtlinie, die Lesezugriff über Abfragen gewährt
<a name="iam-auth-data-policy-example-read-query"></a>

Die folgende Richtlinie gewährt nur die Berechtigung zum Lesen aus einem Neptune-DB-Cluster über eine Abfrage: 

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

****  

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

------

## Beispiel für eine Richtlinie, die nur Gremlin-Abfragen zulässt
<a name="iam-auth-data-policy-example-gremlin-only"></a>

Die folgende Richtlinie verwendet den Bedingungsschlüssel `neptune-db:QueryLanguage`, um die Berechtigung zu gewähren, Neptune nur mit der Gremlin-Abfragesprache abzufragen: 

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

------

## Beispiel für eine Richtlinie, die jeden Zugriff außer dem Zugriff auf die Neptune-ML-Modellverwaltung gewährt
<a name="iam-auth-data-policy-example-all-but-ml"></a>

Die folgende Richtlinie gewährt Vollzugriff auf alle Neptune-Diagrammoperationen außer Neptune-ML-Modellverwaltungs-Features:

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

------

## Beispiel für eine Richtlinie, die Zugriff auf die Neptune-ML-Modellverwaltung gewährt
<a name="iam-auth-data-policy-example-ml"></a>

Diese Richtlinie gewährt Zugriff auf die Neptune-ML-Modellverwaltungs-Features:

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

------

## Beispiel für eine Richtlinie, die vollständigen Abfragezugriff gewährt
<a name="iam-auth-data-policy-example-full-query"></a>

Die folgende Richtlinie gewährt Vollzugriff auf Neptune-Diagramm-Abfrageoperationen, jedoch nicht auf Features wie Fast Reset, Streams, Massen-Loader, Neptune-ML-Modellverwaltung usw.:

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

------

## Beispiel für eine Richtlinie, die nur für Gremlin-Abfragen Vollzugriff gewährt
<a name="iam-auth-data-policy-example-full-gremlin-access"></a>

Die folgende Richtlinie gewährt Vollzugriff auf Neptune-Diagramm-Abfrageoperationen über die Gremlin-Abfragesprache, jedoch nicht auf Abfragen über andere Sprachen oder auf Features wie Fast Reset, Streams, Massen-Loader, Neptune-ML-Modellverwaltung usw.:

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

------

## Beispiel für eine Richtlinie, die Vollzugriff gewährt, ausgenommen Fast Reset
<a name="iam-auth-data-policy-example-all-but-fast-reset"></a>

Die folgende Richtlinie gewährt Vollzugriff auf einen Neptune-DB-Cluster, ausgenommen bei Verwendung von Fast Reset:

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

------