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.