Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Keamanan dan izin
Bagian ini menjelaskan peran IAM, token otentikasi, dan kontrol akses untuk AWS Lambda microVMS.
Peran IAM
Membangun peran
Peran ini digunakan selama pembuatan gambar. Ini memerlukan izin berikut untuk mengambil artefak sumber dan menghasilkan log:s3:GetObject,,logs:CreateLogGroup, logs:CreateLogStream dan. logs:PutLogEvents Tambahkan juga ecr:GetAuthorizationToken jika mereferensikan gambar ECR pribadi.
Peran build adalah opsional. Jika Anda tidak memberikan peran build, Lambda tidak dapat menulis log build. CloudWatch
Peran eksekusi
Peran ini digunakan pada runtime microVM untuk memberikan izin akses untuk menulis log CloudWatch dan menggunakan layanan lain. AWS
Peran eksekusi adalah opsional. Jika Anda tidak memberikan peran eksekusi, Lambda tidak memancarkan log runtime CloudWatch dan MicroVM Anda tidak dapat mengakses layanan lain. AWS
Kait siklus hidup dijalankan di bawah peran yang terkait dengan fase mereka. Build-time hook (/readydan/validate) dijalankan di bawah peran build. Runtime hooks (/run,, /resume/suspend, and/terminate) mengeksekusi di bawah peran eksekusi.
Kebijakan kepercayaan
Kedua peran tersebut memerlukan kebijakan kepercayaan yang memungkinkan kepala layanan Lambda lambda.amazonaws.com untuk melakukan sts:AssumeRole dan. sts:TagSession
Token otentikasi
Token mengontrol akses masuk untuk menjalankan microVMS. Mereka adalah port-scoped; setiap token menentukan port mana yang memberikan akses ke.
# 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 akses Shell
Akses Shell menggunakan API token terpisah. MicroVM target harus dijalankan dengan konektor SHELL_INGRESS jaringan ()arn:aws:lambda:. Jika microVM tidak diluncurkan dengan konektor ini, us-east-1:aws:network-connector:aws-network-connector:SHELL_INGRESScreate-microvm-shell-auth-token gagal dengan: ValidationException
aws lambda-microvms create-microvm-shell-auth-token \ --microvm-identifier <id> \ --expiration-in-minutes 30
Untuk panduan lengkap tentang menghubungkan ke shell microVM, lihat. Akses Shell
Menandai sumber daya
Sumber daya Lambda MicroVM (gambar, microVMS) mendukung tag AWS sumber daya untuk organisasi dan alokasi biaya. Tambahkan tag saat membuat gambar menggunakan --tags parameter atau secara eksplisit setelah pembuatan. Anda juga dapat membuat daftar dan menghapus tag, seperti yang ditunjukkan di bawah ini: Anda juga dapat mereferensikan tag dalam kondisi kebijakan IAM untuk mengontrol akses ke sumber daya 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"]'
Referensi izin IAM
Lambda MicroVMS mendefinisikan tindakan IAM berikut. Gunakan ini dalam kebijakan IAM untuk mengontrol akses ke operasi microVM.
| Tindakan | Deskripsi |
|---|---|
lambda:CreateMicrovmImage |
Buat gambar microVM baru. |
lambda:UpdateMicrovmImage |
Perbarui gambar microVM yang ada. |
lambda:DeleteMicrovmImage |
Hapus gambar MicroVM. |
lambda:GetMicrovmImage |
Dapatkan detail gambar MicroVM. |
lambda:ListMicrovmImages |
Buat daftar gambar microVM di akun. |
lambda:RunMicrovm |
Jalankan microVM baru. |
lambda:GetMicrovm |
Dapatkan status dan detail microVM. |
lambda:ListMicrovms |
Daftar microVMS di akun. |
lambda:SuspendMicrovm |
Tangguhkan microVM yang sedang berjalan. |
lambda:ResumeMicrovm |
Lanjutkan microVM yang ditangguhkan. |
lambda:TerminateMicrovm |
Mengakhiri microVM. |
lambda:CreateMicrovmAuthToken |
Hasilkan token otentikasi untuk microVM. |
lambda:CreateMicrovmShellAuthToken |
Hasilkan token akses shell. |
Format ARN sumber daya
# 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>
Contoh: Least-privilege kebijakan untuk operator
{ "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:*" } ] }