跳至內容

當我在 Amazon SES 中傳送電子郵件時出現「Unauthorized」錯誤,該如何解決?

1 分的閱讀內容
0

我使用 Amazon Simple Email Service (Amazon SES) 嘗試傳送電子郵件,但收到「Unauthorized」錯誤。

解決方法

確認 IAM 權限

若要確認您的 AWS Identity and Access Management (IAM) 身分具有傳送電子郵件的正確權限,請完成以下步驟:

  1. 開啟 IAM 主控台。

  2. 選取用於傳送電子郵件的 IAM 使用者或角色。

  3. 選取您用來傳送電子郵件的 IAM 身分名稱。

  4. 在 IAM 身分的 Permissions (權限) 索引標籤中,展開每個政策以檢視其 JSON 政策文件。

  5. 搜尋與 Amazon SES 存取相關的政策。然後,確認您具有 ses:SendEmail 或 ses:SendRawEmail 動作的權限。<br id=hardline_break/> 以下 IAM 政策範例允許 IAM 身分傳送電子郵件:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "ses:SendEmail",
                    "ses:SendRawEmail"
                ],
                "Resource": "*"
            }
        ]
    }

    **注意:**如果 IAM 政策不存在,請建立 IAM 政策,以使用前述範例政策授予您傳送電子郵件的存取權。

檢查是否有任何拒絕陳述式封鎖存取

檢查 IAM 政策中是否有任何可能拒絕傳送電子郵件存取的拒絕陳述式。

如果存在拒絕陳述式,請移除或修改以下限制存取的條件:

  • ses:Recipients
  • ses:FromAddress
  • ses:FromDisplayName
  • ses:FeedbackAddress
  • aws:CurrentTime
  • aws:EpochTime
  • aws:SecureTransport
  • aws:SourceIp
  • aws:UserAgent

確認 IAM 權限界限允許存取 Amazon SES

檢閱嘗試存取 Amazon SES 的 IAM 身分所設定的 IAM 權限界限。請確保 IAM 權限界限允許存取 Amazon SES。如需更多資訊,請參閱使用權限界限委派責任給他人。

確認 AWS Organizations SCP 未拒絕 Amazon SES 存取

如果您使用 AWS Organizations,請檢查服務控制政策 (SCP) 是否包含明確拒絕 ses:SendEmail and ses:SendRawEmail 動作的陳述式。根據您組織的安全政策,刪除明確拒絕 Amazon SES 動作的 SCP。

以下政策範例拒絕所有 Amazon SES 動作的存取:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "ses:*",
            "Resource": "*"
        }
    ]
}

確認 Amazon SES 中的寄件者授權政策授予委派寄件者權限

當您授權其他使用者從您擁有的身分傳送電子郵件時,請確認授權政策具有正確的權限。請確保寄件者在您驗證身分的 AWS 區域中使用相同的 Amazon SES 端點。您必須先將委派寄件者的 AWS 帳戶從沙盒中移除,才能使其傳送電子郵件至未驗證地址。如需檢視、編輯或移除政策,請參閱在 Amazon SES 中管理您的身分授權政策。