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
Ruolo di creazione
Questo ruolo viene utilizzato durante la creazione dell'immagine. Richiede le seguenti autorizzazioni per recuperare gli artefatti di origine e generare i log:s3:GetObject,, logs:CreateLogGroup e. logs:CreateLogStream logs:PutLogEvents Aggiungete anche ecr:GetAuthorizationToken se fate 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 in CloudWatch.
Ruolo di esecuzione
Questo ruolo viene utilizzato nel runtime di MicroVM per fornire le autorizzazioni di accesso per scrivere i 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 nel ruolo associato alla loro fase. Build-time gli hook (/readye/validate) vengono eseguiti nel ruolo di compilazione. Gli hook di runtime (/run, /resume/suspend, e/terminate) vengono eseguiti sotto il ruolo di esecuzione.
Policy di trust
Entrambi i ruoli richiedono una politica di fiducia che consenta al responsabile del servizio Lambda lambda.amazonaws.com di eseguire sts:AssumeRole e. sts:TagSession
Token di autenticazione
I token controllano l'accesso in entrata a MicroVMS 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 si verifica un errore con: 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, consulta. Accesso alla shell
Applicazione di tag alle risorse
Le immagini Lambda MicroVM supportano i tag AWS delle risorse per l'organizzazione e l'allocazione dei costi. Aggiungi tag durante la creazione di un'immagine utilizzando il --tags parametro o in modo esplicito dopo la 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 di MicroVM.
| Azione | Description |
|---|---|
lambda:CreateMicrovmImage |
Crea una nuova immagine MicroVM. |
lambda:UpdateMicrovmImage |
Aggiorna un'immagine MicroVM esistente. |
lambda:DeleteMicrovmImage |
Elimina 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 della microVM. |
lambda:ListMicrovms |
Elenca le MicroVMS nell'account. |
lambda:SuspendMicrovm |
Sospendi una MicroVM in esecuzione. |
lambda:ResumeMicrovm |
Riprendi una MicroVM sospesa. |
lambda:TerminateMicrovm |
Terminare 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> # 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:ListMicrovms", "lambda:ListMicrovmImages" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "lambda:RunMicrovm", "lambda:GetMicrovm", "lambda:SuspendMicrovm", "lambda:ResumeMicrovm", "lambda:TerminateMicrovm", "lambda:CreateMicrovmAuthToken", "lambda:GetMicrovmImage" ], "Resource": "arn:aws:lambda:*:123456789012:microvm-image:*" } ] }