aws cdkを用いてlambda、dynamoDBをそれぞれ構築してlambdaからdynamodbへアクセスしようとしているのですが権限でのエラーが出てしまい、アクセスできません、
grantFullAccessでfullaccessをアタッチしてみましたが同様のエラーが出ました
どなたか教えていただけると幸いです。。
errorMessage
"errorMessage": "An error occurred (AccessDeniedException) when calling the Query operation: User: arn:aws:sts::280246784662:assumed-role/TestCdkStack-RequestUpdaterLambdaServiceRole01F826-19EP06TZBKCXM/RequestUpdaterLambda_test_5 is not authorized to perform: dynamodb:Query on resource: arn:aws:dynamodb:ap-northeast-1:280246784662:table/ManagementRequestTable/index/StatusCreatedAt",
cdk
const RequestUpdaterLambda = new PythonFunction(this, 'RequestUpdaterLambda', { entry: './lambda/RequestUpdaterLambda', functionName: `RequestUpdaterLambda`, handler: 'lambda_handler', runtime: Runtime.PYTHON_3_6, memorySize: 256, timeout: cdk.Duration.minutes(15), layers: [LambdaLayerRequests] }); DynamoDb.grantReadData(RequestUpdaterLambda); const DynamoQueryRole = new PolicyStatement({ actions: ['dynamodb:Query'], resources: ['arn:aws:dynamodb:::*'], }); RequestUpdaterLambda.role?.attachInlinePolicy( new Policy(this, 'queryDynamoPolicy', { statements: [DynamoQueryRole], }), );
pythonCode
queryData = table.query( IndexName="StatusCreatedAt", KeyConditionExpression=Key('api_status').eq("WORKING") ) return queryData['Items']
ポリシー
{ "Version": "2012-10-17", "Statement": [ { "Action": "dynamodb:Query", "Resource": "arn:aws:dynamodb:::*", "Effect": "Allow" } ] }
まだ回答がついていません
会員登録して回答してみよう