4

私は、AWS リソースを使用して研究アルゴリズムを実行するユーザー向けのAWSアプリを作成する初期段階にいます。たとえば、コードは「ワーカー」アプリを実行するEC2インスタンスを起動し、 RDSデータベースにアクセスし、アクセスSQSキューを作成する必要があります。AWS Java SDKの例 (これは Java で記述しています) では、AwsCredentials.properties ファイルを使用してアクセス キー ID とシークレット アクセス キーを保存しています。すべてのリソースにアクセスできるようにします。彼らに代わって私たちのシステムを実行するためのクリーンな方法は何ですか? AWS Identity and Access Management (IAM)を発見しましたこれはこの目的のためのようです(まだ頭に入っていません)。AWS アカウント間のクロスアカウント アクセスこの投稿は、簡単に聞こえるようにします。

amazon IAM サービスを使用して、スクリプトに必要なタスクを実行する権限のみを持つ一連のキーを作成します。 http://aws.amazon.com/iam/

ただし、他の投稿 ( IAM 内で、ユーザーのグループを特定の EC2 AMI またはインスタンスのみにアクセス/起動/終了するように制限できますか? など) は、特に EC2 で IAM を使用することに制限があることを示唆しています。

どんなアドバイスも本当に役に立ちます!

4

1 に答える 1

1

RDSとEC2に関する主な制限は、特定のAPIアクションへのアクセスを制限できますが、リソースレベルの制約がないことです。たとえば、IAM S3ポリシーを使用すると、ユーザーが特定のバケットで特定のアクションのみを実行できるように制限できます。ユーザーがインスタンスを停止できることを示すEC2のポリシーを作成できますが、特定のインスタンスのみを停止できることを示すポリシーを作成することはできません。

もう1つのオプションは、セキュリティトークンサービスを介して一時的な資格情報を提供することです。その別のバリエーションは、新しいIAMロールサービスを使用することです。これにより、インスタンスには一連のポリシーが関連付けられます。SDKはメタデータサービスからクレデンシャルをフェッチできるため、AwsCredentials.proprtiesファイルを提供する必要はありません。

最後に、最後の1つのオプションは統合請求です。AWSリソースを使用している理由が請求のみである場合は、そのアカウントから請求される新しいアカウントを設定します。アカウントは互いに分離されているため、たとえば誤ってインスタンスを削除することはできません。同様に、RDSスナップショットなどにアクセスすることはできません((AWS apiではなく)mysqlを介したRDSインスタンスへのアクセスはインスタンスのセキュリティグループに依存します)。もちろん、これを以前のオプションと組み合わせることができます。これらのオプションは、その分離されたアカウント内で特定のアクションを実行することのみを許可する資格情報を提供する可能性があります。

于 2012-07-05T21:01:44.723 に答える