

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.

# Sicherheit und Berechtigungen
<a name="microvms-security"></a>

In diesem Abschnitt werden die IAM-Rollen, Authentifizierungstoken und Zugriffskontrollen für AWS Lambda MicroVMs beschrieben.

## IAM-Rollen
<a name="microvms-security-iam-roles"></a>

### Rolle erstellen
<a name="microvms-security-build-role"></a>

Diese Rolle wird bei der Image-Erstellung verwendet. Zum Abrufen von Quellartefakten und Generieren von Protokollen sind die folgenden Berechtigungen erforderlich: `s3:GetObject` `logs:CreateLogGroup``logs:CreateLogStream`,, und`logs:PutLogEvents`. Fügen Sie auch hinzu`ecr:GetAuthorizationToken`, wenn auf private ECR-Bilder verwiesen wird.

Die Build-Rolle ist optional. Wenn Sie keine Build-Rolle angeben, kann Lambda keine Build-Logs in sie CloudWatch schreiben.

### Rolle „Ausführung“
<a name="microvms-security-execution-role"></a>

Diese Rolle wird zur Laufzeit von MicroVM verwendet, um Zugriffsberechtigungen für das Schreiben von Protokollen CloudWatch und die Nutzung anderer AWS Dienste bereitzustellen.

Die Ausführungsrolle ist optional. Wenn Sie keine Ausführungsrolle angeben, sendet Lambda keine Laufzeitprotokolle an CloudWatch und Ihre MicroVM kann nicht auf andere AWS Dienste zugreifen.

Lifecycle-Hooks werden unter der Rolle ausgeführt, die ihrer Phase zugeordnet ist. Build-time Hooks (`/ready`und`/validate`) werden unter der Build-Rolle ausgeführt. Runtime-Hooks (`/run``/resume`,`/suspend`, und`/terminate`) werden unter der Ausführungsrolle ausgeführt.

### Vertrauensrichtlinien
<a name="microvms-security-trust-policies"></a>

Beide Rollen erfordern eine Vertrauensrichtlinie, die es dem Lambda-Serviceprinzipal `lambda.amazonaws.com` ermöglicht, `sts:AssumeRole` und `sts:TagSession` auszuführen.

## Authentifizierungstoken
<a name="microvms-security-auth-tokens"></a>

Tokens kontrollieren den eingehenden Zugriff auf laufende MicroVMS. Sie sind portspezifisch; jedes Token gibt an, auf welche Ports es Zugriff gewährt.

```
# Token granting access to all ports
aws lambda-microvms create-microvm-auth-token \
  --microvm-identifier <id> \
  --expiration-in-minutes 30 \
  --allowed-ports '[{"allPorts":{}}]'

# Token granting access to port 8080 only
aws lambda-microvms create-microvm-auth-token \
  --microvm-identifier <id> \
  --expiration-in-minutes 30 \
  --allowed-ports '[{"port":8080}]'
```

## Shell-Zugriffstoken
<a name="microvms-security-shell-tokens"></a>

Der Shell-Zugriff verwendet eine separate Token-API. Die Ziel-MicroVM muss mit dem `SHELL_INGRESS` Netzwerkanschluss (`arn:aws:lambda:{{us-east-1}}:aws:network-connector:aws-network-connector:SHELL_INGRESS`) ausgeführt worden sein. Wenn die MicroVM nicht mit diesem Anschluss gestartet wurde, `create-microvm-shell-auth-token` schlägt sie fehl mit einem: `ValidationException`

```
aws lambda-microvms create-microvm-shell-auth-token \
  --microvm-identifier <id> \
  --expiration-in-minutes 30
```

