

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.

# Verwendung AWS CloudShell in Amazon VPC
<a name="using-cshell-in-vpc"></a>

 AWS CloudShell Mit einer Virtual Private Cloud (VPC) können Sie eine CloudShell Umgebung in Ihrer VPC erstellen. Für jede VPC-Umgebung können Sie eine VPC zuweisen, ein Subnetz hinzufügen und bis zu fünf Sicherheitsgruppen zuordnen. AWS CloudShell erbt die Netzwerkkonfiguration der VPC und ermöglicht es Ihnen, sie AWS CloudShell sicher innerhalb desselben Subnetzes wie andere Ressourcen in der VPC zu verwenden und eine Verbindung zu ihnen herzustellen. 

Mit Amazon VPC können Sie AWS Ressourcen in einem logisch isolierten virtuellen Netzwerk starten, das Sie definiert haben. Dieses virtuelle Netzwerk entspricht weitgehend einem herkömmlichen Netzwerk, wie Sie es in Ihrem Rechenzentrum betreiben, kann jedoch die Vorzüge der skalierbaren Infrastruktur von AWS nutzen. Weitere Informationen zu VPC finden Sie unter [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html).

## Betriebseinschränkungen
<a name="limitations"></a>

AWS CloudShell VPC-Umgebungen haben die folgenden Einschränkungen: 
+ Sie können maximal zwei VPC-Umgebungen pro IAM-Prinzipal erstellen.
+ Sie können maximal fünf Sicherheitsgruppen für eine VPC-Umgebung zuweisen.
+ Sie können die CloudShell Upload- und Download-Optionen im Aktionsmenü für VPC-Umgebungen nicht verwenden. 
**Anmerkung**  
Es ist möglich, Dateien aus VPC-Umgebungen hoch- oder herunterzuladen, die ingress/egress über andere CLI-Tools Zugriff auf das Internet haben.
+ VPC-Umgebungen unterstützen keinen persistenten Speicher. Speicher ist vergänglich. Daten und Home-Verzeichnis werden gelöscht, wenn eine aktive Umgebungssitzung endet. 
+ Ihre AWS CloudShell Umgebung kann nur dann eine Verbindung zum Internet herstellen, wenn sie sich in einem privaten VPC-Subnetz befindet. 
**Anmerkung**  
Öffentliche IP-Adressen werden CloudShell VPC-Umgebungen standardmäßig nicht zugewiesen. VPC-Umgebungen, die in öffentlichen Subnetzen mit Routingtabellen erstellt wurden, die so konfiguriert sind, dass sie den gesamten Verkehr an Internet Gateway weiterleiten, haben keinen Zugriff auf das öffentliche Internet, aber private Subnetze, die mit Network Address Translation (NAT) konfiguriert sind, haben Zugriff auf das öffentliche Internet. VPC-Umgebungen, die in solchen privaten Subnetzen erstellt wurden, werden Zugriff auf das öffentliche Internet haben. 
+ Um eine verwaltete CloudShell Umgebung für Ihr Konto bereitzustellen, AWS könnten Sie Netzwerkzugriff auf die folgenden Dienste für den zugrunde liegenden Rechenhost bereitstellen:
  + Amazon S3
  + VPC-Endpunkte
    + com.amazonaws. <region>.ssm-Nachrichten
    + com.amazonaws. <region>.protokolle
    + com.amazonaws. <region>. km
    + com.amazonaws. <region>.execute-api
    + com.amazonaws. <region>.ecs-Telemetrie
    + com.amazonaws. <region>.ecs-Agent
    + com.amazonaws. <region>.ecs
    + com.amazonaws. <region>.ecr.dkr
    + com.amazonaws. <region>.ecr.api
    + com.amazonaws. <region>.codecatalyst.packages
    + com.amazonaws. <region>.codecatalyst.git
    + aws.api.global.codecatalyst

  Sie können den Zugriff auf diese Endpoints nicht einschränken, indem Sie Ihre VPC-Konfiguration ändern.

  CloudShell VPC ist in allen AWS Regionen und GovCloud Regionen verfügbar. Eine Liste der Regionen, in denen CloudShell VPC verfügbar ist, finden Sie unter [Unterstützte AWS Regionen für AWS CloudShell](supported-aws-regions.md).

# Eine CloudShell VPC-Umgebung erstellen
<a name="creating-vpc-environment"></a>

 Dieses Thema führt Sie durch die Schritte zum Erstellen einer VPC-Umgebung in CloudShell.

**Voraussetzungen**

