View a markdown version of this page

Memberikan akses fungsi ke organisasi - AWS Lambda

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memberikan akses fungsi ke organisasi

Untuk memberikan izin ke semua akun dalam AWS Organizations organisasi, sebaiknya gunakan put-resource-policy untuk membuat kebijakan JSON lengkap dengan kunci aws:PrincipalOrgID kondisi.

penting

Menggunakan put-resource-policy menggantikan kebijakan berbasis sumber daya yang ada pada sumber daya. Jika sumber daya sudah memiliki izin yang ditentukan denganadd-permission, tul put-resource-policy islah. Gunakan get-resource-policy untuk mengambil kebijakan yang ada sebelum membuat perubahan.

Menggunakan kebijakan JSON lengkap (disarankan)

Contoh hibah kebijakan berikut memanggil akses ke semua Akun AWS dalam organisasi: o-a1b2c3d4e5f

{ "Version": "2012-10-17", "Statement": [ { "Sid": "org-access", "Effect": "Allow", "Principal": "*", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:us-east-2:123456789012:function:my-function", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-a1b2c3d4e5f" } } } ] }

Simpan kebijakan ke file bernama policy.json dan terapkan:

aws lambda put-resource-policy \ --resource-arn arn:aws:lambda:us-east-2:123456789012:function:my-function \ --policy file://policy.json

Dengan kebijakan JSON lengkap, Anda juga dapat menolak akses ke akun tertentu dalam organisasi:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "allow-org", "Effect": "Allow", "Principal": "*", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:us-east-2:123456789012:function:my-function", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-a1b2c3d4e5f" } } }, { "Sid": "deny-specific-account", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam::999888777666:root" }, "Action": "lambda:InvokeFunction", "Resource": [ "arn:aws:lambda:us-east-2:123456789012:function:my-function", "arn:aws:lambda:us-east-2:123456789012:function:my-function:*" ] } ] }

Menggunakan izin tambahan

Untuk kasus penggunaan sederhana, Anda dapat menggunakan add-permission dengan principal-org-id opsi. Perintah berikut memberikan akses pemanggilan ke semua pengguna dalam organisasi: o-a1b2c3d4e5f

aws lambda add-permission \ --function-name my-function \ --statement-id org-access \ --action lambda:InvokeFunction \ --principal * \ --principal-org-id o-a1b2c3d4e5f
catatan

Dalam perintah ini, Principal adalah*. Ini berarti bahwa semua pengguna dalam organisasi o-a1b2c3d4e5f mendapatkan izin pemanggilan fungsi. Jika Anda menentukan peran Akun AWS atau sebagaiPrincipal, maka hanya prinsipal yang mendapatkan izin pemanggilan fungsi, tetapi hanya jika mereka juga merupakan bagian dari o-a1b2c3d4e5f organisasi.

Untuk informasi selengkapnya, lihat aws: PrincipalOrg ID di panduan pengguna IAM.