Deploy Roles via AWS Service Catalog
AWS Service Catalog enables centralized, self-service deployment of WatchTower IAM roles. Instead of manually deploying CloudFormation templates, users can select pre-approved products from a catalog.When to Use Service Catalog
For MSPs: Share the Inventory Roles Portfolio with customer organizations so they can self-service deploy organization inventory roles. For Large Organizations: Deploy the Account Access Portfolio to enable account administrators to self-service deploy access roles without manual CloudFormation deployments.Benefits
- Self-Service: End users deploy approved templates without AWS expertise
- Centralized Control: Manage approved templates and versions from one location
- Automatic Updates: Push template updates to all users automatically
- Governance: Enforce organizational standards and compliance
- Simplified Experience: Users see curated products instead of complex templates
Available Portfolios
Inventory Roles Portfolio (For MSPs)
Deploy organization inventory roles for customer AWS Organizations. Use Case: MSPs managing multiple customer organizations Products Included:- Direct Organization Inventory Role
- Chained Organization Inventory - Destination Role
- Chained Organization Inventory - Intermediate Role
Account Access Roles Portfolio
Deploy read-only account access roles organization-wide. Use Case: Organizations deploying access roles to all accounts Products Included:- Direct Account Access (individual + StackSet)
- Chained Account Access (individual + StackSet)
- Browser Switch Role (individual + StackSet)
Deploy Inventory Roles Portfolio
For MSPs providing WatchTower services to customers.1
2
Create the Portfolio
- Check IAM capabilities acknowledgment
- Click Create stack
- Wait for completion (2-3 minutes)
3
Share Portfolio with Customers
Option A: Share with AWS Organizations
- Navigate to Service Catalog > Portfolios
- Select Watchtower Inventory Roles Portfolio
- Click Share → Share with Organization
- Select the organizational units or accounts
- Click Share
- Navigate to Service Catalog > Portfolios
- Select Watchtower Inventory Roles Portfolio
- Click Share → Share with AWS Account
- Enter customer account ID
- Click Share
4
Customer Deployment
Customers can now:
- Navigate to Service Catalog > Products in their account
- Select the appropriate inventory role product
- Click Launch product
- Configure parameters (account IDs, external IDs, etc.)
- Deploy the role
Deploy Account Access Portfolio
For organizations deploying access roles across many accounts.1
2
Create the Portfolio
- Check IAM capabilities acknowledgment
- Click Create stack
- Wait for completion (2-3 minutes)
3
Share Portfolio (Optional)
If you want to share with specific OUs or accounts:
- Navigate to Service Catalog > Portfolios
- Select Watchtower Account Access Roles Portfolio
- Click Share
- Choose sharing method and target accounts/OUs
4
User Deployment
Authorized users can now:
- Navigate to Service Catalog > Products
- Select the appropriate access role product
- Click Launch product
- Choose between individual or StackSet deployment
- Configure parameters and deploy
Using Service Catalog Products
Once a portfolio is shared, end users can deploy products:For Individual Account Roles
- Sign in to the target AWS account
- Navigate to Service Catalog > Products
- Find “Watchtower Direct Account Access” (or other product)
- Click Launch product
- Enter a product name (e.g.,
watchtower-access-role
) - Configure parameters:
- Leave Watchtower Account ID as
684035162433
- Enter External ID if provided
- Customize role name if needed
- Leave Watchtower Account ID as
- Click Launch
- Wait for provisioning to complete
- Copy the Role ARN from Outputs
For Organization-Wide StackSets
- Sign in to the management account
- Navigate to Service Catalog > Products
- Find “Watchtower Direct Account Access - StackSet”
- Click Launch product
- Configure StackSet parameters:
- Deployment target (entire organization or specific OUs)
- Enable automatic deployment for new accounts
- Select regions
- Click Launch
- Monitor StackSet deployment progress
Managing Portfolios
Adding New Product Versions
To add updated templates as new versions:- Navigate to Service Catalog > Products
- Select the product to update
- Click Upload new version
- Provide version info and template location
- Click Upload
Updating Portfolio Products
To modify which products are in a portfolio:- Navigate to Service Catalog > Portfolios
- Select the portfolio
- Go to Products tab
- Click Add product or Remove product
Managing Access
Control who can access portfolios:- Navigate to Service Catalog > Portfolios
- Select the portfolio
- Go to Groups, roles, and users tab
- Add IAM users, groups, or roles that should have access
- Save changes
Troubleshooting
Portfolio not visible to shared accounts:- Verify portfolio is successfully shared
- Check IAM permissions in the target account
- Ensure user has
servicecatalog:ListAcceptedPortfolioShares
permission
- Review launch role permissions (AdministratorAccess is included in templates)
- Check CloudFormation events for specific errors
- Verify parameter values are correct
- Confirm S3 bucket is accessible
- Verify template URL in product definition
- Check S3 bucket policy allows Service Catalog access
- Ensure you’re using the management account for organization sharing
- Check you have
servicecatalog:SharePortfolio
permission - Verify AWS Organizations is enabled
Security Considerations
- Launch Roles: Templates include launch roles with AdministratorAccess (required for IAM role creation)
- Access Control: Limit portfolio access to authorized users only
- Audit Trail: All Service Catalog actions are logged in CloudTrail
- Tagging: Use tag update constraints to enforce tagging policies
Best Practices
Version Control:- Add new versions as provisioning artifacts, don’t modify existing ones
- Test new versions in non-production environments first
- Document changes between versions
- Provide clear product descriptions
- Use descriptive parameter labels
- Include support information in products
- Document expected deployment time
- Regular portfolio access reviews
- Monitor provisioned product usage
- Implement tag update constraints for compliance
- Use launch constraints appropriately
- Periodically review and update product versions
- Remove outdated versions after transition period
- Keep product descriptions current
- Monitor for failed product launches
Advanced Features
Tag Update Constraints
Enforce tagging standards on deployed resources:- Navigate to portfolio → Constraints
- Click Create constraint
- Select Tag update
- Define required tags
- Apply to products
Launch Constraints
Control product deployment settings:- Use the included launch roles (already configured in templates)
- Or create custom launch constraints for specific needs
- Apply constraints at the product level
Notifications
Get notified of product events:- Navigate to portfolio → Notifications
- Create SNS topic
- Subscribe to product events (launch, update, terminate)
Monitoring Usage
Track Provisioned Products
View all deployed products:Audit Portfolio Access
Review who has access:Removing Portfolios
To remove a Service Catalog portfolio:- Terminate all provisioned products first
- Navigate to Service Catalog > Portfolios
- Select the portfolio
- Remove all product associations
- Delete the CloudFormation stack that created the portfolio
Deleting a portfolio does not terminate provisioned products. Terminate products before removing the portfolio.
Next Steps
After deploying Service Catalog portfolios:- Train Users: Provide guidance on using Service Catalog
- Monitor Usage: Track which products are being deployed
- Update Templates: Keep products current with latest versions
- Gather Feedback: Improve product descriptions and parameters based on user experience
Support
For assistance with Service Catalog:- Review troubleshooting above
- Check AWS Service Catalog documentation
- Contact WatchTower support