2017-05-28 13 views
5

s3'e. üretilen apk dosyaları elle None seçeneği aşağıdaki pop-up İşteProgramlı tanımsız şifreleme ben <code>aws code build</code> aracılığıyla bir android yapı sahnede oluyorum

verir ASW-KMS

seçimini kaldırarak s3 kovasından aşağıda gösterildiği gibi tıklayarak şifrelemeyi unset yapabilirsiniz server side encryption (aws-kms) ile uygulanan varsayılan olarak el ile bağlantı indirilebilir indirilebilir. Bu program aracılığıyla ulaşmak istiyorum.

Zaten here belirtildiği gibi izinleri ekleyerek çalıştılar. Ayrıca python boto3 ile adil bir deneme yaptı. Ancak şimdiye kadar herhangi bir başarı ile karşılaşmadı. Şimdiden teşekkürler!

+1

Sunucu tarafı şifreleme ayarları dosyayı indirmek için yeteneğini etkilemez shoild: Yani bağlantı aşağıdaki sadece 7 gün uygulamasından için max çalışan aynı için adımdır herhangi bir şekilde. Çözmeyi denediğiniz asıl sorun nedir? –

+0

Cevabınız için teşekkür ederiz. Temel olarak aws araçlarını kullanarak bir yapı otomasyonu yapmaya çalışıyorum. Ben de ineklere oldukça yeni geldim. Webhooks kullanarak github'dan jenkins tabanlı yapı otomasyonu kullanarak deneyimim var. Şimdi, aynı şeyi aws kullanarak elde etmek istiyorum. Bu yüzden boru hattını kodlamak için bir kod yapısı oluşturdum. Ya boru hattını aws lambda işleviyle veya boto3 istemcisiyle (bunu zaten yaptım) kullanabilirim. Buradaki fikir, kod oluşturma aşamasından sonra oluşturulan bir uygulamanın indirilebilir bir bağlantısı ile birlikte oluşturma işlemi sonucunda bir posta gönderecek olan başka bir lambda işlevinin bağlanmasıdır. (Devamı) – ranjjose

+1

gündeme aws kod kod Yapı 's3 içine yüklenen yapay aws-kms aracılığıyla şifreli varsayılan olup olmasıdır s3 kovasından o linke tıklayın, bu mesajın, 'istekleri ile hata verdiğinde AWS KMS yönetilen tuşları ile Sunucu Tarafı Şifrelemesi'nin belirtilmesi AWS İmzası Sürüm 4'ü gerektirir. ' – ranjjose

cevap

1

Tamam, bunun için bir geçici çözüm aldık. İşlemci (sunucu tarafı aws-kms) artefaktı oluşturulduktan ve s3'e yüklendikten sonra (aws kod yapısının bir parçası olarak), dosyanın bir kopyasını 'ACL':'public-read' ile oluşturun. Aşağıdaki adımlar şunlardır:

s3 = boto3.resource('s3',aws_access_key_id='<YOUR ACCESS KEY>', aws_secret_access_key='<YOUR SECRET ACCESS KEY>', region_name = 'ap-southeast-1', config=Config(signature_version='s3v4')) 

config=Config(signature_version='s3v4') kısım şifreli dosyaya erişmek için hile. S3 itibaren

copy_source = {'Bucket': 'SOURCE BUCKET','Key':'test/app-debug.apk'} 
s3.meta.client.copy(copy_source, 'DESTINATION BUCKET', 'app-debug.apk', {'ACL':'public-read'}) 

, bir indirilebilir URL'yi alacak.

Alternatif olarak, başka bir kova kopyalamadan şifreli S3 öğeden doğrudan indirilebilir bir bağlantı alabilirsiniz. Ancak sorun, s3v4 şifrelemenin en fazla 7 gün sürmesidir.

  1. s3_client = boto3.client('s3',aws_access_key_id='<YOUR ACCESS KEY>', aws_secret_access_key='<YOUR SECRET KEY>', region_name='ap-southeast-1', config=Config(signature_version='s3v4'))
  2. url = s3_client.generate_presigned_url(ClientMethod='get_object', Params={'Bucket':'SOURCE BUCKET', 'Key':'test/app-debug.apk'})
İlgili konular