

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.

# Protokollierung von CodeArtifact API-Aufrufen mit AWS CloudTrail
<a name="codeartifact-information-in-cloudtrail"></a>

CodeArtifact ist in einen Dienst integriert [AWS CloudTrail](https://aws.amazon.com/cloudtrail), der eine Aufzeichnung der Aktionen bereitstellt, die von einem Benutzer, einer Rolle oder einem AWS Dienst in ausgeführt wurden CodeArtifact. CloudTrail erfasst alle API-Aufrufe CodeArtifact als Ereignisse, einschließlich Aufrufe von Paketmanager-Clients.

Wenn Sie einen Trail erstellen, können Sie die kontinuierliche Übermittlung von CloudTrail Ereignissen an einen Amazon Simple Storage Service (Amazon S3) -Bucket aktivieren, einschließlich Ereignissen für CodeArtifact. Wenn Sie keinen Trail konfigurieren, können Sie die neuesten Ereignisse trotzdem in der CloudTrail Konsole im **Ereignisverlauf** anzeigen. Anhand der von gesammelten Informationen können Sie die Anfrage ermitteln CloudTrail, an die die Anfrage gestellt wurde CodeArtifact, die IP-Adresse, von der aus die Anfrage gestellt wurde, wer die Anfrage gestellt hat, wann sie gestellt wurde, und weitere Details.

Weitere Informationen CloudTrail dazu finden Sie im [AWS CloudTrail Benutzerhandbuch](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html).

## CodeArtifact Informationen in CloudTrail
<a name="codeartifact-information-in-cloudtrail"></a>

CloudTrail ist in Ihrem AWS Konto aktiviert, wenn Sie das Konto erstellen. Wenn eine Aktivität in stattfindet CodeArtifact, wird diese Aktivität zusammen mit anderen CloudTrail AWS Serviceereignissen im **Ereignisverlauf in einem Ereignis** aufgezeichnet. Sie können aktuelle Ereignisse in Ihrem AWS Konto ansehen, suchen und herunterladen. Weitere Informationen finden Sie unter [Ereignisse mit CloudTrail Ereignisverlauf anzeigen](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html).

Für eine fortlaufende Aufzeichnung der Ereignisse in Ihrem AWS Konto, einschließlich der Ereignisse für CodeArtifact, erstellen Sie einen *Trail*. Ein Trail ermöglicht CloudTrail die Übermittlung von Protokolldateien an einen Amazon S3 S3-Bucket. Wenn Sie einen Pfad in der Konsole anlegen, gilt dieser für alle AWS-Regionen. Der Trail protokolliert Ereignisse aus allen Regionen der AWS Partition und übermittelt die Protokolldateien an den von Ihnen angegebenen Amazon S3 S3-Bucket. Sie können auch andere AWS Dienste konfigurieren, um die in den CloudTrail Protokollen gesammelten Ereignisdaten weiter zu analysieren und darauf zu reagieren. Weitere Informationen finden Sie unter den folgenden Themen:
+  [Einen Trail für Ihr AWS-Konto erstellen](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html) 
+  [CloudTrail Unterstützte Dienste und Integrationen](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html) 
+  [Konfiguration von Amazon SNS SNS-Benachrichtigungen für CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html) 

Wenn die CloudTrail Protokollierung in Ihrem AWS Konto aktiviert ist, werden API-Aufrufe von CodeArtifact Aktionen in CloudTrail Protokolldateien aufgezeichnet, wo sie zusammen mit anderen AWS Serviceaufzeichnungen geschrieben werden. CloudTrail bestimmt anhand eines Zeitraums und der Dateigröße, wann eine neue Datei erstellt und in sie geschrieben werden soll.

Alle CodeArtifact Aktionen werden von protokolliert CloudTrail. Beispielsweise generieren Aufrufe der Aktionen `ListRepositories` (in den Aktionen AWS CLI,`aws codeartifact list-repositories`), `CreateRepository` (`aws codeartifact create-repository`) und `ListPackages` (`aws codeartifact list-packages`) zusätzlich zu den Paketmanager-Client-Befehlen Einträge in den CloudTrail Protokolldateien. Paketmanager-Clientbefehle stellen in der Regel mehr als eine HTTP-Anfrage an den Server. Jede Anforderung generiert ein separates CloudTrail Protokollereignis.

### Kontoübergreifende Übermittlung von Protokollen CloudTrail
<a name="codeartifact-cloudtrail-event-delivery"></a>

Bis zu drei separate Konten erhalten CloudTrail Protokolle für einen einzelnen API-Aufruf:
+ Das Konto, das die Anfrage gestellt hat, z. B. das Konto, das angerufen hat. `GetAuthorizationToken`
+ Das Repository-Administratorkonto — zum Beispiel das Konto, das das aufgerufene Repository verwaltet. `ListPackages`
+ Das Konto des Domaininhabers — zum Beispiel das Konto, dem die Domain gehört, die das Repository enthält, für das eine API aufgerufen wurde.

`ListRepositoriesInDomain`Das APIs sind also Aktionen gegen eine Domain und nicht gegen ein bestimmtes Repository, nur das aufrufende Konto und das Konto des Domaininhabers erhalten das CloudTrail Protokoll. Denn APIs `ListRepositories` solche sind gegen keine Ressource autorisiert, nur das Konto des Aufrufers erhält das CloudTrail Protokoll.

## CodeArtifact Logdateieinträge verstehen
<a name="understanding-codeartifact-log-file-entries"></a>

CloudTrail Protokolldateien können einen oder mehrere Protokolleinträge enthalten. In jedem Eintrag werden mehrere Ereignisse im JSON-Format aufgelistet. Ein Protokollereignis stellt eine einzelne Anforderung aus einer beliebigen Quelle dar und enthält unter anderem Informationen über die angeforderte Aktion, das Datum und die Uhrzeit der Aktion sowie über die Anforderungsparameter. Protokolleinträge sind kein geordnetes Stacktrace der öffentlichen API-Aufrufe und erscheinen daher nicht in einer bestimmten Reihenfolge.

**Topics**
+ [Beispiel: Ein Logeintrag für den Aufruf der GetAuthorizationToken API](#example-a-log-entry-for-calling-the-getauthorizationtoken-api)
+ [Beispiel: Ein Protokolleintrag zum Abrufen einer npm-Paketversion](#example-a-log-entry-for-fetching-an-npm-package-version)

### Beispiel: Ein Logeintrag für den Aufruf der GetAuthorizationToken API
<a name="example-a-log-entry-for-calling-the-getauthorizationtoken-api"></a>

 Ein von erstellter Protokolleintrag `[GetAuthorizationToken](https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_GetAuthorizationToken.html)` enthält den Domainnamen in das `requestParameters` Feld. 

```
{
  "eventVersion": "1.05",
  "userIdentity": {
      "type": "AssumedRole",
      "principalId": "AIDACKCEVSQ6C2EXAMPLE",
      "arn": "arn:aws:sts::123456789012:assumed-role/Console/example",
      "accountId": "123456789012",
      "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
      "sessionContext": {
          "attributes": {
              "mfaAuthenticated": "false",
              "creationDate": "2018-12-11T13:31:37Z"
          },
          "sessionIssuer": {
              "type": "Role",
              "principalId": "AIDACKCEVSQ6C2EXAMPLE",
              "arn": "arn:aws:iam::123456789012:role/Console",
              "accountId": "123456789012",
              "userName": "Console"
          }
      }
  },
  "eventTime": "2018-12-11T13:31:37Z",
  "eventSource": "codeartifact.amazonaws.com",
  "eventName": "GetAuthorizationToken",
  "awsRegion": "us-west-2",
  "sourceIPAddress": "205.251.233.50",
  "userAgent": "aws-cli/1.16.37 Python/2.7.10 Darwin/16.7.0 botocore/1.12.27",
  "requestParameters": {
      "domainName": "example-domain"
      "domainOwner": "123456789012"
  },
  "responseElements": {
      "sessionToken": "HIDDEN_DUE_TO_SECURITY_REASONS"
  },
  "requestID": "6b342fc0-5bc8-402b-a7f1-ffffffffffff",
  "eventID": "100fde01-32b8-4c2b-8379-ffffffffffff",
  "readOnly": false,
  "eventType": "AwsApiCall",
  "recipientAccountId": "123456789012"
}
```

### Beispiel: Ein Protokolleintrag zum Abrufen einer npm-Paketversion
<a name="example-a-log-entry-for-fetching-an-npm-package-version"></a>

Bei Anfragen aller Paketmanager-Clients, einschließlich des **`npm`**Clients, werden zusätzliche Daten protokolliert, darunter der Domänenname, der Repository-Name und der Paketname im `requestParameters` Feld. Der URL-Pfad und die HTTP-Methode werden im `additionalEventData` Feld protokolliert.

```
{
   "eventVersion": "1.05",
   "userIdentity": {
       "type": "AssumedRole",
       "principalId": "AIDACKCEVSQ6C2EXAMPLE",
       "arn": "arn:aws:sts::123456789012:assumed-role/Console/example",
       "accountId": "123456789012",
       "accessKeyId": "ASIAIJIOBJIBSREXAMPLE",
       "sessionContext": {
           "attributes": {
               "mfaAuthenticated": "false",
               "creationDate": "2018-12-17T02:05:16Z"
           },
           "sessionIssuer": {
               "type": "Role",
               "principalId": "AIDACKCEVSQ6C2EXAMPLE",
               "arn": "arn:aws:iam::123456789012:role/Console",
               "accountId": "123456789012",
               "userName": "Console"
           }
       }
   },
   "eventTime": "2018-12-17T02:05:46Z",
   "eventSource": "codeartifact.amazonaws.com",
   "eventName": "ReadFromRepository",
   "awsRegion": "us-west-2",
   "sourceIPAddress": "205.251.233.50",
   "userAgent": "npm/6.14.15 node/v12.22.9 linux x64 ci/custom",
   "requestParameters": {
       "domainName": "example-domain",
       "domainOwner": "123456789012",
       "repositoryName": "example-repo",
       "packageName": "lodash",
       "packageFormat": "npm",
       "packageVersion": "4.17.20"
   },
   "responseElements": null,
   "additionalEventData": {
       "httpMethod": "GET",
       "requestUri": "/npm/lodash/-/lodash-4.17.20.tgz"
   },
   "requestID": "9f74b4f5-3607-4bb4-9229-ffffffffffff",
   "eventID": "c74e40dd-8847-4058-a14d-ffffffffffff",
   "readOnly": true,
   "eventType": "AwsApiCall",
   "recipientAccountId": "123456789012"
}
```