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中的新对象)运行,并且没有登录用户运行该事件。