Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan kebijakan berbasis identitas untuk mengizinkan pengguna, grup pengguna, atau peran menjalankan operasi pada fungsi Lambda.
catatan
Untuk fungsi yang didefinisikan sebagai image kontainer, izin pengguna untuk mengakses gambar harus dikonfigurasi di Amazon Elastic Container Registry (Amazon ECR). Sebagai contoh, lihat Kebijakan repositori Amazon ECR.
Berikut ini adalah contoh kebijakan izin dengan lingkup terbatas. Ini memungkinkan pengguna membuat dan mengelola fungsi Lambda yang diberi nama dengan awalan yang ditentukan (intern-
), dan dikonfigurasi dengan peran eksekusi yang ditunjuk.
contoh Kebijakan pengembangan fungsi
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ReadOnlyPermissions",
"Effect": "Allow",
"Action": [
"lambda:GetAccountSettings",
"lambda:GetEventSourceMapping",
"lambda:GetFunction",
"lambda:GetFunctionConfiguration",
"lambda:GetFunctionCodeSigningConfig",
"lambda:GetFunctionConcurrency",
"lambda:ListEventSourceMappings",
"lambda:ListFunctions",
"lambda:ListTags",
"iam:ListRoles"
],
"Resource": "*"
},
{
"Sid": "DevelopFunctions",
"Effect": "Allow",
"NotAction": [
"lambda:AddPermission",
"lambda:PutFunctionConcurrency"
],
"Resource": "arn:aws:lambda:*:*:function:intern-*"
},
{
"Sid": "DevelopEventSourceMappings",
"Effect": "Allow",
"Action": [
"lambda:DeleteEventSourceMapping",
"lambda:UpdateEventSourceMapping",
"lambda:CreateEventSourceMapping"
],
"Resource": "*",
"Condition": {
"StringLike": {
"lambda:FunctionArn": "arn:aws:lambda:*:*:function:intern-*"
}
}
},
{
"Sid": "PassExecutionRole",
"Effect": "Allow",
"Action": [
"iam:ListRolePolicies",
"iam:ListAttachedRolePolicies",
"iam:GetRole",
"iam:GetRolePolicy",
"iam:PassRole",
"iam:SimulatePrincipalPolicy"
],
"Resource": "arn:aws:iam::*:role/intern-lambda-execution-role"
},
{
"Sid": "ViewLogs",
"Effect": "Allow",
"Action": [
"logs:*"
],
"Resource": "arn:aws:logs:*:*:log-group:/aws/lambda/intern-*"
}
]
}
Izin dalam kebijakan disusun menjadi pernyataan berdasarkan sumber daya dan kondisi yang mereka dukung.
-
ReadOnlyPermissions
– Konsol Lambda menggunakan izin ini saat Anda menelusuri dan melihat fungsi. Mereka tidak mendukung pola atau kondisi sumber daya."Action": [ "lambda:GetAccountSettings", "lambda:GetEventSourceMapping", "lambda:GetFunction", "lambda:GetFunctionConfiguration", "lambda:GetFunctionCodeSigningConfig", "lambda:GetFunctionConcurrency", "lambda:ListEventSourceMappings", "lambda:ListFunctions", "lambda:ListTags", "iam:ListRoles" ], "Resource": "*"
-
DevelopFunctions
— Gunakan tindakan Lambda apa pun yang beroperasi pada fungsi yang diawali denganintern-
, kecuali dan.AddPermission
PutFunctionConcurrency
AddPermission
memodifikasi kebijakan berbasis sumber daya pada fungsi dan dapat memiliki implikasi keamanan.PutFunctionConcurrency
cadangan kapasitas penskalaan untuk suatu fungsi dan dapat mengambil kapasitas dari fungsi lain."NotAction": [ "lambda:AddPermission", "lambda:PutFunctionConcurrency" ], "Resource": "arn:aws:lambda:*:*:function:intern-*"
-
DevelopEventSourceMappings
– Mengelola pemetaan sumber peristiwa pada fungsi yang diawali denganintern-
. Tindakan ini beroperasi pada pemetaan sumber peristiwa, tetapi Anda dapat membatasinya menurut fungsi dengan syarat."Action": [ "lambda:DeleteEventSourceMapping", "lambda:UpdateEventSourceMapping", "lambda:CreateEventSourceMapping" ], "Resource": "*", "Condition": { "StringLike": { "lambda:FunctionArn": "arn:aws:lambda:*:*:function:intern-*" } }
-
PassExecutionRole
– Lihat dan teruskan hanya peran bernamaintern-lambda-execution-role
, yang harus dibuat dan dikelola oleh pengguna dengan izin IAM.PassRole
digunakan saat Anda menetapkan peran eksekusi ke fungsi."Action": [ "iam:ListRolePolicies", "iam:ListAttachedRolePolicies", "iam:GetRole", "iam:GetRolePolicy", "iam:PassRole", "iam:SimulatePrincipalPolicy" ], "Resource": "arn:aws:iam::*:role/intern-lambda-execution-role"
-
ViewLogs
— Gunakan CloudWatch Log untuk melihat log untuk fungsi yang diawali denganintern-
."Action": [ "logs:*" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/lambda/intern-*"
Kebijakan ini memungkinkan pengguna untuk memulai dengan Lambda, tanpa menempatkan sumber daya pengguna lain dalam risiko. Itu tidak memungkinkan pengguna untuk mengonfigurasi fungsi yang akan dipicu oleh atau memanggil AWS layanan lain, yang memerlukan izin IAM yang lebih luas. Ini juga tidak termasuk izin untuk layanan yang tidak mendukung kebijakan dengan cakupan terbatas, seperti CloudWatch dan X-Ray. Gunakan kebijakan hanya-baca untuk layanan ini agar pengguna dapat mengakses data metrik dan jejak.
Saat Anda mengonfigurasi pemicu untuk fungsi Anda, Anda memerlukan akses untuk menggunakan AWS layanan yang memanggil fungsi Anda. Misalnya, untuk mengonfigurasi pemicu Amazon S3, Anda memerlukan izin untuk menggunakan tindakan Amazon S3 yang mengelola pemberitahuan bucket. Banyak dari izin ini disertakan dalam kebijakan yang dikelola AWSLambda_FullAccess.