

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo dei tag per controllare l'accesso alle AWS CodeBuild risorse
<a name="auth-and-access-control-using-tags"></a>

Le condizioni nelle dichiarazioni politiche IAM fanno parte della sintassi che puoi utilizzare per specificare le autorizzazioni per le azioni basate sul CodeBuild progetto. Puoi creare una policy che consenta o neghi azioni sui progetti in base ai tag associati a tali progetti e quindi applicare tali policy ai gruppi IAM configurati per la gestione degli utenti. Per informazioni sull'applicazione di tag a un progetto utilizzando la console o AWS CLI, consulta[Crea un progetto di compilazione in AWS CodeBuild](create-project.md). Per informazioni sull'applicazione dei tag utilizzando l' CodeBuild SDK, consulta [CreateProject ](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_CreateProject.html#API_CreateProject_RequestSyntax)e [Tag](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_Tag.html) nell'*CodeBuildAPI Reference*. Per informazioni sull'utilizzo dei tag per controllare l'accesso alle AWS risorse, consulta [Controlling Access to AWS Resources Using Resource Tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html) nella *IAM User Guide*.

**Importante**  
Quando si utilizza la funzionalità di capacità riservata, i dati memorizzati nella cache delle istanze della flotta, inclusi i file sorgente, i layer Docker e le directory memorizzate nella cache specificate nelle specifiche di costruzione, possono essere accessibili ad altri progetti all'interno dello stesso account. Questa funzionalità è preimpostata e consente ai progetti all'interno dello stesso account di condividere le istanze del parco istanze.

**Example Esempio 1: limita le azioni CodeBuild del progetto in base ai tag delle risorse**  
 L'esempio seguente nega tutte le operazioni `BatchGetProjects` sui progetti contenenti tag con la chiave `Environment` e il valore della chiave `Production`. L'amministratore di un utente deve allegare questa policy IAM oltre alla policy utente gestita agli utenti non autorizzati. La chiave della condizione `aws:ResourceTag` viene utilizzata per controllare l'accesso alle risorse in base ai tag.     
****  

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

**Example Esempio 2: limita le azioni CodeBuild del progetto in base ai tag di richiesta**  
La policy seguente nega agli utenti l'autorizzazione all'operazione `CreateProject` se la richiesta contiene un tag con la chiave `Environment` e il valore della chiave `Production`. Inoltre, la policy impedisce a questi utenti non autorizzati di modificare i progetti utilizzando la chiave di condizione `aws:TagKeys` per non consentire `UpdateProject` se la richiesta contiene un tag con la chiave `Environment`. Un amministratore deve allegare questa policy IAM oltre alla policy utente gestita agli utenti che non sono autorizzati a eseguire queste azioni. La chiave `aws:RequestTag` condition viene utilizzata per controllare quali tag possono essere passati in una richiesta IAM    
****  

```
{
  "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 Esempio 3: negare o consentire azioni sui gruppi di report in base ai tag delle risorse**  
Puoi creare una policy che consenta o neghi azioni sulle CodeBuild risorse (progetti e gruppi di report) in base ai AWS tag associati a tali risorse e quindi applicare tali policy ai gruppi IAM configurati per la gestione degli utenti. Ad esempio, puoi creare una policy che neghi tutte le CodeBuild azioni su qualsiasi gruppo di report con la chiave AWS tag `Status` e il valore chiave di`Secret`, e quindi applicare tale policy al gruppo IAM che hai creato per sviluppatori generici (){{Developers}}. Devi quindi assicurarti che gli sviluppatori che lavorano su quei gruppi di report con tag non siano membri di quel {{Developers}} gruppo generale, ma appartengano invece a un gruppo IAM diverso a cui non è applicata la politica restrittiva ()`SecretDevelopers`.  
L'esempio seguente nega tutte le CodeBuild azioni sui gruppi di report contrassegnati con la chiave `Status` e il valore chiave di: `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 Esempio 4: limita CodeBuild le azioni in AWSCode BuildDeveloperAccess base ai tag delle risorse**  
Puoi creare politiche che consentano CodeBuild azioni su tutti i gruppi di report e i progetti che non sono etichettati con tag specifici. Ad esempio, la policy seguente consente l'equivalente delle autorizzazioni [AWSCodeBuildDeveloperAccess](auth-and-access-control-iam-identity-based-access-control.md#developer-access-policy) per tutti i gruppi di report e progetti tranne quelli contrassegnati con i tag specificati:    
****  

```
{
   "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}}"
            }
         }
      }
   ]
}
```