私はラムダ関数をJava Iで記述しており、S3(putObject)にアクセスしたいと思います。AWSラムダを使用してロールのみを使用してS3にアクセスする
S3にアクセスするためにラムダ機能でクレデンシャルを使用したり、保存したりしたくありません。代わりに、私はIAMの役割を使用したいと思います。
資格情報を必要とせず、ラムダが適切な役割を担っていると想定しているJavaコード内でAWS S3クライアントをコーディングするにはどうすればよいですか?
私はラムダ関数をJava Iで記述しており、S3(putObject)にアクセスしたいと思います。AWSラムダを使用してロールのみを使用してS3にアクセスする
S3にアクセスするためにラムダ機能でクレデンシャルを使用したり、保存したりしたくありません。代わりに、私はIAMの役割を使用したいと思います。
資格情報を必要とせず、ラムダが適切な役割を担っていると想定しているJavaコード内でAWS S3クライアントをコーディングするにはどうすればよいですか?
ラムダ機能にクレデンシャルを保存する必要はありません。すべての機能はロールで実行されます。これは、その機能を作成したときに設定した役割です。権限の管理ラムダ関数が役割を持っているので、あなたは追加することができたり、必要に応じて機能自体
を変更せずに、この役割から権限を削除します(実行役割)IAMロールを使用して
各ラムダ関数には に関連付けられたIAMロール(実行ロール)があります。 ラムダ関数を作成するときにIAMロールを指定します。 このロールに付与されているパーミッションによって、AWSラムダがロールをとるときに が実行できるものが決まります。あなたのラムダ関数コードは、 へなど、他のAWSのリソースは、S3バケットからオブジェクトを読み取るか、CloudWatchのログにログを書き込みアクセスする場合
、あなた 必要性:IAMロールへのお 付与権限の2種類があります。関連するAmazon S3およびCloudWatch アクションの権限をロールに付与します。イベントソースがストリームベースの場合(Amazon Kinesis StreamsおよびDynamoDBストリームの場合)、AWS Lambdaはこれらのストリームをポーリングして を代理します。 AWS Lambdaにはストリームをポーリングするためのアクセス権が必要で、 ストリームの新しいレコードを読み取るので、このロールに適切な 権限を与える必要があります。
http://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html
迅速な返信いただきありがとうございます。しかし、私がウェブで見つけたすべての例は、保存された資格情報またはjavascriptを使用しています。私は、資格情報を使わずに* Java *で新しいS3クライアントを作成する方法の例を見つけることができないようです。 – yuz
おそらくあなたは問題のコードを投稿することができます - わかりません。 –
私の質問は、次のようにs3クライアントを作成する方法があるかどうかです。 Amazon S3 s3Client = AmazonS3ClientBuilder.standard()。build() Javaで認証情報なしで作成するには? – yuz