私はとREST APIを開発していますAWS Lambda
、API Gateway
とAmazon RDS(MySQL)
。AWSSamを使用して設定とすべてを行っています。
アマゾンのウェブサイトのRDSセクションにアクセスしてデータベースを作成しました。期待どおりに正常に動作しています。また、Lambda関数をデプロイして、データベースに接続することもできました。
私のデータベースはに設定されています Publicly Accessible = Yes
しかし、私はデータベースが全世界に開かれていることに気づきました。以下の画像を参照してください。
セキュリティグループのルール
デフォルトのセキュリティグループ内
まあ、これは怖いようです、私にはセキュリティがありません。
データベースセキュリティの場合、私が必要としているのはこれです。
In case you need, below is my template.yaml file
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
What should I do to remove the "whole world free access" and implement the access I mentioned above ?
-----------UPDATE----------
This is my security group now, after following John's advice. But Lambda cant access the database, MySQL workbench can
Lambda-SG security group
If your Amazon RDS database is in a public subnet and is set to Publicly Accessible = Yes
, then you can use Security Groups to control access to the database server.
Lambda-SG
デフォルトの「すべてのアウトバウンドを許可」設定を使用して、Lambda関数()にセキュリティグループを配置しますDB-SG
からのポート3306(MySQL)へのアクセスを許可するインバウンドルールを使用して、セキュリティグループをRDSデータベース()に配置しますLambda-SG
。つまり、DB-SG
具体的にはを参照しLambda-SG
ます。DB-SG
インバウンドルールに追加して、ポート3306(MySQL)でのアクセスを許可します。パブリックにアクセス可能なデータベースはセキュリティの観点からは理想的ではありませんが、セキュリティグループはサーバーへのアクセスを制限するのに役立ちます。データベースサーバーは、データベースに接続するための認証も必要とします。これは、セキュリティの追加レイヤーです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加