{"id":345011,"date":"2026-08-01T20:47:14","date_gmt":"2026-08-01T20:47:14","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ses-identity-tenant-provisioner-by-sflwa\/"},"modified":"2026-08-02T17:40:35","modified_gmt":"2026-08-02T17:40:35","slug":"sflwa-tenant-identity-provisioner-amazon-ses","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/sflwa-tenant-identity-provisioner-amazon-ses\/","author":14122794,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.3","stable_tag":"1.3.3","tested":"7.0.2","requires":"5.8","requires_php":"","requires_plugins":null,"header_name":"SFLWA Identity & Tenant Provisioner for Amazon SES","header_author":"South Florida Web Advisors","header_description":"Automated multi-tenant onboarding for Amazon SES with isolated tenant identity bindings, IAM access generation, DKIM DNS output, and native tenant status reporting.","assets_banners_color":"d2d8dc","last_updated":"2026-08-02 17:40:35","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/southfloridawebadvisors.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":81,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.3.2":{"tag":"1.3.2","author":"sflwa","date":"2026-08-02 17:40:35"},"1.3.3":{"tag":"1.3.3","author":"sflwa","date":"2026-08-02 17:40:35"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3631293,"resolution":"128x128","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3631293,"resolution":"772x250","location":"assets","locale":"","width":1544,"height":500}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.2","1.3.3"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"<strong>Provision Tenant View:<\/strong> Simple domain onboarding interface with instant credential, DKIM CNAME, and code snippet outputs.","2":"<strong>Tenant Statistics Dashboard:<\/strong> Native WordPress table overview displaying sending status, associated domain identities, configuration sets, and reputation warnings.","3":"<strong>AWS Settings Page:<\/strong> Management panel for saved parent AWS accounts and configuration set defaults."}},"plugin_section":[],"plugin_tags":[265,1898,6930,258932,6929],"plugin_category":[],"plugin_contributors":[242288],"plugin_business_model":[],"class_list":["post-345011","plugin","type-plugin","status-publish","hentry","plugin_tags-amazon-ses","plugin_tags-aws","plugin_tags-dkim","plugin_tags-multi-tenant","plugin_tags-ses","plugin_contributors-sflwa","plugin_committers-sflwa"],"banners":{"banner":"https:\/\/ps.w.org\/sflwa-tenant-identity-provisioner-amazon-ses\/assets\/banner-772x250.png?rev=3631293","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sflwa-tenant-identity-provisioner-amazon-ses\/assets\/icon-128x128.png?rev=3631293","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>SFLWA Identity &amp; Tenant Provisioner for Amazon SES<\/strong> provides agency-grade, automated multi-tenant onboarding and monitoring for Amazon SES using native SES API v2.<\/p>\n\n<p>Effortlessly provision isolated client tenants, create sending identities, assign default configuration sets, auto-generate dedicated IAM credentials, and monitor client tenant health directly from your WordPress admin dashboard.<\/p>\n\n<h3>Key Features:<\/h3>\n\n<ul>\n<li><strong>Automated Tenant Onboarding:<\/strong> Creates SES API v2 tenants, creates domain identities, and binds them to specified tenant resources automatically.<\/li>\n<li><strong>Automated IAM Provisioning:<\/strong> Creates dedicated IAM sending users, adds them to your designated sending group, and issues access keys upon setup.<\/li>\n<li><strong>Instant DKIM CNAME Records:<\/strong> Generates short host, fully qualified domain names (FQDN), and CNAME target values with one-click copy buttons.<\/li>\n<li><strong>X-SES-TENANT Header Snippet:<\/strong> Produces ready-to-use WordPress code snippets (<code>wp_mail<\/code> hook) for client site integration.<\/li>\n<li><strong>Native Tenant Statistics Dashboard:<\/strong> Displays current sending status, assigned domain identities, bound configuration sets, and reputation impact warnings across all saved parent accounts.<\/li>\n<li><strong>Multi-Account Support:<\/strong> Easily switch between different parent AWS operator accounts.<\/li>\n<li><strong>Zero Additional API Costs:<\/strong> Designed strictly around native Amazon SES API v2 calls (<code>ListTenants<\/code>, <code>GetTenant<\/code>, <code>ListTenantResources<\/code>) to keep overhead completely free.<\/li>\n<\/ul>\n\n<h3>IAM Operator Policy<\/h3>\n\n<p>Your parent AWS Operator user requires an IAM policy permitting SES API v2 tenant management, IAM user provisioning, and STS caller identity verification.<\/p>\n\n<p>Attach the following policy to your operator user in AWS IAM:<\/p>\n\n<pre><code>{\n    \"Version\": \"2012-10-17\",\n    \"Statement\": [\n        {\n            \"Sid\": \"SESManagementAndReportingPermissions\",\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"ses:CreateEmailIdentity\",\n                \"ses:GetEmailIdentity\",\n                \"ses:CreateTenant\",\n                \"ses:CreateTenantResourceAssociation\",\n                \"ses:ListTenants\",\n                \"ses:GetTenant\",\n                \"ses:ListTenantResources\"\n            ],\n            \"Resource\": \"*\"\n        },\n        {\n            \"Sid\": \"IAMUserAndGroupProvisioning\",\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"iam:CreateUser\",\n                \"iam:AddUserToGroup\",\n                \"iam:CreateAccessKey\",\n                \"iam:AttachUserPolicy\"\n            ],\n            \"Resource\": \"*\"\n        },\n        {\n            \"Sid\": \"STSCallerIdentity\",\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"sts:GetCallerIdentity\"\n            ],\n            \"Resource\": \"*\"\n        }\n    ]\n}\n<\/code><\/pre>\n\n<h3>External Services<\/h3>\n\n<p>This plugin integrates directly with Amazon Web Services (AWS) via official API calls to provision and monitor Amazon Simple Email Service (SES) resources.<\/p>\n\n<ul>\n<li>Service Name: Amazon Simple Email Service (SES) API v2<\/li>\n<li>Primary Usage: Submits domain and email verification requests, fetches DKIM\/DNS records, manages tenant identities, and retrieves account health statistics.<\/li>\n<li>AWS Terms of Service: https:\/\/aws.amazon.com\/service-terms\/<\/li>\n<li>AWS Customer Agreement: https:\/\/aws.amazon.com\/agreement\/<\/li>\n<li>AWS Privacy Notice: https:\/\/aws.amazon.com\/privacy\/<\/li>\n<\/ul>\n\n<h3>Thank You<\/h3>\n\n<p>Thank you to WebCami for your support of my work.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>sflwa-tenant-identity-provisioner-amazon-ses<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory (or upload the <code>.zip<\/code> archive via <strong>Plugins &gt; Add New<\/strong>).<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Run <code>composer install<\/code> inside the plugin directory if installing from source to generate the required vendor autoloader (<code>vendor\/autoload.php<\/code>).<\/li>\n<li>Go to <strong>SES Tenants &gt; AWS Settings<\/strong> in your WP Admin sidebar.<\/li>\n<li>Add your parent AWS Account Operator credentials and default Configuration Set name.<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Feature: Added one-click copy buttons for IAM Access Key ID and Secret Access Key upon tenant provisioning.<\/li>\n<li>Feature: Added dedicated copy button for the WordPress <code>X-SES-TENANT<\/code> mail header snippet.<\/li>\n<li>Security &amp; Permissions: Automatically attach <code>AmazonSESFullAccess<\/code> managed IAM policy to newly provisioned tenant users to ensure broad compatibility with third-party SMTP plugins.<\/li>\n<li>Usability: Implemented case-insensitive alphabetical sorting (<code>uasort<\/code>) for AWS Account dropdowns and statistics views.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Fix: Resolved admin menu slug collisions across primary and submenu items to maintain full compliance with WordPress Plugin Review Guidelines.<\/li>\n<li>Optimization: Standardized distribution archiving and pruned unused AWS SDK dependencies to significantly reduce SVN repository package size.<\/li>\n<li>Core: Refactored option key storage and legacy data migration checks for improved database handling.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Feature: Added one-click copy buttons for short host, FQDN, and target values on generated DKIM CNAME DNS records.<\/li>\n<li>UI: Enqueued dedicated admin inline JavaScript (<code>sflwa-stp-script<\/code>) for seamless clipboard copying interactions.<\/li>\n<li>Usability: Visual feedback added to copy buttons showing temporary success states upon user interaction.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Security &amp; Standards: Fixed output escaping, input unslashing, global scope variable naming, and script enqueue parameters per Plugin Check guidelines.<\/li>\n<li>UI Enhancement: Separated associated domains and configuration sets into distinct table columns on the Tenant Statistics page.<\/li>\n<li>Performance: Optimized reporting logic around native SES API v2 calls (<code>listTenants<\/code>, <code>getTenant<\/code>, <code>listTenantResources<\/code>).<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Standardized dashboard interface to native WordPress admin table styles.<\/li>\n<li>Added custom inline JavaScript clipboard helpers for DKIM records and header code snippets.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Complete plugin rebranding to <strong>SFLWA Identity &amp; Tenant Provisioner for Amazon SES<\/strong>.<\/li>\n<li>Added option database key migration check (<code>ses_tenant_provisioner_accounts<\/code> -&gt; <code>sflwa_stp_accounts<\/code>).<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Automate multi-tenant SES environment provisioning with isolated identity bindings, IAM credentials, DKIM CNAME output, and native status reporting.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/345011","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=345011"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sflwa"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=345011"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=345011"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=345011"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=345011"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=345011"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=345011"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}