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à.
Sicurezza e autorizzazioni
Questa sezione descrive i ruoli IAM, i token di autenticazione e i controlli di accesso per AWS Lambda microVMS.
Ruoli IAM
Costruisci un ruolo
Questo ruolo viene utilizzato durante la creazione dell'immagine. Richiede le seguenti autorizzazioni per recuperare gli artefatti di origine e generare registri:s3:GetObject,, e. logs:CreateLogGroup logs:CreateLogStream logs:PutLogEvents Aggiungi anche ecr:GetAuthorizationToken se fai riferimento a immagini ECR private.
Il ruolo di compilazione è facoltativo. Se non fornisci un ruolo di compilazione, Lambda non può scrivere i log di compilazione su. CloudWatch
Ruolo di esecuzione
Questo ruolo viene utilizzato in fase di esecuzione di MicroVM per fornire le autorizzazioni di accesso per scrivere log CloudWatch e utilizzare altri servizi. AWS
Il ruolo di esecuzione è facoltativo. Se non fornisci un ruolo di esecuzione, Lambda non emette log di runtime CloudWatch e la tua microVM non può accedere ad altri servizi. AWS
Gli hook del ciclo di vita vengono eseguiti nell'ambito del ruolo associato alla loro fase. Build-time gli hook (/readye/validate) vengono eseguiti con il ruolo build. Gli hook di runtime (/run, /resume/suspend, e/terminate) vengono eseguiti con il ruolo di esecuzione.
Policy di trust
Entrambi i ruoli richiedono una politica di fiducia che consenta al responsabile del servizio Lambda di lambda.amazonaws.com eseguire sts:AssumeRole e. sts:TagSession
Token di autenticazione
I token controllano l'accesso in entrata alle microVM in esecuzione. Sono basati sull'ambito delle porte; ogni token specifica a quali porte concede l'accesso.
# Token granting access to all ports aws lambda-microvms create-microvm-auth-token \ --microvm-identifier <id> \ --expiration-in-minutes 30 \ --allowed-ports '[{"allPorts":{}}]' # Token granting access to port 8080 only aws lambda-microvms create-microvm-auth-token \ --microvm-identifier <id> \ --expiration-in-minutes 30 \ --allowed-ports '[{"port":8080}]'
Token di accesso alla shell
L'accesso alla shell utilizza un'API token separata. La microVM di destinazione deve essere stata eseguita con il connettore di SHELL_INGRESS rete ()arn:aws:lambda:. Se la microVM non è stata avviata con questo connettore, us-east-1:aws:network-connector:aws-network-connector:SHELL_INGRESScreate-microvm-shell-auth-token fallisce con un: ValidationException
aws lambda-microvms create-microvm-shell-auth-token \ --microvm-identifier <id> \ --expiration-in-minutes 30
Per una procedura dettagliata sulla connessione a una shell MicroVM, vedi. Accesso alla shell
Applicazione di tag alle risorse
Le risorse Lambda MicroVM (immagini, microVM) supportano i tag delle risorse per l'organizzazione e l'allocazione dei AWS costi. Aggiungi tag quando crei un'immagine utilizzando il parametro o esplicitamente dopo la --tags creazione. Puoi anche elencare ed eliminare i tag, come illustrato di seguito: puoi anche fare riferimento ai tag nelle condizioni delle policy IAM per controllare l'accesso alle risorse MicroVM.
# Add tags when creating an image aws lambda-microvms create-microvm-image \ --name my-app-image \ --code-artifact '{"uri":"s3://my-bucket/app.zip"}' \ --base-image-arn arn:aws:lambda:us-east-1:aws:microvm-image:al2023-1 \ --build-role-arn arn:aws:iam::123456789012:role/MicrovmBuildRole \ --tags '{"Environment":"production","Team":"platform"}' # List tags on a resource aws lambda-microvms list-tags \ --resource arn:aws:lambda:us-east-1:123456789012:microvm-image:my-app-image # Add tags to an existing resource aws lambda-microvms tag-resource \ --resource arn:aws:lambda:us-east-1:123456789012:microvm-image:my-app-image \ --tags '{"CostCenter":"12345","Project":"sandbox-platform"}' # Remove tags by key aws lambda-microvms untag-resource \ --resource arn:aws:lambda:us-east-1:123456789012:microvm-image:my-app-image \ --tag-keys '["CostCenter","Project"]'
Riferimento alle autorizzazioni IAM
Lambda MicroVMS definisce le seguenti azioni IAM. Utilizzale nelle policy IAM per controllare l'accesso alle operazioni microVM.
| Azione | Description |
|---|---|
lambda:CreateMicrovmImage |
Crea una nuova immagine MicroVM. |
lambda:UpdateMicrovmImage |
Aggiorna un'immagine MicroVM esistente. |
lambda:DeleteMicrovmImage |
Eliminare un'immagine MicroVM. |
lambda:GetMicrovmImage |
Ottieni i dettagli dell'immagine MicroVM. |
lambda:ListMicrovmImages |
Elenca le immagini MicroVM nell'account. |
lambda:RunMicrovm |
Esegui una nuova MicroVM. |
lambda:GetMicrovm |
Ottieni lo stato e i dettagli di MicroVM. |
lambda:ListMicrovms |
Elenca MicroVMS nell'account. |
lambda:SuspendMicrovm |
Sospendere una microVM in esecuzione. |
lambda:ResumeMicrovm |
Riprendi una microVM sospesa. |
lambda:TerminateMicrovm |
Termina una microVM. |
lambda:CreateMicrovmAuthToken |
Genera un token di autenticazione per una microVM. |
lambda:CreateMicrovmShellAuthToken |
Genera un token di accesso alla shell. |
Formati ARN delle risorse
# MicroVM image arn:aws:lambda:<region>:<account>:microvm-image:<image-name> # MicroVM instance arn:aws:lambda:<region>:<account>:microvm:<microvm-id> # Network connector arn:aws:lambda:<region>:<account>:network-connector:<connector-id>
Esempio: Least-privilege politica per un operatore
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:RunMicrovm", "lambda:GetMicrovm", "lambda:ListMicrovms", "lambda:SuspendMicrovm", "lambda:ResumeMicrovm", "lambda:TerminateMicrovm", "lambda:CreateMicrovmAuthToken" ], "Resource": "arn:aws:lambda:*:123456789012:microvm:*" }, { "Effect": "Allow", "Action": ["lambda:GetMicrovmImage", "lambda:ListMicrovmImages"], "Resource": "arn:aws:lambda:*:123456789012:microvm-image:*" } ] }