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

Amazon web services 是否有专门允许访问AWS KMS的AWS安全组规则?,amazon-web-services,aws-security-group,amazon-kms,Amazon Web Services,Aws Security Group,Amazon Kms,我有一个node.js服务器运行在EC2中,它使用AWS KMS加密/解密数据。 我可以使用aws sdk成功地执行我的任务 const AWS=require('AWS-sdk'); const kms=新的AWS.kms(); kms.decrypt(…) 我现在想使用安全组锁定我的基础设施。 我无法确定使用什么规则允许此服务器访问AWS KMS资源,而没有允许任何地方的所有流量的传出规则: Outbound rules: Type | Protocol | Port ran

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

const AWS=require('AWS-sdk');
const kms=新的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块、安全组ID或前缀列表
,因此我无法使用KMS服务对象中的端点主机名或href:

kms服务{
...
isGlobalEndpoint:false,
端点:端点{
协议:“https:”,
主持人:“kms.eu-west-2.amazonaws.com”,
港口:443,
主机名:“kms.eu-west-2.amazonaws.com”,
路径名:“/”,
路径:“/”,
href:'https://kms.eu-west-2.amazonaws.com/'
},
...
}
检查
https://kms.eu-west-2.amazonaws.com/
提供的IP地址为
52.94.48.24:443
。在特定的规则中使用它会间歇工作,但我找不到AWS文档表明此IP地址是固定的。我想不是

Type        | Protocol | Port range | Destination
HTTPS       | TCP      | 443        | 52.94.48.24/32
非常感谢您的指导


谢谢,A.

我假设通过锁定您的基础结构,我们理解您将EC2实例放在一个安全的位置。在这种情况下,您应该为KMS服务创建一个

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


此外,您可以基于安全组(无需指定IP)允许EC2实例和VPC端点之间的通信。

我假设通过锁定基础设施,我们理解您将EC2实例放在一个安全组中。在这种情况下,您应该为KMS服务创建一个

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


此外,您还可以基于安全组(无需指定IP)允许EC2实例和VPC端点之间的通信。

我花了一段时间才真正了解设置以使其正常工作。我可以完成所有单独的任务,但不能很好地将它们结合在一起,但我现在有了它。最后[1] 将默认安全组更新为仅(a)入站、所有流量、sg-{default}(b)出站、所有流量、sg-{default}[2]将此安全组分配给所有EC2,&RDS实例[3]创建VPC端点,分配给默认安全组。现在,我的系统可以只与一个(简单的)安全组进行通信。需要注意的事项:[1]您需要一个出站和入站规则[2]我无法使用我创建的安全组进行通信,我需要使用并更新原始默认安全组,显然删除了0.0.0.0/0[3]确保已将安全组应用于所有资产!(在我的例子中,是EC2、RDS和端点)。对大多数人来说可能是显而易见的,但希望对某些人有用!我花了一段时间才真正理解了让它工作的设置。我可以完成所有单独的任务,但不能很好地将它们结合在一起,但我现在有了它。最后[1] 将默认安全组更新为仅(a)入站、所有流量、sg-{default}(b)出站、所有流量、sg-{default}[2]将此安全组分配给所有EC2,&RDS实例[3]创建VPC端点,分配给默认安全组。现在,我的系统可以只与一个(简单的)安全组进行通信。需要注意的事项:[1]您需要一个出站和入站规则[2]我无法使用我创建的安全组进行通信,我需要使用并更新原始默认安全组,显然删除了0.0.0.0/0[3]确保已将安全组应用于所有资产!(在我的例子中,是EC2、RDS和端点)。对大多数人来说可能是显而易见的,但希望对某些人有用!