[英]How to add policy to access secret with lambda function AWS SAM
我正在嘗試在 SAM 模板中向我的 lambda function 授予秘密管理器的訪問權限,但它給我的錯誤是策略聲明格式錯誤。
Policies:
- Statement:
- Sid: AWSSecretsManagerGetSecretValuePolicy
Effect: Allow
Action: secretsmanager:GetSecretValue
Resource: <arn >
有人可以告訴我向我的 lambda function 添加策略的正確方法嗎? 我正在使用 SAM 模板(類型:AWS::Serverless::Function)
有SAM 策略模板,其中之一是AWSSecretsManagerGetSecretValuePolicy ,您可以直接在定義中使用它們。
或者,如果您想自己管理政策。
QueryFunction:
Type: AWS::Serverless::Function
Properties:
Handler: lambda_handler.lambda
Policies:
- AmazonDynamoDBFullAccess
- AWSLambdaVPCAccessExecutionRole
- SSMParameterReadPolicy:
ParameterName: parameter_name
- Statement:
- Effect: Allow
Action:
- dynamodb:*
Resource: 'resource_arn'
Runtime: python3.7
嘗試這個:
Policies:
- Version: '2012-10-17'
Statement:
- Sid: AWSSecretsManagerGetSecretValuePolicy
Effect: Allow
Action: secretsmanager:GetSecretValue
Resource: <arn >
lambda 上的此政策適用於我 (YAML)
Policies:
- AWSSecretsManagerGetSecretValuePolicy:
SecretArn:
Ref: THE_NAME_YOU_GAVE_YOUR_SECRET_RESOURCE
此策略僅接受密鑰的 ARN,因此密鑰名稱不起作用。 https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-policy-template-list.html#secrets-manager-get-secret-value-policy
下面對我有用。
Resources:
MyFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: MyProject/
Handler: app
Policies:
- AWSSecretsManagerGetSecretValuePolicy:
SecretArn: 'arn:aws:secretsmanager:####'
或將其作為參數傳遞
- AWSSecretsManagerGetSecretValuePolicy:
SecretArn: !Ref RdsSecretArn
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.