

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.

# Beispielrichtlinien zur Steuerung des Zugriffs auf die Amazon-EC2-API
<a name="ExamplePolicies_EC2"></a>

Sie können IAM-Richtlinien verwenden, um Benutzern die für die Arbeit mit Amazon EC2 erforderlichen Berechtigungen zu gewähren. step-by-stepAnweisungen finden Sie unter [Erstellen von IAM-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) im *IAM-Benutzerhandbuch*.

Die folgenden Beispiele zeigen Richtlinienanweisungen, die Sie verwenden können, um Benutzern die Berechtigung zur Nutzung von Amazon EC2 zu gewähren. Diese Richtlinien sind für Anfragen konzipiert, die mit dem AWS CLI oder einem AWS SDK gestellt werden. Ersetzen Sie in den folgenden Beispielen jedes Beispiel *user input placeholder* durch Ihre eigenen Informationen.

**Topics**
+ [Schreibgeschützter Zugriff](#iam-example-read-only)
+ [Beschränken des Zugriffs auf eine bestimmte Region](#iam-example-region)
+ [Arbeiten mit Instances](#iam-example-instances)
+ [Instanzen starten (RunInstances)](#iam-example-runinstances)
+ [

## Arbeiten mit Spot-Instances
](#iam-example-spot-instances)
+ [Arbeiten mit Reserved Instances](#iam-example-reservedinstances)
+ [Markieren von Ressourcen](#iam-example-taggingresources)
+ [Arbeiten mit IAM-Rollen](#iam-example-iam-roles)
+ [Arbeiten mit Routing-Tabellen](#iam-example-route-tables)
+ [Erlauben Sie einer bestimmten Instanz, Ressourcen in anderen AWS Diensten anzuzeigen](#iam-example-source-instance)
+ [Arbeiten mit Startvorlagen](#iam-example-launch-templates)
+ [Arbeiten mit Instance-Metadaten](#iam-example-instance-metadata)
+ [

## Arbeiten Sie mit Amazon-EBS-Volumes und Snapshots
](#iam-example-ebs)

Wenn Sie die Amazon EC2-Konsole verwenden möchten, finden Sie Beispielrichtlinien unter [Beispielrichtlinien zur Steuerung des Zugriffs auf die Amazon-EC2-Konsole](iam-policies-ec2-console.md).

## Beispiel: schreibgeschützter Zugriff
<a name="iam-example-read-only"></a>

Mit der folgenden Richtlinie wird Benutzern Berechtigungen zur Verwendung aller Amazon EC2-API-Aktionen erteilt, deren Name mit `Describe` beginnt. Das `Resource`-Element verwendet einen Platzhalter, wodurch Benutzer alle Ressourcen mit diesen API-Aktionen angeben können. Das Sternchen (\$1) als Platzhalter ist auch dann erforderlich, wenn die API-Aktion keine Berechtigungen auf Ressourcenebene unterstützt. Weitere Informationen dazu, welche ARNs Sie mit welchen Amazon EC2-API-Aktionen verwenden können, finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).

Die Benutzer haben keine Berechtigung zum Ausführen von Aktionen auf den Ressourcen (es sei denn, eine andere Anweisung erteilt ihnen diese Erlaubnis), da ihnen die Berechtigung für die Verwendung von API-Aktionen standardmäßig verweigert wird.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:Describe*",
      "Resource": "*"
    }
   ]
}
```

------

## Beispiel: Beschränken des Zugriffs auf eine bestimmte Region
<a name="iam-example-region"></a>

Die folgende Richtlinie verweigert Benutzern die Berechtigung, Amazon EC2-API-Aktionen in anderen Regionen als Europa (Frankfurt) zu verwenden. Sie verwendet den globalen Bedingungsschlüssel `aws:RequestedRegion`, der von allen Amazon EC2-API-Aktionen unterstützt wird.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
       {
      "Effect": "Deny",
      "Action": "ec2:*",
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:RequestedRegion": "eu-central-1"
        }
      }
    }  
  ]
}
```

------

Alternativ können Sie den Bedingungsschlüssel `ec2:Region` verwenden, der speziell für Amazon EC2 verwendet wird und von allem Amazon EC2-API-Aktionen unterstützt wird.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
       {
      "Effect": "Deny",
      "Action": "ec2:*",
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "ec2:Region": "eu-central-1"
        }
      }
    }  
  ]
}
```

------

## Arbeiten mit Instances
<a name="iam-example-instances"></a>

**Topics**
+ [

### Beispiel: Beschreiben, Initiieren, Stoppen, Starten und Beenden aller Instances
](#iam-example-instances-all)
+ [

### Beispiel: Beschreiben aller Instances sowie Stoppen, Starten und Beenden nur bestimmter Instances
](#iam-example-instances-specific)

### Beispiel: Beschreiben, Initiieren, Stoppen, Starten und Beenden aller Instances
<a name="iam-example-instances-all"></a>

Mit der folgenden Richtlinie wird Benutzern Berechtigungen erteilt, die im Element `Action` angegebenen API-Aktionen zu verwenden. Das `Resource`-Element verwendet den Platzhalter "\$1", wodurch Benutzer alle Ressourcen mit diesen API-Aktionen angeben können. Das Sternchen (\$1) als Platzhalter ist auch dann erforderlich, wenn die API-Aktion keine Berechtigungen auf Ressourcenebene unterstützt. Weitere Informationen dazu, welche ARNs Sie mit welchen Amazon EC2-API-Aktionen verwenden können, finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).

Die Benutzer haben keine Berechtigung zur Verwendung von anderen API-Aktionen (es sei denn, eine andere Anweisung erteilt ihnen die entsprechende Erlaubnis), da den Benutzern die Berechtigung für die Verwendung von API-Aktionen standardmäßig verweigert wird.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeInstances", 
        "ec2:DescribeImages",
        "ec2:DescribeKeyPairs", 
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeAvailabilityZones",
        "ec2:RunInstances", 
        "ec2:TerminateInstances",
        "ec2:StopInstances", 
        "ec2:StartInstances"
      ],
      "Resource": "*"
    }
   ]
}
```

------

### Beispiel: Beschreiben aller Instances sowie Stoppen, Starten und Beenden nur bestimmter Instances
<a name="iam-example-instances-specific"></a>

Die folgende Richtlinie erlaubt den Benutzern, alle Instances zu beschreiben, nur die Instances i-1234567890abcdef0 und i-0598c7d356eba48d7 zu starten und anzuhalten sowie ausschließlich Instances in der Region `us-east-1` mit dem Ressourcen-Tag „`purpose=test`“ zu beenden. 

In der ersten Anweisung legt ein \$1-Platzhalter im `Resource`-Element fest, dass die Benutzer alle Ressourcen für die Aktion angeben können. In diesem Beispiel können sie alle Instances auflisten. Das Sternchen (\$1) als Platzhalter ist auch dann erforderlich, wenn die API-Aktion keine Berechtigungen auf Ressourcenebene unterstützt (in diesem Fall `ec2:DescribeInstances`). Weitere Informationen dazu, welche ARNs Sie mit welchen Amazon EC2-API-Aktionen verwenden können, finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).

Die zweite Anweisung erteilt Berechtigungen auf Ressourcenebene für die Aktionen `StopInstances` und `StartInstances`. Die spezifischen Instanzen werden durch ihre ARNs im `Resource` Element enthaltenen Werte gekennzeichnet.

Die dritte Anweisung ermöglicht es Benutzern, alle Instances in der `us-east-1` Region zu beenden, die zu dem angegebenen AWS Konto gehören, aber nur dort, wo die Instanz das Tag hat`"purpose=test"`. Das `Condition`-Element bestimmt, wann die Richtlinienanweisung wirksam ist. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
   {
   "Effect": "Allow",
      "Action": "ec2:DescribeInstances",
      "Resource": "*"
   },
   {
      "Effect": "Allow",
      "Action": [
        "ec2:StopInstances", 
        "ec2:StartInstances"
      ],
      "Resource": [
        "arn:aws:ec2:us-east-1:111122223333:instance/i-1234567890abcdef0",
        "arn:aws:ec2:us-east-1:111122223333:instance/i-0598c7d356eba48d7"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "ec2:TerminateInstances",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
      "Condition": {
         "StringEquals": {
            "aws:ResourceTag/purpose": "test"
         }
      }
   }

   ]
}
```

------

## Instanzen starten (RunInstances)
<a name="iam-example-runinstances"></a>

Die [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)API-Aktion startet eine oder mehrere On-Demand-Instances oder eine oder mehrere Spot-Instances. `RunInstances`benötigt ein AMI und erstellt eine Instanz. Benutzer können in der Anforderung ein Schlüsselpaar und eine Sicherheitsgruppe angeben. Der Start in einer VPC erfordert ein Subnetz und generiert eine Netzwerkschnittstelle. Beim Starten von einem Amazon EBS-Backed AMI wird ein Volume erstellt. Der Benutzer muss daher über Berechtigungen zur Verwendung dieser Amazon EC2-Ressourcen verfügen. Sie können eine Richtlinienanweisung erstellen, damit die Benutzer einen optionalen Parameter für `RunInstances` angeben müssen oder die Werte einschränken, die den Benutzern für einen Parameter gestattet sind.

Weitere Informationen zu Berechtigungen auf Ressourcenebene, die zum Starten einer Instance erforderlich sind, finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).

Standardmäßig verfügen Benutzer nicht über Berechtigungen, die resultierenden Instances zu beschreiben, zu starten, anzuhalten oder zu beenden. Eine Möglichkeit, den Benutzern die Berechtigung zum Verwalten der resultierenden Instances zu erteilen, besteht darin, ein spezielles Tags (Markierung) für jede Instance und eine Anweisung zu erstellen, welche dazu dient, die Instances mit diesem Tag (Markierung) zu verwalten. Weitere Informationen finden Sie unter [Arbeiten mit Instances](#iam-example-instances).

**Topics**
+ [

### AMIs
](#iam-example-runinstances-ami)
+ [

### Instance-Typen
](#iam-example-runinstances-instance-type)
+ [

### Subnets
](#iam-example-runinstances-subnet)
+ [

### EBS-Datenträger
](#iam-example-runinstances-volumes)
+ [

### Tags (Markierungen)
](#iam-example-runinstances-tags)
+ [

### Tags (Markierungen) in einer Startvorlage
](#iam-example-tags-launch-template)
+ [

### Elastisch GPUs
](#iam-example-runinstances-egpu)
+ [

### Startvorlagen
](#iam-example-runinstances-launch-templates)

### AMIs
<a name="iam-example-runinstances-ami"></a>

Die folgende Richtlinie ermöglicht es Benutzern, Instances nur mit den angegebenen AMIs, `ami-9e1670f7` und zu starten`ami-45cf5c3c`. Die Benutzer können eine Instance nicht mit anderen starten AMIs (es sei denn, eine andere Anweisung erteilt den Benutzern die Erlaubnis dazu).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
        "arn:aws:ec2:us-east-1::image/ami-9e1670f7",
        "arn:aws:ec2:us-east-1::image/ami-45cf5c3c",
        "arn:aws:ec2:us-east-1:111122223333:instance/*",
        "arn:aws:ec2:us-east-1:111122223333:volume/*",
        "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
        "arn:aws:ec2:us-east-1:111122223333:security-group/*",
        "arn:aws:ec2:us-east-1:111122223333:subnet/*",
        "arn:aws:ec2:us-east-1:111122223333:network-interface/*"
      ]
    }
   ]
}
```

------

Alternativ ermöglicht die folgende Richtlinie Benutzern, Instances von allen Anbietern von AMIs Amazon oder bestimmten vertrauenswürdigen und verifizierten Partnern aus zu starten. Das `Condition`-Element in der ersten Anweisung überprüft, ob `ec2:Owner` `amazon` ist. Die Benutzer können eine Instance nicht mit anderen starten AMIs (es sei denn, eine andere Erklärung erteilt den Benutzern die Erlaubnis, dies zu tun).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
         {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [ 
         "arn:aws:ec2:us-east-1::image/ami-*"
      ],
      "Condition": {
         "StringEquals": {
            "ec2:Owner": "amazon"
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [ 
         "arn:aws:ec2:us-east-1:111122223333:instance/*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:volume/*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*"
         ]
      }
   ]
}
```

------

### Instance-Typen
<a name="iam-example-runinstances-instance-type"></a>

Die folgende Richtlinie gestattet es Benutzern, Instances nur mit dem `t2.micro`- oder `t2.small`-Instance-Typ zu starten, wodurch die Kosten kontrolliert werden können. Die Benutzer können keine größeren Instances starten, da das `Condition`-Element der ersten Anweisung überprüft, ob `ec2:InstanceType` entweder `t2.micro` oder `t2.small` ist. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1:111122223333:instance/*"
      ],
      "Condition": {
         "StringEquals": {
            "ec2:InstanceType": ["t2.micro", "t2.small"]
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1::image/ami-*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:volume/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*"
         ]
      }
   ]
}
```

------

Sie können alternativ eine Richtlinie erstellen, die Benutzern Berechtigungen zum Starten aller Instances, mit Ausnahme der Instance-Typen `t2.micro` und `t2.small`, verweigert.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        { 
      "Effect": "Deny",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1:111122223333:instance/*"
      ],
      "Condition": {
         "StringNotEquals": {
            "ec2:InstanceType": ["t2.micro", "t2.small"]
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1::image/ami-*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:instance/*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:volume/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*"
         ]
      }
   ]
}
```

------

### Subnets
<a name="iam-example-runinstances-subnet"></a>

Die folgende Richtlinie erlaubt den Benutzern, Instances ausschließlich im angegebenen Subnetz, `subnet-12345678`, zu starten. Die Gruppe kann keine Instances in einem anderen Subnetz starten (es sei denn, eine andere Anweisung gewährt den Benutzern die entsprechende Berechtigung).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
        "arn:aws:ec2:us-east-1:111122223333:subnet/subnet-12345678",
        "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
        "arn:aws:ec2:us-east-1:111122223333:instance/*",
        "arn:aws:ec2:us-east-1:111122223333:volume/*",
        "arn:aws:ec2:us-east-1::image/ami-*",
        "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
        "arn:aws:ec2:us-east-1:111122223333:security-group/*"
      ]
    }
   ]
}
```

------

Alternativ können Sie eine Richtlinie erstellen, die Benutzern Berechtigungen zum Starten einer Instance in jedem anderen Subnetz verweigert. Zu diesem Zweck verweigert die Anweisung die Berechtigung zum Erstellen einer Netzwerkschnittstelle, außer wenn das `subnet-12345678`-Subnetz festgelegt wird. Diese Verweigerung setzt alle anderen Richtlinien außer Kraft, die erstellt werden, um zu gestatten, Instances in anderen Subnetzen zu starten.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
         {
      "Effect": "Deny",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*"
      ],
      "Condition": {
         "ArnNotEquals": {
            "ec2:Subnet": "arn:aws:ec2:us-east-1:111122223333:subnet/subnet-12345678"
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1::image/ami-*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:instance/*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:volume/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*"
         ]
      }
   ]
}
```

------

### EBS-Datenträger
<a name="iam-example-runinstances-volumes"></a>

Die Richtlinie unten ermöglicht es den Benutzern, Instances nur zu starten, wenn die EBS-Volumes für die Instance verschlüsselt sind. Der Benutzer muss eine Instance von einem AMI starten, das mit verschlüsselten Snapshots erstellt wurde, um sicherzustellen, dass das Stamm-Volume verschlüsselt wird. Jedes weitere Volume, das der Instance während des Starts vom Benutzer angefügt wird, muss auch verschlüsselt sein.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
                {
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": [
                "arn:aws:ec2:*:*:volume/*"
            ],
            "Condition": {
                "Bool": {
                    "ec2:Encrypted": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": [
                "arn:aws:ec2:*::image/ami-*",
                "arn:aws:ec2:*:*:network-interface/*",
                "arn:aws:ec2:*:*:instance/*",
                "arn:aws:ec2:*:*:subnet/*",
                "arn:aws:ec2:*:*:key-pair/*",
                "arn:aws:ec2:*:*:security-group/*"
            ]
        }
    ]
}
```

------

### Tags (Markierungen)
<a name="iam-example-runinstances-tags"></a>

**Markieren von Instances bei der Erstellung**

Die folgende Richtlinie gestattet es den Benutzern, Instances zu starten und sie während ihrer Erstellung zu markieren. Bei Aktionen zur Ressourcenerstellung, die Tags anwenden, müssen Benutzer über Berechtigungen für die Aktion `CreateTags` verfügen. Die zweite Anweisung enthält den `ec2:CreateAction`-Bedingungsschlüssel, sodass die Benutzer Tags nur im Kontext von `RunInstances` und nur für Instances erstellen können. Die Benutzer können keine vorhandenen Ressourcen mit Tags versehen und Volumes nicht mit der `RunInstances`-Anforderung markieren. 

Weitere Informationen finden Sie unter [Berechtigung zum Markieren von Amazon-EC2-Ressourcen während der Erstellung erteilen](supported-iam-actions-tagging.md).

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
      "Condition": {
         "StringEquals": {
             "ec2:CreateAction" : "RunInstances"
          }
       }
    }
  ]
}
```

------

**Markieren von Instances und Volumes bei der Erstellung mit bestimmten Tags**

Die folgende Richtlinie umfasst den `aws:RequestTag`-Bedingungsschlüssel. Die Benutzer müssen daher alle Instances und Volumes, die durch `RunInstances` erstellt werden, mit den Tags `environment=production` und `purpose=webserver` versehen. Werden nicht genau diese Tags (Markierungen) übergeben oder überhaupt keine Tags (Markierungen) angegeben, schlägt die Anforderung fehl.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
   {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": [
         "arn:aws:ec2:us-east-1::image/*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": [
          "arn:aws:ec2:us-east-1:111122223333:volume/*",
          "arn:aws:ec2:us-east-1:111122223333:instance/*"
      ],
      "Condition": {
         "StringEquals": {
             "aws:RequestTag/environment": "production" ,
             "aws:RequestTag/purpose": "webserver"
          }
       }
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
      "Condition": {
         "StringEquals": {
             "ec2:CreateAction" : "RunInstances"
          }
       }
    }
  ]
}
```

------

**Markieren von instances und Volumes bei der Erstellung mit mindestens einem bestimmten Tag**

Die Richtlinie unten verwendet den `ForAnyValue`-Modifikator für die `aws:TagKeys`-Bedingung, um festzulegen, dass mindestens ein Tag (Markierung) in der Anforderung angegeben werden muss und der `environment`- oder `webserver`-Schlüssel enthalten sein muss. Das Tag (Markierung) muss sowohl auf Instances als auch auf Volumes angewendet werden. In der Anforderung können beliebige Tags (Markierungen)-Werte angegeben werden. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
   {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": [
         "arn:aws:ec2:us-east-1::image/*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
          "ec2:RunInstances"
      ],
      "Resource": [
          "arn:aws:ec2:us-east-1:111122223333:volume/*",
          "arn:aws:ec2:us-east-1:111122223333:instance/*"
      ],
      "Condition": {
          "ForAnyValue:StringEquals": {
              "aws:TagKeys": ["environment","webserver"]
          }
       }
    },
    {
      "Effect": "Allow",
      "Action": [
          "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
      "Condition": {
          "StringEquals": {
              "ec2:CreateAction" : "RunInstances"
          }
       }
    }
  ]
}
```

------

**Wenn Instances bei der Erstellung markiert werden, müssen sie mit einem bestimmten Tag markiert sein**

In der folgenden Richtlinie ist es nicht notwendig, dass die Benutzer in der Anforderung Tags (Markierungen) angeben, aber wenn sie dies tun, muss es das Tag (Markierungen) `purpose=test` sein. Andere Tags (Markierungen) sind nicht zulässig. Die Benutzer können in der `RunInstances`-Anforderung die Tags auf jede Ressource anwenden, die mit Tags versehen werden kann.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
      "Condition": {
         "StringEquals": {
             "aws:RequestTag/purpose": "test",
             "ec2:CreateAction" : "RunInstances"
          },
          "ForAllValues:StringEquals": {
              "aws:TagKeys": "purpose"
          }
       }
    }
  ]
}
```

------

Um jeden Benutzer zu verbieten, der Tag auf create for aufgerufen hat RunInstances



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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        },
        {
            "Effect": "Deny",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

Erlaube nur bestimmte Tags für spot-instances-request. Hier kommt die überraschende Inkonsistenz Nr. 2 ins Spiel. Unter normalen Umständen führt das Angeben von keinen Tags (Markierungen) zu „Unauthenticated (Nicht authentifiziert)“. Im Fall von wird diese Richtlinie nicht ausgewertet spot-instances-request, wenn keine spot-instances-request Tags vorhanden sind, sodass eine Spot-on-Run-Anfrage ohne Tags erfolgreich ist. 

### Tags (Markierungen) in einer Startvorlage
<a name="iam-example-tags-launch-template"></a>

Im folgenden Beispiel können Benutzer Instances starten, jedoch nur über eine bestimmte Startvorlage (`lt-09477bcd97b0d310e`). Durch den Bedingungsschlüssel `ec2:IsLaunchTemplateResource` werden Benutzer daran gehindert, in der Startvorlage angegebene Ressourcen außer Kraft zu setzen. Der zweite Teil der Anweisung erlaubt Benutzern das Markieren von Instances bei der Erstellung – dieser Teil der Anweisung wird benötigt, wenn in der Startvorlage Tags (Markierungen) für die Instance angegeben werden.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": "*",
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/lt-09477bcd97b0d310e" 
          },
          "Bool": {
             "ec2:IsLaunchTemplateResource": "true"
          }
       }
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
      "Condition": {
         "StringEquals": {
             "ec2:CreateAction" : "RunInstances"
          }
       }
    }
  ]
}
```

------

### Elastisch GPUs
<a name="iam-example-runinstances-egpu"></a>

In der folgenden Richtlinie können Benutzer eine Instance starten und eine elastische GPU zum Anfügen an die Instance angeben. Benutzer können Instances in jeder Region starten, das Anfügen einer elastischen GPU ist beim Start jedoch nur in der Region `us-east-2` möglich. 

Der `ec2:ElasticGpuType`-Bedingungsschlüssel stellt sicher, dass Instances entweder den Elastic `eg1.medium`- oder `eg1.large`-GPU-Typ verwenden.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
             {
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:*:111122223333:elastic-gpu/*"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:Region": "us-east-2",
                    "ec2:ElasticGpuType": [
                        "eg1.medium",
                        "eg1.large"
                    ]
                }  
            }
        },
        {
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": [
                "arn:aws:ec2:*::image/ami-*",
                "arn:aws:ec2:*:111122223333:network-interface/*",
                "arn:aws:ec2:*:111122223333:instance/*",
                "arn:aws:ec2:*:111122223333:subnet/*",
                "arn:aws:ec2:*:111122223333:volume/*",
                "arn:aws:ec2:*:111122223333:key-pair/*",
                "arn:aws:ec2:*:111122223333:security-group/*"
            ]
        }
    ]
}
```

------

### Startvorlagen
<a name="iam-example-runinstances-launch-templates"></a>

Im folgenden Beispiel können Benutzer Instances starten, jedoch nur über eine bestimmte Startvorlage (`lt-09477bcd97b0d310e`). Benutzer können die Parameter in der Startvorlage außer Kraft setzen, indem sie die Parameter in der Aktion `RunInstances` angeben.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
         {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": "*",
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/lt-09477bcd97b0d310e" 
          }
       }
    }
  ]
}
```

------

In diesem Beispiel können Benutzer Instances nur starten, wenn sie eine Startvorlage verwenden. Die Richtlinie verwendet den `ec2:IsLaunchTemplateResource` Bedingungsschlüssel, um zu verhindern, dass Benutzer bereits ARNs in der Startvorlage vorhandene Werte überschreiben.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
         {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": "*",
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/*" 
          },
          "Bool": {
             "ec2:IsLaunchTemplateResource": "true"
          }
       }
    }
  ]
}
```

------

Die folgende Beispielsrichtlinie erlaubt einem Benutzer, Instances zu starten, jedoch nur über eine Startvorlage. Benutzer können in der Anforderung keine Subnetz- und Netzwerkschnittstellen-Parameter außer Kraft setzen. Diese Parameter können nur in der Startvorlage angegeben werden. Im ersten Teil der Anweisung wird das [NotResource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notresource.html)Element verwendet, um alle anderen Ressourcen außer Subnetzen und Netzwerkschnittstellen zuzulassen. Der zweite Teil der Anweisung erlaubt die Subnetz- und Netzwerkschnittstellen-Ressourcen, jedoch nur, wenn sie ihren Ursprung in der Startvorlage haben.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
        {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "NotResource": ["arn:aws:ec2:us-east-1:111122223333:subnet/*",
                      "arn:aws:ec2:us-east-1:111122223333:network-interface/*" ],
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/*" 
          }
       }
    },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": ["arn:aws:ec2:us-east-1:111122223333:subnet/*",
                   "arn:aws:ec2:us-east-1:111122223333:network-interface/*" ],
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/*" 
          },
          "Bool": {
             "ec2:IsLaunchTemplateResource": "true"
          }
       }
    }
  ]
}
```

------

Das folgende Beispiel erlaubt Benutzern, Instances zu starten, jedoch nur über eine Startvorlage und wenn die Startvorlage den Tag (Markierungen) `Purpose=Webservers` aufweist. Benutzer können mit der Aktion `RunInstances` keine Parameter der Startvorlage außer Kraft setzen.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
        {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "NotResource": "arn:aws:ec2:us-east-1:111122223333:launch-template/*",
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/*" 
          },
         "Bool": {
             "ec2:IsLaunchTemplateResource": "true"
          }
       }
    },
    {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:launch-template/*",
      "Condition": {
       "StringEquals": {
           "aws:ResourceTag/Purpose": "Webservers" 
        }
       }
     }
  ]
}
```

------

## Arbeiten mit Spot-Instances
<a name="iam-example-spot-instances"></a>

Sie können die RunInstances Aktion verwenden, um Spot-Instance-Anfragen zu erstellen und die Spot-Instance-Anfragen bei der Erstellung mit einem Tag zu versehen. Die Ressource, für die Sie angeben müssen, RunInstances ist`spot-instances-request`.

Die `spot-instances-request`-Ressource wird in der IAM-Richtlinie wie folgt ausgewertet:
+ Wenn Sie eine Spot-Instance-Anfrage bei der Erstellung nicht taggen, bewertet Amazon EC2 die `spot-instances-request` Ressource in der RunInstances Anweisung nicht.
+ Wenn Sie eine Spot-Instance-Anfrage bei der Erstellung taggen, bewertet Amazon EC2 die `spot-instances-request` Ressource in der RunInstances Anweisung.

Daher gelten für die `spot-instances-request`-Ressource die folgenden Regeln für die IAM-Richtlinie:
+ Wenn Sie RunInstances eine Spot-Instance-Anfrage erstellen und nicht beabsichtigen, die Spot-Instance-Anfrage bei der Erstellung zu taggen, müssen Sie die `spot-instances-request` Ressource nicht explizit zulassen. Der Aufruf ist erfolgreich.
+ Wenn Sie RunInstances eine Spot-Instance-Anfrage erstellen und beabsichtigen, die Spot-Instance-Anfrage bei der Erstellung zu taggen, müssen Sie die `spot-instances-request` Ressource in die RunInstances Allow-Anweisung aufnehmen, andernfalls schlägt der Aufruf fehl.
+ Wenn Sie RunInstances eine Spot-Instance-Anfrage erstellen und beabsichtigen, die Spot-Instance-Anfrage bei der Erstellung zu taggen, müssen Sie die `spot-instances-request` Ressource oder den `*` Platzhalter in der Allow-Anweisung CreateTags angeben, andernfalls schlägt der Aufruf fehl. 

Sie können Spot-Instances mit RunInstances oder RequestSpotInstances anfordern. Die folgenden Beispiel-IAM-Richtlinien gelten nur, wenn Sie Spot-Instances über RunInstances anfordern.

**Beispiel: Spot-Instances anfordern mit RunInstances**

Die folgende Richtlinie ermöglicht es Benutzern, Spot-Instances mithilfe der RunInstances Aktion anzufordern. Die `spot-instances-request` Ressource, die von erstellt wurde RunInstances, fordert Spot-Instances an.

**Anmerkung**  
Um Spot-Instance-Anfragen RunInstances zu erstellen, können Sie sie `spot-instances-request` aus der `Resource` Liste streichen, wenn Sie nicht beabsichtigen, die Spot-Instance-Anfragen bei der Erstellung zu taggen. Das liegt daran, dass Amazon EC2 die `spot-instances-request` Ressource in der RunInstances Anweisung nicht bewertet, wenn die Spot-Instance-Anfrage bei create nicht markiert ist.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        }
    ]
}
```

------

**Warnung**  
**NICHT UNTERSTÜTZT — Beispiel: Benutzern die Erlaubnis verweigern, Spot-Instances anzufordern mit RunInstances**  
Die folgende Richtlinie wird für die `spot-instances-request`-Ressource nicht unterstützt.  
Die folgende Richtlinie soll Benutzern die Berechtigung zum Starten von On-Demand-Instances erteilen, ihnen jedoch die Berechtigung zum Anfordern von Spot-Instances verweigern. Die `spot-instances-request` Ressource, die von erstellt wurde RunInstances, ist die Ressource, die Spot-Instances anfordert. Die zweite Anweisung soll die RunInstances Aktion für die `spot-instances-request` Ressource verweigern. Diese Bedingung wird jedoch nicht unterstützt, da Amazon EC2 die `spot-instances-request` Ressource in der RunInstances Anweisung nicht auswertet, wenn die Spot-Instance-Anfrage bei create nicht markiert ist.  

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*"
            ]
        },
        {
            "Sid": "DenySpotInstancesRequestsNOTSUPPORTEDDONOTUSE",
            "Effect": "Deny",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
        }
    ]
}
```

**Beispiel: Markieren von Spot-Instance-Anforderungen beim Erstellen**

Die folgende Richtlinie ermöglicht es Benutzern, alle Ressourcen zu markieren, die während des Instance-Starts erstellt werden. Die erste Anweisung ermöglicht es RunInstances , die aufgelisteten Ressourcen zu erstellen. Die `spot-instances-request` Ressource, die von erstellt wurde RunInstances, ist die Ressource, die Spot-Instances anfordert. Die zweite Anweisung stellt einen `*`-Platzhalter bereit, mit dem alle Ressourcen markiert werden können, wenn sie beim Start der Instance erstellt werden.

**Anmerkung**  
Wenn Sie eine Spot-Instance-Anfrage bei der Erstellung taggen, bewertet Amazon EC2 die `spot-instances-request` Ressource in der RunInstances Anweisung. Daher müssen Sie die `spot-instances-request` Ressource für die RunInstances Aktion explizit zulassen, andernfalls schlägt der Aufruf fehl.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        },
        {
            "Sid": "TagResources",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

**Beispiel: Markieren beim Erstellen von Spot-Instance-Anforderungen verweigern**

Die folgende Richtlinie verweigert Benutzern die Berechtigung zum Markieren der Ressourcen, die während des Instance-Starts erstellt werden.

Die erste Anweisung ermöglicht es RunInstances , die aufgelisteten Ressourcen zu erstellen. Die `spot-instances-request` Ressource, die von erstellt wurde RunInstances, ist die Ressource, die Spot-Instances anfordert. Die zweite Anweisung stellt einen `*`-Platzhalter bereit, um alle Ressourcen zu verweigern, die markiert werden, wenn sie beim Start der Instance erstellt werden. Wenn `spot-instances-request` oder eine andere Ressource bei create markiert ist, schlägt der RunInstances Aufruf fehl.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        },
        {
            "Sid": "DenyTagResources",
            "Effect": "Deny",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

**Warnung**  
**NICHT UNTERSTÜTZT – Beispiel: Erstellen einer Spot-Instance-Anforderung nur zulassen, wenn ihr ein bestimmtes Tag (Markierung) zugewiesen wird**  
Die folgende Richtlinie wird für die `spot-instances-request`-Ressource nicht unterstützt.  
Die folgende Richtlinie soll nur dann RunInstances die Erlaubnis zum Erstellen einer Spot-Instance-Anfrage gewähren, wenn die Anfrage mit einem bestimmten Tag gekennzeichnet ist.   
Die erste Anweisung ermöglicht es RunInstances , die aufgelisteten Ressourcen zu erstellen.  
Die zweite Anweisung soll Benutzern nur dann die Berechtigung erteilen, eine Spot-Instance-Anforderung zu erstellen, wenn die Anforderung den Tag (Markierung) `environment=production` enthält. Wenn diese Bedingung auf andere Ressourcen angewendet wird, die von erstellt wurden RunInstances, führt die Angabe keiner Tags zu einem `Unauthenticated` Fehler. Wenn jedoch keine Tags für die Spot-Instance-Anfrage angegeben sind, bewertet Amazon EC2 die `spot-instances-request` Ressource in der RunInstances Anweisung nicht, was dazu führt, dass Spot-Instance-Anfragen ohne Tags von erstellt werden. RunInstances  
Beachten Sie, dass die Angabe eines anderen Tags als zu einem `Unauthenticated` Fehler `environment=production` führt, denn wenn ein Benutzer eine Spot-Instance-Anfrage taggt, wertet Amazon EC2 die `spot-instances-request` Ressource in der RunInstances Anweisung aus.  

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*"
            ]
        },
        {
            "Sid": "RequestSpotInstancesOnlyIfTagIsEnvironmentProductionNOTSUPPORTEDDONOTUSE",
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:us-east-1:*:spot-instances-request/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/environment": "production"
                }
            }
        },
        {
            "Sid": "TagResources",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }

    ]
}
```

**Beispiel: Erstellen einer Spot-Instance-Anforderung verweigern, wenn ihr ein bestimmtes Tag (Markierung) zugewiesen ist**

Die folgende Richtlinie verweigert RunInstances die Erlaubnis, eine Spot-Instance-Anfrage zu erstellen, wenn die Anfrage mit gekennzeichnet ist. `environment=production` 

Die erste Anweisung ermöglicht RunInstances das Erstellen der aufgelisteten Ressourcen.

Die zweite Anweisung verweigert Benutzern die Berechtigung, eine Spot-Instance-Anforderung zu erstellen, wenn die Anforderung den Tag (Markierung) `environment=production` enthält. Die Angabe von `environment=production` als Tag führt zu einem `Unauthenticated`-Fehler. Wenn Sie andere oder keine Tags (Markierungen) angeben, wird eine Spot-Instance-Anforderung erstellt.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        },
        {
            "Sid": "DenySpotInstancesRequests",
            "Effect": "Deny",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:us-east-1:*:spot-instances-request/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/environment": "production"
                }
            }
        },
        {
            "Sid": "TagResources",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

## Beispiel: Arbeiten mit Reserved Instances
<a name="iam-example-reservedinstances"></a>

Mit der folgenden Richtlinie wird Benutzern die Berechtigung zum Ansehen, Ändern und Kaufen von Reserved Instances in Ihrem Konto gewährt.

Für einzelne Reserved Instances können keine Berechtigungen auf Ressourcenebene erteilt werden. Diese Richtlinie bedeutet, dass die Benutzer Zugriff auf alle Reserved Instances im Konto haben.

Der Platzhalter \$1 im Element `Resource` legt fest, dass Benutzer alle Ressourcen für die Aktion angeben können. In diesem Beispiel können sie alle Reserved Instances im Konto auflisten und bearbeiten. Sie haben auch die Möglichkeit, die Kontoanmeldeinformationen zu verwenden, um Reserved Instances zu kaufen. Das Sternchen (\$1) als Platzhalter ist auch dann erforderlich, wenn die API-Aktion keine Berechtigungen auf Ressourcenebene unterstützt.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeReservedInstances", 
        "ec2:ModifyReservedInstances",
        "ec2:PurchaseReservedInstancesOffering", 
        "ec2:DescribeAvailabilityZones",
        "ec2:DescribeReservedInstancesOfferings"
      ],
      "Resource": "*"
    }
   ]
}
```

------

Benutzern wird die Berechtigung zum Ansehen und Ändern der Reserved Instances in Ihrem Konto erteilt, aber nicht zum Kauf von neuen Reserved Instances.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
   "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeReservedInstances", 
        "ec2:ModifyReservedInstances",
        "ec2:DescribeAvailabilityZones"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Beispiel: Markieren von Ressourcen
<a name="iam-example-taggingresources"></a>

Die folgende Richtlinie erlaubt Benutzern nur die Verwendung der `CreateTags`-Aktion, um einer Instance Tags hinzuzufügen, wenn das Tag den `environment`-Schlüssel und den `production`-Wert enthält. Es sind keine anderen Tags erlaubt und der Benutzer kann keine anderen Ressourcentypen markieren.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
              {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/environment": "production"
                }
            }
        }
    ]
}
```

------

Die Richtlinie unten ermöglicht es den Benutzern, jede markierbare Ressource, die bereits ein Tag mit dem `owner`-Schlüssel und einen Benutzernamen als Wert aufweist, mit Tags zu versehen. Zudem müssen die Benutzer ein Tag (Markierung) mit dem `anycompany:environment-type`-Schlüssel und dem Wert `test` oder `prod` in der Anforderung festlegen. Die Benutzer können zusätzliche Tags (Markierungen) in der Anforderung angeben.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
               {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/anycompany:environment-type": ["test","prod"],
                    "aws:ResourceTag/owner": "${aws:username}"
                } 
            }
        }
    ]
}
```

------

Sie können eine IAM-Richtlinie erstellen, die den Benutzern erlaubt, bestimmte Tags (Markierungen) für eine Ressource zu löschen. Die folgende Richtlinie gestattet es den Benutzern zum Beispiel, Tags für ein Volume zu löschen, sofern die Anforderung die Tag-Schlüssel `environment` oder `cost-center` enthält. Für den Tag (Markierung) kann ein beliebiger Wert angegeben werden, aber der Tag (Markierung)-Schlüssel muss einem der genannten Schlüssel entsprechen.

**Anmerkung**  
Wenn Sie eine Ressource löschen, werden alle der Ressource zugeordneten Tags (Markierungen) ebenfalls gelöscht. Die Benutzer benötigen keine Berechtigungen für die Verwendung der Aktion `ec2:DeleteTags`, um eine Ressource zu löschen, die Tags aufweist. Sie müssen nur über Berechtigungen zum Ausführen der Löschaktion verfügen.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
       {
      "Effect": "Allow",
      "Action": "ec2:DeleteTags",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:volume/*",
      "Condition": {
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["environment","cost-center"]
        }
      }
    }
  ]
}
```

------

Diese Richtlinie erlaubt den Benutzern, auf beliebigen Ressourcen nur den `environment=prod`-Tag zu löschen. Dies gilt zudem nur, wenn die Ressource bereits den `owner`-Schlüssel-Tag und einen Benutzernamen als Wert aufweist. Benutzer können keine anderen Tags für eine Ressource löschen.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
      {
      "Effect": "Allow",
      "Action": [
        "ec2:DeleteTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/environment": "prod",
          "aws:ResourceTag/owner": "${aws:username}"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["environment"]
        }
      }
    }
  ]
}
```

------

## Beispiel: Arbeiten mit IAM-Rollen
<a name="iam-example-iam-roles"></a>

Die folgende Richtlinie erlaubt Benutzern das Anfügen, Ersetzen und Trennen einer IAM-Rolle für Instances, die über den `department=test`-Tag (Markierung) verfügt. Das Ersetzen oder Trennen einer IAM-Rolle erfordert eine Zuordnungs-ID. Die Richtlinie erteilt den Benutzern daher außerdem die Berechtigung, die `ec2:DescribeIamInstanceProfileAssociations`-Aktion zu verwenden. 

Die Benutzer müssen über die Berechtigung für die `iam:PassRole`-Aktion verfügen, um die Rollen an die Instance zu übergeben. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:AssociateIamInstanceProfile",
        "ec2:ReplaceIamInstanceProfileAssociation",
        "ec2:DisassociateIamInstanceProfile"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/department":"test"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "ec2:DescribeIamInstanceProfileAssociations",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::111122223333:role/DevTeam*"
    }
  ]
}
```

------

Die folgende Richtlinie erlaubt Benutzern das Anfügen oder Ersetzen einer IAM-Rolle für eine beliebige Instance. Es können nur IAM-Rollen angefügt oder ersetzt werden, deren Namen mit `TestRole-` beginnen. Stellen Sie bei der `iam:PassRole`-Aktion sicher, dass Sie den Namen der IAM-Rolle und nicht den des Instance-Profils angeben, falls sich diese Namen unterscheiden. Weitere Informationen finden Sie unter [Instance-Profile](iam-roles-for-amazon-ec2.md#ec2-instance-profile).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:AssociateIamInstanceProfile",
                "ec2:ReplaceIamInstanceProfileAssociation"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:DescribeIamInstanceProfileAssociations",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/TestRole-*"
        }
    ]
}
```

------

## Beispiel: Arbeiten mit Routing-Tabellen
<a name="iam-example-route-tables"></a>

Die folgende Richtlinie ermöglicht Benutzern das Hinzufügen, Entfernen und Ersetzen von Routings für Routing-Tabellen, die nur mit VPC `vpc-ec43eb89` verbunden sind. Zur Angabe einer VPC für den Bedingungsschlüssel `ec2:Vpc` müssen Sie den vollständigen ARN der VPC angeben.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
              {
            "Effect": "Allow",
            "Action": [
                "ec2:DeleteRoute",
                "ec2:CreateRoute",
                "ec2:ReplaceRoute"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:route-table/*"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:Vpc": "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-ec43eb89"
                }
            }
        }
    ]
}
```

------

## Beispiel: Erlauben Sie einer bestimmten Instanz, Ressourcen in anderen AWS Diensten anzuzeigen
<a name="iam-example-source-instance"></a>

Nachfolgend finden Sie ein Beispiel für eine Richtlinie, die Sie einer IAM-Rolle anhängen können. Die Richtlinie ermöglicht es einer Instanz, Ressourcen in verschiedenen AWS Diensten anzuzeigen. Sie geben mit dem Bedingungsschlüssel `ec2:SourceInstanceARN` an, dass es sich bei der Instance, von der die Anforderung ausging, um die Instance `i-093452212644b0dd6` handeln muss. Wenn die gleiche IAM-Rolle mit einer anderen Instance verbunden ist, kann die andere Instance keine dieser Aktionen ausführen.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
              {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeVolumes",
                "s3:ListAllMyBuckets",
                "dynamodb:ListTables",
                "rds:DescribeDBInstances"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "ArnEquals": {
                    "ec2:SourceInstanceARN": "arn:aws:ec2:us-east-1:111122223333:instance/i-093452212644b0dd6"
                }
            }
        }
    ]
}
```

------

## Beispiel: Arbeiten mit Startvorlagen
<a name="iam-example-launch-templates"></a>

Die folgende Richtlinie erlaubt Benutzern, eine Startvorlagenversion zu erstellen und eine Startvorlage zu bearbeiten, jedoch nur für eine bestimmte Startvorlage (`lt-09477bcd97b0d3abc`). Benutzer können nicht mit anderen Startvorlagen arbeiten.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
   {
      "Action": [
        "ec2:CreateLaunchTemplateVersion",
        "ec2:ModifyLaunchTemplate"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:launch-template/lt-09477bcd97b0d3abc"
    }
  ]
}
```

------

Die folgende Richtlinie erlaubt Benutzern, eine Startvorlage und Startvorlagenversion zu löschen, vorausgesetzt, dass die Startvorlage den Tag (Markierungen) `Purpose`=`Testing` aufweist.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
       {
      "Action": [
        "ec2:DeleteLaunchTemplate",
        "ec2:DeleteLaunchTemplateVersions"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:launch-template/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Purpose": "Testing"
        }
      }
    }
  ]
}
```

------

## Arbeiten mit Instance-Metadaten
<a name="iam-example-instance-metadata"></a>

Die folgenden Richtlinien stellen sicher, dass Benutzer [Instanz-Metadaten](ec2-instance-metadata.md) nur mithilfe des Instanz-Metadatendienstes Version 2 (IMDSv2) abrufen können. Sie können die folgenden vier Richtlinien zu einer Richtlinie mit vier Anweisungen zusammenfassen. Wenn diese zu einer Richtlinie zusammengefasst werden, können Sie die Richtlinie als Service-Kontrollrichtlinie (SCP) verwenden. Sie kann gleichermaßen gut als *Verweigerungsrichtlinie* funktionieren, die Sie auf eine bestehende IAM-Richtlinie anwenden (zum Aufheben und Einschränken bestehender Berechtigungen) oder auch als SCP, die global auf ein Konto, eine OE oder eine gesamte Organisation angewendet wird.

**Anmerkung**  
Die folgenden Richtlinien für RunInstances Metadatenoptionen müssen in Verbindung mit einer Richtlinie verwendet werden, die dem Prinzipal Berechtigungen zum Starten einer Instance erteilt RunInstances. Wenn der Prinzipal nicht auch über RunInstances Berechtigungen verfügt, kann er keine Instance starten. Weitere Informationen finden Sie in den Richtlinien unter [Arbeiten mit Instances](#iam-example-instances) und [Instanzen starten (RunInstances)](#iam-example-runinstances).

**Wichtig**  
Wenn Sie Auto Scaling Scaling-Gruppen verwenden und die Verwendung von für alle neuen Instances IMDSv2 vorschreiben müssen, müssen Ihre Auto Scaling Scaling-Gruppen *Startvorlagen* verwenden.  
Wenn eine Auto Scaling-Gruppe eine Startvorlage verwendet, werden die `ec2:RunInstances`-Berechtigungen des IAM-Prinzipals beim Erstellen einer neuen Auto Scaling-Gruppe überprüft. Sie werden auch überprüft, wenn eine vorhandene Auto Scaling-Gruppe so aktualisiert wird, dass eine neue Startvorlage oder eine neue Version einer Startvorlage verwendet wird.  
Einschränkungen bei der Verwendung von IMDSv1 auf IAM-Prinzipalen für `RunInstances` werden nur überprüft, wenn eine Auto Scaling Scaling-Gruppe, die eine Startvorlage verwendet, erstellt oder aktualisiert wird. Für eine Auto Scaling-Gruppe, die für die Verwendung der Startvorlage `Latest` oder `Default` konfiguriert ist, werden die Berechtigungen nicht überprüft, wenn eine neue Version der Startvorlage erstellt wird. Damit Berechtigungen überprüft werden können, müssen Sie die Auto Scaling-Gruppe so konfigurieren, dass eine *bestimmte Version* der Startvorlage verwendet wird.  
Deaktivieren Sie die Verwendung von Startkonfigurationen für alle Konten in Ihrer Organisation, indem Sie entweder Dienststeuerungsrichtlinien (SCPs) oder IAM-Berechtigungsgrenzen für neu erstellte Prinzipale verwenden. Aktualisieren Sie für vorhandene IAM-Prinzipale mit Auto Scaling-Gruppenberechtigungen die zugehörigen Richtlinien mit diesem Bedingungsschlüssel. Um die Verwendung von Startkonfigurationen zu deaktivieren, erstellen oder ändern Sie den entsprechenden SCP, die Berechtigungsgrenze oder die IAM-Richtlinie mit dem Bedingungsschlüssel `"autoscaling:LaunchConfigurationName"` mit dem als `null` angegebenen Wert.
Konfigurieren Sie für neue Startvorlagen die Instance-Metadatenoptionen in der Startvorlage. Erstellen Sie für vorhandene Startvorlagen eine neue Version der Startvorlage und konfigurieren Sie die Instance-Metadatenoptionen in der neuen Version.
In der Richtlinie, die einen jeden Prinzipal zur Verwendung einer Startvorlage berechtigt, beschränken Sie die Zuordnung von `$latest` und `$default` durch Angabe von `"autoscaling:LaunchTemplateVersionSpecified": "true"`. Indem Sie die Verwendung auf eine bestimmte Version einer Startvorlage beschränken, können Sie sicherstellen, dass neue Instances mit der Version gestartet werden, in der die Instance-Metadatenoptionen konfiguriert sind. Weitere Informationen finden Sie [LaunchTemplateSpecification](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_LaunchTemplateSpecification.html)in der *Amazon EC2 Auto Scaling API-Referenz*, insbesondere unter dem `Version` Parameter.
Ersetzen Sie bei einer Auto Scaling-Gruppe, die eine Startkonfiguration verwendet, die Startkonfiguration durch eine Startvorlage. Weitere Informationen finden Sie unter [Migrieren von Auto-Scaling-Gruppen zu Startvorlagen](https://docs.aws.amazon.com/autoscaling/ec2/userguide/migrate-to-launch-templates.html) im *Benutzerhandbuch für Amazon EC2 Auto Scaling*.
Stellen Sie bei einer Auto Scaling-Gruppe, die eine Startvorlage verwendet, sicher, dass sie eine neue Startvorlage mit den konfigurierten Instance-Metadatenoptionen oder eine neue Version der aktuellen Startvorlage mit den konfigurierten Instance-Metadatenoptionen verwendet. Weitere Informationen finden Sie unter [update-auto-scaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/update-auto-scaling-group.html).

**Topics**
+ [

### Erfordern die Verwendung von IMDSv2
](#iam-example-instance-metadata-requireIMDSv2)
+ [

### Abmeldung verweigern von IMDSv2
](#iam-example-instance-metadata-denyoptoutIMDSv2)
+ [

### Angeben des maximalen Hop-Limits
](#iam-example-instance-metadata-maxHopLimit)
+ [

### Beschränken, wer die Instance-Metadatenoptionen ändern kann
](#iam-example-instance-metadata-limit-modify-IMDS-options)
+ [

### Erfordert das Abrufen von Rollenanmeldedaten IMDSv2
](#iam-example-instance-metadata-require-roles-to-use-IMDSv2-credentials)

### Erfordern die Verwendung von IMDSv2
<a name="iam-example-instance-metadata-requireIMDSv2"></a>

Die folgende Richtlinie legt fest, dass Sie die RunInstances API nur aufrufen können, wenn für die Instanz auch die Verwendung von aktiviert wurde IMDSv2 (angegeben durch`"ec2:MetadataHttpTokens": "required"`). Wenn Sie nicht angeben, dass die Instanz dies erfordert IMDSv2, erhalten Sie beim Aufrufen der RunInstances API eine `UnauthorizedOperation` Fehlermeldung.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
               {
            "Sid": "RequireImdsV2",
            "Effect": "Deny",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Condition": {
                "StringNotEquals": {
                    "ec2:MetadataHttpTokens": "required"
                }
            }
        }
    ]
}
```

------

### Abmeldung verweigern von IMDSv2
<a name="iam-example-instance-metadata-denyoptoutIMDSv2"></a>

Die folgende Richtlinie legt fest, dass Sie die `ModifyInstanceMetadataOptions` API nicht aufrufen und gleichzeitig die Option IMDSv1 oder zulassen können IMDSv2. Wenn Sie die `ModifyInstanceMetadataOptions`-API aufrufen, muss das `HttpTokens`-Attribut auf `required` gesetzt sein. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Sid": "DenyIMDSv1HttpTokensModification",
        "Effect": "Deny",
        "Action": "ec2:ModifyInstanceMetadataOptions",
        "Resource": "arn:aws:ec2:*:*:instance/*",
        "Condition": {
            "StringNotEquals": {
                "ec2:Attribute/HttpTokens": "required"
            },
            "Null": {
                "ec2:Attribute/HttpTokens": false
            }
        }
    }]
}
```

------

### Angeben des maximalen Hop-Limits
<a name="iam-example-instance-metadata-maxHopLimit"></a>

Die folgende Richtlinie legt fest, dass Sie die RunInstances API nur aufrufen können, wenn Sie auch ein Hop-Limit angeben, und das Hop-Limit darf nicht mehr als 3 betragen. Wenn Sie das nicht tun, erhalten Sie beim Aufrufen der RunInstances API eine `UnauthorizedOperation` Fehlermeldung.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
               {
            "Sid": "MaxImdsHopLimit",
            "Effect": "Deny",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Condition": {
                "NumericGreaterThan": {
                    "ec2:MetadataHttpPutResponseHopLimit": "3"
                }
            }
        }
    ]
}
```

------

### Beschränken, wer die Instance-Metadatenoptionen ändern kann
<a name="iam-example-instance-metadata-limit-modify-IMDS-options"></a>

Die folgende Richtlinie erlaubt es nur Benutzern mit der `ec2-imds-admins`-Rolle, Änderungen an den Optionen für die Instance-Metadaten vorzunehmen. Wenn ein anderer Principal als die `ec2-imds-admins` Rolle versucht, die ModifyInstanceMetadataOptions API aufzurufen, wird eine `UnauthorizedOperation` Fehlermeldung angezeigt. Diese Anweisung könnte verwendet werden, um die Verwendung der ModifyInstanceMetadataOptions API zu kontrollieren. Derzeit gibt es keine detaillierten Zugriffskontrollen (Bedingungen) für die ModifyInstanceMetadataOptions API.

### Erfordert das Abrufen von Rollenanmeldedaten IMDSv2
<a name="iam-example-instance-metadata-require-roles-to-use-IMDSv2-credentials"></a>

Die folgende Richtlinie legt fest, dass, wenn diese Richtlinie auf eine Rolle angewendet wird und die Rolle vom EC2-Dienst übernommen wird und die resultierenden Anmeldeinformationen zum Signieren einer Anfrage verwendet werden, die Anfrage mit den EC2-Rollenanmeldeinformationen signiert werden muss, von der abgerufen wurde. IMDSv2 Andernfalls erhalten alle API-Aufrufe einen `UnauthorizedOperation`-Fehler. Diese Anweisung/Richtlinie kann generell angewendet werden, da sie keine Wirkung hat, wenn die Anforderung nicht mit Anmeldeinformationen für EC2-Rollen signiert wird.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
               {
            "Sid": "RequireAllEc2RolesToUseV2",
            "Effect": "Deny",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "NumericLessThan": {
                    "ec2:RoleDelivery": "2.0"
                }
            }
        }
    ]
}
```

------

## Arbeiten Sie mit Amazon-EBS-Volumes und Snapshots
<a name="iam-example-ebs"></a>

Beispielrichtlinien für die Arbeit mit Amazon EBS-Volumes und -Snapshots finden Sie unter [Beispiele für identitätsbasierte Richtlinien für Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/security_iam_id-based-policy-examples.html).