2016-07-05 80 views
1

我想用这样的云形成在B帐户中创建一个堆栈。如何创建由另一个帐户中的kinesis触发的lambda函数?

{ 
"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

我希望这有助于

跨帐户访问:授予对资源的访问在一个帐户的 受信任主体在不同的帐户经常被称为 跨帐户的访问。角色是授予交叉账户 访问权限的主要方式。但是,通过AWS提供的一些Web服务,您可以将 直接附加到资源(而不是使用角色作为 代理)。这些称为基于资源的策略,您可以使用这些策略向另一个AWS账户的主体授予对资源的访问权限。 以下服务支持指定的 资源的基于资源的策略:Amazon简单存储服务(S3)存储桶,Amazon Glacier 保管库,Amazon简单通知服务(SNS)主题以及亚马逊简单队列服务(SQS)队列。有关详细信息,请参阅如何IAM 角色从以资源为基础的政策 http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html

这篇文章提供了如何使绍兴德胜帐户访问的例子不同, https://blogs.aws.amazon.com/security/post/Tx70F69I9G8TYG/How-to-enable-cross-account-access-to-the-AWS-Management-Console

但是,这里有一个哈克方法类似问题 https://gist.github.com/djm/1af7dec88fb24bd73188

+0

我知道我们可以承担角色来访问资源跨账户。但这对我没有帮助。 –

0

我问了AWS TECH SUPPORT CENTER。目前它不支持这一点。

相关问题