Ihr Administrator muss Ihnen die erforderlichen IAM-Berechtigungen bereitstellen, damit Sie VPC-Umgebungen erstellen können. Weitere Informationen zum Aktivieren von Berechtigungen zum Erstellen von CloudShell VPC-Umgebungen finden Sie unter[Erforderliche IAM-Berechtigungen für die Erstellung und Verwendung von CloudShell VPC-Umgebungen](aws-cloudshell-vpc-permissions-1.md). 

**Um eine CloudShell VPC-Umgebung zu erstellen**

1. Wählen Sie auf der CloudShell Konsolenseite das **Pluszeichen** und dann im Dropdownmenü die Option **VPC-Umgebung erstellen** aus. 

1. Geben Sie auf der Seite **VPC-Umgebung erstellen einen** Namen für Ihre VPC-Umgebung in das Feld **Name** ein.

1. Wählen Sie aus der Dropdownliste **Virtual Private Cloud (VPC)** eine VPC aus. 

1. Wählen Sie aus der Dropdownliste **Subnetz** ein Subnetz aus. 

1. Wählen Sie aus der Dropdownliste **Sicherheitsgruppe** eine oder mehrere Sicherheitsgruppen aus, die Sie Ihrer VPC-Umgebung zuweisen möchten. 
**Anmerkung**  
Sie können maximal fünf Sicherheitsgruppen auswählen.

1. Wählen Sie **Create**, um Ihre VPC-Umgebung zu erstellen. 

1. (Optional) Wählen Sie **Aktionen** und dann **Details anzeigen** aus, um die Details der neu erstellten VPC-Umgebung zu überprüfen. Die IP-Adresse Ihrer VPC-Umgebung wird in der Befehlszeile angezeigt.

Hinweise zur Verwendung von VPC-Umgebungen finden Sie unter[Erste Schritte mit AWS CloudShell](getting-started.md).

# Erforderliche IAM-Berechtigungen für die Erstellung und Verwendung von CloudShell VPC-Umgebungen
<a name="aws-cloudshell-vpc-permissions-1"></a>

Um CloudShell VPC-Umgebungen zu erstellen und zu verwenden, muss der IAM-Administrator den Zugriff auf VPC-spezifische Amazon EC2 EC2-Berechtigungen aktivieren. In diesem Abschnitt sind die Amazon EC2 EC2-Berechtigungen aufgeführt, die zum Erstellen und Verwenden von VPC-Umgebungen erforderlich sind.

 Um VPC-Umgebungen zu erstellen, muss die Ihrer Rolle zugewiesene IAM-Richtlinie die folgenden Amazon EC2 EC2-Berechtigungen enthalten: 
+ `ec2:DescribeVpcs`
+ `ec2:DescribeSubnets`
+ `ec2:DescribeSecurityGroups`
+ `ec2:DescribeDhcpOptions`
+ `ec2:DescribeNetworkInterfaces`
+ `ec2:CreateTags`
+ `ec2:CreateNetworkInterface`
+ `ec2:CreateNetworkInterfacePermission`

Wir empfehlen, Folgendes einzubeziehen: 
+ **ec2:DeleteNetworkInterface**

**Anmerkung**  
Diese Berechtigung ist nicht verpflichtend, aber sie ist erforderlich, CloudShell um die von ihr erstellte ENI-Ressource (ENIs erstellt für CloudShell VPC-Umgebungen, die mit **ManagedByCloudShell** Schlüsseln gekennzeichnet sind) zu bereinigen. Wenn diese Berechtigung nicht aktiviert ist, müssen Sie die ENI-Ressource nach jeder Verwendung der CloudShell VPC-Umgebung manuell bereinigen.

## IAM-Richtlinie gewährt vollen CloudShell Zugriff, einschließlich Zugriff auf VPC
<a name="cshell-vpc-full-access-example-1"></a>

