Come funziona App Runner con IAM - AWS App Runner

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

Come funziona App Runner con IAM

Prima di utilizzare App Runner IAM per gestire l'accesso a AWS App Runner, è necessario comprendere quali IAM funzionalità sono disponibili per l'uso con App Runner. Per avere una panoramica generale del funzionamento di App Runner e di altri AWS serviziIAM, consulta AWS Services That Work with IAM nella Guida per l'IAMutente.

Per altri argomenti sulla sicurezza di App Runner, consulta. Sicurezza in App Runner

Politiche basate sull'identità di App Runner

Con le politiche IAM basate sull'identità, puoi specificare azioni e risorse consentite o negate, nonché le condizioni in base alle quali le azioni sono consentite o negate. App Runner supporta azioni, risorse e chiavi di condizione specifiche. Per informazioni su tutti gli elementi utilizzati in una JSON policy, consulta IAMJSONPolicy Elements Reference nella Guida per l'IAMutente.

Azioni

Gli amministratori possono utilizzare AWS JSON le policy per specificare chi ha accesso a cosa. Cioè, quale principale può eseguire operazioni su quali risorse, e in quali condizioni.

L'Actionelemento di una JSON policy descrive le azioni che è possibile utilizzare per consentire o negare l'accesso a una policy. Le azioni politiche in genere hanno lo stesso nome dell' AWS APIoperazione associata. Esistono alcune eccezioni, come le azioni basate solo sulle autorizzazioni che non hanno un'operazione corrispondente. API Esistono anche alcune operazioni che richiedono più operazioni in una policy. Queste operazioni aggiuntive sono denominate operazioni dipendenti.

Includi le operazioni in una policy per concedere le autorizzazioni a eseguire l'operazione associata.

Le azioni politiche in App Runner utilizzano il seguente prefisso prima dell'azione:. apprunner: Ad esempio, per concedere a qualcuno l'autorizzazione a eseguire un'EC2istanza Amazon con l'EC2RunInstancesAPIoperazione Amazon, includi l'ec2:RunInstancesazione nella sua politica. Le istruzioni della policy devono includere un elemento Action o NotAction. App Runner definisce il proprio set di azioni che descrivono le attività che è possibile eseguire con questo servizio.

Per specificare più azioni in una sola istruzione, separa ciascuna di esse con una virgola come mostrato di seguito:

"Action": [ "apprunner:CreateService", "apprunner:CreateConnection" ]

È possibile specificare più azioni tramite caratteri jolly (*). Ad esempio, per specificare tutte le azioni che iniziano con la parola Describe, includi la seguente azione:

"Action": "apprunner:Describe*"

Per visualizzare un elenco delle azioni di App Runner, consulta Azioni definite da AWS App Runner nel Service Authorization Reference.

Risorse

Gli amministratori possono utilizzare AWS JSON le policy per specificare chi ha accesso a cosa. Cioè, quale principale può eseguire operazioni su quali risorse, e in quali condizioni.

L'elemento Resource JSON policy specifica l'oggetto o gli oggetti a cui si applica l'azione. Le istruzioni devono includere un elemento Resourceo un elemento NotResource. Come best practice, specifica una risorsa utilizzando il relativo Amazon Resource Name (ARN). Puoi eseguire questa operazione per azioni che supportano un tipo di risorsa specifico, note come autorizzazioni a livello di risorsa.

Per le azioni che non supportano le autorizzazioni a livello di risorsa, ad esempio le operazioni di elenco, utilizza un carattere jolly (*) per indicare che l'istruzione si applica a tutte le risorse.

"Resource": "*"

Le risorse di App Runner hanno la seguente ARN struttura:

arn:aws:apprunner:region:account-id:resource-type/resource-name[/resource-id]

Per ulteriori informazioni sul formato diARNs, consulta Amazon Resource Names (ARNs) e AWS Service Namespaces nel. Riferimenti generali di AWS

Ad esempio, per specificare il my-service servizio nella tua dichiarazione, utilizza quanto segue: ARN

"Resource": "arn:aws:apprunner:us-east-1:123456789012:service/my-service"

Per specificare tutti i servizi che appartengono a un account specifico, usa il carattere jolly (*):

"Resource": "arn:aws:apprunner:us-east-1:123456789012:service/*"

Alcune azioni di App Runner, come quelle per la creazione di risorse, non possono essere eseguite su una risorsa specifica. In questi casi, è necessario utilizzare il carattere jolly (*).

"Resource": "*"

Per visualizzare un elenco dei tipi di risorse di App Runner e relativiARNs, consulta Risorse definite da AWS App Runner nel Service Authorization Reference. Per sapere con quali azioni è possibile specificare le caratteristiche ARN di ciascuna risorsa, consulta Azioni definite da AWS App Runner.

