یکی از مهم‌ترین ویژگی‌های هر سرویس فضای ابری، امکان رمزنگاری داده‌ها و مدیریت تنظیمات امنیتی است. در فضای ابری آروان، به‌راحتی می‌توانید این تنظیمات را در S3cmd اعمال و داده‌هایتان را هنگام بارگذاری در صندوقچه رمزنگاری کنید.

در این روش رمزنگاری (SSE-C)، کاربر یک کلید رمزنگاری را به همراه هر درخواست برای خواندن یا نوشتن داده‌های رمزگذاری‌شده ارسال می‌کند. مدیریت این کلیدها و مسوولیت به خاطر سپردن این‌که از کدام کلید برای رمزگذاری هر فایل استفاده شده است نیز برعهده‌ی کاربر است.

پیکربندی فایل s3cfg.

فایل s3cfg. که پیش‌تر در این مقاله تنظیم کرده‌اید را با ویرایش‌گر متن دل‌خواهتان باز کنید:

nano ~/.s3cfg

خطوط زیر را به این فایل اضافه کنید تا امکان رمزنگاری برایتان فعال شود:

check_ssl_certificate = True
check_ssl_hostname = True
gpg_command = /usr/bin/gpg
gpg_decrypt = %(gpg_command)s -d --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_encrypt = %(gpg_command)s -c --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_passphrase = password

توجه داشته باشید که باید مقدار

gpg_passphrase
را با مقدار دل‌خواهتان جایگزین کنید.

رمزنگاری داده‌ها هنگام آپلود

برای این‌که فایلی که آپلود می‌کنید رمزنگاری شود کافی است از سوییچ

e-
استفاده کنید. برای نمونه در این دستور فایل
test.txt
را در صندوقچه‌ی
bucket
به‌شکل رمزنگاری‌شده آپلود می‌کنیم:

s3cmd -e put test.txt s3://bucket

برای اطمینان از این فرآیند، می‌توانید از طریق پنل کاربری آروان، URL فایل‌ را کپی و آن را در مرورگر بررسی کنید.

رمزگشایی داده‌ها

برای دانلود یک فایل با استفاده از S3cmd، فایل به‌شکل خودکار رمزگشایی می‌شود و می‌توانید محتوای آن را ببینید:

s3cmd get s3://bucket/test.txt

ساخت URL با دسترسی محدود

علاوه‌بر رمزنگاری داده‌ها برای تامین امنیت یک فایل خصوصی، می‌توانید آن را Sign کنید. به این معنا که کاربران برای دسترسی به فایل خصوصی یک لینک موقت با یک تاریخ انقضا مشخص دریافت می‌کنند.

این تنظیمات به‌راحتی و با استفاده از قابلیت «اشتراک‌گذاری سریع» در پنل کاربری در اختیارتان قرار دارد.

هم‌چنین می‌توانید این قابلیت را در S3cmd هم تنظیم کنید. برای این کار باید ابتدا تاریخی که در نظر دارید را به Unix Epoch تبدیل کنید و عددی مانند 1684675279 دریافت کنید.

سپس دستور زیر را اجرا کنید تا URL را تا آن زمان Sign کنید:

s3cmd signurl s3://bucket/test.txt 1684675279

در خروجی این دستور، می‌توانید لینک Signشده را مشاهده و دریافت کنید:

https://s3.ir-thr-at1.arvanstorage.com/bucket/test.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=e9b3f6c4-aca4-436c-a967-1a59fd5d5dcf%2F20230521%2Fdefault%2Fs3%2Faws4_request&X-Amz-Date=20230521T132618Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=311eb41eba660d3ddb50352b1a88552dc5602d140f9952ffae52cf1f9623c55f