2017-07-31 19 views
1

特定の企業の制約のため、私はコマンドラインからAWSにしかアクセスできず、環境変数を設定できません。このような方法でコマンドを使用して、私の鍵を渡すためにどのような方法がある場合、私は思っていた:AWS CLIを使用してアクセスと秘密鍵を渡すCLI

aws s3 cp <file> s3://testbucket --aws-access-key <accesskey> --aws-secret-key <secretkey>

私は答えがいずれにも適用されないようですが、this questionは、かなり似ていることに気づきました私の状況またはec2dinコマンドを参照していますが、これはs3にファイルをコピーすることには変換できませんでした。私はちょうど応答Unknown options: --aws-access-key,--aws-secret-keyを得る。これはのみ、このコマンドのためのキーを設定します

AWS_ACCESS_KEY_ID=AAAA AWS_SECRET_ACCESS_KEY=BBB aws s3 cp <file> s3://testbucket 

+0

CLIは使用できますが、SDKは使用できないのはなぜですか?どちらも基本的に同じことを行います(AWSエンドポイントへのHTTPS呼び出しを行う)。 – jarmod

答えて

1

はこれを試してみてください。セッションのキーが必要な場合は、以下のようにエクスポートします。

export AWS_ACCESS_KEY_ID=AAAA ; export AWS_SECRET_ACCESS_KEY=BBB ; aws s3 cp <file> s3://testbucket 
+0

@DanMandel bash履歴でコマンドを使用できないようにするには、その前にスペースを追加します。 – gargsms

+0

エラー「java.io.IOException:プログラム「AWS_ACCESS_KEY_ID = 」を実行できません:エラー= 2、そのようなファイルまたはディレクトリはありません。」および「java.io.IOException:プログラム「エクスポート」を実行できません:エラー= 2、そのようなファイルまたはディレクトリはありません。これは私がscalaプログラムでこれらのコマンドを実行していることによると思います。そのため、エクスポートすることで環境変数を設定できません。 –

+0

実行したい "プログラム"は、意図したとおりにコマンドを解釈する別のシェルです: '/ bin/bash -c 'AWS_ACCESS_KEY_ID = AAAA AWS_SECRET_ACCESS_KEY = BBB aws s3 cp s3:// testbucket' ''引用符は必要です。 –

2

AK/SKをファイルに保存することはできますか? (SSH秘密鍵が〜/ .ssh/id_rsaに保存されるのと非常に似ています)

もしそうなら、aws configureコマンドを実行して、AKとSKのプロンプトを表示しますフォーマット)。資格は〜/ .aws/credentialsに保存され、リージョンと出力(指定する場合)は〜/ .aws/configに保存されます。

でない場合は、がファイルに資格情報を書き込むことが許可されている場合、コマンドが「コマンド履歴」ファイルに入る可能性があるようなコマンドで資格を渡すことに注意してください。いくつかのシェルでは、コマンドの前にスペースを追加すると、ヒストリファイルに書き込まれないように設定できます。

関連する問題