Chiavi di condizione

Gli amministratori possono utilizzare AWS JSON le policy per specificare chi ha accesso a cosa. Cioè, quale principale può eseguire azioni su quali risorse, e in quali condizioni.

L'elemento Condition(o blocco Condition) consente di specificare le condizioni in cui un'istruzione è in vigore. L'elemento Conditionè facoltativo. Puoi compilare espressioni condizionali che utilizzano operatori di condizione, ad esempio uguale a o minore di, per soddisfare la condizione nella policy con i valori nella richiesta.

Se specifichi più elementi Conditionin un'istruzione o più chiavi in un singolo elemento Condition, questi vengono valutati da AWS utilizzando un'operazione ANDlogica. Se si specificano più valori per una singola chiave di condizione, AWS valuta la condizione utilizzando un'operazione logicaOR. Tutte le condizioni devono essere soddisfatte prima che le autorizzazioni dell'istruzione vengano concesse.

Puoi anche utilizzare variabili segnaposto quando specifichi le condizioni. Ad esempio, è possibile concedere a un IAM utente l'autorizzazione ad accedere a una risorsa solo se è contrassegnata con il suo nome IAM utente. Per ulteriori informazioni, consulta gli elementi IAM della politica: variabili e tag nella Guida IAM per l'utente.

AWS supporta chiavi di condizione globali e chiavi di condizione specifiche del servizio. Per visualizzare tutte le chiavi di condizione AWS globali, consulta le chiavi di contesto delle condizioni AWS globali nella Guida per l'IAMutente.

App Runner supporta l'utilizzo di alcuni tasti di condizione globali. Per visualizzare tutte le chiavi di condizione AWS globali, consulta AWS Global Condition Context Keys nella Guida per l'IAMutente.

App Runner definisce un set di chiavi di condizione specifiche del servizio. Inoltre, App Runner supporta il controllo degli accessi basato su tag, che viene implementato utilizzando chiavi condizionali. Per informazioni dettagliate, consultare Autorizzazione basata sui tag App Runner.

Per visualizzare un elenco delle chiavi di condizione di App Runner, consulta Condition keys for AWS App Runner nel Service Authorization Reference. Per sapere con quali azioni e risorse puoi utilizzare una chiave di condizione, vedi Azioni definite da AWS App Runner.

Esempi

Per visualizzare esempi di politiche basate sull'identità di App Runner, consulta. Esempi di policy basate sull'identità di App Runner

Politiche basate sulle risorse di App Runner

App Runner non supporta politiche basate sulle risorse.

Autorizzazione basata sui tag App Runner

Puoi allegare tag alle risorse di App Runner o passare i tag in una richiesta ad App Runner. Per controllare l'accesso basato su tag, fornisci informazioni sui tag nell'elemento condizione di una policy utilizzando le chiavi di condizione apprunner:ResourceTag/key-name, aws:RequestTag/key-name o aws:TagKeys. Per ulteriori informazioni sull'etichettatura delle risorse di App Runner, consulta. Configurazione di un servizio App Runner

Per visualizzare una policy basata sulle identità di esempio per limitare l'accesso a una risorsa basata su tag su tale risorsa, consulta Controllo dell'accesso ai servizi App Runner in base ai tag.

Autorizzazioni utente di App Runner

Per utilizzare App Runner, IAM gli utenti devono disporre delle autorizzazioni per le azioni di App Runner. Un modo comune per concedere le autorizzazioni agli utenti consiste nell'allegare una policy a utenti o gruppi. IAM Per ulteriori informazioni sulla gestione delle autorizzazioni degli utenti, consulta Modifica delle autorizzazioni per un IAM utente nella Guida per l'utente. IAM

App Runner offre due policy gestite che puoi allegare ai tuoi utenti.

  • AWSAppRunnerReadOnlyAccess— Concede le autorizzazioni per elencare e visualizzare i dettagli sulle risorse di App Runner.

  • AWSAppRunnerFullAccess— Concede le autorizzazioni a tutte le azioni di App Runner.

Per un controllo più granulare delle autorizzazioni degli utenti, puoi creare una policy personalizzata e allegarla ai tuoi utenti. Per i dettagli, consulta Creazione IAM di politiche nella Guida per l'IAMutente.

