示例#1
0
文件: sns.py 项目: mattsb42/accretion
def _public_broadcast(topic: sns.Topic) -> Dict:
    return dict(
        Sid="PublicBroadcast",
        Effect=AWS.Allow,
        Principal=AWS.Principal("*"),
        Action=["SNS:Receive", "SNS:Subscribe"],
        Resource=topic.ref(),
        Condition=dict(StringEquals={"SNS:Protocol": ["lambda", "sqs"]}),
    )
示例#2
0
文件: sns.py 项目: mattsb42/accretion
def _owner_policy(topic: sns.Topic) -> Dict:
    return dict(
        Sid="OwnerPolicy",
        Effect=AWS.Allow,
        Principal=AWS.Principal("*"),
        Action=[
            "SNS:Publish",
            "SNS:RemovePermission",
            "SNS:SetTopicAttributes",
            "SNS:DeleteTopic",
            "SNS:ListSubscriptionsByTopic",
            "SNS:GetTopicAttributes",
            "SNS:Receive",
            "SNS:AddPermission",
            "SNS:Subscribe",
        ],
        Resource=topic.ref(),
        Condition=dict(StringEquals={"AWS:SourceOwner": AccountId}),
    )