如何為第三方 ses api 存取建立 aws IAM API

建立 AWS IAM API 存取權限的步驟

建立 IAM 使用者

  • 登入 AWS 控制台並前往 IAM 服務
  • 選擇 “Users” 並點擊 “Create user”
  • 輸入使用者名稱並點擊 “Next”

設定權限

  • 選擇 “Attach policies directly”
  • 搜尋並附加以下政策:
    • AmazonSESFullAccess
    • AmazonSNSFullAccess
    • IAM ReadOnly Access

建立存取金鑰

  • 選擇新建立的使用者
  • 前往 “Security credentials” → “Access keys”
  • 點擊 “Create access key”
  • 選擇 “Third-party service” 選項
  • 複製並保存:
    • Access Key ID
    • Secret Access Key

所需的 SES 權限

基本 SES API 權限:

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

安全性考量

最佳實踐:

  • 遵循最小權限原則
  • 限制特定 IP 或 VPC 的存取
  • 定期輪換存取金鑰
  • 監控 API 使用情況

資源限制:
可以透過 Resource ARN 進一步限制存取特定區域或帳戶:

"Resource": "arn:aws:ses:YOUR_REGION:YOUR_ACCOUNT_NUMBER:identity/*"

這樣的設定可以讓第三方安全地使用 SES 服務來發送電子郵件,同時維持適當的存取控制。

How to setup AWS SES API permission

設定 AWS SES API 權限的步驟

建立 IAM 使用者

  1. 登入 AWS 管理控制台
  2. 前往 IAM 服務
  3. 選擇 “Users” 並點擊 “Add user”
  4. 輸入使用者名稱並點擊 “Next”

配置權限
需要以下基本權限才能使用 SES API:

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

設定存取方式

  1. 在建立使用者後,前往 “Security credentials”
  2. 選擇 “Create access key”
  3. 保存生成的:
    • Access Key ID
    • Secret Access Key

安全性最佳實踐

權限限制

  • 可以限制特定寄件者地址的使用
  • 可以設定特定時間段的存取限制
  • 可以限制特定 IP 或 VPC 的存取

監控與控制

  • 使用 AWS CloudWatch 監控 API 使用情況
  • 定期輪換存取金鑰
  • 實施最小權限原則

進階設定選項

自訂政策範例:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": ["ses:*"],
            "Resource": "arn:aws:ses:region:account-id:identity/*"
        }
    ]
}

這樣的設定可以確保 SES API 的安全使用,同時提供必要的存取控制。