Bucket Amazon S3 - Studio Penelitian dan Teknik

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

Bucket Amazon S3

Pasang ember Amazon S3

Research and Engineering Studio (RES) mendukung pemasangan bucket Amazon S3 ke instans Linux Virtual Desktop Infrastructure (VDI). Administrator RES dapat memasukkan bucket S3 ke RES, melampirkannya ke proyek, mengedit konfigurasinya, dan menghapus bucket di tab bucket S3 di bawah Manajemen Lingkungan.

Dasbor bucket S3 menyediakan daftar bucket S3 onboard yang tersedia untuk Anda. Dari dasbor bucket S3, Anda dapat:

  1. Gunakan Add bucket untuk memasukkan bucket S3 ke RES.

  2. Pilih bucket S3 dan gunakan menu Actions untuk:

    • Edit ember

    • Hapus ember

  3. Gunakan kolom pencarian untuk mencari berdasarkan nama Bucket dan temukan bucket S3 onboard.

    Daftar bucket S3 memungkinkan Anda mencari berdasarkan nama bucket dan menemukan bucket onboard

Tambahkan bucket Amazon S3

Untuk menambahkan bucket S3 ke lingkungan RES Anda:
  1. Pilih Tambahkan ember.

  2. Masukkan detail bucket seperti nama bucket, ARN, dan mount point.

    penting
    • Bucket ARN, mount point, dan mode yang disediakan tidak dapat diubah setelah pembuatan.

    • Bucket ARN dapat berisi awalan yang akan mengisolasi bucket S3 onboard ke awalan itu.

  3. Pilih mode untuk onboard bucket Anda.

    penting
    • Lihat Isolasi Data untuk informasi selengkapnya terkait isolasi data dengan mode tertentu.

  4. Di bawah Opsi Lanjutan, Anda dapat memberikan ARN peran IAM untuk memasang bucket untuk akses lintas akun. Ikuti langkah-langkah Akses bucket lintas akun untuk membuat peran IAM yang diperlukan untuk akses lintas akun.

  5. (Opsional) Kaitkan bucket dengan proyek, yang dapat diubah nanti. Namun, bucket S3 tidak dapat dipasang ke sesi VDI proyek yang ada. Hanya sesi yang diluncurkan setelah proyek dikaitkan dengan bucket yang akan memasang bucket.

  6. Pilih Kirim.

Edit ember Amazon S3

  1. Pilih bucket S3 di daftar bucket S3.

  2. Di menu Tindakan, pilih Edit.

  3. Masukkan pembaruan Anda.

    penting
    • Mengaitkan proyek dengan bucket S3 tidak akan memasang bucket ke instance infrastruktur desktop virtual (VDI) proyek yang ada. Bucket hanya akan dipasang ke sesi VDI yang diluncurkan dalam proyek setelah bucket dikaitkan dengan proyek itu.

    • Memutuskan hubungan proyek dari bucket S3 tidak akan memengaruhi data di bucket S3, tetapi akan mengakibatkan pengguna desktop kehilangan akses ke data tersebut.

  4. Pilih Simpan pengaturan bucket.

    Halaman Edit S3 Bucket dengan nama tampilan dan bidang asosiasi proyek dimasukkan dan tombol Save bucket setup disorot

Hapus ember Amazon S3

  1. Pilih bucket S3 di daftar bucket S3.

  2. Dari menu Tindakan, pilih Hapus.

    penting
    • Anda harus terlebih dahulu menghapus semua asosiasi proyek dari ember.

    • Operasi penghapusan tidak memengaruhi data di bucket S3. Ini hanya menghapus asosiasi bucket S3 dengan RES.

    • Menghapus bucket akan menyebabkan sesi VDI yang ada kehilangan akses ke konten bucket tersebut setelah berakhirnya kredenal sesi tersebut (~1 jam).

Isolasi Data

