VPC Uç Noktaları ve Erişim Noktaları ile Amazon S3 Güvenliği
Farklı Virtual Private Cloud (VPC) ortamlarında çalışan birden fazla uygulama erişim gerektirdiğinde, Amazon S3'teki paylaşılan veri kümeleri için veri erişimini yönetmek hızla karmaşık hale gelebilir. Hassas verilerin yalnızca özel ağlarınızdan erişilebilir olmasını sağlamak bu durumu daha da zorlaştırır.
Bu rehberde, paylaşılan veri kümelerine erişimi güvenli bir şekilde yönetmek ve yetkisiz harici erişimi önlemek için S3 verileriniz etrafında etkili bir güvenlik duvarı oluşturmak üzere Amazon S3 VPC Uç Noktalarını (Endpoints) S3 Erişim Noktaları (Access Points) ile nasıl birleştireceğinizi inceleyeceğiz.
VPC Uç Noktaları ile Erişimi Güvenli Hale Getirmek
Amazon S3 için bir AWS VPC uç noktası yapılandırdığınızda, VPC'niz ile S3 arasında özel bir bağlantı kurarsınız. Bu trafik, bir internet ağ geçidi veya NAT cihazı gerektirmez.
Kuruluşlar genellikle belirli bucket'lara erişimi kısıtlamak için VPC uç noktası politikalarını kullanır:
{
"Statement": [
{
"Sid": "Access-to-specific-bucket-only",
"Principal": "*",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::my_secure_bucket",
"arn:aws:s3:::my_secure_bucket/*"
]
}
]
}
Ancak, daha fazla bucket oluşturdukça, bu politikayı manuel olarak güncellemek sıkıcı ve hataya açık hale gelir. S3 Erişim Noktaları burada daha ölçeklenebilir bir çözüm sunar.
S3 Erişim Noktaları Nasıl Çalışır?
S3 Erişim Noktaları, farklı izinleri ve ağ kontrollerini zorunlu kılan benzersiz ana bilgisayar adlarıdır (hostnames).
Temel avantajları şunlardır:
- Benzersiz bir AWS ARN ve ana bilgisayar adı.
- Varsayılan olarak genel erişimin (public access) engellenmesi.
- Hassas kontrol için özel IAM kaynak politikaları.
- İsteklerin yalnızca belirli bir VPC'den gelmesini kısıtlama yeteneği.
AWS S3 yönetimini basitleştirmek için, VPC uç noktası politikanızı tek tek bucket'ları listelemek yerine hesabınızdaki tüm Erişim Noktalarına erişime izin verecek şekilde yapılandırabilirsiniz.
VPC Uç Noktası Politikasını Oluşturma
S3 erişimine yalnızca hesabınıza ait bir Erişim Noktası üzerinden geçmesi durumunda izin veren bir VPC uç noktası politikasını nasıl kurabileceğiniz aşağıda açıklanmıştır:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "AllowUseOfS3",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": "*"
},
{
"Sid": "OnlyIfAccessedViaAccessPoints",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": "*",
"Condition": {
"ArnNotLikeIfExists": {
"s3:DataAccessPointArn": "arn:aws:s3:us-east-1:<Account ID>:accesspoint/*"
}
}
}
]
}
Bu politika ile, yeni oluşturulan herhangi bir bucket'a basitçe yalnızca VPC'ye özel bir Erişim Noktası atanabilir. VPC otomatik olarak bununla iletişim kurabilecektir ve uç noktası politikasını güncelleme ihtiyacını ortadan kaldırır.
Bucket Erişimini Bir VPC ile Sınırlandırmak
Verilerinize VPC'nizin dışından erişilemediğinden emin olmak için bir bucket politikası eklemelisiniz. Bu, istek yetkili VPC'nizden gelmediği sürece erişimi açıkça reddeder.
{
"Version": "2012-10-17",
"Id": "S3BukcetPolicyVPCAccessOnly",
"Statement": [
{
"Sid": "DenyIfNotFromAllowedVPC",
"Effect": "Deny",
"Principal": "*",
"Action": [
"s3:GetObject",
"s3:ListBucket",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::<bucket name>",
"arn:aws:s3:::<bucket name>/*"
],
"Condition": {
"StringNotEquals": {
"aws:SourceVpc": "<vpc id>"
}
}
}
]
}
Kuruluş Genelinde Yalnızca VPC Erişim Noktalarını Zorunlu Kılmak
Büyük ölçekte güvenliği garanti etmek için, tüm yeni S3 Erişim Noktalarının yalnızca VPC olmasını zorunlu kılan bir Hizmet Kontrol Politikası (SCP) uygulayabilirsiniz.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Effect": "Deny",
"Action": [
"s3:CreateAccessPoint"
],
"Resource": [
"*"
],
"Condition": {
"StringNotEqualsIfExists": {
"s3:AccessPointNetworkOrigin": [
"vpc"
]
}
}
}
]
}
Sonuç
Amazon S3'te çok kiracılı (multi-tenant) verileri yönetmek ölçeklenebilir güvenlik gerektirir. VPC Uç Noktalarını S3 Erişim Noktaları ile birlikte kullanarak, hassas verilerinizi genel internetten izole eden sağlam bir mimari oluşturabilirsiniz. Bu yaklaşım, AWS ortamınız genelinde uyumluluk ve güvenliği sağlarken manuel politika yönetimini azaltır.
Kaynak / Source: https://aws.amazon.com/blogs/storage/managing-amazon-s3-access-with-vpc-endpoints-and-s3-access-points/