AWS にはメールを送信するマネージドサービスとして SES(Simple Email Service)があります。
Amazon SES 認証情報の種類
SES でメールを送信する場合の認証としては以下になります。
■Amazon SES SMTP インターフェイス
使用する認証情報:SMTP 認証情報
認証情報の構成内容:ユーザー名とパスワード
■Amazon SES API
使用する認証情報:AWS アクセスキー
認証情報の構成内容:アクセスキー ID とシークレットアクセスキー
ここだけを見ると「SES API を利用する場合は EC2 上からだろうが例外なくアクセスキー ID とシークレットアクセスキーの発行が必要なのかな」と思ってしまうと思います。
しかし本当に EC2 インスタンスに AWS CLI をインストールしてポリシーを設定して必要な権限を割り当てていてもアクセスキーID とシークレットアクセスキーが必要なのか検証してみました。
試した環境は Cloud9 です。
Cloud9 の本体は EC2 です。
IAMロールは testAdminRole でポリシーは「AdministratorAccess」を割り当てています。
権限的には十分です。
この状態ですべての IAM ユーザーよりアクセスキーIDとシークレットアクセスキーを「無効化」しました。
つまり、このAWSアカウント上ではアクセスキーIDとシークレットアクセスキーは全く発行されていない状態になります。
aws ses send-email コマンドでメールを送信する
この状態でCloud9を起動して aws ses send-email コマンドを実行してみました。
■aws ses send-email コマンドを実行
$ aws ses send-email –from test@xxxxxx.com –to xxxxxx@gmail.com –subject subject –text Test01
{
“MessageId”: “xxxxxxxxxxx-xxxxxxxxxxxx-xxxxxxxxxxx-xxxxxx”
}
$
|
エラーが出なかったということはアクセスキーIDとシークレットアクセスキーがなくてもメールは送信できたということです。
メールを確認する
送信されたメールを確認します。
Gmailで内容をチェックしてみます。
Gmailにログインしてメールを確認してみたところ、ちゃんとメールは届いていました。
ソースも確認してみます。
■ソース
Delivered-To: xxxxxxx@gmail.com
Received: by 2002:a05:6f02:901:b0:27:1111:1111 with SMTP id 1csp7339861rcg;
Sat, 26 Nov 2022 00:15:31 -0800 (PST)
X-Google-Smtp-Source: AA0mqf5p2U4Tm8lw/NEDsjItlW0c1Wx1qvZo53hGZEHz4XpxxZ+pL71rd/xvrFVy22kgjJgtx+2m
X-Received: by 2002:a63:5825:0:b0:477:f6be:b63d with SMTP id m37-20020a635825000000b00477f6beb63dmr2428089pgb.512.1669450531191;
Sat, 26 Nov 2022 00:15:31 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; t=1669450531; cv=none;
d=google.com; s=arc-20160816;
b=AvnhIsKDp0y0bMVG9XsXkWICCDfc0scj3WYMyApxxxxxxxxxxxxxxaX2vNXX81sX4g9
YAxVGyHKIBSj55aar68hi2/7xDq/5BhGwWcOEkxNxxxxxxxxxxxxxxx7PJS9+lkWbTnI
2578a6p32/RBX29G09Xie5Ed7P8wdqZdVSvXriuWxxxxxxxxxxxxxxxlh9vSZRNUN8Ye
pKjYNnbJMuC5fHMDcopXzfPHPXnarWt/e40QqzxIlTcy6kxXf5zKABBfzuKpZgIF+LnV
xR/13dicofRwJ5jsXw5DgQqTJ5jFdd8AFMnVwRMjcILcUK7jJBLhiRptUR8WTCJ8wwkT
wglg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
h=feedback-id:date:message-id:content-transfer-encoding:mime-version
:subject:to:from:dkim-signature:dkim-signature;
bh=/AMQ38igJtZ9nNUsenNo3/zJgZqpbxxxxxxxxxxxxxU=;
b=1COoL9d1yTUy5U31WbRkrwaPrDDIzqCCRQxxxxxxxxxxxxxxxx6/7Qnxz500ELmrXgO
YYKf1OhMjFpc6fpK7Sspli+HkAGsSpkXRnVxxxxxxxxxxxxxxxx6ChcqiCjzDRvFHUVP
lfIPlMuNQn7ePBVNRTVzlTNmZUJ+xdrvxxd8OpjgyPFzoYYsSzKhMH6w0wPBVfLCrBjD
TqV4OafWuuLZkrXaamQfuJvKGCLLwOJiAi742yx26I1r/NnPVRGMkI9YiCY4mL1pIkwW
6oYJYvchTRTaMuX8wPerCENMIyT32OLZmFNyKj46Y5GNv9J+7/DjyuePWkc8nT/spqAV
q8lw==
ARC-Authentication-Results: i=1; mx.google.com;
dkim=pass header.i=@xxxxxxxxx.com header.s=z3ilknxxxxxxxxxxl5lgwb header.b=alForWmC;
dkim=pass header.i=@amazonses.com header.s=suwtesxxxxxxxxxxymtlt2 header.b=mz8BGNBz;
spf=pass (google.com: domain of xxxxxxxxxx-000000@ap-northeast-1.amazonses.com designates 23.251.234.7 as permitted sender) smtp.mailfrom=01060184b3017c3e-0703b5ef-3072-4e81-a846-9d575102917d-000000@ap-northeast-1.amazonses.com
Return-Path: <xxxxxxxxxx-4e81-a846-9d575102917d-000000@ap-northeast-1.amazonses.com>
Received: from e234-7.smtp-out.ap-northeast-1.amazonses.com (e234-7.smtp-out.ap-northeast-1.amazonses.com. [23.251.234.7])
by mx.google.com with ESMTPS id t12-20020a170902a5cc00b001747ed48ee8si4912662plq.150.2022.11.26.00.15.30
for <xxxxxxxx@gmail.com>
(version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
Sat, 26 Nov 2022 00:15:31 -0800 (PST)
Received-SPF: pass (google.com: domain of xxxxxxxxxx-4e81-a846-9d575102917d-000000@ap-northeast-1.amazonses.com designates 23.251.234.7 as permitted sender) client-ip=23.251.234.7;
Authentication-Results: mx.google.com;
dkim=pass header.i=@xxxxxxxx.com header.s=xxxxxxxxxxxxql5lgwb header.b=alForWmC;
dkim=pass header.i=@amazonses.com header.s=xxxxxxxxxxxqymtlt2 header.b=mz8BGNBz;
spf=pass (google.com: domain of xxxxxxxxxx-4e81-a846-9d575102917d-000000@ap-northeast-1.amazonses.com designates 23.251.234.7 as permitted sender) smtp.mailfrom=01060184b3017c3e-0703b5ef-3072-4e81-a846-9d575102917d-000000@ap-northeast-1.amazonses.com
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=xxxxxxxxxxql5lgwb; d=xxxxxxxx.com; t=1669450530; h=From:To:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID:Date; bh=/AMQ38igJtZ9nNUsenNo3/zJgZqpbUPhwGpRYhY2M1U=; b=alForWmCTyJYKPiAALMHM8D3sB5YHqyasTLSZwC2BO21uYzDzZWi2eN7FKgZ7Kbr N/ABYH0EUN3vCyt3P6Rw0OruFN7ZL1PYPnQzSyBXjJaTLsY06Xys4/Ub1uP2tNiaBKv I9Sp+Jqqi5yjZkeoB8PA7NCswi2ZEK7Yi2+1o5x2CtKhCp2GTWWnJup3HfZQqYHRxpq vT/Cv0wa1qwxyMbP6vgrpKehIx66NmYAtyaP0d+fTyhWcUHVSIGoAuL20V2n2Gdzr/W CoW3dITXVHWcEA2sMojtFO1QGnVkx/naTcfCxi862DhKa8ePmvEXJfScOLDOjgLvmW/ 8l99fGevpQ==
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=suwteswkahkjx5z3rgaujjw4zqymtlt2; d=amazonses.com; t=1669450530; h=From:To:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID:Date:Feedback-ID; bh=/AMQ38igJtZ9nNUsenNo3/zJgZqpbUPhwGpRYhY2M1U=; b=mz8BGNBzotmnXad8c0SGWZdIb1hECzF06P1kHj5hujePdjKuKD/NSEQW0xT/QHkr YNSYmQt8w40LkxBS4EPPNmpiUsZJoYazMX8FyKw2NQUTqVkBSAjnLTLueKM1oPUagv4 lryOtz7WOiUrmgMMPsMqSlvfCjmmVY2IafbyFGRc=
From: test@xxxxxxxx.com
To: xxxxxxx@gmail.com
Subject: subject
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Message-ID: <xxxxxxx-4e81-a846-9d575102917d-000000@ap-northeast-1.amazonses.com>
Date: Sat, 26 Nov 2022 08:15:29 +0000
Feedback-ID: 1.ap-northeast-1.zRymsu5JTTs5U2CcGvXGsqcZW/xYa1ASRamWzcoXGgE=:AmazonSES
X-SES-Outgoing: 2022.11.26-23.251.234.7
Test01
|
xxxxxxxxx@ap-northeast-1.amazonses.com からメールが送信されていることが分かります。
ということは、結論を言えば、適切なロールやポリシーが設定されている EC2(Cloud9)から SMTP認証用のアカウントとパスワードを発行しなくても、アクセスキーIDとシークレットアクセスキーを発行しなくてもコマンドでメールが配信できるということが分かりました。
コメント