1. ホーム
  2. amazon-web-services

[解決済み] AWS Lambda:The provided execution role does not have permissions to call DescribeNetworkInterfaces on EC2 (提供された実行ロールに、EC2上でDescribeNetworkInterfacesを呼び出す権限がない

2023-02-28 15:41:21

質問内容

今日、私は新しいAWS Lambdaの質問があり、Googleでどこにも見つけることができません。

私は新しいLambda関数を作成し、質問はありません。 しかし、この関数に何かコードを入力し[例えば console.log();] "Save"をクリックすると、エラーが発生しました。 "The provided execution role does not have permissions to call DescribeNetworkInterfaces on EC2"

exports.handler = (event, context, callback) => {
    callback(null, 'Hello from Lambda');
    console.log();  // here is my code   
}; 

関数をRole: lambda_excute_execution(Policy:AmazonElasticTranscoderFullAccess) でバインドしてみました。 そして、この関数は現在どのトリガーにもバインドされていません。

そして、ロールに "AdministratorAccess" Policy を与えると、ソースコードを正しく保存できるようになりました。

このロールは、今日以前にFunctionsを正常に実行することができます。

このエラーをご存知の方はいらっしゃいますか?

ありがとうございました。

どのように解決するのですか?

このエラーは、Lambda に必要なネットワーク インターフェース関連の権限を与えずに VPC にデプロイしようとした場合によく発生します。 ec2:DescribeNetworkInterfaces , ec2:CreateNetworkInterface そして ec2:DeleteNetworkInterface (を参照してください。 AWSフォーラム ).

例えば、VPCにLambdaをデプロイできるようにするポリシーです。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeNetworkInterfaces",
        "ec2:CreateNetworkInterface",
        "ec2:DeleteNetworkInterface",
        "ec2:DescribeInstances",
        "ec2:AttachNetworkInterface"
      ],
      "Resource": "*"
    }
  ]
}