

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 von Tags zur Steuerung des Zugriffs auf AWS CodeBuild Ressourcen
<a name="auth-and-access-control-using-tags"></a>

Bedingungen in IAM-Richtlinienerklärungen sind Teil der Syntax, mit der Sie Berechtigungen für CodeBuild projektbasierte Aktionen angeben können. Sie können eine Richtlinie erstellen, die Aktionen für Projekte auf der Grundlage der mit diesen Projekten verknüpften Tags zulässt oder verweigert, und diese Richtlinien dann auf die IAM-Gruppen anwenden, die Sie für die Benutzerverwaltung konfigurieren. Informationen zum Anwenden von Tags auf ein Projekt mithilfe der Konsole oder finden Sie AWS CLI unter. [Erstellen Sie ein Build-Projekt in AWS CodeBuild](create-project.md) Informationen zum Anwenden von Tags mithilfe des CodeBuild SDK finden Sie unter [CreateProject ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_CreateProject.html#API_CreateProject_RequestSyntax)und [Tags](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_Tag.html) in der *CodeBuildAPI-Referenz*. Informationen zur Verwendung von Tags zur Steuerung des Zugriffs auf AWS Ressourcen finden Sie unter [Steuern des Zugriffs auf AWS Ressourcen mithilfe von Ressourcen-Tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html) im *IAM-Benutzerhandbuch*.

**Wichtig**  
Wenn Sie die Funktion für reservierte Kapazität verwenden, können andere Projekte innerhalb desselben Kontos auf Daten zugreifen, die auf Flotteninstanzen zwischengespeichert sind, einschließlich Quelldateien, Docker-Layern und zwischengespeicherten Verzeichnissen, die in der Buildspec angegeben sind. Dies ist beabsichtigt und ermöglicht es Projekten innerhalb desselben Kontos, Flotteninstanzen gemeinsam zu nutzen.

**Example Beispiel 1: Beschränken Sie CodeBuild Projektaktionen auf der Grundlage von Ressourcen-Tags**  
 Im folgenden Beispiel werden alle `Production`-Aktionen für Projekte verweigert, die mit dem Schlüssel `BatchGetProjects` mit dem Schlüsselwert `Environment` gekennzeichnet sind. Der Administrator eines Benutzers muss diese IAM-Richtlinie zusätzlich zur verwalteten Benutzerrichtlinie für nicht autorisierte Benutzer anhängen. Der Bedingungsschlüssel `aws:ResourceTag` wird verwendet, um den Zugriff auf Ressourcen basierend auf ihren Tags zu steuern.     
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "codebuild:BatchGetProjects"
      ],
      "Resource": "*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:ResourceTag/Environment": "Production"
        }
      }
    }
  ]
}
```

**Example Beispiel 2: Beschränken Sie CodeBuild Projektaktionen auf der Grundlage von Anforderungs-Tags**  
Die folgende Richtlinie verweigert Benutzern die Berechtigung für die Aktion `CreateProject`, wenn die Anforderung ein Tag mit dem Schlüssel `Environment` und dem Schlüsselwert `Production` enthält. Darüber hinaus hindert die Richtlinie diese nicht autorisierten Benutzer daran, Projekte zu ändern, indem sie den Bedingungsschlüssel `aws:TagKeys` verwenden, um `UpdateProject` nicht zuzulassen, wenn die Anforderung ein Tag mit dem Schlüssel `Environment` enthält. Ein Administrator muss diese IAM-Richtlinie zusätzlich zu der Richtlinie für verwaltete Benutzer hinzufügen, die nicht berechtigt sind, diese Aktionen auszuführen. Der `aws:RequestTag` Bedingungsschlüssel wird verwendet, um zu steuern, welche Tags in einer IAM-Anfrage übergeben werden können    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "codebuild:CreateProject"
      ],
      "Resource": "*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:RequestTag/Environment": "Production"
        }
      }
    },
    {
      "Effect": "Deny",
      "Action": [
        "codebuild:UpdateProject"
      ],
      "Resource": "*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:TagKeys": ["Environment"]
        }
      }
    }
  ]
}
```

**Example Beispiel 3: Ablehnen oder Zulassen von Aktionen für Berichtsgruppen basierend auf Ressourcen-Tags**  
Sie können eine Richtlinie erstellen, die Aktionen für CodeBuild Ressourcen (Projekte und Berichtsgruppen) auf der Grundlage der mit diesen Ressourcen verknüpften AWS Tags zulässt oder verweigert, und diese Richtlinien dann auf die IAM-Gruppen anwenden, die Sie für die Benutzerverwaltung konfigurieren. Sie können beispielsweise eine Richtlinie erstellen, die alle CodeBuild Aktionen für eine Berichtsgruppe mit dem AWS Tag-Schlüssel `Status` und dem Schlüsselwert von verweigert`Secret`, und diese Richtlinie dann auf die IAM-Gruppe anwenden, die Sie für allgemeine Entwickler erstellt haben (). {{Developers}} Anschließend müssen Sie sicherstellen, dass die Entwickler, die an diesen markierten Berichtsgruppen arbeiten, nicht Mitglieder dieser allgemeinen {{Developers}} Gruppe sind, sondern einer anderen IAM-Gruppe angehören, auf die die restriktive Richtlinie nicht angewendet wurde (). `SecretDevelopers`  
Im folgenden Beispiel werden alle CodeBuild Aktionen für Berichtsgruppen verweigert, die mit dem Schlüssel `Status` und dem Schlüsselwert von gekennzeichnet sind: `Secret`    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "codebuild:BatchGetReportGroups",
        "codebuild:CreateReportGroup",
        "codebuild:DeleteReportGroup",
        "codebuild:ListReportGroups",
        "codebuild:ListReportsForReportGroup",
        "codebuild:UpdateReportGroup"
      ],
      "Resource": "*",
      "Condition": {
        "StringLike": {
          "aws:RequestedRegion": "us-east-1"
        }
      }
    }
  ]
}
```

**Example Beispiel 4: Beschränken Sie CodeBuild Aktionen auf die AWSCode BuildDeveloperAccess Grundlage von Ressourcen-Tags**  
Sie können Richtlinien erstellen, die CodeBuild Aktionen für alle Berichtsgruppen und Projekte zulassen, die nicht mit bestimmten Tags gekennzeichnet sind. Die folgende Richtlinie lässt z. B. das Äquivalent von [AWSCodeBuildDeveloperAccess](auth-and-access-control-iam-identity-based-access-control.md#developer-access-policy)-Berechtigungen für alle Berichtsgruppen und Projekte zu. Ausgenommen sind jedoch Berichtsgruppen und Projekte, die mit den angegebenen Tags markiert sind:    
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
            "codebuild:StartBuild",
            "codebuild:StopBuild",
            "codebuild:BatchGet*",
            "codebuild:GetResourcePolicy",
            "codebuild:DescribeTestCases",
            "codebuild:List*",
            "codecommit:GetBranch",
            "codecommit:GetCommit",
            "codecommit:GetRepository",
            "codecommit:ListBranches",
            "cloudwatch:GetMetricStatistics",
            "events:DescribeRule",
            "events:ListTargetsByRule",
            "events:ListRuleNamesByTarget",
            "logs:GetLogEvents",
            "s3:GetBucketLocation",
            "s3:ListAllMyBuckets"
         ],
         "Resource": "*",
         "Condition": {
            "StringNotEquals": {
               "aws:ResourceTag/{{Status}}": "{{Secret}}",
               "aws:ResourceTag/{{Team}}": "{{Saanvi}}"
            }
         }
      }
   ]
}
```