Redshift, büyük veri çözümleri için bir veri ambarı olarak kullanılan, boyutu bir petabaytın üzerine ölçeklenebilen tamamen yönetilen bir hizmettir. Redshift kümeleme kullanarak, hızlı, SQL tabanlı sorgu araçları ve iş zekası uygulamaları kullanarak veri kümeleriniz üzerinde analiz yapabilir ve işletmenizin vizyonunu daha iyi anlayabilirsiniz.
Redshift, KMS veya CloudHSM kullanarak dört katmanlı bir şifreleme anahtar hiyerarşisi kullanarak dinlenme sırasında şifreleme sunar. Kümeniz için şifreleme etkinleştirildiğinde, devre dışı bırakılamaz ve tam tersi. Şifrelenmemiş bir kümeniz olduğunda, şifrelenemez.
Kümeniz için şifreleme yalnızca oluşturulma sırasında gerçekleşebilir ve bir kez şifrelenmişse, veri, meta veri ve herhangi bir anlık görüntü de şifrelenir. Şifreleme anahtarlarının katman düzeyi aşağıdaki gibidir, birinci katman anahtar, ikinci katman küme şifreleme anahtarı (CEK), üçüncü katman veritabanı şifreleme anahtarı (DEK) ve son olarak dördüncü katman veri şifreleme anahtarlarıdır.
KMS
Kümenizin oluşturulması sırasında, Redshift için varsayılan KMS anahtarını seçebilir veya kendi CMK'nızı seçebilirsiniz, bu da anahtarın kontrolü konusunda denetlenebilirlik açısından daha fazla esneklik sağlar.
Redshift için varsayılan KMS anahtarı, anahtar seçeneği ilk kez seçildiğinde ve kullanıldığında Redshift tarafından otomatik olarak oluşturulur ve AWS tarafından tamamen yönetilir.
Bu KMS anahtarı daha sonra CMK anahtarının birinci katmanıyla şifrelenir. Bu şifreli KMS veri anahtarı daha sonra küme şifreleme anahtarı (CEK) olarak kullanılır. Bu CEK daha sonra KMS tarafından Redshift'e gönderilir ve kümeden ayrı olarak depolanır. Redshift daha sonra bu şifreli CEK'yi güvenli bir kanal üzerinden kümeye gönderir ve bellekte depolar.
Redshift daha sonra KMS'ten CEK'yi çözmesini isteyerek, ikinci katman CEK'yi çözer. Bu çözülen CEK de bellekte depolanır. Redshift daha sonra rastgele bir veritabanı şifreleme anahtarı (DEK) oluşturur ve bunu kümenin belleğine yükler. Bellekteki çözülen CEK, DEK'yi şifreler ve bu da bellekte depolanır.
Bu şifreli DEK daha sonra güvenli bir kanal üzerinden gönderilir ve kümeden ayrı olarak Redshift'te depolanır. Hem CEK hem de DEK artık kümenin belleğinde hem şifreli hem de çözülmüş bir şekilde depolanır. Çözülen DEK, veritabanındaki her veri bloğu için Redshift tarafından rastgele oluşturulan veri anahtarlarını (dördüncü katman) şifrelemek için kullanılır.
Amazon S3 kovalarınızın yapılandırmasını izlemek ve kova günlüğünün etkinleştirildiğinden emin olmak için AWS Trusted Advisor'ı kullanabilirsiniz, bu da güvenlik denetimleri yapmak ve S3'teki kullanım desenlerini izlemek için faydalı olabilir.
CloudHSM
CloudHSM ile Redshift Kullanımı
Şifreleme için CloudHSM ile çalışırken, öncelikle HSM istemciniz ve Redshift arasında güvenilir bir bağlantı kurmanız gerekmektedir ve bunun için istemci ve sunucu sertifikaları kullanmanız gerekmektedir.
Bu bağlantı, şifreleme anahtarlarının HSM istemciniz ve Redshift kümeniz arasında gönderilmesine izin veren güvenli iletişimi sağlamak için gereklidir. Rastgele oluşturulan bir özel ve genel anahtar çifti kullanarak, Redshift bir genel istemci sertifikası oluşturur, bu sertifika şifrelenir ve Redshift tarafından depolanır. Bu sertifika indirilip HSM istemcinize kaydedilmeli ve doğru HSM bölümüne atanmalıdır.
Daha sonra Redshift'i HSM istemcinizin aşağıdaki ayrıntılarıyla yapılandırmanız gerekmektedir: HSM IP adresi, HSM bölüm adı, HSM bölüm parolası ve CloudHSM tarafından bir iç anahtar kullanılarak şifrelenen genel HSM sunucu sertifikası. Bu bilgiler sağlandıktan sonra, Redshift bağlantı kurup geliştirme bölümüne erişebileceğini onaylayacak ve doğrulayacaktır.
Dahili güvenlik politikalarınız veya yönetişim kontrolleriniz, şifreleme anahtarlarını döndürmeniz gerektiğini belirtiyorsa, şifrelenmiş küme için şifreleme anahtarlarını döndürmenize olanak tanır, ancak dikkate almanız gereken bir nokta, anahtar döndürme sürecinde kümenin çok kısa bir süre için kullanılamaz hale geleceğidir, bu nedenle anahtarları sadece ihtiyaç duyduğunuzda veya kompromize uğramış olabileceğini düşündüğünüzde döndürmek en iyisidir.
Döndürme sırasında, Redshift kümeniz için CEK'yi ve o kümenin yedeklerini döndürür. Küme için bir DEK döndürür, ancak DEK kullanılarak şifrelenen S3'de depolanan anlık görüntüler için bir DEK döndürmek mümkün değildir. Kümenin durumu 'anahtar döndürme' olarak ayarlanır ve işlem tamamlandığında durum 'kullanılabilir' olarak geri döner.
Sıralama
# Get clustersawsredshiftdescribe-clusters## Get if publicly accessibleawsredshiftdescribe-clusters|jq-r".Clusters[].PubliclyAccessible"## Get DB username to loginawsredshiftdescribe-clusters|jq-r".Clusters[].MasterUsername"## Get endpointawsredshiftdescribe-clusters|jq-r".Clusters[].Endpoint"## Public addresses of the nodesawsredshiftdescribe-clusters|jq-r".Clusters[].ClusterNodes[].PublicIPAddress"## Get IAM roles of the clustersawsredshiftdescribe-clusters|jq-r".Clusters[].IamRoles"# Endpoint access & authorizationawsredshiftdescribe-endpoint-accessawsredshiftdescribe-endpoint-authorization# Get credentialsawsredshiftget-cluster-credentials--db-user<username>--cluster-identifier<cluster-id>## By default, the temporary credentials expire in 900 seconds. You can optionally specify a duration between 900 seconds (15 minutes) and 3600 seconds (60 minutes).
awsredshiftget-cluster-credentials-with-iam--cluster-identifier<cluster-id>## Gives creds to access redshift with the IAM redshift permissions given to the current AWS account## More in https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html# Authentication profilesawsredshiftdescribe-authentication-profiles# Snapshotsawsredshiftdescribe-cluster-snapshots# Scheduled actionsawsredshiftdescribe-scheduled-actions# Connect# The redshift instance must be publicly available (not by default), the sg need to allow inbounds connections to the port and you need creds
psql-hredshift-cluster-1.sdflju3jdfkfg.us-east-1.redshift.amazonaws.com-Uadmin-ddev-p5439