Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat IAM peran dan kebijakan
Topik ini menjelaskan jenis kebijakan dan peran yang dapat digunakan AWS Transfer Family, dan berjalan melalui proses pembuatan peran pengguna. Ini juga menjelaskan cara kerja kebijakan sesi dan memberikan contoh peran pengguna.
AWS Transfer Family menggunakan jenis peran berikut:
-
Peran pengguna — Memungkinkan pengguna yang dikelola layanan mengakses sumber daya Transfer Family yang diperlukan. AWS Transfer Family mengambil peran ini dalam konteks pengguna ARN Transfer Family.
-
Peran akses - Menyediakan akses hanya ke file Amazon S3 yang sedang ditransfer. Untuk AS2 transfer masuk, peran akses menggunakan Amazon Resource Name (ARN) untuk perjanjian. Untuk AS2 transfer keluar, peran akses menggunakan konektor ARN untuk.
-
Peran pemanggilan — Untuk digunakan dengan Amazon API Gateway sebagai penyedia identitas kustom server. Transfer Family mengambil peran ini dalam konteks server ARN Transfer Family.
-
Peran logging - Digunakan untuk log entri ke Amazon CloudWatch. Transfer Family menggunakan peran ini untuk mencatat detail keberhasilan dan kegagalan bersama dengan informasi tentang transfer file. Transfer Family mengambil peran ini dalam konteks server ARN Transfer Family. Untuk AS2 transfer keluar, peran logging menggunakan konektorARN.
-
Peran eksekusi — Memungkinkan pengguna Transfer Family memanggil dan meluncurkan alur kerja. Transfer Family mengasumsikan peran ini dalam konteks alur kerja ARN Transfer Family.
Selain peran ini, Anda juga dapat menggunakan kebijakan sesi. Kebijakan sesi digunakan untuk membatasi akses bila diperlukan. Perhatikan bahwa kebijakan ini berdiri sendiri: artinya, Anda tidak menambahkan kebijakan ini ke peran. Sebaliknya, Anda menambahkan kebijakan sesi langsung ke pengguna Transfer Family.
catatan
Saat membuat pengguna Transfer Family yang dikelola layanan, Anda dapat memilih Kebijakan buat otomatis berdasarkan folder beranda. Ini adalah pintasan yang berguna jika Anda ingin membatasi akses pengguna ke folder mereka sendiri. Selain itu, Anda dapat melihat detail tentang kebijakan sesi dan contoh diBagaimana kebijakan sesi bekerja. Anda juga dapat menemukan informasi selengkapnya tentang kebijakan sesi dalam kebijakan Sesi di Panduan IAM Pengguna.
Membuat peran pengguna
Saat Anda membuat pengguna, Anda membuat sejumlah keputusan tentang akses pengguna. Keputusan ini termasuk bucket Amazon S3 atau sistem EFS file Amazon mana yang dapat diakses pengguna, bagian mana dari setiap bucket Amazon S3 dan file mana dalam sistem file yang dapat diakses, dan izin apa yang dimiliki pengguna (misalnya, atau). PUT
GET
Untuk menetapkan akses, Anda membuat kebijakan dan peran berbasis identitas AWS Identity and Access Management (IAM) yang menyediakan informasi akses tersebut. Sebagai bagian dari proses ini, Anda menyediakan akses bagi pengguna Anda ke bucket Amazon S3 atau sistem EFS file Amazon yang merupakan target atau sumber untuk operasi file. Untuk melakukan ini, ambil langkah-langkah tingkat tinggi berikut, yang dijelaskan secara rinci nanti:
Membuat peran pengguna
-
Buat IAM kebijakan untuk AWS Transfer Family. Ini dijelaskan dalamUntuk membuat IAM kebijakan untuk AWS Transfer Family.
-
Buat IAM peran dan lampirkan IAM kebijakan baru. Sebagai contoh, lihat Contoh kebijakan akses baca/tulis.
-
Membangun hubungan kepercayaan antara AWS Transfer Family dan IAM peran. Ini dijelaskan dalamUntuk membangun hubungan kepercayaan.
Prosedur berikut menjelaskan cara membuat IAM kebijakan dan peran.
Untuk membuat IAM kebijakan untuk AWS Transfer Family
-
Buka IAM konsol di https://console.aws.amazon.com/iam/
. -
Di panel navigasi, pilih Kebijakan dan kemudian pilih Buat kebijakan.
-
Pada halaman Buat Kebijakan, pilih JSONtab.
-
Di editor yang muncul, ganti konten editor dengan IAM kebijakan yang ingin Anda lampirkan ke IAM peran.
Anda dapat memberikan akses baca/tulis atau membatasi pengguna ke direktori home mereka. Untuk informasi selengkapnya, lihat Contoh kebijakan akses baca/tulis.
-
Pilih Kebijakan tinjauan dan berikan nama dan deskripsi untuk kebijakan Anda, lalu pilih Buat kebijakan.
Selanjutnya, Anda membuat IAM peran dan melampirkan IAM kebijakan baru padanya.
Untuk membuat IAM peran untuk AWS Transfer Family
-
Di panel navigasi, pilih Peran, lalu pilih Buat peran.
Pada halaman Buat peran, pastikan bahwa AWS layanan dipilih.
-
Pilih Transfer dari daftar layanan, lalu pilih Berikutnya: Izin. Ini membangun hubungan kepercayaan antara AWS Transfer Family dan AWS.
-
Di bagian Lampirkan kebijakan izin, cari dan pilih kebijakan yang baru saja Anda buat, lalu pilih Berikutnya: Tag.
-
(Opsional) Masukkan kunci dan nilai untuk tag, dan pilih Berikutnya: Tinjau.
-
Pada halaman Tinjauan, masukkan nama dan deskripsi untuk peran baru Anda, lalu pilih Buat peran.
Selanjutnya, Anda membangun hubungan kepercayaan antara AWS Transfer Family dan AWS.
Untuk membangun hubungan kepercayaan
catatan
Dalam contoh kami, kami menggunakan keduanya ArnLike
danArnEquals
. Mereka identik secara fungsional, dan oleh karena itu Anda dapat menggunakan keduanya ketika Anda membuat kebijakan Anda. Dokumentasi Transfer Family digunakan ArnLike
ketika kondisi berisi karakter wildcard, dan ArnEquals
untuk menunjukkan kondisi kecocokan yang tepat.
-
Di IAM konsol, pilih peran yang baru saja Anda buat.
-
Pada halaman Ringkasan, pilih Trust relationship, lalu pilih Edit trust relationship.
-
Di editor Edit Trust Relationship, pastikan layanannya
"transfer.amazonaws.com"
. Kebijakan akses ditampilkan sebagai berikut.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Kami menyarankan Anda menggunakan kunci
aws:SourceAccount
danaws:SourceArn
kondisi untuk melindungi diri Anda dari masalah wakil yang membingungkan. Akun sumber adalah pemilik server dan sumbernya ARN ARN adalah pengguna. Sebagai contoh:"Condition": { "StringEquals": { "aws:SourceAccount": "
account_id
" }, "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region
:account_id
:user/*" } }Anda juga dapat menggunakan
ArnLike
kondisi ini jika Anda ingin membatasi ke server tertentu, bukan server apa pun di akun pengguna. Sebagai contoh:"Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:transfer:
region
:account-id
:user/server-id
/*" } }catatan
Dalam contoh di atas, ganti masing-masing
user input placeholder
dengan informasi Anda sendiri.Untuk detail tentang masalah wakil yang membingungkan dan lebih banyak contoh, lihatPencegahan confused deputy lintas layanan.
-
Pilih Perbarui Kebijakan Kepercayaan untuk memperbarui kebijakan akses.
Anda sekarang telah menciptakan IAM peran yang memungkinkan AWS Transfer Family untuk memanggil AWS layanan atas nama Anda. Anda melampirkan peran IAM kebijakan yang Anda buat untuk memberikan akses ke pengguna Anda. Di Memulai dengan AWS Transfer Family titik akhir server bagian ini, peran dan kebijakan ini ditetapkan untuk pengguna atau pengguna Anda.
Lihat juga
-
Untuk informasi umum selengkapnya tentang IAM peran, lihat Membuat peran untuk mendelegasikan izin ke AWS layanan di IAMPanduan Pengguna.
-
Untuk mempelajari selengkapnya tentang kebijakan berbasis identitas untuk sumber daya Amazon S3, lihat Manajemen identitas dan akses di Amazon S3 di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.
-
Untuk mempelajari lebih lanjut tentang kebijakan berbasis identitas untuk EFS sumber daya Amazon, lihat Menggunakan IAM untuk mengontrol akses data sistem file di Panduan Pengguna Amazon Elastic File System.
Bagaimana kebijakan sesi bekerja
Saat administrator membuat peran, peran tersebut sering menyertakan izin luas untuk mencakup beberapa kasus penggunaan atau anggota tim. Jika administrator mengonfigurasi konsol URL, mereka dapat mengurangi izin untuk sesi yang dihasilkan dengan menggunakan kebijakan sesi. Misalnya, jika Anda membuat peran dengan akses baca/tulis, Anda dapat mengatur URL yang membatasi akses pengguna hanya ke direktori beranda mereka.
Kebijakan sesi adalah kebijakan lanjutan yang Anda berikan sebagai parameter saat Anda membuat sesi sementara untuk peran atau pengguna secara terprogram. Kebijakan sesi berguna untuk mengunci pengguna sehingga mereka hanya memiliki akses ke bagian bucket Anda di mana awalan objek berisi nama pengguna mereka. Diagram berikut menunjukkan bahwa izin kebijakan sesi adalah persimpangan kebijakan sesi dan kebijakan berbasis sumber daya ditambah persimpangan kebijakan sesi dan kebijakan berbasis identitas.
Untuk detail selengkapnya, lihat Kebijakan sesi di Panduan IAM Pengguna.
Di AWS Transfer Family, kebijakan sesi hanya didukung saat Anda mentransfer ke atau dari Amazon S3. Contoh kebijakan berikut adalah kebijakan sesi yang membatasi akses pengguna ke home
direktori mereka saja. Perhatikan hal berikut:
-
PutObjectACL
PernyataanGetObjectACL
dan pernyataan hanya diperlukan jika Anda perlu mengaktifkan Akses Lintas Akun. Artinya, server Transfer Family Anda perlu mengakses bucket di akun yang berbeda. -
Panjang maksimum kebijakan sesi adalah 2048 karakter. Untuk detail selengkapnya, lihat parameter Permintaan kebijakan untuk
CreateUser
tindakan dalam APIreferensi. -
Jika bucket Amazon S3 dienkripsi menggunakan AWS Key Management Service (AWS KMS), Anda harus menentukan izin tambahan dalam kebijakan Anda. Untuk detailnya, lihat Enkripsi data di Amazon S3.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::${transfer:HomeBucket}" ], "Condition": { "StringLike": { "s3:prefix": [ "${transfer:HomeFolder}/*", "${transfer:HomeFolder}" ] } } }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::${transfer:HomeDirectory}/*" } ] }
catatan
Contoh kebijakan sebelumnya mengasumsikan bahwa pengguna memiliki direktori home mereka diatur untuk menyertakan garis miring, untuk menandakan bahwa itu adalah direktori. Jika, di sisi lain, Anda menetapkan pengguna HomeDirectory
tanpa garis miring, maka Anda harus memasukkannya sebagai bagian dari kebijakan Anda.
Dalam contoh kebijakan sebelumnya, perhatikan penggunaan parametertransfer:HomeFolder
,transfer:HomeBucket
, dan transfer:HomeDirectory
kebijakan. Parameter ini diatur untuk HomeDirectory
yang dikonfigurasi untuk pengguna, seperti yang dijelaskan dalam HomeDirectorydanMenerapkan metode API Gateway Anda. Parameter ini memiliki definisi berikut:
transfer:HomeBucket
Parameter diganti dengan komponen pertama dariHomeDirectory
.transfer:HomeFolder
Parameter diganti dengan bagianHomeDirectory
parameter yang tersisa.transfer:HomeDirectory
Parameter memiliki garis miring depan (/
) dihapus sehingga dapat digunakan sebagai bagian dari S3 Amazon Resource Name (ARN) dalam sebuahResource
pernyataan.
catatan
Jika Anda menggunakan direktori logik—yaitu, pengguna adalah LOGICAL
—parameter kebijakan ini (HomeBucket
,HomeDirectory
, danHomeFolder
) tidak didukung. homeDirectoryType
Misalnya, asumsikan bahwa HomeDirectory
parameter yang dikonfigurasi untuk pengguna Transfer Family adalah/home/bob/amazon/stuff/
.
transfer:HomeBucket
diatur ke/home
.transfer:HomeFolder
diatur ke/bob/amazon/stuff/
.transfer:HomeDirectory
menjadihome/bob/amazon/stuff/
.
Yang pertama "Sid"
memungkinkan pengguna untuk membuat daftar semua direktori mulai dari/home/bob/amazon/stuff/
.
Yang kedua "Sid"
membatasi pengguna put
dan get
akses ke jalur yang sama,/home/bob/amazon/stuff/
.
Contoh kebijakan akses baca/tulis
Berikan akses baca/tulis ke bucket Amazon S3
Contoh kebijakan berikut untuk AWS Transfer Family memberikan akses baca/tulis ke objek di bucket Amazon S3 Anda.
Perhatikan hal berikut:
-
Ganti
DOC-EXAMPLE-BUCKET
dengan nama keranjang Amazon S3. -
PutObjectACL
PernyataanGetObjectACL
dan pernyataan hanya diperlukan jika Anda perlu mengaktifkan Akses Lintas Akun. Artinya, server Transfer Family Anda perlu mengakses bucket di akun yang berbeda. -
DeleteObjectVersion
PernyataanGetObjectVersion
dan hanya diperlukan jika pembuatan versi diaktifkan di bucket Amazon S3 yang sedang diakses.catatan
Jika Anda pernah mengaktifkan pembuatan versi untuk bucket, Anda memerlukan izin ini, karena Anda hanya dapat menangguhkan pembuatan versi di Amazon S3, dan tidak mematikannya sepenuhnya. Untuk detailnya, lihat Bucket yang tidak berversi, berkemampuan versi, dan ditangguhkan versi.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::
DOC-EXAMPLE-BUCKET
" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET
/*" } ] }
Berikan akses sistem file ke file dalam sistem EFS file Amazon
catatan
Selain kebijakan, Anda juga harus memastikan izin POSIX file Anda memberikan akses yang sesuai. Untuk informasi selengkapnya, lihat Bekerja dengan pengguna, grup, dan izin di Tingkat Sistem File Jaringan (NFS) di Panduan Pengguna Amazon Elastic File System.
Contoh kebijakan berikut memberikan akses sistem file root ke file di sistem EFS file Amazon Anda.
catatan
Dalam contoh berikut, ganti region
dengan wilayah Anda, account-id
dengan akun file tersebut masuk, dan file-system-id
dengan ID Amazon Elastic File System (AmazonEFS) Anda.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RootFileSystemAccess", "Effect": "Allow", "Action": [ "elasticfilesystem:ClientRootAccess", "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Resource": "arn:aws:elasticfilesystem:
region
:account-id
:file-system/file-system-id
" } ] }
Contoh kebijakan berikut memberikan akses sistem file pengguna ke file di sistem EFS file Amazon Anda.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "UserFileSystemAccess", "Effect": "Allow", "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Resource": "arn:aws:elasticfilesystem:
region
:account-id
:file-system/file-system-id
" } ] }