Per esempi di politiche per gli utenti, vederePolicy utente.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "apprunner:List*", "apprunner:Describe*" ], "Resource": "*" } ] }
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": [ "arn:aws:iam::*:role/aws-service-role/apprunner.amazonaws.com/AWSServiceRoleForAppRunner", "arn:aws:iam::*:role/aws-service-role/networking.apprunner.amazonaws.com/AWSServiceRoleForAppRunnerNetworking" ], "Condition": { "StringLike": { "iam:AWSServiceName": [ "apprunner.amazonaws.com", "networking.apprunner.amazonaws.com" ] } } }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringLike": { "iam:PassedToService": "apprunner.amazonaws.com" } } }, { "Sid": "AppRunnerAdminAccess", "Effect": "Allow", "Action": "apprunner:*", "Resource": "*" } ] }

Ruoli di App Runner IAM

Un IAMruolo è un'entità interna all'utente Account AWS che dispone di autorizzazioni specifiche.

Ruoli collegati ai servizi

I ruoli collegati ai AWS servizi consentono ai servizi di accedere alle risorse di altri servizi per completare un'azione per conto dell'utente. I ruoli collegati ai servizi vengono visualizzati nell'IAMaccount e sono di proprietà del servizio. Un IAM amministratore può visualizzare ma non modificare le autorizzazioni per i ruoli collegati al servizio.

App Runner supporta i ruoli collegati ai servizi. Per informazioni sulla creazione o la gestione di ruoli collegati ai servizi App Runner, consulta. Utilizzo di ruoli collegati ai servizi per App Runner

Ruoli dei servizi

Questa caratteristica consente a un servizio di assumere un ruolo di servizio per conto dell'utente. Questo ruolo consente al servizio di accedere alle risorse in altri servizi per completare un'azione per conto dell'utente. I ruoli di servizio vengono visualizzati nell'IAMaccount e sono di proprietà dell'account. Ciò significa che un IAM utente può modificare le autorizzazioni per questo ruolo. Tuttavia, il farlo potrebbe pregiudicare la funzionalità del servizio.

App Runner supporta alcuni ruoli di servizio.

Ruolo di accesso

Il ruolo di accesso è un ruolo utilizzato da App Runner per accedere alle immagini in Amazon Elastic Container Registry (AmazonECR) nel tuo account. È necessario per accedere a un'immagine in Amazon ECR e non è richiesto con Amazon ECR Public. Prima di creare un servizio basato su un'immagine in AmazonECR, crea un ruolo di servizio e utilizza la policy AWSAppRunnerServicePolicyForECRAccess gestita al suo interno. IAM Puoi quindi passare questo ruolo ad App Runner quando chiami il CreateServiceAPIAuthenticationConfigurationmembro del SourceConfigurationparametro o quando usi la console App Runner per creare un servizio.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:DescribeImages", "ecr:GetAuthorizationToken" ], "Resource": "*" } ] }
Nota

Se crei una politica personalizzata per il tuo ruolo di accesso, assicurati di specificare "Resource": "*" l'azioneecr:GetAuthorizationToken. I token possono essere utilizzati per accedere a qualsiasi ECR registro Amazon a cui hai accesso.

Quando crei il tuo ruolo di accesso, assicurati di aggiungere una politica di fiducia che dichiari il responsabile del servizio App Runner build.apprunner.amazonaws.com come entità attendibile.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "build.apprunner.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Se utilizzi la console App Runner per creare un servizio, la console può creare automaticamente un ruolo di accesso per te e sceglierlo per il nuovo servizio. La console elenca anche altri ruoli nel tuo account e, se lo desideri, puoi selezionare un ruolo diverso.

Ruolo dell'istanza

Il ruolo di istanza è un ruolo opzionale utilizzato da App Runner per fornire le autorizzazioni alle azioni di AWS servizio necessarie alle istanze di calcolo del servizio. È necessario fornire un ruolo di istanza ad App Runner se il codice dell'applicazione chiama actions (). AWS APIs Incorpora le autorizzazioni richieste nel ruolo dell'istanza o crea una politica personalizzata e usala nel ruolo di istanza. Non abbiamo modo di anticipare le chiamate utilizzate dal tuo codice. Pertanto, non forniamo una politica gestita per questo scopo.

Prima di creare un servizio App Runner, utilizza questa IAM opzione per creare un ruolo di servizio con le politiche personalizzate o integrate richieste. È quindi possibile passare questo ruolo ad App Runner come ruolo di istanza quando si chiama il CreateServiceAPIInstanceRoleArnmembro del InstanceConfigurationparametro o quando si utilizza la console App Runner per creare un servizio.

Quando crei il tuo ruolo di istanza, assicurati di aggiungere una politica di fiducia che dichiari il responsabile del servizio App Runner tasks.apprunner.amazonaws.com come entità attendibile.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "tasks.apprunner.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Se utilizzi la console App Runner per creare un servizio, la console elenca i ruoli del tuo account e puoi selezionare il ruolo che hai creato a tale scopo.

Per informazioni sulla creazione di un servizio, consultaCreazione di un servizio App Runner.