数据加密 - Amazon Transcribe

数据加密

数据加密是指保护静态数据和传输中的数据。您可以使用 Amazon S3 托管密钥或 KMS keys保护静态数据,以及使用标准传输层安全性协议 (TLS) 来保护传输中的数据。

静态加密

Amazon Transcribe 使用默认 Amazon S3 密钥 (SSE-S3)对 Amazon S3 存储桶中放置的脚本进行服务器端加密。

使用 StartTranscriptionJob 操作时,您可以指定自己的 KMS key 来加密转录作业的输出。

Amazon Transcribe 使用已采用默认密钥加密的 Amazon EBS 卷。

传输中加密

Amazon Transcribe 使用 TLS 1.2 和 AWS 证书加密传输中的数据。这包括流式转录。

密钥管理

Amazon Transcribe 与 KMS keys配合使用,为您的数据提供更强的加密。使用 Amazon S3,您可以在创建转录作业时对输入媒体进行加密。与 AWS KMS 集成允许对 StartTranscriptionJob 请求的输出进行加密。

如果未指定 KMS key,则将使用默认 Amazon S3 密钥 (SSE-S3) 对转录作业的输出进行加密。

有关 AWS KMS 的更多信息,请参阅 AWS Key Management Service 开发人员指南中。

要对转录作业的输出进行加密,您可以选择使用发出请求的 AWS 账户的 KMS key,也可以使用其它 AWS 账户账户的 KMS key。

如果未指定 KMS key,则将使用默认 Amazon S3 密钥 (SSE-S3) 对转录作业的输出进行加密。

启用输出加密:
  1. 输出数据下,选择加密

    已启用的加密切换按钮和 KMS key ID 下拉菜单的屏幕截图。
  2. 选择 KMS key是来自您当前使用的 AWS 账户,还是来自其它 AWS 账户。如果要使用来自当前 AWS 账户账户的密钥,请从 KMS key ID 中选择密钥。如果您使用来自其它 AWS 账户的密钥,则需要输入密钥的 ARN。要使用来自其它 AWS 账户的密钥,调用方必须具有 KMS key的 kms:Encrypt 权限。有关更多信息,请参阅创建密钥策略

要通过 API 使用输出加密,您必须使用 StartCallAnalyticsJobStartMedicalTranscriptionJobStartTranscriptionJob 操作的 OutputEncryptionKMSKeyId 参数指定您的 KMS key。

如果使用的密钥位于当前的 AWS 账户,则可以通过以下四种方式之一来指定您的 KMS key:

  1. 使用 KMS key ID 本身。例如 1234abcd-12ab-34cd-56ef-1234567890ab

  2. 使用别名作为 KMS key ID。例如 alias/ExampleAlias

  3. 使用 Amazon 资源名称 (ARN) 作为 KMS key ID。例如 arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab

  4. 使用 ARN 作为 KMS key别名。例如 arn:aws:kms:region:account-ID:alias/ExampleAlias

如果使用的密钥位于当前的 AWS 账户以外的 AWS 账户,则可以通过以下四种方式之一来指定您的 KMS key:

  1. 使用 ARN 作为 KMS key ID。例如 arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab

  2. 使用 ARN 作为 KMS key别名。例如 arn:aws:kms:region:account-ID:alias/ExampleAlias

请注意,发出请求的实体必须拥有使用指定 KMS key的权限。

AWS KMS 加密上下文

AWS KMS 加密上下文是纯文本、非机密键值对的映射。此图表示其它经过身份验证的数据,称为加密上下文对,它们为您的数据提供了额外的安全层。Amazon Transcribe 需要对称加密密钥才能将转录输出加密到客户指定的 Amazon S3 存储桶中。要了解更多信息,请参阅 AWS KMS 中的非对称密钥

创建加密上下文对时,请勿包含敏感信息。加密上下文不是秘密的,它在您的 CloudTrail 日志中以纯文本形式显示(因此您可以用它来识别和分类您的加密操作)。

加密上下文对可以包含特殊字符,如下划线 (_)、短划线 (-)、斜杠(/\)和冒号 (:)。

提示

将加密上下文对中的值与正在加密的数据关联会很有用。尽管此操作并非必需,但我们建议您使用与加密内容相关的非敏感元数据,例如文件名、标头值或未加密的数据库字段。

要通过 API 使用输出加密,请设置 StartTranscriptionJob 操作的 KMSEncryptionContext 参数。为了为输出加密操作提供加密上下文,OutputEncryptionKMSKeyId 参数必须引用对称的 KMS key ID。

您可以结合使用 AWS KMS 条件键和 IAM 策略,根据加密操作请求中使用的加密上下文,来控制对对称加密 KMS key的访问。有关加密上下文策略的示例,请参阅 AWS KMS 加密上下文策略

使用加密上下文是可选操作,但建议使用。有关更多信息,请参阅加密上下文