Das folgende Beispiel zeigt, wie vollständige Berechtigungen, einschließlich Zugriff auf VPC, aktiviert werden können CloudShell für:

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

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "AllowCloudShellOperations",
			"Effect": "Allow",
			"Action": [
				"cloudshell:*"
			],
			"Resource": "*"
		},
		{
			"Sid": "AllowDescribeVPC",
			"Effect": "Allow",
			"Action": [
				"ec2:DescribeSubnets",
				"ec2:DescribeSecurityGroups",
				"ec2:DescribeVpcs"
			],
			"Resource": "*"
		},
		{
			"Sid": "AllowInspectVPCConfigurationViaCloudShell",
			"Effect": "Allow",
			"Action": [
				"ec2:DescribeDhcpOptions",
				"ec2:DescribeNetworkInterfaces"
			],
			"Resource": "*",
			"Condition": {
				"ForAnyValue:StringEquals": {
					"aws:CalledVia": "cloudshell.amazonaws.com"
				}
			}
		},
		{
			"Sid": "AllowCreateTagWithCloudShellKeyViaCloudShell",
			"Effect": "Allow",
			"Action": [
				"ec2:CreateTags"
			],
			"Resource": "arn:aws:ec2:*:*:network-interface/*",
			"Condition": {
				"StringEquals": {
					"ec2:CreateAction": "CreateNetworkInterface"
				},
				"ForAnyValue:StringEquals": {
					"aws:TagKeys": "ManagedByCloudShell",
					"aws:CalledVia": "cloudshell.amazonaws.com"
				}
			}
		},
		{
			"Sid": "AllowCreateNetworkInterfaceWithSubnetsAndSGViaCloudShell",
			"Effect": "Allow",
			"Action": [
				"ec2:CreateNetworkInterface"
			],
			"Resource": [
				"arn:aws:ec2:*:*:subnet/*",
				"arn:aws:ec2:*:*:security-group/*"
			],
			"Condition": {
				"ForAnyValue:StringEquals": {
					"aws:CalledVia": "cloudshell.amazonaws.com"
				}
			}
		},
		{
			"Sid": "AllowCreateNetworkInterfaceWithCloudShellTagViaCloudShell",
			"Effect": "Allow",
			"Action": [
				"ec2:CreateNetworkInterface"
			],
			"Resource": "arn:aws:ec2:*:*:network-interface/*",
			"Condition": {
				"ForAnyValue:StringEquals": {
					"aws:TagKeys": "ManagedByCloudShell",
					"aws:CalledVia": "cloudshell.amazonaws.com"
				}
			}
		},
		{
			"Sid": "AllowCreateNetworkInterfacePermissionWithCloudShellTagViaCloudShell",
			"Effect": "Allow",
			"Action": [
				"ec2:CreateNetworkInterfacePermission"
			],
			"Resource": "arn:aws:ec2:*:*:network-interface/*",
			"Condition": {
				"StringEquals": {
					"aws:ResourceTag/ManagedByCloudShell": ""
				},
				"ForAnyValue:StringEquals": {
					"aws:CalledVia": "cloudshell.amazonaws.com"
				}
			}
		},
		{
			"Sid": "AllowDeleteNetworkInterfaceWithCloudShellTagViaCloudShell",
			"Effect": "Allow",
			"Action": [
				"ec2:DeleteNetworkInterface"
			],
			"Resource": "arn:aws:ec2:*:*:network-interface/*",
			"Condition": {
				"StringEquals": {
					"aws:ResourceTag/ManagedByCloudShell": ""
				},
				"ForAnyValue:StringEquals": {
					"aws:CalledVia": "cloudshell.amazonaws.com"
				}
			}
		}
	]
}
```

------

## Verwendung von IAM-Bedingungsschlüsseln für VPC-Umgebungen
<a name="cloudshell-vpc-condition-keys-1"></a>

Sie können CloudShell -spezifische Bedingungsschlüssel für VPC-Einstellungen verwenden, um zusätzliche Berechtigungskontrollen für Ihre VPC-Umgebungen bereitzustellen. Sie können auch die Subnetze und Sicherheitsgruppen angeben, die die VPC-Umgebung verwenden kann und welche nicht. 

CloudShell unterstützt die folgenden Bedingungsschlüssel in IAM-Richtlinien:
+ `CloudShell:VpcIds`— Erlaube oder verbiete eine oder mehrere VPCs
+ `CloudShell:SubnetIds`— Erlaube oder verbiete ein oder mehrere Subnetze
+ `CloudShell:SecurityGroupIds`— Erlauben oder verweigern Sie eine oder mehrere Sicherheitsgruppen

**Anmerkung**  
Wenn die Berechtigungen für Benutzer mit Zugriff auf öffentliche CloudShell Umgebungen geändert werden, um die `cloudshell:createEnvironment` Aktion einzuschränken, können sie weiterhin auf ihre bestehende öffentliche Umgebung zugreifen. Wenn Sie jedoch eine IAM-Richtlinie mit dieser Einschränkung ändern und ihren Zugriff auf die bestehende öffentliche Umgebung deaktivieren möchten, müssen Sie zuerst die IAM-Richtlinie mit der Einschränkung aktualisieren und dann sicherstellen, dass jeder CloudShell Benutzer in Ihrem Konto die bestehende öffentliche Umgebung manuell über die CloudShell Webbenutzeroberfläche löscht (**Aktionen** → Umgebung **löschen CloudShell **).

## Beispielrichtlinien mit Bedingungsschlüsseln für VPC-Einstellungen
<a name="vpc-condition-keys-examples-1"></a>

In den folgenden Beispielen wird gezeigt, wie Bedingungsschlüssel für VPC-Einstellungen verwendet werden. Nachdem Sie eine Richtlinienanweisung mit den gewünschten Einschränkungen erstellt haben, fügen Sie die Richtlinienanweisung für den -Zielbenutzer oder die Zielrolle an.

### Stellen Sie sicher, dass Benutzer nur VPC-Umgebungen erstellen, und verweigern Sie die Erstellung öffentlicher Umgebungen
<a name="permission-to-create-VPC-env-only-example-1"></a>

Um sicherzustellen, dass Benutzer nur VPC-Umgebungen erstellen können, verwenden Sie die Verweigerungsberechtigung, wie im folgenden Beispiel gezeigt: 

```
{
  "Statement": [
    {
      "Sid": "DenyCloudShellNonVpcEnvironments",
      "Action": [
        "cloudshell:CreateEnvironment"
      ],
      "Effect": "Deny",
      "Resource": "*",
      "Condition": {
        "Null": {
          "cloudshell:VpcIds": "true"
        }
      }
    }
  ]
}
```

### Verweigern Sie Benutzern den Zugriff auf bestimmte VPCs Subnetze oder Sicherheitsgruppen
<a name="permission-deny-access-example-1"></a>

Um Benutzern den Zugriff auf bestimmte Bereiche zu verweigern VPCs, verwenden Sie diese Option, `StringEquals` um den Wert der `cloudshell:VpcIds` Bedingung zu überprüfen. Im folgenden Beispiel wird Benutzern der Zugriff auf `vpc-1` und `vpc-2` verweigert:

Um Benutzern den Zugriff auf eine bestimmte Bedingung zu verweigern VPCs, verwenden Sie, `StringEquals` um den Wert der `cloudshell:SubnetIds` Bedingung zu überprüfen. Im folgenden Beispiel wird Benutzern der Zugriff auf `subnet-1` und `subnet-2` verweigert:

Um Benutzern den Zugriff auf eine bestimmte Bedingung zu verweigern VPCs, verwenden Sie, `StringEquals` um den Wert der `cloudshell:SecurityGroupIds` Bedingung zu überprüfen. Im folgenden Beispiel wird Benutzern der Zugriff auf `sg-1` und `sg-2` verweigert:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EnforceOutOfSecurityGroups",
      "Action": [
        "cloudshell:CreateEnvironment"
      ],
      "Effect": "Deny",
      "Resource": "*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "cloudshell:SecurityGroupIds": [
            "sg-1",
            "sg-2"
          ]
        }
      }
    }
  ]
}
```

