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 di AWS Organizationsorganisasi, 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 ditentukanadd-permission, put-resource-policy timpa. Gunakan get-resource-policy untuk mengambil kebijakan yang ada sebelum membuat perubahan.

Menggunakan kebijakan JSON lengkap (disarankan)

Contoh hibah kebijakan berikut meminta 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 suatu 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 di 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 organisasi. o-a1b2c3d4e5f

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