Kebijakan IAM untuk alur kerja - AWS Transfer Family

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

Kebijakan IAM untuk alur kerja

Ketika Anda menambahkan alur kerja ke server, Anda harus memilih peran eksekusi. Server menggunakan peran ini ketika menjalankan alur kerja. Jika peran tidak memiliki izin yang tepat, AWS Transfer Family tidak dapat menjalankan alur kerja.

Bagian ini menjelaskan satu kemungkinan set izin AWS Identity and Access Management (IAM) yang dapat Anda gunakan untuk menjalankan alur kerja. Contoh lain dijelaskan nanti dalam topik ini.

catatan

Jika file Amazon S3 Anda memiliki tag, Anda perlu menambahkan satu atau dua izin ke kebijakan IAM Anda.

  • Tambahkan s3:GetObjectTagging file Amazon S3 yang tidak berversi.

  • Tambahkan s3:GetObjectVersionTagging untuk file Amazon S3 yang berversi.

Untuk membuat peran eksekusi untuk alur kerja Anda
  1. Buat peran IAM baru, dan tambahkan kebijakan AWS terkelola AWSTransferFullAccess ke peran tersebut. Untuk informasi selengkapnya tentang membuat peran IAM baru, lihatBuat peran dan kebijakan IAM.

  2. Buat kebijakan lain dengan izin berikut, dan lampirkan ke peran Anda. Ganti masing-masing user input placeholder dengan informasi Anda sendiri.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "ConsoleAccess", "Effect": "Allow", "Action": "s3:GetBucketLocation", "Resource": "*" }, { "Sid": "ListObjectsInBucket", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ] }, { "Sid": "AllObjectActions", "Effect": "Allow", "Action": "s3:*Object", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] }, { "Sid": "GetObjectVersion", "Effect": "Allow", "Action": "s3:GetObjectVersion", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] }, { "Sid": "Custom", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:region:account-id:function:function-name" ] }, { "Sid": "Tag", "Effect": "Allow", "Action": [ "s3:PutObjectTagging", "s3:PutObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] } ] }
  3. Simpan peran ini dan tentukan sebagai peran eksekusi saat Anda menambahkan alur kerja ke server.

    catatan

    Ketika Anda membangun peran IAM, AWS merekomendasikan agar Anda membatasi akses ke sumber daya Anda sebanyak mungkin untuk alur kerja Anda.

Hubungan kepercayaan alur kerja

Peran eksekusi alur kerja juga membutuhkan hubungan kepercayaan dengantransfer.amazonaws.com. Untuk membangun hubungan kepercayaan AWS Transfer Family, lihatUntuk membangun hubungan kepercayaan.

Saat Anda membangun hubungan kepercayaan Anda, Anda juga dapat mengambil langkah-langkah untuk menghindari masalah wakil yang membingungkan. Untuk deskripsi masalah ini, serta contoh cara menghindarinya, lihatPencegahan confused deputy lintas layanan.

Contoh peran eksekusi: Dekripsi, salin, dan tag

Jika Anda memiliki alur kerja yang menyertakan langkah penandaan, penyalinan, dan dekripsi, Anda dapat menggunakan kebijakan IAM berikut. Ganti masing-masing user input placeholder dengan informasi Anda sendiri.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CopyRead", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectTagging", "s3:GetObjectVersionTagging" ], "Resource": "arn:aws:s3:::source-bucket-name/*" }, { "Sid": "CopyWrite", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectTagging" ], "Resource": "arn:aws:s3:::destination-bucket-name/*" }, { "Sid": "CopyList", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::source-bucket-name", "arn:aws:s3:::destination-bucket-name" ] }, { "Sid": "Tag", "Effect": "Allow", "Action": [ "s3:PutObjectTagging", "s3:PutObjectVersionTagging" ], "Resource": "arn:aws:s3:::destination-bucket-name/*", "Condition": { "StringEquals": { "s3:RequestObjectTag/Archive": "yes" } } }, { "Sid": "ListBucket", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::destination-bucket-name" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::destination-bucket-name/*" }, { "Sid": "Decrypt", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:region:account-ID:secret:aws/transfer/*" } ] }

Contoh peran eksekusi: Jalankan fungsi dan hapus

Dalam contoh ini, Anda memiliki alur kerja yang memanggil fungsi. AWS Lambda Jika alur kerja menghapus file yang diunggah dan memiliki langkah penangan pengecualian untuk menindaklanjuti eksekusi alur kerja yang gagal pada langkah sebelumnya, gunakan kebijakan IAM berikut. Ganti masing-masing user input placeholder dengan informasi Anda sendiri.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Delete", "Effect": "Allow", "Action": [ "s3:DeleteObject", "s3:DeleteObjectVersion" ], "Resource": "arn:aws:s3:::bucket-name" }, { "Sid": "Custom", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:region:account-id:function:function-name" ] } ] }