Saat menambahkan bucket S3 ke RES, Anda memiliki opsi untuk mengisolasi data di dalam bucket ke proyek dan pengguna tertentu. Pada halaman Add Bucket, Anda dapat memilih mode Read Only (R) atau Read and Write (R/W).

Baca Saja

Jika Read Only (R) dipilih, isolasi data diberlakukan berdasarkan awalan bucket ARN (Nama Sumber Daya Amazon). Misalnya, jika admin menambahkan bucket ke RES menggunakan ARN arn:aws:s3:::bucket-name/example-data/ dan mengaitkan bucket ini dengan Project A dan Project B, maka pengguna yang meluncurkan VDIs dari dalam Project A dan Project B hanya dapat membaca data yang terletak di bucket-name bawah jalur. /example-data Mereka tidak akan memiliki akses ke data di luar jalur itu. Jika tidak ada awalan yang ditambahkan ke bucket ARN, seluruh bucket akan tersedia untuk proyek apa pun yang terkait dengannya.

Baca dan Tulis

Jika Read and Write (R/W) dipilih, isolasi data masih diberlakukan berdasarkan awalan bucket ARN, seperti dijelaskan di atas. Mode ini memiliki opsi tambahan untuk memungkinkan admin memberikan awalan berbasis variabel untuk bucket S3. Saat Read and Write (R/W) dipilih, bagian Awalan Kustom tersedia yang menawarkan menu tarik-turun dengan opsi berikut:

  • Tidak ada awalan khusus

  • /%p

  • /%p/%u

Tidak ada isolasi data khusus

Bila No custom prefix dipilih untuk Awalan Kustom, bucket ditambahkan tanpa isolasi data kustom. Ini memungkinkan proyek apa pun yang terkait dengan bucket memiliki akses baca dan tulis. Misalnya, jika admin menambahkan bucket ke RES menggunakan ARN arn:aws:s3:::bucket-name dengan yang No custom prefix dipilih dan mengaitkan bucket ini dengan Project A dan Project B, pengguna yang meluncurkan VDIs dari dalam Project A dan Project B akan memiliki akses baca dan tulis yang tidak terbatas ke bucket.

Isolasi data pada tingkat per proyek

Bila /%p dipilih untuk Awalan Kustom, data dalam bucket diisolasi ke setiap proyek tertentu yang terkait dengannya. %pVariabel mewakili kode proyek. Misalnya, jika admin menambahkan bucket ke RES menggunakan ARN arn:aws:s3:::bucket-name dengan yang /%p dipilih dan Mount Point of/bucket, dan mengaitkan bucket ini dengan Project A dan Project B, maka Pengguna A di Project A dapat menulis file ke. /bucket Pengguna B di Proyek A juga dapat melihat file yang ditulis Pengguna A/bucket. Namun, jika Pengguna B meluncurkan VDI di Proyek B dan melihat ke dalam/bucket, mereka tidak akan melihat file yang ditulis Pengguna A, karena data diisolasi oleh proyek. File yang ditulis Pengguna A ditemukan di bucket S3 di bawah awalan /ProjectA sementara Pengguna B hanya dapat mengakses /ProjectB saat menggunakan file VDIs dari Project B.

Isolasi data pada tingkat per proyek, per pengguna

Bila /%p/%u dipilih untuk Awalan Kustom, data dalam bucket diisolasi ke setiap proyek tertentu dan pengguna yang terkait dengan proyek tersebut. %pVariabel mewakili kode proyek, dan %u mewakili nama pengguna. Misalnya, admin menambahkan bucket ke RES menggunakan ARN arn:aws:s3:::bucket-name dengan /%p/%u dipilih dan Mount Point of. /bucket Bucket ini dikaitkan dengan Project A dan Project B. Pengguna A di Project A dapat menulis file ke/bucket. Berbeda dengan skenario sebelumnya dengan hanya %p isolasi, Pengguna B dalam hal ini tidak akan melihat file yang ditulis Pengguna A di Proyek A/bucket, karena data diisolasi oleh proyek dan pengguna. File yang ditulis Pengguna A ditemukan di bucket S3 di bawah awalan /ProjectA/UserA sementara Pengguna B hanya dapat mengakses /ProjectA/UserB saat menggunakannya VDIs di Project A.

