是否有专门允许访问AWS KMS的AWS安全组规则



我有一个在EC2中运行的node.js服务器,它使用AWS KMS加密/解密数据。我可以成功地使用aws-sdk来使用执行我的任务

const AWS = require('aws-sdk');
const kms = new AWS.KMS();
kms.decrypt( ... )

我现在想使用安全组锁定我的基础设施。如果没有允许所有流量的传出规则,我无法确定使用什么规则来允许此服务器访问AWS KMS资源:

Outbound rules:
Type        | Protocol | Port range | Destination
All traffic | All      | All        | 0.0.0.0/0 
All traffic | All      | All        | ::/0 

这可能太过分了,但我是否可以使用专门允许出站访问AWS KMS服务的规则?

CIDR block, a security group ID or a prefix list has to be specified,所以我不能使用KMS服务对象的端点主机名或href:

kms Service {
...
isGlobalEndpoint: false,
endpoint: Endpoint {
protocol: 'https:',
host: 'kms.eu-west-2.amazonaws.com',
port: 443,
hostname: 'kms.eu-west-2.amazonaws.com',
pathname: '/',
path: '/',
href: 'https://kms.eu-west-2.amazonaws.com/'
},
...
}

检查https://kms.eu-west-2.amazonaws.com/的远程地址提供52.94.48.24:443的IP地址。在特定规则中使用它可以间歇性地工作,但我找不到任何AWS文档表明这个IP地址是固定的。我想不是的。

Type        | Protocol | Port range | Destination
HTTPS       | TCP      | 443        | 52.94.48.24/32

非常感谢任何指导!

谢谢,A.

我假设通过锁定您的基础设施,我们可以理解您将EC2实例放在一个私有子网中。在这种情况下,您应该为KMS服务创建一个VPC端点。

VPC端点将在您的子网中有一个网络接口,它将为每个子网提供一个专用IP地址,以及潜在的专用DNS主机名(如果VPC启用了此属性(。

此外,您还可以根据安全组允许EC2实例和VPC端点之间的流量(无需指定IP(。

最新更新