2017-03-10 8 views
2

私は現在AWSラムダを使用して、制御できないコードを実行しています。そのため、ラムダ環境がサンドボックス化され、機密データにアクセスできないようにしたいと考えています。ラムダ関数に渡されるデフォルトの環境変数は、hereとなっています。ユーザーがアクセスすることを心配するものは次のとおりです。AWSラムダ環境変数を無効にする

AWS_ACCESS_KEY 
AWS_ACCESS_KEY_ID 
AWS_SECRET_KEY 
AWS_SECRET_ACCESS_KEY 
AWS_SESSION_TOKEN 
AWS_SECURITY_TOKEN 

これらの環境変数を無効にすることはできますか?現在、私はユーザーのコードを実行する前にこれらの変数を隠していますが、環境変数を無効にすることができればうれしいです。

編集コメントへの返信

私は信頼できないコードのB/C私はプログラミングを教えるゲームを書いているを実行している、と私は、ユーザーのコードを実行するためにラムダを使いたいです。私がラムダ関数に与えたパーミッションは、私が思うに最小です(AWSLambdaVPCAccessExecutionRole)。ネットワークアクセスは制限されていますが、ゲームの一部としての機能の結果を取得することができます。

編集2

私は、私は、これが現在可能であるとは思わないAWSフォーラムのB/Cに、この質問を投稿しました。リンクはhereです。

+0

これらは実行ロールに関連付けられた一時的な資格情報です。なぜ、必要以上の権限を持つロールを使用していないのかは明らかではありません。なぜなら、Lambdaで信頼できないコードを実行するのはなぜですか。ユースケースを明確にすることはできますか? –

+0

応答のためにありがとう@ Michael-sqlbot。私は私の質問を更新しました。まだ明確化が必要な場合は教えてください! – Dehli

+0

@ Michael-sqlbot Lambdaは、実行可能な時間と使用するリソースの量を正確に制限できるため、信頼できないコードを実行するには理想的な場所です。信頼できないコードをどこで実行しますか? – idbehold

答えて

1

最近変更が加えられていない限り、これらの変数を非表示にする唯一の方法は、ユーザーコードを呼び出す前にラムダ関数の環境から明示的に削除することです。

これらの変数は、AWS SDKを使用してAWS機能へのアクセスを提供するためにbotoによって使用され、ラムダ関数のユーザが通常その環境にいたいものです。ロールは、その機能用に設定したものなので、権限を持たないロールを作成することができます(ただし、ロギングは発生しません)。つまり、AWSLambdaBasicExecutionRoleを使用すると、Cloudwatchへのロギングのみが許可されます。これらの権限を削除することもできますが、Lambdaからのログは取得されません。デフォルトでこれを使用し、デバッグに必要なときだけロギングを有効にすることができます。

関連する問題