3
AndroidアプリでAmazonのSimpleDBに接続する必要があります。 AmazonのAndroid SDKで提供されているサンプルプロジェクトは、プロジェクトのソースにあるAwsCredentials.propertiesというファイルに資格情報を格納します。ソースコードはこれらの呼び出しにアクセスして使用します。AndroidプロジェクトでAWS資格情報を処理する適切な方法は何ですか?
Properties properties = new Properties();
properties.load(getClass().getResourceAsStream("AwsCredentials.properties"));
String accessKeyId = properties.getProperty("accessKey");
String secretKey = properties.getProperty("secretKey");
...
credentials = new BasicAWSCredentials(properties.getProperty("accessKey"), properties.getProperty("secretKey"));
これは適切かつ安全な方法ですか?
私はKeyStoreの使用方法を検討しましたが、使用方法はわかりません。以前はJavaで暗号セキュリティを扱ったことがありませんでした。まず、KeyStoreは電話機の実際のクレデンシャルストレージを表していますか?第二に、私のアクセスキーと秘密鍵が以前に電話に登録されたことがない場合、私のアプリで出荷することなく、このKeyStoreに私の鍵をどのように取得するのですか? – kibibyte
はい、KeyStoreは資格情報の保管場所です。 2番目の質問では、アプリケーションユーザーを登録または認証し、(リモートサーバー/ EC2インスタンス上で)IAMユーザーを作成するか、返されたアプリケーションユーザーにIAMユーザーを再利用してから、新しいIAMを取得する必要がありますユーザーの資格情報私はそれが継ぎ目のないワークフローではないことを再認識しています。私が気づいていないユースケースのために、より良い方法があるかもしれません。 – BenM
私のアプリのユーザーは、1つのマスターデータベースにアクセスする必要があります。私は開発の最初の段階で少なくとも1人のユーザーを別のユーザーと区別する必要はありません。私はIAMのものや、あなたが今説明したものをすべて調べる必要がありますか?そして、私はアプリのためのいくつかの種類のサーバーをスピンアップして資格情報を取得する必要があるように思えます。私は正しい? – kibibyte