簡體   English   中英

AWS SES Policy - 限制來自特定用戶的發送 + email 地址 + 每日限制

[英]AWS SES Policy - limit sending from specific users + email address + daily limit

我希望盡可能多地鎖定我用來發送電子郵件的 IAM 帳戶,其中包括以下限制:

  1. 僅從 1 個特定的 email 地址發送 email [完成]
  2. 限制 email 僅來自 2 個特定 IAM 賬戶的分配
  3. 設置每天從每個 IAM 賬戶發送 100 封電子郵件的限制

#1 已經實現,但#2 似乎是不可能的,因為根據 AWS Policy Builder, PRINCIPAL在同一策略中不支持IDENTITY_POLICY

在此處輸入圖像描述

至於 #3,我很好奇如何處理這個問題,以及它是否真的可以通過 AWS 策略來做到這一點? 如果用戶發送的電子郵件超過 100 封,是否有通過 Cloudwatch 標記 /email 提醒我的替代方法?

這是我目前的政策:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Resource": "arn:aws:ses:eu-west-1:123456789012:identity/domain.com",
            "Action": [
                "ses:SendEmail",
                "ses:SendRawEmail"
            ],
            "Condition": {
                "StringEquals": {
                    "ses:FromAddress": "noreply@domain.com"
                }
            }
        }
    ]
}

對於 2:簡單的 IAM 策略和角色不會滿足您的需求嗎? 只有具有所需角色的人才能使用 SES,默認情況下會阻止所有其他訪問。 然后,您將只允許這 2 個賬戶擔任該角色,解決方案已完成,並且可以在將來輕松擴展到任何其他賬戶(並且它也類似於解決 AWS 中類似問題的所有其他方法)。

對於 3:TBH,我會以不同的方式實現它,並且更通用。 有一個叫做配置集的東西。 您可以指定您希望在給定的 SQS 隊列上獲得哪種事件。 在這里,您會對 SEND 事件感興趣。 當發送 email 時,您將在 SQS 隊列上收到一條消息,其中包含所有必要的信息(包括發件人 email 地址)。 基於此,您可以將其拆分到不同的隊列(基於發件人地址)並分別對其進行計數,或者只對一個隊列中的消息進行計數。 之后,使用 cloudwatch,我會簡單地為隊列大小創建一個警報,無論它是否大於 100(可能在某個時間跨度內),並將處理程序設置為 SNS 主題(具有您的 email 處理的細節)。 我會說這個解決方案更通用,正如你從字面上看,可以拆分 email 的主隊列,然后只發送給兩個發件人,如果發生任何不同,你甚至可以為電子郵件的 rest 設置第三個隊列(以防第二個不起作用)並在彈出任何內容時創建警報,然后它還會使用類似的 SNS 主題以您喜歡的任何方式提醒您。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM