全部产品
Search
文档中心

Object Storage Service:Mengurangi risiko akses tidak sah yang disebabkan oleh kebocoran pasangan AccessKey

更新时间:Jul 06, 2025

Jika pasangan AccessKey milik pengguna individu atau perusahaan bocor, pihak yang tidak berwenang dapat mengakses sumber daya Object Storage Service (OSS). Hal ini menimbulkan ancaman terhadap keamanan data. Untuk mengatasi masalah ini, OSS menyediakan praktik terbaik guna memastikan keamanan data.

Penting

Praktik terbaik berikut merupakan langkah-langkah keamanan umum, bukan solusi keamanan lengkap. Praktik ini hanya bersifat referensi dan mungkin tidak sesuai untuk semua skenario bisnis. Kami menyarankan Anda tetap waspada terhadap ancaman keamanan data dan mengambil langkah pencegahan yang diperlukan.

Atur ACL bucket atau objek Anda menjadi privat

Hindari mengatur daftar kontrol akses (ACL) bucket atau objek menjadi public-read atau public-read-write, kecuali bisnis Anda mengharuskan semua pengguna, termasuk anonim, membaca atau menulis data ke sumber daya OSS. Berikut adalah dampak dari pengaturan tersebut:

  • Public-read-write: Semua pengguna, termasuk anonim, dapat membaca dan menulis data ke objek dalam bucket.

    Peringatan

    Semua pengguna internet dapat mengakses objek dalam bucket dan menulis data ke bucket. Hal ini dapat menyebabkan kebocoran data serta biaya tak terduga yang tinggi. Jika pengguna menulis data atau informasi terlarang ke objek dalam bucket, hak dan kepentingan sah Anda mungkin dilanggar. Kami menyarankan agar Anda tidak mengatur ACL bucket menjadi public-read-write kecuali benar-benar diperlukan.

  • Public-read: Hanya pemilik bucket yang dapat menulis data ke objek dalam bucket. Pengguna lainnya, termasuk anonim, dapat membaca data dari objek dalam bucket.

    Peringatan

    Semua pengguna internet dapat mengakses objek dalam bucket. Hal ini dapat menyebabkan kebocoran data serta biaya tak terduga yang tinggi. Harap berhati-hati saat mengatur ACL bucket menjadi public-read.

Bucket atau objek dengan akses public-read atau public-read-write dapat menyebabkan pelanggaran data. Oleh karena itu, kami menyarankan Anda mengatur ACL objek atau bucket menjadi privat. Jika Anda mengatur ACL bucket menjadi privat, hanya pemilik bucket yang dapat membaca dan menulis data ke objek dalam bucket. Pastikan bahwa bisnis Anda tidak terpengaruh sebelum mengubah ACL objek atau bucket menjadi privat.

Anda dapat menggunakan beberapa metode untuk mengatur ACL objek atau bucket menjadi privat. Untuk informasi lebih lanjut, lihat ACL Bucket dan Konfigurasikan ACL untuk Objek.

Jangan sertakan pasangan AccessKey teks biasa dalam kode atau simpan secara lokal pasangan AccessKey yang dienkripsi

Pasangan AccessKey teks biasa dalam kode dapat bocor bersama dengan kode. Pasangan AccessKey yang dienkripsi dan disimpan secara lokal juga tidak aman karena konten yang dienkripsi dan didekripsi disimpan di memori, dan data di memori dapat disalin ke perangkat lain. Aplikasi seluler dan aplikasi di komputer rentan terhadap risiko ini. Penyerang dapat menggunakan teknologi seperti injeksi, API hooking, dan debugging dinamis untuk mendapatkan data yang didekripsi.

Untuk menghindari penyertaan pasangan AccessKey teks biasa dalam kode, Anda dapat menggunakan Plugin Rahasia Terkelola untuk Alibaba Cloud SDK di server. Dengan cara ini, Anda dapat mencegah pasangan AccessKey bocor bersama dengan kode sumber atau kode yang dikompilasi. Untuk informasi lebih lanjut tentang Plugin Rahasia Terkelola untuk Alibaba Cloud SDK, lihat Plugin Rahasia Terkelola untuk Alibaba Cloud SDK.

Penting

Metode ini tidak berlaku untuk klien. Jangan sematkan pasangan AccessKey di klien.

Akses OSS menggunakan pengguna RAM

Pasangan AccessKey akun Alibaba Cloud memiliki izin untuk semua Operasi API. Menggunakan kredensial ini untuk melakukan operasi di OSS merupakan operasi berisiko tinggi. Kami menyarankan Anda menggunakan pengguna RAM untuk memanggil Operasi API atau melakukan O&M rutin.

Anda dapat membuat pengguna RAM dan memberikan izin berbeda kepada pengguna RAM untuk mengelola akses ke sumber daya Anda. RAM membantu Anda menjaga kerahasiaan ketat akun dan kata sandi Alibaba Cloud Anda dalam skenario di mana beberapa pengguna di perusahaan Anda perlu mengelola sumber daya cloud secara kolaboratif. Ini juga memungkinkan Anda memberikan pengguna izin minimum yang diperlukan untuk memastikan keamanan data. Untuk informasi lebih lanjut, lihat Buat Pengguna RAM.

