我有一个非常简单的 AWS Lambda 函数——只列出我所有的 CloudWatch 事件:
import boto3
def lambda_handler(event, context):
client = boto3.client("events")
return client.list_rules()
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试运行它时(使用空测试事件:){},我收到以下权限异常:
An error occurred (AccessDeniedException) when calling the ListRules operation:
User: arn:aws:sts::123321123321:assumed-role/lambda+basicEvents/lambdaName
is not authorized to perform: events:ListRules
on resource: arn:aws:events:eu-west-1:123321123321:rule/*
Run Code Online (Sandbox Code Playgroud)
我确实将此策略附加到 lambda 执行角色(并且我可以看到 lambda 的权限选项卡中列出的操作):
{
"document": {
"Version": "2012-10-17",
"Statement": [
{
"Sid": "BasicCloudWatchEventsManager",
"Effect": "Allow",
"Action": [
"events:DescribeRule",
"events:EnableRule",
"events:PutRule",
"events:ListRules",
"events:DisableRule"
],
"Resource": "arn:aws:events:*:*:rule/[*/]*"
}
]
},
"name": "BasicCloudWatchEventsManager",
"id": "SOME7LONG7ID",
"type": "managed",
"arn": "arn:aws:iam::123321123321:policy/BasicCloudWatchEventsManager"
}
Run Code Online (Sandbox Code Playgroud)
我已经使用他们提供的可视化编辑器构建了策略,只是sid …
permissions amazon-web-services amazon-iam aws-lambda amazon-cloudwatch-events
将目标sdk版本升级到29后,在android 10上出现了很多崩溃:
backtrace:
#00 pc 0000000000082fb4 /apex/com.android.runtime/lib64/bionic/libc.so (abort+160)
#01 pc 00000000004b4888 /apex/com.android.runtime/lib64/libart.so (art::Runtime::Abort(char const*)+2268)
#02 pc 000000000000c5b4 /system/lib64/libbase.so (android::base::LogMessage::~LogMessage()+608)
#03 pc 0000000000442f8c /apex/com.android.runtime/lib64/libart.so (art::OatHeader::GetCompilerFilter() const+280)
#04 pc 000000000044a884 /apex/com.android.runtime/lib64/libart.so (art::OatFile::GetCompilerFilter() const+40)
#05 pc 0000000000455d38 /apex/com.android.runtime/lib64/libart.so (art::OatFileManager::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits<char>>&)+376)
#06 pc 00000000004c1d78 /apex/com.android.runtime/lib64/libart.so (art::Runtime::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits<char>>&)+104)
#07 pc 00000000004d5ad8 /apex/com.android.runtime/lib64/libart.so (art::SignalCatcher::HandleSigQuit()+1356)
#08 pc 00000000004d4b6c /apex/com.android.runtime/lib64/libart.so (art::SignalCatcher::Run(void*)+252)
#09 pc 00000000000e205c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
#10 pc 0000000000084af0 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
Run Code Online (Sandbox Code Playgroud)
build.gradle 如下
implementation 'com.android.installreferrer:installreferrer:2.1'
implementation "com.google.android.gms:play-services-base:17.4.0"
implementation "com.google.android.gms:play-services-gcm:17.0.0"
implementation "com.google.android.gms:play-services-ads:19.3.0"
implementation "com.google.android.gms:play-services-auth:18.1.0"
implementation "com.google.android.gms:play-services-location:17.0.0"
implementation "com.google.firebase:firebase-core:17.5.0"
implementation …Run Code Online (Sandbox Code Playgroud)