
Admin define sẵn các CloudFormation Template, cho phép User khởi tạo các product thông qua template đó, nhưng không trực tiếp qua console của CloudFormation, mà thông qua Service Catalog
- Từ Service Catalog có thể tạo ra Product, mỗi Product có thể có nhiều version, được tạo ra từ CloudFormation Template.
- Từ Service Catalog có thể tạo ra Portfolio (team), chứa các Product. User có thể được assign cho Portfolio. Khi đó user có quyền deploy product trong Portfolio.
- Keyword: governance, compliance, and consistency, self-service portal
StackSet Constraint
- Chỉ định Account nào được phép tạo Product
- Chỉ định Region nào được phép Deploy Product (Theo thứ tự)
- Permission: Role sẽ dùng để quản lý target AWS Account
Launch constraint
Sử dụng 1 role cho product trong Portfolio, role này được sử dụng để khởi tạo resource. Điều này sẽ có tác dụng khi muốn giới hạn quyền của user mà không tác động trực tiếp tới user
IAM Role được assign cho product để User launch, update hoặc terminate product cần giới hạn tối đa quyền IAM
Role phải có các quyền sau
- CloudFormation (Full Access)
- AWS Services trong CloudFormation template
- S3 Bucket chứa CloudFormation Template (ReadOnly)
Notification constraint
Nhận notification về event của stack bằng SNS
Template constraint
Giới hạn param khả dụng cho user khi deploy product.
Sharing
- Có thể share Portfolio giữa các account trong Organization
- Có thể share reference tới catalog hoặc deploy copy. Quan trọng: Xem chi tiết
- Khi copy. phải deploy lại khi có update.
- CloudFormation StackSet có thể được sử dụng để deploy catalog tới nhiều account ở cùng thời điểm.
Version control
Có thể dùng CodeCommit + Lambda để tạo version control cho Service Catalog, mỗi khi có commit mới sẽ call lambda thực hiện udpate/create product ứng với file đã commit.