Akses bucket lintas akun

RES memiliki kemampuan untuk memasang bucket dari AWS akun lain, asalkan bucket ini memiliki izin yang tepat. Dalam skenario berikut, lingkungan RES di Akun A ingin memasang bucket S3 di Akun B.

Langkah 1: Buat Peran IAM di akun tempat RES digunakan (ini akan disebut sebagai Akun A):
  1. Masuk ke Konsol AWS Manajemen untuk akun RES yang memerlukan akses ke bucket S3 (Akun A).

  2. Buka Konsol IAM:

    1. Arahkan ke dasbor IAM.

    2. Di panel navigasi, pilih Kebijakan.

  3. Buat Kebijakan:

    1. Pilih Buat kebijakan.

    2. Pilih tab JSON.

    3. Tempel kebijakan JSON berikut (ganti <BUCKET-NAME> dengan nama bucket S3 yang terletak di Akun B):

      JSON
      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket", "s3:DeleteObject", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::<BUCKET-NAME>", "arn:aws:s3:::<BUCKET-NAME>/*" ] } ] }
    4. Pilih Selanjutnya.

  4. Tinjau dan buat kebijakan:

    1. Berikan nama untuk kebijakan (misalnya, “S3 AccessPolicy “).

    2. Tambahkan deskripsi opsional untuk menjelaskan tujuan kebijakan.

    3. Tinjau kebijakan dan pilih Buat kebijakan.

  5. Buka Konsol IAM:

    1. Arahkan ke dasbor IAM.

    2. Di panel navigasi, pilih Peran.

  6. Buat Peran:

    1. Pilih Buat peran.

    2. Pilih Kebijakan kepercayaan khusus sebagai jenis entitas tepercaya.

    3. Rekatkan kebijakan JSON berikut (ganti <ACCOUNT_ID> dengan ID akun A yang sebenarnya, <ENVIRONMENT_NAME> dengan nama lingkungan penerapan RES, dan <REGION> dengan AWS wilayah RES digunakan):

      JSON
      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<ACCOUNT_ID>:role/<ENVIRONMENT_NAME>-custom-credential-broker-lambda-role-<REGION>" }, "Action": "sts:AssumeRole" } ] }
    4. Pilih “Next”.

  7. Lampirkan Kebijakan Izin:

    1. Cari dan pilih kebijakan yang Anda buat sebelumnya.

    2. Pilih “Next”.

  8. Tandai, Tinjau, dan Buat Peran:

    1. Masukkan nama peran (misalnya, “S3 AccessRole “).

    2. Di bawah Langkah 3, pilih Tambahkan Tag, lalu masukkan kunci dan nilai berikut:

      • Kunci: res:Resource

      • Nilai: s3-bucket-iam-role

    3. Tinjau peran dan pilih Buat peran.

  9. Gunakan Peran IAM di RES:

    1. Salin peran IAM ARN yang Anda buat.

    2. Masuk ke konsol RES.

    3. Di panel navigasi kiri, pilih S3 Bucket.

    4. Pilih Add Bucket dan isi formulir dengan bucket S3 lintas akun ARN.

    5. Pilih Pengaturan lanjutan - dropdown opsional.

    6. Masukkan peran ARN di bidang ARN peran IAM.

    7. Pilih Tambahkan Ember.

