[AWS] [セキュリティ] [S3] IAMロールは、EC2がS3にアクセスすることを承認します

実験の説明:

前のセクションでは、AWSCLIを使用してS3でオブジェクトを操作する方法について説明しました。AWSCLIを設定するときに、IAMアクセスキーとシークレットキーを作成しました。この種類のキーは長期キーに属します。回転しないと、キーは長期間有効になります。誤ってキーを紛失した場合は、AWS IAMインターフェイスでキーを削除するか、キーを非アクティブ化する必要があります。AWS EC2にサービスをデプロイする場合、EC2ロール(ロール)を使用してEC2がAWSリソースにアクセスできるようにするという別の方法があります。これにより、EC2インスタンスまたはアプリケーションに存在する必要がなくなります。コード内のIAMキーは、サービスのセキュリティをさらに強化できます。

実験の概要:

この実験では、EC2アクセスキーとシークレットキーを設定せずにIAMロールをEC2にバインドし、EC2がAWSCLIを介してS3バケットを操作できるようにします。

実験手順:

IAMインターフェースを開き、「ロール」-「ロールの作成」をクリックします

信頼できるエンティティタイプを「AWSProduct」-EC2として選択

し、アタッチパーミッションポリシーでAmazonS3FullAccessポリシーを検索してから、このポリシーを確認し、[Next:Tag]をクリックし

てタグインターフェイス追加します。[Next:Review]を直接クリックできます。 "、EC2AccessS3など、ロール名を好きなように記述して、[ロールの作成]をクリックします。

その後、インスタンスを作成し、AMI用のAmazon Linux2を選択し、インスタンスタイプとしてt2.microを選択し、構成インスタンス詳細インターフェイスでIAMロール用に新しく作成されたロールEC2AccessS3を選択して、完了するまで続行します。

注:アカウントに既存のインスタンスがある場合は、インスタンスで[操作]-[インスタンス設定]-[IAMロールの追加/置換]を選択することもできます。

インスタンスの起動後、sshクライアントを使用してインスタンスに接続します(puttyはWindowsで使用でき、システム独自のターミナルはLinuxまたはMacで使用できます)。例:ssh -i Key.pem ec2-user @ ip

次に
、北京リージョンへの接続など、AWSデフォルトリージョンに接続するようにAWSCLIを設定します。exportAWS_DEFAULT_REGION= cn-north-1を
使用してNingxiaリージョン接続します。exportAWS_DEFAULT_REGION= cn-northwest-1
を使用して、awsを実行します。 s3 lsコマンドを実行すると、[EC2インスタンスに移動]が表示され、すべてのバケットを一覧表示できるようになります。

「実験1」を参照し、aws s3 cpコマンドを使用してS3ファイルをアップロードまたはダウンロードすることもできます。
現在の実験では、EC2でIAMユーザーのアクセスキーを設定していません。EC2がS3にアクセスできる理由は次のとおりです。 EC2インスタンスのバインディングロールにより、ロールはS3FullAccessアクセス許可を付与するため、AWSCLIはS3オブジェクトを直接操作できます。Roleによって生成された一時キーをさらに確認したい場合は、EC2で実行できます(EC2AccessS3はRoleの名前です):
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/ EC2AccessS3返された結果には、ロールによって生成された一時的なアクセスキー、シークレットキー、およびトークンが表示されます。

Roleは、EC2と組み合わせて使用​​されるだけでなく、Lambda、API Gateway、RDS、Redshiftなどのサービスと組み合わせて使用​​されるため、これらのサービスは他のサービスにアクセスする権限と機能を備えています。

詳細なビデオチュートリアル:https//edu.51cto.com/center/course/lesson/index?id = 517262

おすすめ

転載: blog.csdn.net/u010478127/article/details/106850328