У меня есть сервер node.js, работающий в EC2, который использует 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?
A CIDR block, a security group ID or a prefix list has to be specified
, поэтому я не могу использовать имя хоста конечной точки или href из объекта службы KMS:
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/
дает IP-адрес 52.94.48.24:443
. Использование этого в конкретном правиле работает с перерывами, но я не могу найти документации AWS, предполагающей, что этот IP-адрес является фиксированным. Я бы предположил, что это не так.
Type | Protocol | Port range | Destination
HTTPS | TCP | 443 | 52.94.48.24/32
Любое руководство приветствуется!
Спасибо.