Komunitas Cloud Indonesia

Proteksi Download File Dengan Amazon S3

Penulis :   |   October 8, 2012

Hal yang paling menarik dari menggunakan Amazon Web Service adalah karena layanan ini menyediakan software development kit atau sering disebut dengan SDK untuk dapat mengatur / managing semua layanan service yang mereka sediakan. SDK ini tersedia dalam berbagai bahasa seperti Java, .NET, Ruby, Python dan PHP. Dengan menggunakan SDK ini kita dapat berkreasi apa saja dengan menyambung aplikasi yang kita buat untuk dapat berinteraksi menggunakan Amazon Web Service, seperti yang akan saya bahas dalam artikel ini adalah bagaimana kita dapat proteksi download file dengan menggunakan Amazon S3.

Seperti yang sudah saya bahas sebelumnya kita dapat menggunakan Amazon S3 sebagai penyimpanan file yang aman. Kita dapat dengan mudah mengatur apakah file tersebut hanya dapat diakses oleh private maupun public. Tapi dengan menggunakan SDK kita dapat memberi akses sementara untuk melakukan download terhadap file-file tersebut. Hal ini tentunya dapat diaplikasikan untuk file-file yang berbayar, dimana pengunjug kita dapat mengakses file kita tersebut jika sudah melakukan pembayaran.

Selanjutnya saya akan memberikan sedikit code bagaimana kita dapat melakukan memberikan akses sementara bagi para pengunjung untuk dapat melakukan download terhadapt file yang kita host di Amazon S3.

Sebelumnya kita haru mendownload AWS SDK yang dapat diambil di tautan ini. Karena saya memberikan contoh dalam PHP maka ambil AWS SDK yang untuk PHP saja. Untuk menggunakan bahasa lain saya kira logika dan algoritmanya akan tetap sama.

Kemudian lakukan setting pada config.inc.php didalam file sdk yang kita download tersebut. Setting yang paling penting di lakukan adalah ‘key’ dan ‘secret’. Field tersebut di isi dengan AWS KEY dan AWS SECRET yang akan kita dapatkan di account Amazon AWS kita pada bagian security credentials.

Untuk contoh code nya bisa lihat berikut ini:

<?php
require_once 'sdk/sdk.class.php';
//header('Content-Type: text/plain; charset=utf-8');

$bucket = 'Put-Bucket-name';
$filename = "Put-File-Name"; 

$sts = new AmazonSTS();
$response = $sts->get_session_token();

if (!$response->isOK()) {
	die('Cannot Connect to Amazon Web Service. Please check your configuration.');
}

$credentials = array(
	'key' => (string) $response->body->GetSessionTokenResult->Credentials->AccessKeyId,
	'secret' => (string) $response->body->GetSessionTokenResult->Credentials->SecretAccessKey,
	'token' => (string) $response->body->GetSessionTokenResult->Credentials->SessionToken,
);

// Instantiate S3
$s3 = new AmazonS3($credentials);
$exists = $s3->if_bucket_exists($bucket);

if (!$exists) {
    die('Cannot Connect to Amazon Web Service. Please check your configuration.');
}

/**
 * Do credential check or anything you want to check before allow your user to access your file here.
 */
//Download a temporary file
$url = $s3->get_object_url($bucket, $filename, "5 minutes");
header("Location: ".$url); //Download process

Contoh lengkap dapat di download disini:

[tweegi-button name=”Contoh Amazon AWS Untuk PHP”]

Akhir kata contoh yang saya berikan cuman contoh yang sangat sederhana, masih banyak kreasi-kreasi lainnya yang dapat kita gunakan dan menghubungkan aplikasi yang kita buat dengan amazon web service. Selamat berkreasi!

  1. ACCI – Asosiasi Cloud Computing Indonesia
  2. Lowongan .NET Developer
  3. Lowongan Android Developer
  4. Lowongan Java Developer
  5. Jakarta Cloud Computing Meetup 09.2016

Penulis :

Ivan Kristianto adalah pencinta dan pengguna aplikasi cloud computing. Sangat tertarik mengembangkan dan berbagi pengalaman dalam menggunakan cloud untuk meningkatkan produktifitas dan efisiensi dalam kehidupan sehari-hari.

Komentar

Leave a Reply

Your email address will not be published. Required fields are marked *