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.
Erforderliche IAM Berechtigungen für das Erstellen und Verwenden von CloudShell VPC Umgebungen
Um CloudShell VPC Umgebungen zu erstellen und zu verwenden, muss der IAM Administrator den Zugriff auf VPC bestimmte EC2 Amazon-Berechtigungen aktivieren. In diesem Abschnitt sind die EC2 Amazon-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 EC2 Amazon-Berechtigungen enthalten:
ec2:DescribeVpcs
ec2:DescribeSubnets
ec2:DescribeSecurityGroups
ec2:DescribeDhcpOptions
ec2:DescribeNetworkInterfaces
-
ec2:CreateTags
-
ec2:CreateNetworkInterface
-
ec2:CreateNetworkInterfacePermission
Wir empfehlen, auch Folgendes einzubeziehen:
-
ec2:DeleteNetworkInterface
Anmerkung
Diese Berechtigung ist nicht verpflichtend, aber sie ist erforderlich, CloudShell um die von ihr erstellte ENI Ressource (die für CloudShell VPC Umgebungen ENIs erstellt wurde, die mit ManagedByCloudShell Schlüsseln gekennzeichnet sind) zu bereinigen. Wenn diese Berechtigung nicht aktiviert ist, müssen Sie die ENI Ressource nach jeder Nutzung der CloudShell VPC Umgebung manuell bereinigen.
IAMRichtlinie, die vollen CloudShell Zugriff gewährt, einschließlich Zugriff auf VPC
Das folgende Beispiel zeigt, wie vollständige Berechtigungen, einschließlich Zugriff aufVPC, aktiviert werden können für CloudShell:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudShellOperations", "Effect": "Allow", "Action": [ "cloudshell:*" ], "Resource": "*" }, { "Sid": "AllowDescribeVPC", "Effect": "Allow", "Action": [ "ec2:DescribeDhcpOptions", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeVpcs" ], "Resource": "*" }, { "Sid": "AllowCreateTagWithCloudShellKey", "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateNetworkInterface" }, "ForAnyValue:StringEquals": { "aws:TagKeys": "ManagedByCloudShell" } } }, { "Sid": "AllowCreateNetworkInterfaceWithSubnetsAndSG", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ] }, { "Sid": "AllowCreateNetworkInterfaceWithCloudShellTag", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": "ManagedByCloudShell" } } }, { "Sid": "AllowCreateNetworkInterfacePermissionWithCloudShellTag", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterfacePermission" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "aws:ResourceTag/ManagedByCloudShell": "" } } }, { "Sid": "AllowDeleteNetworkInterfaceWithCloudShellTag", "Effect": "Allow", "Action": [ "ec2:DeleteNetworkInterface" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "aws:ResourceTag/ManagedByCloudShell": "" } } } ] }
Verwenden von IAM Bedingungsschlüsseln für VPC Umgebungen
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 einen 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 → CloudShell Umgebung löschen).
Beispielrichtlinien mit Bedingungsschlüsseln für Einstellungen VPC
Die folgenden Beispiele zeigen, 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
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
Um Benutzern den Zugriff auf bestimmte Bereiche zu verweigernVPCs, 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:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceOutOfVpc", "Action": [ "cloudshell:CreateEnvironment" ], "Effect": "Deny", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "cloudshell:VpcIds": [ "vpc-1", "vpc-2" ] } } } ] }
Um Benutzern den Zugriff auf eine bestimmte Bedingung zu verweigernVPCs, 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:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceOutOfSubnets", "Action": [ "cloudshell:CreateEnvironment" ], "Effect": "Deny", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "cloudshell:SubnetIds": [ "subnet-1", "subnet-2" ] } } } ] }
Um Benutzern den Zugriff auf eine bestimmte Bedingung zu verweigernVPCs, 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:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceOutOfSecurityGroups", "Action": [ "cloudshell:CreateEnvironment" ], "Effect": "Deny", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "cloudshell:SecurityGroupIds": [ "sg-1", "sg-2" ] } } } ] }
Erlaubt Benutzern, Umgebungen mit bestimmten VPC Konfigurationen zu erstellen
Um Benutzern Zugriff auf bestimmte zu gewährenVPCs, verwenden Sie, StringEquals
um den Wert der cloudshell:VpcIds
Bedingung zu überprüfen. Das folgende Beispiel ermöglicht Benutzern den Zugriff auf vpc-1
undvpc-2
:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceStayInSpecificVpc", "Action": [ "cloudshell:CreateEnvironment" ], "Effect": "Allow", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "cloudshell:VpcIds": [ "vpc-1", "vpc-2" ] } } } ] }
Um Benutzern Zugriff auf bestimmte zu gewährenVPCs, verwenden Sie, StringEquals
um den Wert der cloudshell:SubnetIds
Bedingung zu überprüfen. Das folgende Beispiel ermöglicht Benutzern den Zugriff auf subnet-1
undsubnet-2
:
{ "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ährenVPCs, verwenden Sie, StringEquals
um den Wert der cloudshell:SecurityGroupIds
Bedingung zu überprüfen. Das folgende Beispiel ermöglicht Benutzern den Zugriff auf sg-1
undsg-2
:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceStayInSpecificSecurityGroup", "Action": [ "cloudshell:CreateEnvironment" ], "Effect": "Allow", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "cloudshell:SecurityGroupIds": [ "sg-1", "sg-2" ] } } } ] }