概述 & 考試範圍
SCS-C01 是專注於 Security 領域,各個領域的分佈範圍算是非常平均,但應該算是 Speciality level 中最簡單的。
整體考試大部分的佔比都是專注於「資安」為主,其中包含「權限控制」、「資料加密」、「機敏資訊」、「符合國際標準」、「邊界防禦」、「縱深防禦」。
考試基本資訊:
- 考試時間:180 分鐘 (如需更多時間可延長 30 分鐘)
- 考試題數:65 題
- 考試題型:選擇題、複選題 (選 3 個)
- 考試深度:多服務組合的安全設計,IAM 和 KMS、S3 Bucket 權限的搭配,很多題庫會直接以 JSON Policy 提問。
考前必備基本知識
- AWS
- 針對資料保護原則支援多種法規 ex. ISO27001, FIPS 140-2, PCI-DSS L1, GDPR, HIPAA, ISM …
- 資料儲存分類為 CIA
- Confidentiality 機敏性:僅允許授權訪問
- Integrity 完整性:未經授權無法更改
- Availability 可用性:可訪問的可用性
- 身分驗證與稽核分為 AAA 三層
- Authentication – IAM
- Authorization – Policies
- Accounting – CloudTrail
- IAM
- Global Service 最終一致性,會同步到所有 Region
- Web Identity federation
- 支援 Cognito (Identity broker)
- 符合 PCI DSS
- KMS
- 加密服務,支援對稱(256-bit key)、非對稱加密(RSA-key)、ECC 加密
- 設定頁面在 IAM,但屬於 Regional service
- CMK 不能互相加解密,即使 CMK 相同
- KMS Key 永遠不能匯出
- Customer Master Keys (CMKs) 分為三種:
- Customer managed CMK:可全權控管的 CMK
- 預設關閉 rotation,透過 import key 則無法開啟 auto rotation
- AWS managed CMK:由 AWS 托管的 CMK,可以查看但無法管理,僅在該 AWS Account 使用
- 每三年為效期,自動 renew。
- AWS owned CMK:由 AWS 內建的 CMK,不能使用也無法查看,由 AWS Service 加密時使用,屬於共享 Key。
- Customer managed CMK:可全權控管的 CMK
- Key policies 只能指定 root user (即 user 全開放),無法指定單一 IAM users/roles
- 當 Cross-Account 時必須遵循 Key policies 和 IAM policies,任一 Deny 則 Deny。
- CloudHSM
- 加密服務
- 經過 FIPS 140-2 第 3 級驗證的 HSM 管理自己的加密金鑰
- 支援標準 PKCS#11,Java Cryptography Extension (JCE),Microsoft CryptoNG (CNG)
- CloudHSM vs. KMS
- KMS 屬於 sharing managed service,CloudHSM 屬於專用服務,可於 VPC 內建立符合 FIPS 140-2 第三級 HSM。
- CloudHSM 因於 VPC 內,效率優於 KMS (大批加密)
- Cognito
- User Pools vs. Identity Pools
- User Pools 用於身分驗證或者第三方 (IdP) 整合驗證
- Identity Pools 用於提供 AWS 權限,通常可以用來整合 IAM
- User Pools vs. Identity Pools
- GuardDuty
- 基於 ML 蒐集 Logs 檢測攻擊威脅偵測、帳號盜用
- Regional service,支援 Cross-Account、Cross-Region
- GuardDuty 可以加入 IP 白名單,不將此 IP 列為異常來源
- Inspector
- Macie
- 基於 ML/NLP 發現存在於 AWS 的機敏資訊(PII)
- 支援 S3 分析是否存在 PII
- 整合 CloudTrail
- Artifact
- ISO 27001
- FIPS 140-2
- PCI-DSS L1 – HIPAA
- Secrets Manager
- 用於儲存機敏資訊
- 可支援 KMS 加密
- WAF
- 限制 IP 白名單、黑名單
- 支援 CloudFront、API Gateway、ALB
- 與 CloudFront 搭配可以阻止特定地理位置訪問
- S3 授權與加密
- 預設允許 HTTP 和 HTTPS 存取
- 當 IAM policies, S3 bucket policies, S3 ACLs 任一被 Deny 即被 Deny。
- S3 bucket policies 控制 bucket 層級
- 透過 “aws:SecureTransport”: “true” 開啟 HTTPS 傳輸加密,透過 bucket policies 當 “aws:SecureTransport”: “false” 時 Deny。Ref: What S3 bucket policy should I use to comply with the AWS Config rule s3-bucket-ssl-requests-only?
- Cross-Region replication
- 預設開啟 SSL
- 1 對 1 的 bucket 複寫
- 已經複寫的 Object 不會再次複寫
- 來源和目的 bucket 都必須開啟 Version 功能
- 來源 bucket 必須擁有 Object 權限才能複寫
- 可將複寫的 Object 擁有者修改為目的 bucket 擁有者
- 當來源 Object 未加密,可以透過 SSE-S3, SSE-KMS 加密目的 Object。
- 當加密採用 KMS-CMK 時,使用 PUT Bucket replication API 並不會檢查 CMK 是否有效,API 會會返回 200 status code,但是複寫失敗。
- IAM policies vs. S3 bucket policies vs. S3 ACLs
- 都是 Access Control 的服務,都採 AWS JSON 格式撰寫
- IAM policies 用於定義 AWS Resource,S3 bucket policies 用於定義 S3 Bucket
- IAM policies 僅能提供 IAM User/Group/Role 權限控管,S3 bucket policies 僅能提供 S3 Bucket 權限控管
- IAM policies 限制最多 IAM User 2kb, Group 5kb, Role 10kb,S3 bucket policies 限制最多 20kb。
- S3 bucket policies 適用於 Cross-Account 而不需要透過 IAM Role 訪問。
- S3 ACLs 是早期 S3 控制權限的方式,建立 S3 bucket 時會預設建立一個 S3 ACLs full control 給該帳號擁有者。
考試心得
SCS 是我第一張考的 Speciality Certified,以整個 AWS Certified 來說算是介於 Associate 和 Professional 之間,全部都是以 Infosec 的角色思考情境,特別是針對有關於權限 IAM、Bucket Policy、加解密 KMS、主動式檢測 WAF、GuardDuty、Macie … 等非常注重,其中國際標準也考了不少,包含 PII 的設計情境,以及 PCI-DSS 的設計等。
Reference
- S3 Access authorization process
- KMS 3 types of CMK