创建密钥 - Amazon Secrets Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

创建密钥

A密钥是一组凭据(如用户名和密码),您以加密形式存储在 SSecrets Manager 中。密钥还包括用于访问数据库或其他服务的连接信息,Secret Manager 不会加密这些服务。

您可以使用 IAM 权限策略控制对密钥的访问,这意味着只有授权用户可以访问或修改密钥。访问数据库或其他服务的应用程序使用 IAM 用户或角色,因此您向该用户或角色授予访问密钥的权限。您可以通过资源或身份执行此操作:

  • 您可以将基于资源的策略附加到密钥,然后在策略中列出具有访问权限的用户或角色。有关更多信息,请参阅 基于资源的策略

  • 您可以将基于身份的策略附加到用户或角色,然后在策略中列出身份可以访问的密钥。有关更多信息,请参阅 基于身份的策略

要创建密钥,您需要SecretsManagerReadWrite Amazon托管策略。有关更多信息,请参阅 托管策略

创建密钥 (控制台)

  1. 打开 Secrets Manager 控制台:https://console.aws.amazon.com/secretsmanager/

  2. 选择 Store a new secret (存储新密钥)

  3. 在存储库的选择密钥类型页面中,执行以下操作:

    1. 适用于选择密钥类型,请执行以下操作之一:

      • 要存储数据库凭据,请选择Amazon RDSAmazon DocumentDBAmazon Redshift,或者其他数据库,然后输入要存储的凭据。

      • 要存储非数据库凭据或其他信息,请选择其他密钥类型,然后在指定要存储在此密钥中的键/值对,请执行以下操作之一:

        • In键/值对中,输入要存储在密钥对。您可以添加所需数量的对。例如,您可以指定密钥 Username,然后用于输入用户名称。添加另一个密钥 Password,然后用于输入密码。您可以为Database nameServer addressTCP port等等。

        • 在存储库的明文选项卡上,输入任何格式的密码。

    2. 适用于加密密密钥中,选择Amazon KMS 密钥Secrets Manager 用于加密密钥中的受保护文本的内容:

      • 选择DefaultenCryptionKey以使用密钥管理器的托 Secrets Manager 钥。使用此密钥不产生任何费用。

      • 从列表中选择另一个 KMS 密钥。您必须具有以下权限:kms:Encryptkms:Decrypt, 和kms:GenerateDataKey

      • 选择添加新密钥转至Amazon KMS控制台创建客户管理的密钥。您必须具有kms:CreateKey权限。您将需要为您创建的 KMS 密钥付费。

    3. 如果在步骤 3a 中选择了数据库凭据,则对于数据库中,输入数据库连接信息。

    4. 选择 Next (下一步)

  4. 在存储库的密钥名称和描述页面中,执行以下操作:

    1. 适用于密钥名称中,输入密钥的名称,例如MyAppSecret或者development/TestSecret。使用斜杠为您的秘密创建层次结构。

    2. (可选)对于说明中,输入信息以帮助记住该密钥的用途。

    3. (可选)在标签部分中,向密钥添加标签。有关标记策略,请参阅标记您的密钥。请不要将敏感信息存储在标签中,因为它们未加密密密钥。

    4. (可选)在资源权限,要将资源策略添加到您的密钥中,请选择编辑权限。有关更多信息,请参阅 基于资源的策略

    5. (可选)在复制密钥,将您的秘密复制到另一个 Amazon Web Services 区域 中,选择将机密复制到其他区域。有关更多信息,请参阅 多区域密钥

    6. 选择 Next (下一步)

  5. (可选)在配置自动旋转页面上,您可以打开自动旋转。您也可以现在保持关闭旋转,然后稍后将其打开。有关更多信息,请参阅 轮换密钥。选择 Next (下一步)

  6. 在存储库的审核页面上,查看密钥详细信息,然后选择存储

Amazon CLI

使用创建密钥Amazon CLI,首先创建包含您的密钥的 JSON 文件或二进制文件。然后,使用create-secretoperation.

如果希望 Secrets Manager 旋转密码,您的密码必须采用轮换函数模板。否则,您可以以任何格式存储您的秘密。

为 Secrets Manager 创建使用托管密钥的密钥的密钥

  1. 在文件中创建您的密钥,例如名为mycreds.json

    { "username": "saanvi", "password": "aDM4N3*!8TT" }
  2. 在Amazon CLI,请使用以下命令:

    $ aws secretsmanager create-secret --name production/MyAwesomeAppSecret --secret-string file://mycreds.json

    下面显示了输出。

    { "SecretARN": "arn:aws:secretsmanager:region:accountid:secret:production/MyAwesomeAppSecret-AbCdEf", "SecretName": "production/MyAwesomeAppSecret", "SecretVersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE" }

创建使用客户管理的密钥的密钥

  • 在您的Amazon CLI命令,请包含KmsKeyId参数,如以下示例所示。

    aws secretsmanager create-secret --name production/MyAwesomeAppSecret --secret-string file://mycreds.json --KmsKeyId MyKMSKey

Amazon 开发工具包

若要通过使用其中一个Amazon软件开发工具包,请使用CreateSecretaction. 有关更多信息,请参阅: