2017-02-04 15 views
1

AWS IAMユーザーロールを使用しての背後にある動機は、AWSが自動的に各サービスコールのためのAWSキー/資格情報を処理することです。このアプローチは、Apache Camelの後ろで使用されています。Apache Camelは、資格情報を使用してデータ転送を安全に行う、つまりソースコード内に資格情報を格納しません。AWS S3バケットAPI呼び出し:

私が見つけた問題は、IAMツール内で作成された資格情報がaws cli内でのみ機能することです。

たとえば、私は(私の環境変数内でそれらの設定)IAMから自動生成された資格情報を使用してこれを正常に実行します。

aws s3 cp test.txt s3://x/test.txt 

をしかし、私は内に同じ操作(同じ資格情報)を模倣しようとすると、 API呼び出し、私はこのエラーメッセージを与えています:

The AWS Access Key Id you provided does not exist in our records. 
(Service: Amazon S3; Status Code: 403; Error Code: InvalidAccessKeyId;   
Request ID: 07A4FCDCA2E82F9E) 

さらに、(セキュリティキーIDとキーを作るすなわち)私のAWSアカウントのセキュリティ資格情報を使用して、私は前述のAPIの作業を取得することができます。したがって、APIは問題ではありません(私は2つのdiatic資格情報セットをテストしたと考えています)。

最後に、私のAWS IAMユーザーの役割はS3バケットへのフルアクセスを持つように設定され、S3バケット自体は、そのために許可するように設定されています。これが、私が潜在的な道に迷い始めたところです。

このすべてを知って、私はいくつかの研究を行い、同様の問題(1)(2)を持つ人々を見つけました。各ソースは問題を解決するためのさまざまなアイデアを提示しますが、いずれもApache Camelの私の使用例には当てはまりません。次のようにApacheのキャメル、私のコード例の私の使用の知識を

は次のとおりです。

String awsS3Connection = "aws-s3://x" + "?accessKey=" + accessId + 
          "&secretKey=" + accessKey; 

    from(awsS3Connection) 
      .to(importProcessingEndpoint); 

答えて

1

一時資格に無意味である - 彼らは彼らと一緒に使用されていない限り、サービスAPI - とすることにより認識されません付随するセッション/セキュリティトークン。

署名要求が準備されている

...

あなたがHTTPヘッダーにまたはX-Amz-Security-Tokenという名前のクエリ文字列パラメータにセッショントークンを追加します。セッショントークンをHTTPヘッダーまたはクエリ文字列パラメーターに追加しますが、両方には追加しません。

http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html#RequestWithSTS

しかし、キャメルdocsから、それはトークンまたは彼らも、このためのサポートを実施しているかを渡す方法は明らかではありません。

+0

私はあなたがこれについてのキャメルのサポートについてあなたが作ったのと同じ結論に向かっています。ラクダインターフェイス内でカスタム認証情報を渡すためのルールが実装されていないか不足しているかどうかを確認します。私が発見した追加の情報は、別の回答とあなたの答えの下にコメントとして掲載されます! –

+0

最新のaws sdkはcamelと互換性がないため、資格情報の取得には適しているようですが、クライアントはCamelで動作しません。 –

0

は、徹底した調査の後、私は、これがAWS SDKの最新バージョンをサポートしていないキャメルの問題であることがわかってきました。資格情報が正常に取得されますが(thisのマニュアルを参照)、作成されたクライアント自体がCamelを破損します。

唯一の解決策は、AWS SDKをカスタマイズしてクライアントを構築してから、その証明書を使用してCamelと旧バージョンのAWS SDKを使用するクライアントを構築することです。これは非常に実用的ではなく、同じSDKの2つのバージョンを含める必要がありますが、動作することができます。

関連する問題