Gestione delle policy utente Elastic Beanstalk - AWS Elastic Beanstalk

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à.

Gestione delle policy utente Elastic Beanstalk

AWS Elastic Beanstalk fornisce due policy gestite che consentono di assegnare l'accesso completo o l'accesso di sola lettura a tutte le risorse gestite da Elastic Beanstalk. Puoi collegare le policy a utenti o gruppi AWS Identity and Access Management (IAM) o ai ruoli assunti dagli utenti.

Policy utente gestite
  • AdministratorAccess- AWSElasticBeanstalk — Fornisce all'utente le autorizzazioni amministrative complete per creare, modificare ed eliminare applicazioni Elastic Beanstalk, versioni delle applicazioni, impostazioni di configurazione, ambienti e le relative risorse sottostanti. Per visualizzare il contenuto delle policy gestite, consulta la AWSElasticBeanstalk pagina AdministratorAccess- della AWS Managed Policy Reference Guide.

  • AWSElasticBeanstalkReadOnly— Consente all'utente di visualizzare applicazioni e ambienti, ma non di eseguire operazioni che li modifichino. Fornisce accesso in sola lettura a tutte le risorse Elastic Beanstalk e ad altre risorse AWS recuperate dalla console Elastic Beanstalk. Tieni presente che l'accesso in sola lettura non abilita operazioni quali ad esempio il download dei log di Elastic Beanstalk per leggerli. Questo perché i log vengono caricati nel bucket Amazon S3 per cui Elastic Beanstalk necessita dell'autorizzazione in scrittura. Vedi l'esempio al termine di questo argomento per informazioni su come abilitare l'accesso ai log Elastic Beanstalk. Per visualizzare il contenuto delle policy gestite, consulta la pagina nella Managed Policy Reference Guide. AWSElasticBeanstalkReadOnlyAWS

Importante

Le policy gestite da Elastic Beanstalk non forniscono autorizzazioni granulari, ma concedono tutte le autorizzazioni potenzialmente necessarie per lavorare con le applicazioni Elastic Beanstalk. In alcuni casi potresti voler limitare ulteriormente le autorizzazioni delle nostre politiche gestite. Per un esempio di un caso d'uso, vediImpedire l'accesso ai bucket Amazon S3 tra ambienti.

Inoltre, le nostre policy gestite non coprono le autorizzazioni per le risorse personalizzate che potresti aggiungere alla soluzione e che non sono gestite da Elastic Beanstalk. Per implementare autorizzazioni più granulari, autorizzazioni minime richieste o autorizzazioni a livello di risorsa personalizzate, utilizza le policy personalizzate.

Policy gestite da obsolete

In precedenza, Elastic Beanstalk supportava altre due policy gestite per gli utenti, e. AWSElasticBeanstalkFullAccessAWSElasticBeanstalkReadOnlyAccess Abbiamo in programma di ritirare queste policy precedenti. Potresti comunque essere in grado di visualizzarle e utilizzarle nella console IAM. Tuttavia, ti consigliamo di passare all'utilizzo delle nuove policy utente gestite e di aggiungere policy personalizzati per concedere autorizzazioni alle risorse personalizzate, se presenti.

Policy per l'integrazione con altri servizi

Se si preferisce, forniamo anche policy più dettagliate che consentono di integrare il proprio ambiente con altri servizi.

  • AWSElasticBeanstalkRoleCWL— Consente a un ambiente di gestire i gruppi di log di Amazon CloudWatch Logs.

  • AWSElasticBeanstalkRoleRDS— Consente a un ambiente di integrare un'istanza Amazon RDS.

  • AWSElasticBeanstalkRoleWorkerTier— Consente a un livello di ambiente di lavoro di creare una tabella Amazon DynamoDB e una coda Amazon SQS.

  • AWSElasticBeanstalkRoleECS— Consente a un ambiente Docker multicontainer di gestire i cluster Amazon ECS.

  • AWSElasticBeanstalkRoleCore— Consente le operazioni principali di un ambiente di servizi Web.

  • AWSElasticBeanstalkRoleSNS— Consente un ambiente per abilitare l'integrazione degli argomenti di Amazon SNS.

Per visualizzare il codice sorgente JSON per una politica gestita specifica, consulta la AWS Managed Policy Reference Guide.

Controllo degli accessi con policy gestite

Puoi utilizzare le policy gestite per assegnare l'accesso completo o di sola lettura a Elastic Beanstalk. Elastic Beanstalk aggiorna queste policy automaticamente quando sono richieste autorizzazioni aggiuntive per accedere alle nuove caratteristiche.

