我正在尝试使用像这样的云形式在B帐户中创建一个堆栈。
{
"AWSTemplateFormatVersion": "2010-09-09",
"Resources": {
"lambda": {
"Type": "AWS::Lambda::Function",
"Properties": {
"Code": {
"S3Bucket": "lambda-test-zwshao",
"S3Key": "lambda_spike.zip"
},
"Description": "lambda spike function..",
"Handler": "index.handler",
"MemorySize": 128,
"Role": "arn:aws:iam::A account:role/kinesis-read",
"Runtime": "nodejs4.3",
"Timeout": 20
}
},
"eventSourceMapping": {
"Type" : "AWS::Lambda::EventSourceMapping",
"Properties": {
"BatchSize" : 100,
"Enabled" : true,
"EventSourceArn" : "arn:aws:kinesis:ap-southeast-2:A account:stream/lambda-test",
"FunctionName" : {"Ref": "lambda"},
"StartingPosition" : "TRIM_HORIZON"
}
}
}
}
A帐户是帐号。
错误为Cross-account pass role is not allowed
。
答案 0 :(得分:2)
我问了AWS TECH SUPPORT CENTER
。目前它不支持这一点。
答案 1 :(得分:1)
我希望这会有所帮助
跨帐户访问:授予对一个帐户中资源的访问权限 不同帐户中的可信委托人通常被称为 跨账户访问。角色是授予跨帐户的主要方式 访问。但是,通过AWS提供的一些Web服务,您可以 将策略直接附加到资源(而不是使用角色作为 代理)。这些称为基于资源的策略,您可以使用它们 授予另一个AWS账户的主体访问资源的权限。该 以下服务支持指定的基于资源的策略 资源:Amazon Simple Storage Service(S3)存储桶,Amazon Glacier 保险库,亚马逊简单通知服务(SNS)主题和亚马逊 简单队列服务(SQS)队列。有关更多信息,请参阅IAM如何 角色与基于资源的策略不同 http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html
这篇文章提供了如何启用corss-account访问的示例, https://blogs.aws.amazon.com/security/post/Tx70F69I9G8TYG/How-to-enable-cross-account-access-to-the-AWS-Management-Console
但是,对于类似的问题,这是一个hacky方法 https://gist.github.com/djm/1af7dec88fb24bd73188