Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS Lambda打印版“;“当前用户ID”;(非帐户ID)正在运行lambda函数_Amazon Web Services_Aws Lambda - Fatal编程技术网

Amazon web services AWS Lambda打印版“;“当前用户ID”;(非帐户ID)正在运行lambda函数

Amazon web services AWS Lambda打印版“;“当前用户ID”;(非帐户ID)正在运行lambda函数,amazon-web-services,aws-lambda,Amazon Web Services,Aws Lambda,比如说: 1. User "ABC" logged into AWS console -> Execute the lambda function "MyLambda" --> Lambda function prints user as "ABC" 2. User "XYZ" logged into AWS console -> Execute the lambda function "MyLambda" --> Lambda fu

比如说:

1. User "ABC" logged into AWS console  
  -> Execute the lambda function "MyLambda" 
    --> Lambda function prints user as "ABC"

2. User "XYZ" logged into AWS console  
  -> Execute the lambda function "MyLambda" 
    --> Lambda function prints user as "XYZ"

如何用“PYTHON”编写lambda来实现上述功能

似乎您正试图通过打印登录/执行者用户Id来重新发明控制盘。您可以从中获取此信息

AWS CloudTrail是一项支持治理、法规遵从性、, AWS账户的运营审计和风险审计。具有 CloudTrail,您可以登录、持续监视和保留帐户 与AWS基础架构中的操作相关的活动。云迹 提供AWS帐户活动的事件历史记录,包括操作 通过AWS管理控制台、AWS SDK和命令行获取 工具和其他AWS服务。此事件历史记录简化了安全性 分析、资源更改跟踪和故障排除

如果您想获取cloudtrail日志,那么在代码中执行如下操作

response = client.lookup_events(
    LookupAttributes=[
        {
            'AttributeKey': 'EventId'|'EventName'|'ReadOnly'|'Username'|'ResourceType'|'ResourceName'|'EventSource'|'AccessKeyId',
            'AttributeValue': 'string'
        },
    ],
    StartTime=datetime(2015, 1, 1),
    EndTime=datetime(2015, 1, 1),
    MaxResults=123,
    NextToken='string'
)

我认为Lambda函数无法获得此信息。“用户”的概念仅限于他们是否有权进行请求的API调用。如果他们这样做了,那么运行Lambda函数的是帐户,而不是用户。你能解释一下为什么你需要这些信息吗?我必须亲自测试一下,但这似乎不是真的。当我创建Lambda时,我分配了一个执行角色。我可以在CloudTrail中看到我的Lambda作为这个执行角色运行,但我作为谁登录到控制台并不重要。CloudTrail测试执行启动中是否没有对执行的审计?我认为它应该在那里,如果不是的话,那么它是AWS partNo上的一个失误,不是我的测试。通常,Lambda将从内部事件(例如S3中的新对象)运行,并且没有登录用户运行该事件。