
مجموعة أدوات أمان لـ Amazon S3
مجموعة أدوات أمنية لـ Amazon S3

🍊 مُختبَرة ميدانيًا في Instacart
شغّل:
pip install s3tk
يمكنك استخدام AWS CLI أو AWS Vault لإعداد بيانات اعتماد AWS الخاصة بك:
pip install awscli
aws configure
راجع سياسات IAM المطلوبة لكل أمر.
افحص دلاءك بحثًا عن:
s3tk scan
فقط على حاويات محددة
s3tk scan my-bucket my-bucket-2
يعمل أيضًا مع أحرف البدل
s3tk scan "my-bucket*"
تأكيد دلاء السجلات (log bucket) والبادئة الصحيحة
s3tk scan --log-bucket my-s3-logs --log-bucket other-region-logs --log-prefix "{bucket}/"
تحقق من تسجيل CloudTrail على مستوى الكائن [تجريبي]
s3tk scan --object-level-logging
تخطَّ التسجيل أو إدارة الإصدارات أو التشفير الافتراضي
s3tk scan --skip-logging --skip-versioning --skip-default-encryption
احصل على إشعارات بالبريد الإلكتروني عند حدوث أعطال (عبر SNS)
s3tk scan --sns-topic arn:aws:sns:...
عرض سياسات الدلو
s3tk list-policy
فقط على حاويات محددة
s3tk list-policy my-bucket my-bucket-2
إظهار العبارات المسماة
s3tk list-policy --named
ملاحظة: هذا يستبدل السياسة السابقة
رفعات خاصة فقط
s3tk set-policy my-bucket --no-object-acl
سياسة الحذف
s3tk delete-policy my-bucket
حظر الوصول العام على حاويات محددة
s3tk block-public-access my-bucket my-bucket-2
استخدم العلامة --dry-run للاختبار
تمكين التسجيل على جميع الحاويات
s3tk enable-logging --log-bucket my-s3-logs
فقط على حاويات محددة
s3tk enable-logging my-bucket my-bucket-2 --log-bucket my-s3-logs
عيّن بادئة السجل ({bucket}/ افتراضيًا)
s3tk enable-logging --log-bucket my-s3-logs --log-prefix "logs/{bucket}/"
استخدم العلامة --dry-run للاختبار
بعض الملاحظات حول التسجيل:
فعّل الإصدارات على جميع الحزم
s3tk enable-versioning
فقط على حاويات محددة
s3tk enable-versioning my-bucket my-bucket-2
استخدم العلامة --dry-run للاختبار
فعّل التشفير الافتراضي على جميع الحاويات
s3tk enable-default-encryption
فقط على حاويات محددة
s3tk enable-default-encryption my-bucket my-bucket-2
هذا لا يشفّر الكائنات الموجودة - استخدم الأمر encrypt لهذا الغرض
استخدم العلامة --dry-run للاختبار
فحص ACL على جميع الكائنات في حاوية
s3tk scan-object-acl my-bucket
كائنات معينة فقط
s3tk scan-object-acl my-bucket --only "*.pdf"
باستثناء بعض الكائنات
s3tk scan-object-acl my-bucket --except "*.jpg"
إعادة تعيين قائمة التحكم بالوصول (ACL) على جميع الكائنات في حاوية (bucket)
s3tk reset-object-acl my-bucket
هذا يجعل جميع الكائنات خاصة. راجع سياسات الدلو لمعرفة كيفية فرض ذلك مستقبلاً.
استخدم علامة --dry-run للاختبار
حدد كائنات معينة بالطريقة نفسها كما في scan-object-acl
شفّر جميع الكائنات في دلو باستخدام التشفير من جانب الخادم
s3tk encrypt my-bucket
استخدم مفاتيح مُدارة بواسطة S3 افتراضيًا. بالنسبة لـ المفاتيح المُدارة بواسطة KMS، استخدم:
s3tk encrypt my-bucket --kms-key-id arn:aws:kms:...
لمفاتيح التي يوفرها العميل، استخدم:
s3tk encrypt my-bucket --customer-key secret-key
استخدم العلامة --dry-run للاختبار
حدّد كائنات معينة بالطريقة نفسها كما في scan-object-acl
ملاحظة: ستفقد الكائنات أي قائمة ACL مخصصة
احذف جميع الإصدارات غير المشفرة للكائنات في حاوية
s3tk delete-unencrypted-versions my-bucket
للسلامة، لن يحذف هذا أي إصدارات حالية من الكائنات
استخدم علامة --dry-run للاختبار
حدد كائنات معينة بالطريقة نفسها كما في scan-object-acl
افحص Route 53 بحثًا عن الحاويات للتأكد من أنك تملكها
s3tk scan-dns
وإلا، فقد تكون عرضة لـ الاستيلاء على النطاقات الفرعية
يمكن تحديد بيانات الاعتماد في ~/.aws/credentials أو باستخدام متغيرات البيئة. راجع هذا الدليل للحصول على شرح لمتغيرات البيئة.
يمكنك تحديد ملف تعريف لاستخدامه مع:
AWS_PROFILE=your-profile s3tk
فيما يلي الأذونات المطلوبة لكل أمر. قم بتضمين العبارات التي تحتاجها فقط.