Hi @ben_hu,
AEM Edge Delivery Services (EDS) preview and live URLs (e.g., branch--repo--owner.aem.page) are publicly accessible by default, unlike AEM Sites author instances. Here's a breakdown of how you can restrict access and protect content/actions in EDS:
1. Restricting Preview Access
Enable Authentication for Preview
EDS does not support built-in Adobe authentication like AEM Sites (e.g., via Adobe IMS), but you can restrict preview access using:
GitHub Private Repositories
-
Make your GitHub repo private.
-
This ensures that only authorized GitHub users can access or push content via Sidekick.
-
However, this does NOT restrict page preview access to *.aem.page URLs.
Use a Preview Environment Proxy
Set up a reverse proxy (e.g., Cloudflare, NGINX) in front of the preview domain and apply:
Adobe’s *.aem.page domains cannot be customized with IP allow lists directly — you’d need to place a proxy in front.
2. Restricting Content Deletion / Publishing via Sidekick
By default, Sidekick actions like "Publish", "Unpublish", "Delete":
-
Are linked to GitHub commits, not gated by Adobe auth.
-
Anyone with access to the Sidekick URL and repo write access can trigger these.
Secure these actions:
Use GitHub Branch Protection Rules
-
Prevent force pushes to main/live branches.
-
Require pull requests + code review to merge.
-
Disable GitHub Actions for non-admin contributors.
Restrict GitHub Write Access
Customize Sidekick Actions
In your config.json or sidekick.config.js, you can:
-
Remove or restrict Sidekick buttons (e.g., delete, unpublish) from non-admins.
-
Example: Remove “delete” action for all but you:
if (context.user !== 'your-username') {
delete config.actions.delete;
}
3. IP Allowlisting / Access Control
Unfortunately, the *.aem.page domain doesn’t offer native IP restrictions from Adobe. Workaround options:
Use an Edge Proxy with Access Control
-
Deploy a custom proxy (Cloudflare Workers, Fastly, or NGINX)
-
Route requests to *.aem.page
-
Enforce:
-
IP restrictions
-
Basic authentication
-
Token-based headers