------

### Erlauben Sie Benutzern, Umgebungen mit bestimmten VPC-Konfigurationen zu erstellen
<a name="create-env-with-specific-VPC-conf-1"></a>

Um Benutzern Zugriff auf bestimmte zu gewähren VPCs, verwenden Sie, `StringEquals` um den Wert der `cloudshell:VpcIds` Bedingung zu überprüfen. Das folgende Beispiel ermöglicht Benutzern den Zugriff auf `vpc-1` und`vpc-2`:

Um Benutzern Zugriff auf bestimmte zu gewähren VPCs, verwenden Sie, `StringEquals` um den Wert der `cloudshell:SubnetIds` Bedingung zu überprüfen. Das folgende Beispiel ermöglicht Benutzern den Zugriff auf `subnet-1` und`subnet-2`:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EnforceStayInSpecificSubnets",
      "Action": [
        "cloudshell:CreateEnvironment"
      ],
      "Effect": "Allow",
      "Resource": "*",
      "Condition": {
        "ForAllValues:StringEquals": {
          "cloudshell:SubnetIds": [
            "subnet-1",
            "subnet-2"
          ]
        }
      }
    }
  ]
}
```

------

Um Benutzern Zugriff auf bestimmte zu gewähren VPCs, verwenden Sie, `StringEquals` um den Wert der `cloudshell:SecurityGroupIds` Bedingung zu überprüfen. Das folgende Beispiel ermöglicht Benutzern den Zugriff auf `sg-1` und`sg-2`:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EnforceStayInSpecificSecurityGroup",
      "Action": [
        "cloudshell:CreateEnvironment"
      ],
      "Effect": "Allow",
      "Resource": "*",
      "Condition": {
        "ForAllValues:StringEquals": {
          "cloudshell:SecurityGroupIds": [
            "sg-1",
            "sg-2"
          ]
        }
      }
    }
  ]
}
```

------