S3

概要

Robotic Crowdでは、AWS S3と連携する事で「SaveFile」と「GetFile」アクションにおいて、S3 バケットからのファイル取得やバケットへのファイル保存が可能になります。 S3 バケットを操作する権限は、AWSコンソールで指定された IAM の権限となります。この連携では、バケットを固定した連携となります。

AWS S3 とのコネクション作成

最初にRobotic Crowdの左側のサイドバーの「コネクション」をクリックします。

「コネクション」をクリックすると、APIとのコネクション一覧画面に移動します。右上の「アプリケーションを追加」をクリックします。

右上の「アプリケーション追加」をクリックすると連携可能なアプリケーションのリストが表示されるので、その中から「S3」を選択します。

「S3」をクリックすると、バケット名、Access Key ID、および、Secret Access Key を入力するダイアログが表示されます。AWSのコンソールで表示された値を設定してください。バケットについては、操作対象のバケットをここで設定しておいてください。

「登録」をクリックすると、この連携情報が暗号化されて保存されます。画面上で再表示することはできませんので、設定を間違えた場合は、削除して再度登録してください。また、登録時には、これらの情報が正しいかのチェックは行いませんので、予めご了承ください。

この状態になれば、登録できています(この段階での疎通確認は行いません)

参考

バケットへのアクセスを制限したIAMを作成する参考情報です。正確な情報は、AWSの提供する公式のドキュメントを参照してください。

特定バケットへのアクセスに制限したIAMの作成

接続に使うIAMに以下のインラインポリシーをアタッチしてください。<bucket-name>の部分は、アクセスさせたいバケットを設定してください。Resource は、配列ですので複数指定することも出来ます。

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ListObjectsInBucket",
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::<bucket-name>"
]
},
{
"Sid": "AllObjectActions",
"Effect": "Allow",
"Action": "s3:*Object",
"Resource": [
"arn:aws:s3:::<bucket-name>/*"
]
}
]
}