Setelah membuat pengguna RAM, Anda dapat menggunakan kebijakan RAM untuk memberikan izin kepada pengguna RAM. Dengan cara ini, Anda dapat mengelola pengguna Anda, seperti karyawan, sistem, dan aplikasi, serta mengelola sumber daya yang dapat diakses oleh pengguna ini. Sebagai contoh, Anda dapat menggunakan kebijasan RAM berikut untuk mencegah pengguna RAM tertentu mengakses bucket bernama examplebucket dan objek atau direktori di dalam bucket examplebucket.

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "oss:*",
            "Resource": [
                "acs:oss:*:*:examplebucket",
                "acs:oss:*:*:examplebucket/*"
            ]
        }
    ]
}

Anda juga dapat menggunakan kebijakan RAM untuk mencegah pengguna RAM menghapus direktori di dalam bucket atau memberi otorisasi kepada pengguna RAM untuk hanya membaca sumber daya di dalam bucket. Untuk informasi lebih lanjut, lihat Contoh Umum Kebijakan RAM.

Aktifkan MFA

Otentikasi multi-faktor (MFA) adalah metode otentikasi yang mudah digunakan dan efektif. Jika Anda mengaktifkan MFA, nama pengguna dan kata sandi Anda serta kode verifikasi dinamis yang dihasilkan oleh perangkat MFA diperlukan saat Anda masuk ke Konsol Manajemen Alibaba Cloud. Dengan cara ini, akses tidak sah dapat dicegah untuk memastikan keamanan akun Alibaba Cloud Anda jika terjadi kebocoran kata sandi.

Anda dapat mengaktifkan MFA untuk akun Alibaba Cloud Anda. Untuk informasi lebih lanjut, lihat Tautkan Perangkat MFA ke Akun Alibaba Cloud. Anda juga dapat mengaktifkan MFA untuk pengguna RAM. Untuk informasi lebih lanjut, lihat Tautkan Perangkat MFA ke Pengguna RAM.

Akses OSS menggunakan kredensial akses sementara yang disediakan oleh STS

Anda dapat menggunakan Security Token Service (STS) untuk menghasilkan kredensial akses sementara guna memberi otorisasi kepada pengguna RAM mengakses sumber daya OSS Anda dalam periode waktu tertentu. Dengan cara ini, Anda tidak perlu berbagi pasangan AccessKey Anda, sehingga memastikan keamanan data yang lebih tinggi.

Untuk informasi lebih lanjut tentang cara mengakses OSS menggunakan kredensial akses sementara yang disediakan oleh STS, lihat Gunakan Kredensial Sementara yang Disediakan oleh STS untuk Mengakses OSS.

Konfigurasikan kebijakan bucket

Anda dapat mengonfigurasi kebijakan bucket untuk memberikan izin kepada pengguna lain mengakses sumber daya OSS tertentu di dalam bucket. Sebagai contoh, Anda dapat mengonfigurasi kebijakan bucket untuk memberikan izin kepada akun lain mengakses atau mengelola semua sumber daya atau sebagian sumber daya di dalam bucket Anda. Anda juga dapat mengonfigurasi kebijakan bucket untuk memberikan izin berbeda kepada pengguna RAM yang berbeda dari akun yang sama.

Saat mengonfigurasi kebijakan bucket, ikuti prinsip hak istimewa minimal (PoLP) untuk mengurangi risiko keamanan.

  • Jangan berikan izin kepada pengguna untuk mengakses semua sumber daya di dalam bucket Anda

    Untuk mencegah izin berlebihan dan akses ilegal, kami menyarankan Anda hanya memberikan izin pada jalur sumber daya yang diperlukan.

  • Jangan izinkan akses anonim

    Akun anonim dapat digunakan untuk mengakses OSS jika titik akhir dan nama bucket diberikan. Namun, titik akhir dapat dienumerasi, dan nama bucket dapat diperoleh dari URL objek yang dapat diakses oleh akun tersebut. Oleh karena itu, akses anonim meningkatkan risiko keamanan.

  • Tentukan Action

    Saat mengonfigurasi kebijakan bucket di Konsol OSS, Action yang menyediakan empat operasi otorisasi hanyalah metode nyaman bagi pengguna untuk mengonfigurasi kebijakan, dan tindakan yang ditentukan mungkin tidak memenuhi persyaratan bisnis Anda. Kami menyarankan Anda hanya memberikan izin yang diperlukan kepada pengguna dengan menggunakan Pengaturan Lanjutan. Sebagai contoh, izin hanya-baca mencakup oss:ListObjects dan oss:GetObject. Dalam sebagian besar skenario, hanya izin oss:GetObject yang diperlukan jika Anda ingin mengunduh objek.

  • Aktifkan HTTPS untuk Akses

    Anda dapat mengaktifkan HTTPS untuk menyelesaikan masalah seperti serangan man-in-the-middle dan pembajakan domain. Selain itu, jika Anda menggunakan Google Chrome untuk melihat situs web HTTPS, sumber daya HTTP situs web tersebut tidak dapat dimuat secara default. Pastikan Anda mengaktifkan HTTPS. HTTPS adalah metode paling hemat biaya untuk menyelesaikan berbagai masalah.

  • Tentukan Alamat IP Sumber

    Jika alamat IP yang digunakan untuk mengakses sumber daya OSS tetap dan dapat dienumerasi, kami menyarankan Anda mengonfigurasi alamat IP.

Sebagai contoh, Anda dapat menggunakan kebijakan bucket untuk memberikan izin kepada pengguna RAM Test mengunduh semua objek di direktori log di examplebucket menggunakan OSS SDK atau alat baris perintah ossutil.

policy