2017-11-23 7 views
-1

私はS3を使用してバックアップを保存しています。私はaws s3とcronでそれをやっています。単純な基本操作のためにS3バケットにACLを設定する方法

私のバケツが公開されている瞬間です。

私はCRUD + ListAll操作を行うだけの方法でACLを設定したいと思っています。私は彼らのドキュメントを読んだことがありますが、単純すぎるものは必要ですが、複雑すぎます。これどうやってするの?

更新:

1)私のVPSサーバー上の私のbashスクリプトは、API経由でS3バケットへのアクセス権を持っている必要があります。おそらくIPによる制限がなければならない

2)私はバケツが誰ものためにアクセスすべきではない任意の場所と任意のIP

3)からWebコンソール/ S3のウェブサイトを経由して私のバケットに持っている必要があります

+0

少なくとも、自分のソースIPからバケットへのアクセスを制限することを検討する必要があります(http://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies -use-case-3)を使用して資格情報を使用する方法を学習します。個人的には、バックアップの実行に重複のようなものを使用することを検討します。その場合は、必要なIAM資格情報を作成する方法を説明します。 – jarmod

+0

@jarmod、私がipで制限を作成すると、S3のWebサイトから任意の場所から自分のバケットにアクセスできますか? APIアクセスのためだけにipによる制限がありますか? – Joddy

+0

ポリシーが許可してIpAddress条件を持っていると言えば、はい、AWSコンソールから別のIPのバケットにアクセスできます(もちろん、コンソールユーザーには関連するS3権限があると仮定します)。バケットポリシーにより、自宅のIPからバケットにアクセスできます。別のIPからAWSコンソールを使用する場合は、ログインしているユーザーに関連付けられているポリシーで、バケットにアクセスできます。あなたの効果的なポリシーは、2つのポリシーの中で最も特権の少ない組み合わせです。ただし、バケットポリシーがNotIpAddress条件で拒否された場合は、それを実行できませんでした。 – jarmod

答えて

0

あなたのPUBLIC IPアドレスだけがバケットにアクセスできるように、S3バケットポリシーを作成できます。

ここにポリシーの例を示します。バケット名をバケット名に変更します。あなたのパブリックIPアドレスにIPアドレスを変更します。

{ 
    "Version": "2012-10-17", 
    "Id": "S3PolicyId1", 
    "Statement": [ 
     { 
      "Sid": "statement1", 
      "Effect": "Allow", 
      "Principal": "*", 
      "Action":["s3:*"] , 
      "Resource": [ 
        "arn:aws:s3:::examplebucket",       
        "arn:aws:s3:::examplebucket/*"], 
      "Condition" : { 
       "IpAddress" : { 
        "aws:SourceIp": "192.168.143.0/32" 
       } 
      } 
     } 
    ] 
} 
  1. オープンのAmazon S3コンソールをhttps://console.aws.amazon.com/s3/で。
  2. 上記ポリシーを適用するバケットを選択します。
  3. [権限]を選択します。
  4. Edit Bucket Policyを選択します。
  5. 上記のポリシーを[バケットポリシーエディタ]ウィンドウにコピーします。
  6. バケットポリシーの値(バケット名、IPアドレス)を置き換えます。
  7. 保存して閉じるを選択します。
+0

私がIPで制限を作成すると、S3 ** Webサイト**経由で任意の場所から自分のバケットにアクセスできますか? APIアクセスのためだけにipによる制限がありますか?言い換えれば、 'PUBLIC IPアドレスはあなたのバケツにアクセスできます' - >これはAPIへのアクセスにのみ適用されますか? – Joddy

+0

私はあなたのコメントを理解していません。特定のIPアドレスのみにアクセスを制限するS3バケットポリシーを割り当てると、それらのIPアドレスだけがバケットにアクセスできるようになります。例外は、IAMユーザーの資格情報によってアクセスが決定されるAPIベースのアクセスです。 –

+0

1)私のVPSサーバー上の私のbashスクリプトは、API経由でS3バケットにアクセスする必要があります。おそらくそこにも** ** IPによる制限がなければならない2)**ウェブコンソール/ S3ウェブサイト**経由で私のバケツに持っていかなければならない**任意の場所と任意のIP **から3)バケットはアクセスできない他の誰のためにも – Joddy

0

AWSコマンドラインツール(awscli)を使用して、ファイルをS3に同期しています。あなたはおそらくawscliに資格情報を提供しています(ごく少数の人がawscliを認証されていないものを使用しています)。

あなたが認証されていると仮定すると、なぜS3バケットを公開したのですか?正しいことは、使用している資格情報がS3バケットにアクセスできるIAMポリシーに関連付けられていることを確認することです。その後、S3バケットポリシーを削除します。

何らかの理由で、あなたが本当に(一般的にはない良いアイデア、)認証なしでS3バケットにアクセスできるようにしたいんなら、あなたはだけからのアクセスのレベルを可能にすることapplying a bucket policyによって物事がややより安全に行うことができますあなたのIPアドレス。

これが役に立ちます。

+0

thx。私は私の要件を要約しました、私の更新を見てください – Joddy

関連する問題