Langkah 2: Ubah kebijakan bucket di Akun B
  1. Masuk ke Konsol AWS Manajemen untuk Akun B.

  2. Buka Konsol S3:

    1. Arahkan ke dasbor S3.

    2. Pilih bucket yang ingin Anda berikan aksesnya.

  3. Edit Kebijakan Bucket:

    1. Pilih tab Izin dan pilih Kebijakan Bucket.

    2. Tambahkan kebijakan berikut untuk memberikan peran IAM dari Akun A akses ke bucket (ganti <AccountA_ID> dengan ID akun aktual Akun A dan <BUCKET-NAME> dengan nama bucket S3):

      JSON
      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/S3AccessRole" }, "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket", "s3:DeleteObject", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::<BUCKET-NAME>", "arn:aws:s3:::<BUCKET-NAME>/*" ] } ] }
    3. Pilih Simpan.

Mencegah eksfiltrasi data dalam VPC pribadi

Untuk mencegah pengguna mengeksfiltrasi data dari bucket S3 aman ke bucket S3 mereka sendiri di akun mereka, Anda dapat melampirkan titik akhir VPC untuk mengamankan VPC pribadi Anda. Langkah-langkah berikut menunjukkan cara membuat titik akhir VPC untuk layanan S3 yang mendukung akses ke bucket S3 di dalam akun Anda, serta akun tambahan apa pun yang memiliki bucket lintas akun.

  1. Buka Konsol VPC Amazon:

    1. Masuk ke Konsol AWS Manajemen.

    2. Buka konsol VPC Amazon di. https://console.aws.amazon.com/vpc/

  2. Buat Endpoint VPC untuk S3:

    1. Di panel navigasi kiri, pilih Endpoints.

    2. Pilih Buat Titik Akhir.

    3. Untuk kategori Layanan, pastikan bahwa AWS layanan dipilih.

    4. Di bidang Nama Layanan, masukkan com.amazonaws.<region>.s3 (ganti <region> dengan AWS wilayah Anda) atau cari “S3".

    5. Pilih layanan S3 dari daftar.

  3. Konfigurasikan Pengaturan Titik Akhir:

    1. Untuk VPC, pilih VPC tempat Anda ingin membuat titik akhir.

    2. Untuk Subnet, pilih kedua subnet pribadi yang digunakan untuk Subnet VDI selama penerapan.

    3. Untuk Aktifkan nama DNS, pastikan opsi dicentang. Ini memungkinkan nama host DNS pribadi diselesaikan ke antarmuka jaringan titik akhir.

  4. Konfigurasikan Kebijakan untuk Membatasi Akses:

    1. Di bawah Kebijakan, pilih Kustom.

    2. Di editor kebijakan, masukkan kebijakan yang membatasi akses ke sumber daya dalam akun Anda atau akun tertentu. Berikut adalah contoh kebijakan (ganti mybucket dengan nama bucket S3 Anda dan 111122223333 dan 444455556666 dengan AWS akun yang sesuai IDs yang ingin Anda akses):

      JSON
      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:*", "Resource": [ "arn:aws:s3:::mybucket", "arn:aws:s3:::mybucket/*" ], "Condition": { "StringEquals": { "aws:PrincipalAccount": [ "111122223333", // Your Account ID "444455556666" // Another Account ID ] } } } ] }
  5. Buat Endpoint:

    1. Meninjau pengaturan Anda.

    2. Pilih Buat titik akhir.

  6. Verifikasi Endpoint:

    1. Setelah titik akhir dibuat, navigasikan ke bagian Endpoints di konsol VPC.

    2. Pilih endpoint yang baru dibuat.

    3. Verifikasi bahwa Negara Tersedia.

Dengan mengikuti langkah-langkah ini, Anda membuat titik akhir VPC yang memungkinkan akses S3 yang dibatasi untuk sumber daya dalam akun Anda atau ID akun tertentu.

Pemecahan Masalah

Cara memeriksa apakah ember gagal dipasang pada VDI

Jika bucket gagal dipasang pada VDI, ada beberapa lokasi di mana Anda dapat memeriksa kesalahan. Ikuti langkah-langkah di bawah ini.

  1. Periksa Log VDI:

    1. Masuk ke Konsol AWS Manajemen.

    2. Buka EC2 Konsol dan arahkan ke Instans.

    3. Pilih instance VDI yang Anda luncurkan.

    4. Connect ke VDI melalui Session Manager.

    5. Jalankan perintah berikut:

      sudo su cd ~/bootstrap/logs

      Di sini, Anda akan menemukan log bootstrap. Rincian kegagalan apa pun akan ditemukan di configure.log.{time} file.

      Selain itu, periksa /etc/message log untuk lebih jelasnya.

  2. Periksa Log CloudWatch Lambda Broker Kredensi Kustom:

    1. Masuk ke Konsol AWS Manajemen.

    2. Buka CloudWatch Konsol dan arahkan ke Grup log.

    3. Cari grup log/aws/lambda/<stack-name>-vdc-custom-credential-broker-lambda.

    4. Periksa grup log pertama yang tersedia dan temukan kesalahan apa pun di dalam log. Log ini akan berisi detail mengenai potensi masalah yang menyediakan kredensil khusus sementara untuk memasang bucket S3.

  3. Periksa CloudWatch Log API Gateway API Credential Kustom:

    1. Masuk ke Konsol AWS Manajemen.

    2. Buka CloudWatch Konsol dan arahkan ke Grup log.

    3. Cari grup log<stack-name>-vdc-custom-credential-broker-lambdavdccustomcredentialbrokerapigatewayaccesslogs<nonce>.

    4. Periksa grup log pertama yang tersedia dan temukan kesalahan apa pun di dalam log. Log ini akan berisi detail mengenai permintaan dan tanggapan apa pun terhadap API Gateway untuk kredensil khusus yang diperlukan untuk memasang bucket S3.

Cara mengedit konfigurasi peran IAM bucket setelah onboarding

  1. Masuk ke Konsol AWS DynamoDB.

  2. Pilih Tabel:

    1. Di panel navigasi kiri, pilih Tabel.

    2. Temukan dan pilih<stack-name>.cluster-settings.

  3. Pindai Tabel:

    1. Pilih Jelajahi item tabel.

    2. Pastikan Pemindaian dipilih.

  4. Tambahkan Filter:

    1. Pilih Filter untuk membuka bagian entri filter.

    2. Atur filter agar sesuai dengan kunci Anda-

      • Atribut: Masukkan kuncinya.

      • Kondisi: Pilih Dimulai dengan.

      • Nilai: Masukkan shared-storage.<filesystem_id>.s3_bucket.iam_role_arn penggantian <filesystem_id> dengan nilai sistem file yang perlu dimodifikasi.

  5. Jalankan Pemindaian:

    Pilih Jalankan untuk menjalankan pemindaian dengan filter.

  6. Periksa nilainya:

    Jika entri ada, pastikan nilainya diatur dengan benar dengan ARN peran IAM yang tepat.

    Jika entri tidak ada:

    1. Pilih Buat item.

    2. Masukkan detail item:

      • Untuk atribut kunci, masukkanshared-storage.<filesystem_id>.s3_bucket.iam_role_arn.

      • Tambahkan ARN peran IAM yang benar.

    3. Pilih Simpan untuk menambahkan item.

  7. Mulai ulang instance VDI:

    Reboot instance untuk memastikan VDIs yang terpengaruh oleh peran IAM yang salah ARN dipasang lagi.

Mengaktifkan CloudTrail

Untuk mengaktifkan CloudTrail di akun Anda menggunakan CloudTrail konsol, ikuti petunjuk yang disediakan di Membuat jejak dengan CloudTrail konsol di Panduan AWS CloudTrail Pengguna. CloudTrail akan mencatat akses ke bucket S3 dengan merekam peran IAM yang mengaksesnya. Ini dapat ditautkan kembali ke ID instance, yang ditautkan ke proyek atau pengguna.