Назад | Перейти на главную страницу

AWS: подключение Lambda к секрету не работает

Я пытаюсь подключить лямбду к секрету согласно Документы AWS.

Я установил для секрета следующую политику на основе ресурсов и убедился, что он действительно установлен:

{
    "Version": "2012-10-17",
    "Statement": [{
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::123456789:role/my-lambda-execution-role"
        },
        "Action": ["secretsmanager:GetSecret", "secretsmanager:GetSecretValue"],
        "Resource": "*",
        "Condition": {
            "ForAnyValue:StringEquals": {
                "secretsmanager:VersionStage": "AWSCURRENT"
            }
        }
    }]
}

Однако я получаю тайм-ауты при попытке фактически получить политику (используя сгенерированный Amazon стартовый код для клиента python3). Я выполняю Lambda в веб-среде IDE.

Я пробовал с фильтром условий и без него. Я также, на всякий случай, предоставил политику SecretsManagerReadWrite роли выполнения лямбда-выражения. Никакого эффекта - все равно таймауты.

У меня такое ощущение, что я упускаю какой-то важный шаг, но я понятия не имею, что это может быть ...

Кто-нибудь может помочь? Спасибо!

Вы действительно понимаете Тайм-аут и нет В доступе отказано ошибка?

Если это так и у вас истекает тайм-аут, более вероятно, что ваш Конфигурация лямбда-сети это неверно. Если бы политика была неправильной, вы бы получили В доступе отказано, а не Тайм-аут.

Например, если он работает в VPC в общедоступной подсети, ему может не быть назначен общедоступный IP-адрес или если он работает в частной подсети, может не быть настроен шлюз NAT. Если Lambda не требуется доступ к ресурсам VPC, вы можете запустить его вне VPC (который также используется по умолчанию, VPC-Lambda - особый случай).

Надеюсь, это поможет :)