AWSアカウントを複数使っているけど、SNSは一元管理したい・・・よね?
もちろんAWSCLIを実行するときに直接アクセスキー、シークレットキーを指定すればできるわけですが、
AWS的にはそういったものをサーバー内に配置するのはNGとなっており、IAMのロールをインスタンスに付与してくれってことのようです。
で、その場合別アカウントのSNSは通常実行できません。
あくまでそのアカウントのSNSに対する許可でしかないため、別アカウントは当然実行できないわけです。
IAMロールをクロスアカウントすることも可能ですが、SSMとかCloudWatchエージェントもあるのでそれは微妙です。
そこでSNSには以下のコマンドが用意されており、
トピックごとにアクションを実行権限を付与することが可能です。
https://docs.aws.amazon.com/cli/latest/reference/sns/add-permission.html
アカウントalpahからアカウントbetaのSNSトピックalertを叩きたいときは以下
※ label はなんでもいい
aws sns --profile {beta} add-permission --label sns-publish --aws-account-id {alphaのID} \ --topic-arn arn:aws:sns:ap-northeast-1:{betaのID}:alert \ --action-name Publish
参考 https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/with-sns-example.html