将 PutBucketEncryption 与 Amazon SDK 或 CLI 配合使用
以下代码示例演示如何使用 PutBucketEncryption。
操作示例是大型程序的代码摘录,必须在上下文中运行。在以下代码示例中,您可以查看此操作的上下文:
- .NET
-
- Amazon SDK for .NET
-
注意
查看 GitHub,了解更多信息。在 Amazon 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 /// <summary> /// Set the bucket server side encryption to use AWSKMS with a customer-managed key id. /// </summary> /// <param name="bucketName">Name of the bucket.</param> /// <param name="kmsKeyId">The Id of the KMS Key.</param> /// <returns>True if successful.</returns> public static async Task<bool> SetBucketServerSideEncryption(string bucketName, string kmsKeyId) { var serverSideEncryptionByDefault = new ServerSideEncryptionConfiguration { ServerSideEncryptionRules = new List<ServerSideEncryptionRule> { new ServerSideEncryptionRule { ServerSideEncryptionByDefault = new ServerSideEncryptionByDefault { ServerSideEncryptionAlgorithm = ServerSideEncryptionMethod.AWSKMS, ServerSideEncryptionKeyManagementServiceKeyId = kmsKeyId } } } }; try { var encryptionResponse = await _s3Client.PutBucketEncryptionAsync(new PutBucketEncryptionRequest { BucketName = bucketName, ServerSideEncryptionConfiguration = serverSideEncryptionByDefault, }); return encryptionResponse.HttpStatusCode == HttpStatusCode.OK; } catch (AmazonS3Exception ex) { Console.WriteLine(ex.ErrorCode == "AccessDenied" ? $"This account does not have permission to set encryption on {bucketName}, please try again." : $"Unable to set bucket encryption for bucket {bucketName}, {ex.Message}"); } return false; }-
有关 API 详细信息,请参阅《Amazon SDK for .NET API Reference》中的 PutBucketEncryption。
-
- CLI
-
- Amazon CLI
-
配置存储桶的服务器端加密
以下
put-bucket-encryption示例将 AES256 加密设置为指定存储桶的默认值。aws s3api put-bucket-encryption \ --bucketamzn-s3-demo-bucket\ --server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": "AES256"}}]}'此命令不生成任何输出。
-
有关 API 详细信息,请参阅《Amazon CLI 命令参考》中的 PutBucketEncryption
。
-
- PowerShell
-
- 适用于 PowerShell V4 的工具
-
示例 1:此命令在指定的存储桶上启用具有 Amazon S3 托管式密钥的默认 AES256 服务器端加密(SSE-S3)。
$Encryptionconfig = @{ServerSideEncryptionByDefault = @{ServerSideEncryptionAlgorithm = "AES256"}} Set-S3BucketEncryption -BucketName 'amzn-s3-demo-bucket' -ServerSideEncryptionConfiguration_ServerSideEncryptionRule $Encryptionconfig-
有关 API 详细信息,请参阅《Amazon Tools for PowerShell Cmdlet Reference (V4)》中的 PutBucketEncryption。
-
- 适用于 PowerShell V5 的工具
-
示例 1:此命令在指定的存储桶上启用具有 Amazon S3 托管式密钥的默认 AES256 服务器端加密(SSE-S3)。
$Encryptionconfig = @{ServerSideEncryptionByDefault = @{ServerSideEncryptionAlgorithm = "AES256"}} Set-S3BucketEncryption -BucketName 'amzn-s3-demo-bucket' -ServerSideEncryptionConfiguration_ServerSideEncryptionRule $Encryptionconfig-
有关 API 详细信息,请参阅《Amazon Tools for PowerShell Cmdlet Reference (V5)》中的 PutBucketEncryption。
-
有关 Amazon SDK 开发人员指南和代码示例的完整列表,请参阅 使用 Amazon SDK 通过 Amazon S3 进行开发。本主题还包括有关入门的信息以及有关先前的 SDK 版本的详细信息。
PutBucketCors
PutBucketLifecycleConfiguration