繁体   English   中英

如何使用PowerShell指定Amazon S3对象的服务器端加密?

[英]How can I specify server-side encryption of Amazon S3 objects with PowerShell?

有人会解释如何在PowerShell脚本中启用Amazon S3服务器端加密吗? 我正在使用下面的示例代码,但是当我在AWS Console或Cloudberry S3 Explorer Pro中检查加密时,加密类型仍设置为“无”。 在文件上传后使用AWS / Cloudberry手动执行此操作是不可行的,因为该脚本将部署到200多个服务器,每个服务器在S3中都有自己的存储桶。 这是脚本的代码片段:

$TestFile="testfile.7z"
$S3ObjectKey = "mytestfile.7z"
#Create Amazon PutObjectRequest.
$AmazonS3 = [Amazon.AWSClientFactory]::CreateAmazonS3Client($S3AccessKeyID,$S3SecretKeyID)
$S3PutRequest = New-Object Amazon.S3.Model.PutObjectRequest 
$S3PutRequest.BucketName = $S3BucketName
$S3PutRequest.Key = $S3ObjectKey
$S3PutRequest.FilePath = $TestFile
$S3Response = $AmazonS3.PutObject($S3PutRequest)

我尝试插入以下内容但没有成功(在$ S3Response行之前):

$S3PutRequest.ServerSideEncryption

添加上述内容后,我会在输出中得到此消息,但该文件仍未在S3上标记为已加密:

MemberType          : Method
OverloadDefinitions : {Amazon.S3.Model.PutObjectRequest WithServerSideEncryptionMethod(Amazon.S3.Model.ServerSideEncryptionMethod encryption)}
TypeNameOfValue     : System.Management.Automation.PSMethod
Value               : Amazon.S3.Model.PutObjectRequest WithServerSideEncryptionMethod(Amazon.S3.Model.ServerSideEncryptionMethod encryption)
Name                : WithServerSideEncryptionMethod
IsInstance          : True

谁能告诉我我在做什么错? 提前谢谢了。

您应该添加:

$S3PutRequest.WithServerSideEncryptionMethod([Amazon.S3.Model.ServerSideEncryptionMethod]::AES256)

要么:

$S3PutRequest.ServerSideEncryptionMethod = [Amazon.S3.Model.ServerSideEncryptionMethod]::AES256

如果您使用的是CloudBerry,则它具有自己的PowerShell管理单元

Add-PSSnapin CloudBerryLab.Explorer.PSSnapin

$s3 = Get-CloudS3Connection -Key XXXXXXX -Secret YYYYYYY
$destFolder = $s3 | Select-CloudFolder -path "mybucket"
$local = Get-CloudFilesystemConnection
$srcFolder = $local | Select-CloudFolder -path "c:\myzips"
$srcFolder | Copy-CloudItem $destFolder -filter "testfile.7z" -SSE

注意Copy-CloudItem命令中的-SSE参数。 可以在他们的博客上找到一些有用的示例: http : //blog.cloudberrylab.com/search?q=powershell

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM