[アップデート] AWS End User Messaging (SMS) の保護設定機能で個別の電話番号によるルールオーバーライドが出来るようになりました
いわさです。
AWS End User Messaging は Amazon Pinpoint から SMS とプッシュ通知の送信機能のみを切り出したサービスです。
End User Messaging の SMS 送信には送信先としてブロックする国を指定する「保護設定」という機能があります。
先日のアップデートで、こちらの保護設定にオーバーライドルールを設定して特定の電話番号への送信を許可/拒否出来るようになりました。
保護設定機能をそもそも使ったことが無かったのですが、アップデート機能とともに試す機会があったので紹介します。
拒否ルールの設定
まずは拒否ルールを設定してみます。
前提として保護設定には日本以外を拒否する設定が設定されています。
こちらが設定セットに関連付けされている状態です。
この状態だと、送信先が日本の電話番号へのみ送信が出来る状態です。
対象の保護設定の設定画面を開きましょう。
「ルールオーバーライド」タブから新しいオーバーライドとやらを追加します。
設定出来るのは対象の送信先電話番号と、どういう設定でオーバーライドするかです。
許可も出来るし、拒否も出来ます。
また、オプションでこのルールオーバーライド設定が有効化な期限を設定することが出来ます。
設定の追加後、対象の電話番号に対してテスト送信をしてみましょう。
おっ、「Conflict Occurred - Reason="DESTINATION_PHONE_NUMBER_BLOCKED_BY_PROTECT_NUMBER_OVERRIDE"」というエラーが発生しました。良いですね!
許可ルールの設定
続いて許可ルールも設定してみます。
このルールオーバーライド設定ですが、実は保護設定よりも優先されるので「保護設定で禁止した国だけども特定の電話番号へは送信可能」みたいな使い方が出来たりします。
試してみましょう。前提として先ほどの保護設定をちょっと変更し、今度は日本にだけ送信出来ないようにします。
この状態でテスト送信してみると次のように失敗します。
「Conflict Occurred - Reason="DESTINATION_COUNTRY_BLOCKED_BY_PROTECT_CONFIGURATION"」というエラーが発生しますね。
先ほどと同様にルールオーバーライドを許可設定で追加し同じ電話番号に送信してみましょう。
おー、今度は送信に成功しました。
ルールオーバーライド設定内容の確認方法
おそらく不具合ではないかなと思うのですが、。本日時点ではルールオーバーライドを追加してもマネジメントコンソール上なぜか表示されません。
ただ、AWS CLI などの API 経由であれば確認ができたので、マネジメントコンソールで確認出来るようになるまでは API の利用もご検討ください。
% cat hoge.json
{
"ProtectConfigurationId": "protect-0e991059d82d4ec6a99a32b02950379f"
}
% aws-v1 pinpoint-sms-voice-v2 list-protect-configuration-rule-set-number-overrides --cli-input-json file://hoge.json
{
"RuleSetNumberOverrides": [
{
"DestinationPhoneNumber": "+819001234567",
"CreatedTimestamp": 1731965074.434,
"Action": "ALLOW",
"IsoCountryCode": "JP",
"ExpirationTimestamp": 1732147199.0
}
],
"ProtectConfigurationId": "protect-0e991059d82d4ec6a99a32b02950379f",
"ProtectConfigurationArn": "arn:aws:sms-voice:ap-northeast-1:550669467088:protect-configuration/protect-0e991059d82d4ec6a99a32b02950379f"
}
さいごに
本日は AWS End User Messaging (SMS) の保護設定機能で個別の電話番号によるルールオーバーライドが出来るようになったので試してみました。
なお、オプトアウトリスト入りしている電話番号はこのルールオーバーライドでも上書きは出来ないみたいです。
なので挙動としては、オプトアウト > ルールオーバーライド > 保護設定、という感じで優先されていそうです。
拒否のところは個別に電話番号設定が必要なのでブラックリスト的な管理だと、メンテナンス方法を考えなければいけない気がしますが、後半試したホワイトリスト的に許可する方法は運用しやすそうです。