Skip to content

EC2 インスタンスに S3 バケットへのアクセス許可を付与する方法を教えてください。

所要時間2分
0

Amazon Elastic Compute Cloud (Amazon EC2) インスタンスから Amazon Simple Storage Service (Amazon S3) バケットにアクセスできません。

解決策

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

Amazon S3 へのアクセスを付与する IAM インスタンスプロファイルを作成する

次の手順を実行します。

  1. AWS Identity and Access Management (IAM) コンソールを開きます。
  2. ナビゲーションペインの [アクセス管理][ロール] を選択します。
  3. [ロールの作成] を選択します。
  4. [信頼されたエンティティタイプ][AWS サービス] を選択します。[サービスまたはユースケース][EC2] を選択します。[ユースケース][EC2] を選択します。
    注: IAM コンソールを使用して IAM ロールを作成し、信頼できるエンティティに EC2 を選択すると、IAM インスタンスプロファイルが自動的に作成されます。新しく作成された IAM インスタンスプロファイルは、ロールと同じ名前です。ただし、AWS CLI または API を使用してロールを作成する場合は、インスタンスプロファイルは自動的に作成されません。詳細については、「IAM ロールを作成しましたが、インスタンスの起動時に、そのロールがドロップダウンリストに表示されません。対応策を教えてください」を参照してください。
  5. [次へ] を選択します。
  6. S3 バケットへのアクセスに必要最低限のアクセス許可を付与するカスタムポリシーを作成します。
    注: 必要最低限のアクセス許可を含むポリシーを作成することをおすすめします。ただし、Amazon EC2 にすべての S3 バケットへのアクセスを許可するには、マネージド IAM ポリシー AmazonS3ReadOnlyAccess または AmazonS3FullAccess を使用してください。
  7. 必要なポリシーを選択し、[次へ] を選択します。
  8. ロール名を入力し、[ロールを作成] を選択します。

IAM インスタンスプロファイルを EC2 インスタンスにアタッチする

次の手順を実行します。

  1. Amazon EC2 コンソールを開きます。
  2. ナビゲーションペインで [インスタンス] を選択します。
  3. IAM ロールをアタッチする対象インスタンスを選択します。
  4. [アクション] を選択し、[セキュリティ] を選択します。
  5. [IAM ロールの変更] を選択します。
  6. 先ほど作成した IAM ロールを選択し、[保存] を選択します。IAM ロールが EC2 インスタンスに割り当てられます。

S3 バケットに対するアクセス許可を確認する

次の手順を実行します。

  1. Amazon S3 コンソールを開きます。
  2. ポリシーを検証する S3 バケットのリンクを選択します。
  3. [アクセス許可] タブを選択します。
  4. [バケットポリシー] セクションで、Effect: Deny を含むステートメントを探します。
  5. IAM ポリシーを編集し、IAM インスタンスプロファイルによるバケットへのアクセスを拒否する Effect: Deny ステートメントをすべて削除します。

EC2 インスタンスから Amazon S3 へのネットワーク接続を検証する

前提条件

プライベート EC2 インスタンスと S3 バケット間の接続をトラブルシューティングする方法については、「ゲートウェイ Amazon VPC エンドポイントとの接続に関する問題をトラブルシューティングする方法を教えてください」を参照してください。

S3 バケットへのアクセスを検証する

次の手順を実行します。

  1. EC2 インスタンスに AWS CLI をインストールします
  2. 次のコマンドを実行して S3 バケットへのアクセスを確認します。
    aws s3 ls s3://DOC-EXAMPLE-BUCKET
    注: DOC-EXAMPLE-BUCKET を実際の S3 バケット名に置き換えます。

AWS Key Management Service (AWS KMS) キーで暗号化された S3 オブジェクトには、IAM ロールと KMS キーポリシーで kms:Decrypt アクセス許可を付与しますkms:Decrypt アクセス許可が付与されていない場合、S3 オブジェクトをコピー、ダウンロードできません。

関連情報

Amazon S3 用の Identity and Access Management

インターフェイス VPC エンドポイントを使用して Amazon S3 バケットに接続する際の接続に関する問題をトラブルシューティングする方法を教えてください

AWS公式更新しました 2ヶ月前
コメントはありません

関連するコンテンツ