配置 AWS Secrets Manager 访问令牌身份验证 - AWS Elemental MediaTailor

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置 AWS Secrets Manager 访问令牌身份验证

要使用 AWS Secrets Manager 访问令牌身份验证时,请执行以下步骤:

  1. 创建 AWS Key Management Service 客户管理的密钥

  2. 创建了一个 AWS Secrets Manager 密钥。该密钥包含您的访问令牌,该令牌作为加密密钥值存储在 Secrets Manager 中。 MediaTailor 使用 AWS KMS 客户管理的密钥来解密密密钥值。

  3. 您可以将 AWS Elemental MediaTailor 源位置配置为使用 Secrets Manager 访问令牌身份验证。

以下部分提供有关如何配置 AWS Secrets Manager 访问令牌身份验证的 step-by-step指导。

步骤 1:创建 AWS KMS 对称的客户托管密钥

您用来 AWS Secrets Manager 以存储在密钥中的形式SecretString存储访问令牌。使用您创建、拥有和管理的AWS KMS 对称客户托管密钥进行加密。SecretString MediaTailor 使用对称的客户托管密钥来简化对密钥的访问(通过授权),并加密和解密密密钥值。

客户托管密钥允许您执行以下任务:

  • 制定和维护关键策略

  • 制定和维护IAM政策及补助金

  • 启用和禁用密钥策略

  • 轮换加密密钥材料

  • 添加标签

    有关 Secrets Manager 如何使用 AWS KMS 来保护密钥的信息,请参阅《AWS Key Management Service 开发者指南》 AWS KMS中的 “如何 AWS Secrets Manager 使用” 主题。

    有关客户托管密钥的更多信息,请参阅 AWS Key Management Service 开发人员指南中的客户托管密钥

注意

AWS KMS 使用客户托管密钥需要支付费用有关定价的更多信息,请参阅AWS密钥管理服务定价页面。

您可以使用 AWS Management Console 或以编程方式创建 AWS KMS 对称的客户托管密钥。 AWS KMS APIs

创建对称的客户托管密钥

按照《AWS Key Management Service 开发人员指南》中创建对称客户托管密钥的步骤进行操作。

记下关键的 Amazon 资源名称 (ARN);你需要它第 2 步:创建 AWS Secrets Manager 密钥

加密上下文

加密上下文是一组可选的键值对,包含有关数据的其他上下文信息。

Secrets Manager 在加密和解密时包含加密上下文SecretString加密上下文包括密钥ARN,它将加密限制在该特定机密范围内。作为一项额外的安全措施,请代表您 MediaTailor 创建 AWS KMS 补助金。 MediaTailor 应用的GrantConstraints操作仅允许我们解密与 Sec rets Manager 加密上下ARN文中包含的密钥SecretString关联的内容。

有关 Secrets Manager 如何使用加密上下文的信息,请参阅AWS Key Management Service 开发者指南中的加密上下文主题。

设置密钥策略

密钥策略控制对客户托管密钥的访问。每个客户托管式密钥必须只有一个密钥政策,其中包含确定谁可以使用密钥以及如何使用密钥的声明。创建客户托管密钥时,您可以使用默认密钥策略。有关更多信息,请参阅《AWS Key Management Service 开发人员指南》 AWS KMS中的身份验证和访问控制

要将您的客户托管密钥与您的 MediaTailor 来源位置资源一起使用,您必须向调用CreateSourceLocationUpdateSourceLocation使用以下API操作的IAM委托人授予权限:

  • kms:CreateGrant – 添加客户托管密钥授权。 MediaTailor 为您的客户托管密钥创建授权,允许其使用该密钥创建或更新配置了访问令牌身份验证的来源位置。有关在中使用 Grant s 的更多信息 AWS KMS,请参阅《AWS Key Management Service 开发者指南》。

    这 MediaTailor 允许执行以下操作:

    • 致电Decrypt这样它就可以在呼叫时成功检索你的 Secrets Manager 密钥GetSecretValue

    • 当源位置被删除或密钥的访问权限被撤销时,请致电RetireGrant取消授权。

以下是您可以为其添加的策略声明示例 MediaTailor:

{ "Sid": "Enable MediaTailor Channel Assembly access token usage for the MediaTailorManagement IAM role", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account number:role/MediaTailorManagement" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "mediatailor.region.amazonaws.com" } } }

有关在策略中指定权限以及对密钥访问进行故障排除的更多信息,请参阅《AWS Key Management Service 开发人员指南AWS KMS中的授权。

第 2 步:创建 AWS Secrets Manager 密钥

使用 Secrets Manager 以 AWS KMS 客户托管密钥加密SecretString的形式存储您的访问令牌。 MediaTailor使用密钥来解密。SecretString有关 Secrets Manager 如何使用 AWS KMS 来保护密钥的信息,请参阅《AWS Key Management Service 开发者指南》 AWS KMS中的 “如何 AWS Secrets Manager 使用” 主题。

如果您使用源位置来源,并且想使用 S MediaTailor ecret AWS Elemental MediaPackage s Manager 访问令牌身份验证,请按照以下步骤操作与使用CDN授权的 MediaPackage 端点集成

你可以使用 Secrets Manager 创建 Secrets Manager 密钥, AWS Management Console 也可以通过编程方式使用 Secrets Manager APIs 创建。

创建密钥

按照AWS Secrets Manager 用户指南中使用 Secrets Manager 创建和管理 AWS 密钥的步骤进行操作。

创建密钥时,请记住以下注意事项:

  • KmsKeyId必须是您在步骤 1 中创建ARN的客户托管密钥的密钥。

  • 您必须提供 SecretString. SecretString应该是一个有效的JSON对象,其中包含一个包含访问令牌的键和值。例如,{” MyAccessTokenIdentifier “: “112233445566"}。该值的长度必须介于 8-128 个字符之间。

    使用访问令牌身份验证配置源位置时,需要指定SecretString密钥。 MediaTailor 使用密钥查找和检索存储在中的访问令牌SecretString

    记下秘密ARN和SecretString钥匙。当您将来源位置配置为使用访问令牌身份验证时,您将使用它们。

附加基于资源的密钥策略

要允许 MediaTailor 访问密钥值,您必须将基于资源的策略附加到该密钥。有关更多信息,请参阅AWS Secrets Manager 用户指南中的向 Secrets Manager AWS 密钥附加权限策略

以下是您可以为其添加的策略声明示例 MediaTailor:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "mediatailor.amazonaws.com" }, "Action": "secretsmanager:GetSecretValue", "Resource": "<secret ARN" } ] }

步骤 3:使用访问令牌身份验证配置 MediaTailor 源位置

您可以使用 AWS Management Console 或以编程方式配置 Secrets Manager 访问令牌身份验证。 MediaTailor APIs

使用 Secrets Manager 访问令牌身份验证配置源位置

按照《AWS Elemental MediaTailor 用户指南Access configuration中的步骤操作。