gpt4 book ai didi

amazon-web-services - 将 Serverless 框架转换为 Typescript CDK - API 网关身份验证

转载 作者:行者123 更新时间:2023-12-03 07:41:46 24 4
gpt4 key购买 nike

我有一个 GatewayConstruct,我想向用户授予访问权限。查看文档我可以执行以下操作:

const methodResult = resource.addMethod(method, lambdaIntegration, {
authorizationType: AuthorizationType.IAM,
});

iamUser.attachInlinePolicy(new Policy(this, 'AllowBooks', {
statements: [
new PolicyStatement({
actions: [ 'execute-api:Invoke' ],
effect: Effect.ALLOW,
resources: [ methodResult.methodArn ]
})
]
}))

这一切都很好,但是我在哪里/如何获取当前用户 iamUser 以便附加内联策略?

我来自无服务器框架堆栈并尝试将其迁移到 CDK。以前我只是加载一个资源,例如

Resources:
CognitoAuthorizedApiPolicy:
Type: AWS::IAM::Policy
Properties:
PolicyName: ${self:custom.stage}-CognitoNotesAuthorizedApiPolicy
PolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: "Allow"
Action:
- "execute-api:Invoke"
Resource:
!Sub 'arn:aws:execute-api:${AWS::Region}:${AWS::AccountId}:${ApiGatewayRestApi}/*'
Roles:
- !ImportValue '${self:custom.sstApp}-CognitoAuthRole'

并在 serverless.yaml 文件中调用它,我不需要专门附加它。

resources:
- ${file(../../resources/cognito-policy.yml)}

希望在这里得到一些指导,我在更完整示例的文档中找不到太多内容。

最佳答案

您可以通过 https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.User.html#construct-props 创建新用户

如果用户已经存在,您可以查找他,例如通过 ARN 通过 https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.User.html#static-fromwbruserwbrarnscope-id-userarn

一旦您有了可用的 IUser 对象,您就可以将所需的内联策略附加到他身上。

关于amazon-web-services - 将 Serverless 框架转换为 Typescript CDK - API 网关身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65967018/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com