跳到主要內容

這些題目為學習目的而獨立製作,並非 AWS 官方考題、實際考題、外流題或考題庫。

SAA-C03Secure Architectures難度:標準

SAA-004

應用程式需連線至 RDS for MySQL。不希望將 DB 認證資訊以明文儲存於原始碼或環境變數,且需要考量定期輪替。最為適切的服務為何?

選項

解析與正確答案

閱讀解析與正確答案(劇透:建議先自行作答)

正確答案:C. AWS Secrets Manager

解析

DB 密碼等機密資訊可透過 AWS Secrets Manager 進行管理,並支援與 RDS 的整合與輪替。

各選項解析

A. Amazon S3 的公開儲存貯體

錯誤。將機密資訊置於公開儲存貯體屬於重大資安風險。

B. Amazon CloudWatch Logs

錯誤。CloudWatch Logs 為日誌儲存服務,並非機密資訊的儲存位置。

C. AWS Secrets Manager

正確。適合用於機密資訊管理與輪替。

D. AWS Budgets

錯誤。AWS Budgets 為計費監控服務。

實際使用情境

AWS Secrets Manager 是用於安全儲存與取得資料庫密碼、API 金鑰、OAuth Token 等機密資訊的受管服務。針對 RDS / Aurora / Redshift 等資料庫,Secrets Manager 直接支援輪替功能,可透過 Lambda 為基礎的輪替函式定期變更密碼,並與 DB 端同步,使此運作標準化。應用程式可透過 Secrets Manager API(或 AWS SDK 的自動快取功能)取得機密資訊,使程式碼與環境變數中無需保留明文認證資訊。 類似的服務有 AWS Systems Manager Parameter Store 的 SecureString 參數,其標準層級可免費使用,但標準上並未提供自動輪替(需自行構成 Lambda)。若機密數量較少,或對於不需輪替的靜態機密(如外部 API 金鑰)而言,Parameter Store 較為合適;若是 DB 之類需要自動輪替的情境,則建議使用 Secrets Manager。Secrets Manager 會產生每組機密的月度固定費用與 API 呼叫計費,因此需依成本與運作負擔取得平衡。 SAA-C03 中,在「希望安全儲存 DB 認證資訊並定期輪替」「希望避免硬編碼或明文環境變數」等要求下,Secrets Manager 為正解。將 CloudWatch Logs 或 S3 公開儲存貯體列為儲存位置的誤答,是將日誌用途、公開儲存等別種目的的服務拿來套用的典型模式。與 Parameter Store SecureString 的比較,以及透過 IAM 政策對每組 Secret 進行存取控制等議題,在較高階的考試也會出題。

相關連結