[英]How can i get my rds-ca-2019 pem file from AWS RDS Amazon
[英]Amazon RDS: How can I limit the RDS instance access to AWS Lambda functions and TO My computer?
我正在使用AWS Lambda
、 API Gateway
和Amazon RDS(MySQL)
開發 REST API。 我正在使用 AWS Sam 進行配置和所有操作。
我通過訪問亞馬遜網站的 RDS 部分創建了數據庫。 它按預期工作正常。 我還設法部署了 Lambda 函數並使它們與數據庫連接。
我的數據庫設置為可Publicly Accessible = Yes
但是,我注意到數據庫對全世界開放。 請參閱以下圖片。
安全組規則
在默認安全組內
好吧,這看起來很可怕,我沒有安全感。
在數據庫安全的情況下,我需要的是這個。
如果您需要,下面是我的template.yaml文件
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
abcd-restapi
Sample SAM Template for abcd-restapi
# More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst
Globals:
Function:
Timeout: 100
Resources:
GetAllAccountTypesLambda:
Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
Properties:
CodeUri: abcd-restapi
Handler: com.abcd.dao.accountingtype.GetAllAccountTypesLambda::getAllAccountTypes
Runtime: java11
MemorySize: 1024
Environment: # More info about Env Vars: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#environment-object
Variables:
PARAM1: VALUE
Events:
HelloWorld:
Type: Api # More info about API Event Source: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api
Properties:
Path: /accounttype
Method: get
我應該怎么做才能刪除“全球免費訪問”並實現我上面提到的訪問?
- - - - - -更新 - - - - -
在聽從約翰的建議之后,這是我的安全組。 但是Lambda不能訪問數據庫,MySQL工作台可以
Lambda-SG 安全組
- 我所有的 Lambda 函數都可以訪問數據庫
最安全的方法是將您的 RDS 放在私有子網中,並將您的功能與您的 VPC 相關聯。 如果您希望它們也通過 NAT 訪問互聯網,這些功能也必須在私有子網中。
- MySQL WorkBench 可以訪問數據庫
如果您將 RDS 放在私有子實體中,您將無法直接從 VPC 外部訪問它。 最安全的方法是在本地工作站和 VPC 之間設置 VPN 或ssh 隧道。 ssh 隧道最容易設置,最常用於測試和開發。
- 我在本地測試,所以我可能需要在本地運行 lambda 並連接到 RDS
與第 2 點相同。需要 VPN 或 ssh 隧道。
如果您的 Amazon RDS 數據庫位於公有子網中並設置為Publicly Accessible = Yes
,則您可以使用安全組來控制對數據庫服務器的訪問。
Lambda-SG
) 上放置一個安全組Lambda-SG
訪問端口 3306 (MySQL) 的入站規則在 RDS 數據庫 ( DB-SG
) 上放置一個安全組。 也就是說, DB-SG
專門引用了Lambda-SG
。DB-SG
入站規則以允許訪問端口 3306 (MySQL)。雖然從安全角度來看,可公開訪問的數據庫並不理想,但安全組將幫助您限制對服務器的訪問。 數據庫服務器還需要身份驗證才能連接到數據庫,這是一個額外的安全層。
私有子網與公共子網
在規划 Internet 安全策略時使用分層方法可確保穿透一層防御的攻擊者將被后續層阻止。
無法從 Internet 訪問私有子網中的資源。 這是所有企業網絡中使用的一個重要概念。 它為合法用戶帶來了額外的障礙(例如,需要 VPN 連接或通過堡壘服務器進行連接),但在考慮資源安全性時是值得的。
使用公共子網的好處純粹是為了讓您的訪問更簡單。 但是,它還通過消除安全層使未授權用戶的訪問變得更加簡單。 是的,安全組是可以限制訪問的防火牆,但它可能配置錯誤或允許過多訪問。 這是您根據您的風險偏好做出的選擇。
更安全的方法是將您的數據庫放在私有子網中。 然后,如果您需要從 VPC 外部訪問數據庫,則需要使用 VPN 連接或通過堡壘服務器使用端口轉發(使用用於身份驗證的私鑰對)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.