Eine vollständige Anleitung zum Herstellen einer Verbindung mit einer MicroVM-Shell finden Sie unter. [Shell-Zugriff](microvms-troubleshooting.md#microvms-troubleshooting-shell)

## Taggen von Ressourcen
<a name="microvms-security-tagging"></a>

Lambda MicroVM-Ressourcen (Images, MicroVMs) unterstützen AWS Ressourcen-Tags für Organisation und Kostenzuweisung. Fügen Sie Tags hinzu, wenn Sie ein Image mithilfe des `--tags` Parameters oder explizit nach der Erstellung erstellen. Sie können Tags auch auflisten und löschen, wie unten gezeigt: Sie können auch in den IAM-Richtlinienbedingungen auf Tags verweisen, um den Zugriff auf MicroVM-Ressourcen zu steuern.

```
# Add tags when creating an image
aws lambda-microvms create-microvm-image \
  --name my-app-image \
  --code-artifact '{"uri":"s3://my-bucket/app.zip"}' \
  --base-image-arn arn:aws:lambda:{{us-east-1}}:aws:microvm-image:al2023-1 \
  --build-role-arn arn:aws:iam::123456789012:role/MicrovmBuildRole \
  --tags '{"Environment":"production","Team":"platform"}'

# List tags on a resource
aws lambda-microvms list-tags \
  --resource arn:aws:lambda:us-east-1:123456789012:microvm-image:my-app-image

# Add tags to an existing resource
aws lambda-microvms tag-resource \
  --resource arn:aws:lambda:us-east-1:123456789012:microvm-image:my-app-image \
  --tags '{"CostCenter":"12345","Project":"sandbox-platform"}'

# Remove tags by key
aws lambda-microvms untag-resource \
  --resource arn:aws:lambda:us-east-1:123456789012:microvm-image:my-app-image \
  --tag-keys '["CostCenter","Project"]'
```

## Referenz zu IAM-Berechtigungen
<a name="microvms-security-iam-reference"></a>

Lambda MicroVMS definiert die folgenden IAM-Aktionen. Verwenden Sie diese in IAM-Richtlinien, um den Zugriff auf MicroVM-Operationen zu steuern.


| Action | Description | 
| --- | --- | 
| lambda:CreateMicrovmImage | Erstellen Sie ein neues MicroVM-Image. | 
| lambda:UpdateMicrovmImage | Aktualisieren Sie ein vorhandenes MicroVM-Image. | 
| lambda:DeleteMicrovmImage | Löschen Sie ein MicroVM-Image. | 
| lambda:GetMicrovmImage | Holen Sie sich Details zum MicroVM-Image. | 
| lambda:ListMicrovmImages | Listet die MicroVM-Images im Konto auf. | 
| lambda:RunMicrovm | Führen Sie eine neue MicroVM aus. | 
| lambda:GetMicrovm | Rufen Sie den Status und die Details der MicroVM ab. | 
| lambda:ListMicrovms | Listet MicroVMs im Konto auf. | 
| lambda:SuspendMicrovm | Halten Sie eine laufende MicroVM an. | 
| lambda:ResumeMicrovm | Setzt eine angehaltene MicroVM fort. | 
| lambda:TerminateMicrovm | Beenden Sie eine MicroVM. | 
| lambda:CreateMicrovmAuthToken | Generieren Sie ein Authentifizierungstoken für eine MicroVM. | 
| lambda:CreateMicrovmShellAuthToken | Generieren Sie ein Shell-Zugriffstoken. | 

## ARN-Formate für Ressourcen
<a name="microvms-security-resource-arns"></a>

```
# MicroVM image
arn:aws:lambda:<region>:<account>:microvm-image:<image-name>
# MicroVM instance
arn:aws:lambda:<region>:<account>:microvm:<microvm-id>
# Network connector
arn:aws:lambda:<region>:<account>:network-connector:<connector-id>
```

## Beispiel: Least-privilege Richtlinie für einen Betreiber
<a name="microvms-security-least-privilege"></a>

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "lambda:RunMicrovm",
        "lambda:GetMicrovm",
        "lambda:ListMicrovms",
        "lambda:SuspendMicrovm",
        "lambda:ResumeMicrovm",
        "lambda:TerminateMicrovm",
        "lambda:CreateMicrovmAuthToken"
      ],
      "Resource": "arn:aws:lambda:*:123456789012:microvm:*"
    },
    {
      "Effect": "Allow",
      "Action": ["lambda:GetMicrovmImage", "lambda:ListMicrovmImages"],
      "Resource": "arn:aws:lambda:*:123456789012:microvm-image:*"
    }
  ]
}
```