2016-06-29 10 views
4

新しいオブジェクトが作成されるたびにSNSにメッセージが送信されるように、S3バケットでイベントを作成しようとしています。SNSトピック設定のS3セットアップイベント

対象のトピックのポリシーに「ArnLike」:{"aws:SourceArn": "arn:aws:s3::testBucket"}を追加しました。 testBucketはバケット

の名前ですが、私は、イベントを作成しようとすると、それはまだ「先のトピックに関する権限S3は、このバケットからの通知を発行することはできません」

任意のアイデアを示して?大いに感謝します

答えて

0

私はあなたがあなたのトピックに公開するためにS3バケットの所有者を許可する必要があると信じています。私は通常、誰もがトピックに公開してから、より選択的なポリシーの詳細を後で追加できるようにすることで、機能を最初にテストします。

AWSコンソールでSNSトピックを選択し、[その他のトピックアクション]を選択して[トピックポリシーの編集]を選択すると、[基本ビュー]タブが表示されます。 「これらのユーザーがこのトピックにメッセージを公開できるようにする」セクションで、「Everyone」を選択して保存します。次に、S3にイベントを追加して、基本的なイベントの公開が機能することを確認します。その後、詳細表示を使用して詳細なポリシー変更を後でロックすることができます。私は、デフォルトの文の中の状態ライン

"ArnLike": { 
      "aws:SourceArn": "arn:aws:s3:*:*:testBucket" 
     } 

を追加して前に

+0

返信TJCloudminのためのすべての感謝の最初の、アイブ氏は、ポリシーが皆を許可するように設定されている場合は、私が実際に権限の問題なしS3からのイベントを作成することができ、あなたが提案したものを試みたが、私は制限したい場合高度なビューを使用したアクセス、または基本ビューで自分のアカウントIDを追加すると、私はまだイベントを作成する際に権限エラーになります.... – ChenL

5

問題は、解決しました。 私はそれにパブリッシュアクションを持つ新しいステートメントを作成する必要があります。

{ 
     "Sid": "publish-from-s3", 
     "Effect": "Allow", 
     "Principal": { 
     "Service": "s3.amazonaws.com" 
     }, 
     "Action": "SNS:Publish", 
     "Resource": "arn:aws:sns:ap-southeast-2:XXXXXXXXXXXXXX:testTopicforS3", 
     "Condition": { 
     "ArnLike": { 
      "aws:SourceArn": "arn:aws:s3:*:*:testBucket" 
     } 
     } 
    } 
関連する問題