Per applicare una policy gestita a utenti o gruppi IAM
  1. Apri la pagina Policies (Policy) nella console IAM.

  2. Nella casella di ricerca, digita AWSElasticBeanstalk per filtrare le policy.

  3. Nell'elenco delle politiche, seleziona la casella di controllo accanto a AWSElasticBeanstalkReadOnlyo AdministratorAccess- AWSElasticBeanstalk.

  4. Scegli Operazioni di policy, quindi Collega.

  5. Seleziona uno o più utenti o gruppi per collegare alla policy. Puoi usare il menu Filtro e la casella di ricerca per filtrare l'elenco delle entità principali.

  6. Scegli Collega policy.

Creazione di una policy utente personalizzata

È possibile creare policy IAM personalizzate per consentire o negare operazioni specifiche dell'API Elastic Beanstalk su determinate risorse Elastic Beanstalk e per controllare l'accesso a risorse personalizzate non gestite da Elastic Beanstalk. Per ulteriori informazioni su come allegare una policy a un utente o a un gruppo, consultare la sezione Utilizzo delle policy nella Guida per l'utente di IAM. Per maggiori dettagli sulla creazione di una policy personalizzata, consultare la sezione Creazione di policy IAM nella Guida per l'utente di IAM.

Nota

Mentre è possibile limitare il modo in cui un utente interagisce con le API Elastic Beanstalk, al momento non c'è un modo efficace per impedire agli utenti che hanno l'autorizzazione per creare le risorse sottostanti necessarie di creare altre risorse in Amazon EC2 e in altri servizi.

Queste policy possono essere considerate come un metodo efficace per distribuire le responsabilità in Elastic Beanstalk, ma non come un metodo per proteggere tutte le risorse sottostanti.

A novembre 2019 Elastic Beanstalk ha rilasciato il supporto per i modelli di lancio di Amazon EC2. Si tratta di un nuovo tipo di risorsa che il gruppo Auto Scaling dell'ambiente può utilizzare per avviare istanze Amazon EC2 e che richiede nuove autorizzazioni. La maggior parte dei clienti non dovrebbe essere interessata, perché gli ambienti possono ancora utilizzare la risorsa legacy, avviare le configurazioni, se i criteri utente non sono autorizzati. Tuttavia, se stai tentando di utilizzare una nuova caratteristica che richiede modelli di avvio Amazon EC2 e usi una policy personalizzata, la creazione o l'aggiornamento dell'ambiente potrebbe non riuscire. In questo caso, assicurarsi che le policy personalizzate dispongano delle seguenti autorizzazioni:

Autorizzazioni richieste per i modelli di avvio Amazon EC2
  • EC2:CreateLaunchTemplate

  • EC2:CreateLaunchTemplateVersions

  • EC2:DeleteLaunchTemplate

  • EC2:DeleteLaunchTemplateVersions

  • EC2:DescribeLaunchTemplate

  • EC2:DescribeLaunchTemplateVersions

Una policy IAM contiene istruzioni che descrivono le autorizzazioni che desideri concedere. Quando crei un'istruzione di policy per Elastic Beanstalk, è necessario comprendere come utilizzare le seguenti quattro parti di un'istruzione:

  • Effetto specifica se consentire o negare le operazioni nell'istruzione.

  • Operazione specifica le operazioni dell'API che desideri controllare. Ad esempio, è possibile usare elasticbeanstalk:CreateEnvironment per specificare l'operazione CreateEnvironment. Determinate operazioni, ad esempio la creazione di un ambiente, richiedono autorizzazioni aggiuntive per l'esecuzione di tali operazioni. Per ulteriori informazioni, consulta Risorse e condizioni per le operazioni Elastic Beanstalk.

    Nota

    Per usare l'operazione dell'API UpdateTagsForResource, specifica una delle seguenti due operazioni virtuali (o entrambe) anziché il nome dell'operazione dell'API:

    elasticbeanstalk:AddTags

    Controlla l'autorizzazione di chiamare UpdateTagsForResource e passare un elenco di tag da aggiungere al parametro TagsToAdd.

    elasticbeanstalk:RemoveTags

    Controlla l'autorizzazione per chiamare UpdateTagsForResource e passare un elenco di chiavi di tag da eliminare nel parametro TagsToRemove.

  • Risorsa specifica le risorse di cui desideri controllare l'accesso. Per specificare le risorse Elastic Beanstalk, elenca l'Amazon Resource Name (ARN) di ciascuna risorsa.

  • (facoltativo) Condizione specifica limitazioni all'autorizzazione concessa nell'istruzione. Per ulteriori informazioni, consulta Risorse e condizioni per le operazioni Elastic Beanstalk.

Le sezioni seguenti illustrano alcuni casi in cui puoi prendere in considerazione l'uso di una policy utente personalizzata.

Abilitazione della creazione di un ambiente Elastic Beanstalk con limitazioni

La policy nell'esempio seguente permette a un utente di chiamare l'operazione CreateEnvironment per creare un ambiente il cui nome inizia con Test con l'applicazione e la versione dell'applicazione specificate.

{ "Version": "2012-10-17", "Statement": [ { "Sid":"CreateEnvironmentPerm", "Action": [ "elasticbeanstalk:CreateEnvironment" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My First Elastic Beanstalk Application/Test*" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My First Elastic Beanstalk Application"], "elasticbeanstalk:FromApplicationVersion": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:applicationversion/My First Elastic Beanstalk Application/First Release"] } } }, { "Sid":"AllNonResourceCalls", "Action":[ "elasticbeanstalk:CheckDNSAvailability", "elasticbeanstalk:CreateStorageLocation" ], "Effect":"Allow", "Resource":[ "*" ] } ] }

La policy qui sopra mostra come concedere un accesso limitato alle operazioni Elastic Beanstalk. Per avviare effettivamente un ambiente, l'utente deve disporre dell'autorizzazione a creare anche le AWS risorse che alimentano l'ambiente. Ad esempio, la policy seguente consente l'accesso a un insieme predefinito di risorse per un ambiente server Web:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:*", "ecs:*", "elasticloadbalancing:*", "autoscaling:*", "cloudwatch:*", "s3:*", "sns:*", "cloudformation:*", "sqs:*" ], "Resource": "*" } ] }

Abilitazione dell'accesso ai log Elastic Beanstalk archiviati in Amazon S3

La policy riportata nell'esempio seguente consente a un utente di estrarre i log Elastic Beanstalk, inserirli per fasi in Amazon S3 e recuperarli.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:DeleteObject", "s3:GetObjectAcl", "s3:PutObjectAcl" ], "Effect": "Allow", "Resource": "arn:aws:s3:::elasticbeanstalk-*" } ] }
Nota

Per limitare le autorizzazioni solo al percorso dei log, utilizza il seguente formato di risorse.

"arn:aws:s3:::elasticbeanstalk-us-east-2-123456789012/resources/environments/logs/*"

Abilitazione della gestione di un'applicazione Elastic Beanstalk specifica

La policy nell'esempio seguente permette a un utente di gestire gli ambienti e altre risorse all'interno di un'applicazione Elastic Beanstalk specifica. La policy impedisce le operazioni di Elastic Beanstalk sulle risorse di altre applicazioni, nonché la creazione e l'eliminazione delle applicazioni Elastic Beanstalk.

Nota

La policy non nega l'accesso alle risorse tramite altri servizi. Rappresenta un metodo efficace per distribuire le responsabilità per la gestione di applicazioni Elastic Beanstalk tra diversi utenti, ma non un metodo per proteggere le risorse sottostanti.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "elasticbeanstalk:CreateApplication", "elasticbeanstalk:DeleteApplication" ], "Resource": [ "*" ] }, { "Effect": "Deny", "Action": [ "elasticbeanstalk:CreateApplicationVersion", "elasticbeanstalk:CreateConfigurationTemplate", "elasticbeanstalk:CreateEnvironment", "elasticbeanstalk:DeleteApplicationVersion", "elasticbeanstalk:DeleteConfigurationTemplate", "elasticbeanstalk:DeleteEnvironmentConfiguration", "elasticbeanstalk:DescribeApplicationVersions", "elasticbeanstalk:DescribeConfigurationOptions", "elasticbeanstalk:DescribeConfigurationSettings", "elasticbeanstalk:DescribeEnvironmentResources", "elasticbeanstalk:DescribeEnvironments", "elasticbeanstalk:DescribeEvents", "elasticbeanstalk:DeleteEnvironmentConfiguration", "elasticbeanstalk:RebuildEnvironment", "elasticbeanstalk:RequestEnvironmentInfo", "elasticbeanstalk:RestartAppServer", "elasticbeanstalk:RetrieveEnvironmentInfo", "elasticbeanstalk:SwapEnvironmentCNAMEs", "elasticbeanstalk:TerminateEnvironment", "elasticbeanstalk:UpdateApplicationVersion", "elasticbeanstalk:UpdateConfigurationTemplate", "elasticbeanstalk:UpdateEnvironment", "elasticbeanstalk:RetrieveEnvironmentInfo", "elasticbeanstalk:ValidateConfigurationSettings" ], "Resource": [ "*" ], "Condition": { "StringNotEquals": { "elasticbeanstalk:InApplication": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/myapplication" ] } } } ] }