86 个版本 (42 个稳定版)

1.40.0 2024 年 8 月 16 日
1.37.0 2024 年 7 月 22 日
1.19.0 2024 年 3 月 26 日
1.9.0 2023 年 12 月 21 日
0.0.0 2021 年 5 月 7 日

68网络编程 中排名

Download history 30096/week @ 2024-04-29 27448/week @ 2024-05-06 30307/week @ 2024-05-13 23070/week @ 2024-05-20 25692/week @ 2024-05-27 28744/week @ 2024-06-03 33382/week @ 2024-06-10 24391/week @ 2024-06-17 28086/week @ 2024-06-24 27314/week @ 2024-07-01 32933/week @ 2024-07-08 23207/week @ 2024-07-15 19793/week @ 2024-07-22 19488/week @ 2024-07-29 24944/week @ 2024-08-05 19042/week @ 2024-08-12

84,021 每月下载量
用于 31 个软件包(直接使用 24 个)

Apache-2.0

5.5MB
64K SLoC

aws-sdk-kms

密钥管理服务(KMS)是一种加密和密钥管理 Web 服务。本指南描述了您可以编程调用的 KMS 操作。有关 KMS 的一般信息,请参阅 密钥管理服务开发者指南

我们建议您使用 Amazon Web Services SDK 进行程序化 API 调用到 KMS。

如果您在与 Amazon Web Services 通信时需要使用 FIPS 140-2 认证的加密模块,请使用您首选的 Amazon Web Services 区域中的 FIPS 端点。有关可用的 FIPS 端点的更多信息,请参阅 Amazon Web Services 通用参考 中密钥管理服务主题下的 服务端点

所有 KMS API 调用都必须签名并使用传输层安全性(TLS)传输。KMS 建议您始终使用最新支持的 TLS 版本。客户端还必须支持具有完美前向安全性(PFS)的加密套件,例如临时 Diffie-Hellman(DHE)或椭圆曲线临时 Diffie-Hellman(ECDHE)。大多数现代系统(如 Java 7 及更高版本)都支持这些模式。

签名请求

请求必须使用访问密钥 ID 和秘密访问密钥进行签名。我们强烈建议您不要使用您的 Amazon Web Services 账户根访问密钥 ID 和秘密访问密钥进行日常工作。您可以使用 IAM 用户或使用安全令牌服务(STS)生成临时安全凭证,并使用这些凭证签名请求。

所有 KMS 请求都必须使用 签名版本 4 进行签名。

记录 API 请求

密钥管理系统(KMS)支持云追踪(CloudTrail)服务,该服务记录您的亚马逊网络服务(Amazon Web Services)账户的API调用和相关事件,并将它们发送到您指定的亚马逊S3存储桶。通过使用云追踪收集的信息,您可以确定对KMS提出了哪些请求,谁提出的请求,请求的时间等。要了解更多关于云追踪的信息,包括如何启用它和查找日志文件,请参阅云追踪用户指南

其他资源

有关凭证和请求签名的信息,请参阅以下内容

常用API操作

在本指南中讨论的API操作中,以下操作对于大多数应用程序最有用。您可能还会使用控制台执行除这些操作之外的其他操作,例如创建密钥和分配策略。

  • 加密
  • 解密
  • 生成数据密钥
  • 不使用明文生成数据密钥

入门指南

许多服务和操作都提供了示例,请查看GitHub中的示例文件夹

SDK为每个AWS服务提供了一个crate。您必须将Tokio作为依赖项添加到Rust项目中,以执行异步代码。要将aws-sdk-kms添加到项目中,请在您的Cargo.toml文件中添加以下内容

[dependencies]
aws-config = { version = "1.1.7", features = ["behavior-version-latest"] }
aws-sdk-kms = "1.40.0"
tokio = { version = "1", features = ["full"] }

然后在代码中,可以使用以下方式创建一个客户端

use aws_sdk_kms as kms;

#[::tokio::main]
async fn main() -> Result<(), kms::Error> {
    let config = aws_config::load_from_env().await;
    let client = aws_sdk_kms::Client::new(&config);

    // ... make some calls with the client

    Ok(())
}

有关可以做出的调用以及每个调用输入和输出的信息,请参阅客户端文档

使用SDK

在SDK发布之前,我们将向开发者指南添加有关使用SDK的信息。您可以通过打开一个问题并描述您正在尝试做什么来建议指南的附加部分。

获取帮助

许可

本项目采用Apache-2.0许可协议。

依赖项

~8–20MB
~283K SLoC