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 politiche a AWS Identity and Access Management (IAM) utenti o gruppi 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 riuscire a 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'RDSistanza Amazon.

  • 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 SNS argomenti Amazon.

Per vedere la JSON fonte di 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 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

Puoi creare IAM policy personalizzate per consentire o negare azioni specifiche di Elastic Beanstalk su risorse API Elastic Beanstalk specifiche e per controllare l'accesso a risorse personalizzate non gestite da Elastic Beanstalk. Per ulteriori informazioni sull'associazione di una policy a un utente o a un gruppo, consulta Working with Policies nella User Guide. IAM Per i dettagli sulla creazione di una politica personalizzata, vedere Creazione IAM di politiche nella Guida per l'IAMutente.

Nota

Sebbene sia possibile limitare il modo in cui un utente interagisce con APIs Elastic Beanstalk, al momento non esiste un modo efficace per impedire agli utenti autorizzati a creare le risorse sottostanti necessarie di creare altre risorse in Amazon e altri servizi. EC2

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.

Importante

Se hai policy personalizzate assegnate a un ruolo del servizio Elastic Beanstalk, è importante assegnargli le autorizzazioni appropriate per i modelli di avvio. Altrimenti potresti non disporre delle autorizzazioni necessarie per aggiornare un ambiente o avviarne uno nuovo. Per ulteriori informazioni, consulta Autorizzazioni richieste per i modelli di avvio .

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.

  • L'azione specifica le APIoperazioni che si desidera 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 utilizzare l'UpdateTagsForResourceAPIoperazione, specificate una delle due azioni virtuali seguenti (o entrambe) anziché il nome dell'APIoperazione:

    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 ARN Name () di ogni 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 avere l'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" ] } } } ] }