當我從 Amazon SES 中的 IAM 使用者傳送電子郵件時,如何解決 554 ”Access denied" (拒絕存取) 錯誤?

上次更新日期:2022 年 10 月 07 日

當我從 Amazon Simple Email Service (Amazon SES) 中的 AWS 身分和存取管理 (IAM) 使用者傳送電子郵件時,我收到 554 "Access denied" (拒絕存取) 錯誤訊息。

簡短描述

您從 Amazon SES 中的 IAM 使用者傳送電子郵件,並且收到下列錯誤訊息:

554 Access denied: User `arn:aws:iam::123456789012:user/iam-user-name' is not authorized to perform `ses:SendRawEmail' on resource `arn:aws:ses:eu-west-1:123456789012:identity/example.com'

若要疑難排解 Amazon SES 發生的 554 "Access denied" (拒絕存取) 錯誤,請檢查下列各項:

  • 使用者擁有正確的政策和傳送電子郵件的存取權限。
  • 傳送授權政策並未附加至電子郵件地址或網域。
  • IAM 政策中的 Resource (資源) 元素設定為電子郵件地址身分的 ARN。
  • AWS Organizations 服務控制政策 (SCP) 並未附加至使用者。

解決方案

1.    開啟 IAM 主控台

2.    在 Policy summary (政策摘要)下,檢查下列項目:

IAM 使用者擁有傳送電子郵件的正確許可。例如,為了允許使用者執行電子郵件傳送 API,您必須包括相關動作 (ses:SendEmailses:SendRawEmailses:SendTemplatedEmailses:SendBulkTemplatedEmail)。

IAM 使用者有權從此身分傳送電子郵件。如果您將 IAM 使用者政策的 Resource (資源) 元素設定為 *,則使用者有權從所有身分傳送電子郵件。如果 Resource (資源) 元素受到限制,請檢查使用者是否有兩個政策,或是政策中有兩個陳述式。第一個政策或陳述式的 Action element (動作元素) 必須設定為一或多個非電子郵件傳送 API。Resource (資源) 元素必須設定為 *。第二個政策或陳述式的 Action (動作) 元素必須設定為一或多個電子郵件傳送 API。Resource (資源) 元素必須設定為該身分的 ARN。

以下是包含兩個陳述式的 IAM 政策範例。此政策允許使用者執行 GetSendStatistics (取得傳送統計資料) 和 GetSendQuota (取得傳送配額) 非電子郵件傳送 API,並限制 SendEmail (傳送電子郵件) 和 SendRawEmail (傳送原始電子郵件) 電子郵件傳送 API 只能從網域傳送。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ses:GetSendStatistics",
        "ses:GetSendQuota"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ses:SendEmail",
        "ses:SendRawEmail"
      ],
      "Resource": "arn:aws:ses:eu-west-1:123456789012:identity/example.com"
    }
  ]
}

3.    檢查電子郵件地址或網域是否附加了傳送授權政策,以阻止使用者傳送電子郵件。

4.    如果您將電子郵件地址身分與網域身分分開驗證,則必須將 Resource (資源) 元素設定為電子郵件地址身分的 ARN。如需詳細資訊,請參閱在 Amazon SES 中建立和驗證身分

5.    檢查是否有使用者繼承的組織 SCP 政策。SCP 可以防止使用者傳送電子郵件。例如,使用者繼承 Deny (拒絕) 陳述式以使用 Amazon SES,或者使用者只能存取某些 AWS 或 Amazon SES 區域。

注意:Amazon SES 簡易郵件傳輸通訊協定 (SMTP) 憑證對於每個 AWS 帳戶而言都是唯一的,並且專屬於一個區域。


此文章是否有幫助?


您是否需要帳單或技術支援?