AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) · Pelajaran

Melindungi Akses Data S3

Konfigurasikan kawalan akses untuk baldi dan objek S3 menggunakan dasar baldi, ACL dan URL prapandatangan.

Pelajaran 3 daripada 411 langkah

Melindungi Akses Data S3 ialah pelajaran AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda), dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) merangkumi sejumlah 4 pelajaran.

Keselamatan S3: Mengapa Ia Penting

Amazon S3 ialah perkhidmatan storan yang sangat tahan lama dan tersedia, tetapi melindungi data anda amat penting. Bucket S3 yang dikonfigurasikan dengan salah boleh mendedahkan maklumat sensitif kepada internet awam.

Dalam pelajaran ini, kita akan meneroka mekanisme utama yang disediakan oleh AWS untuk mengawal pihak yang boleh mengakses data S3 anda.

Asas Kawalan Akses dalam S3

S3 menggunakan beberapa lapisan untuk mengurus akses:

  • Dasar Bucket: Dasar berasaskan JSON yang digunakan pada bucket.
  • Senarai Kawalan Akses (ACL): Kebenaran lama yang lebih terperinci untuk bucket dan objek.
  • URL Pratandatangan: Akses sementara dan terhad masa kepada objek tertentu.

Memahami perkara ini membantu anda melaksanakan prinsip keistimewaan minimum.

Memahami Dasar Bucket

Dasar Bucket ialah dasar berasaskan sumber yang ditulis dalam JSON. Dasar ini mentakrifkan kebenaran untuk tindakan pada bucket dan objeknya.

Dasar ini berkuasa kerana boleh memberikan atau menolak akses kepada akaun AWS, pengguna IAM, peranan tertentu atau pengguna tanpa nama.

Anatomi Dasar Bucket

Dasar bucket terdiri daripada pernyataan dengan elemen utama berikut:

  • Effect: Allow atau Deny.
  • Principal: Pihak yang dibenarkan atau ditolak (contohnya ARN pengguna IAM).
  • Action: Tindakan yang dibenarkan (contohnya s3:GetObject, s3:PutObject).
  • Resource: Sumber yang membenarkan tindakan tersebut (contohnya arn:aws:s3:::your-bucket/*).

Contoh Dasar Bucket: Baca Sahaja

Berikut ialah dasar yang memberikan akses baca sahaja kepada pengguna IAM (arn:aws:iam::123456789012:user/DevUser) untuk semua objek dalam my-example-bucket.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:user/DevUser"
      },
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion"
      ],
      "Resource": "arn:aws:s3:::my-example-bucket/*"
    }
  ]
}

Pengenalan kepada ACL S3

Senarai Kawalan Akses (ACL) ialah mekanisme kawalan akses lama yang wujud sebelum dasar bucket. ACL memberikan kebenaran tertentu (READ, WRITE, FULL_CONTROL) kepada akaun AWS lain atau kumpulan S3 yang dipratentukan.

ACL biasanya digunakan untuk akses merentas akaun atau apabila objek dimiliki oleh akaun yang berbeza daripada akaun pemilik bucket.

ACL berbanding Dasar Bucket

Walaupun kedua-duanya mengawal akses, Dasar Bucket biasanya lebih disukai kerana fleksibiliti dan pengurusan berpusatnya. Dasar ini membolehkan syarat yang kompleks dan kebenaran yang terperinci.

ACL lebih ringkas dan digunakan terutamanya untuk memberikan akses baca/tulis asas kepada objek individu atau apabila pemilikan objek berbeza daripada pemilik bucket (contohnya apabila objek dimuat naik oleh akaun lain).

Apakah URL Pratandatangan?

URL Pratandatangan memberikan akses sementara dan terhad masa kepada objek S3 tertentu. Pengguna yang diberi kuasa (atau aplikasi dengan kelayakan yang sesuai) menjana URL ini.

Ia sesuai untuk situasi seperti berkongsi fail peribadi dengan selamat selama beberapa minit atau membenarkan pengguna memuat naik fail terus ke S3 tanpa mendedahkan kelayakan AWS anda.

Jana URL Pratandatangan

Berikut ialah contoh Python yang menggunakan pustaka boto3 untuk mencipta URL pratandatangan bagi memuat turun objek. URL tersebut akan sah selama 3600 saat (1 jam).

import boto3

def create_presigned_url(bucket_name, object_name, expiration=3600):
    s3_client = boto3.client('s3')
    try:
        response = s3_client.generate_presigned_url('get_object',
                                                    Params={'Bucket': bucket_name,
                                                            'Key': object_name},
                                                    ExpiresIn=expiration)
    except Exception as e:
        print(f"Error generating presigned URL: {e}")
        return None
    return response

if __name__ == '__main__':
    # Replace with your bucket and object details
    my_bucket = "your-unique-bucket-name"
    my_object = "my-secret-document.pdf"

    url = create_presigned_url(my_bucket, my_object)
    if url:
        print(f"Pre-signed URL for {my_object}:")
        print(url)
    else:
        print("Failed to generate URL.")

Semakan Pantas

Apakah kaedah kawalan akses S3 yang biasanya lebih disukai untuk kebenaran menyeluruh dan berpusat pada bucket serta objeknya?

Ringkasan: Melindungi Data S3

Kita telah membincangkan tiga cara utama untuk melindungi data S3 anda:

  • Dasar Bucket: Peraturan berasaskan JSON yang berkuasa untuk kawalan akses menyeluruh pada peringkat bucket.
  • ACL: Kebenaran pada peringkat objek untuk situasi tertentu seperti muat naik merentas akaun.
  • URL Pratandatangan: Akses sementara dan terhad masa kepada objek individu, sesuai untuk perkongsian atau muat naik terus.

Sentiasa gunakan prinsip keistimewaan minimum apabila melindungi sumber S3 anda!

Percuma untuk bermula

Pelajari AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Melindungi Akses Data S3” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda), termasuk “Melindungi Akses Data S3”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Melindungi Akses Data S3”?

Konfigurasikan kawalan akses untuk baldi dan objek S3 menggunakan dasar baldi, ACL dan URL prapandatangan. Anda berlatih AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda)?

Tiada pengalaman terdahulu diperlukan. Pembelajaran AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Melindungi Akses Data S3” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) ini?

Ya. Setiap pelajaran AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Penjelasan Baldi dan Objek S3
  2. Penerapan Versi dan Dasar Kitar Hayat S3
  3. Melindungi Akses Data S3
  4. Mengehos Laman Web Statik dan Penyampaian CDN
← Kembali ke AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda)