KMSClient
注意
在某些情况下,使用此库的操作可能会影响性能并扭曲您的测试结果。
为确保结果准确,请考虑在setup
和teardown
生命周期函数中执行这些操作。这些函数在测试运行之前和之后执行,不会影响测试结果。
KMSClient
与 AWS Key Management Service (KMS) 交互。
使用它,用户可以列出调用者 AWS 账户和区域中的所有 Key Management Service 密钥。他们还可以生成对称数据密钥以便在 AWS Key Management Service 外部使用。
专门的 kms.js
jslib bundle 和包含所有的 aws.js
bundle 都包含 KMSClient
。
方法
函数 | 描述 |
---|---|
listKeys | 列出调用者 AWS 账户和区域中的所有 Key Management Service 密钥。 |
generateDataKey | 生成一个对称数据密钥以便在 AWS Key Management Service 外部使用。 |
抛出
KMSClient
方法在失败时会抛出错误。
Error | 条件 |
---|---|
InvalidSignatureError | 使用无效凭证时 |
KMSServiceError | 当 AWS 对请求的操作返回错误时 |
示例
import { textSummary } from 'https://jslib.k6.io/k6-summary/0.0.2/index.js';
import {
AWSConfig,
KMSClient,
} from 'https://jslib.k6.io/aws/0.13.0/kms.js';
const awsConfig = new AWSConfig({
region: __ENV.AWS_REGION,
accessKeyId: __ENV.AWS_ACCESS_KEY_ID,
secretAccessKey: __ENV.AWS_SECRET_ACCESS_KEY,
});
const kms = new KMSClient(awsConfig);
const keyAlias = 'alias/k6-key';
export async function setup() {
// Create a symmetric data key
return {
dataKey: await kms.generateDataKey(keyAlias, 32),
};
}
export default async function (data) {
// Use the data key to encrypt data
}
export function handleSummary(data) {
return {
'stdout': textSummary(data, { indent: ' ', enableColors: true }),
'./test-run.key': data.dataKey,
};
}