2017-07-27 4 views
1

私は、python boto3を使用して複数のアカウントでクラウドトレイルの作成を自動化しています。私の問題は、create_trailが自動的にsnsトピックを作成してそのトレイルに関連付けることではないということです。 create_trailは、snsトピックがすでに存在するとみなします。SNSポリシーにサービスを追加する

私はbotoでsnsトピックを作成できますが、トピックにポリシーを設定して、cloudtrailがトピックに公開できるようにはできません。

これは正しい政策は、コンソールで次のようになります。

{ 
    "Sid": "AWSCloudTrailSNSPolicy20150319", 
    "Effect": "Allow", 
    "Principal": { 
    "Service": "cloudtrail.amazonaws.com" 
    }, 
    "Action": "SNS:Publish", 
    "Resource": "arn:aws:sns:us-east-1:123456678912:us-east-1-trail" 
} 

のbotoでのサービスへのアクセス許可を与える方法はないようです。

client.add_permission(
    TopicArn=arn, 
    Label='AWSCloudTrailSNSPolicy20150319', 
    AWSAccountId=[ 
     '12345678912' 
    ], 
    ActionName=[ 
     'Publish', 
    ] 
) 

た場合、私はここにアカウントを追加しても、create_trail呼び出しは失敗します。

CreateTrail操作を呼び出すときにエラーが発生しました(InsufficientSnsTopicPolicyException)。SNSトピックが存在しないか、th eトピックポリシーが間違っています!

サービスにアクセス権を与えたり、トレイルやsnsトピックを作成するときに自動的にこれを設定する方法はありますか?

答えて

関連する問題