2017-11-09 16 views
0

S3バケットポリシーにカスタムユーザー定義条件を追加する方法はありますか? たとえば、AWS SDKを使用して、ユーザのメタデータをに入れて、addUserMetadata(String key, String value)を使用します。私はバケツポリシーを介してこの顧客のユーザメタデータを含む条件を強制することができるようにしたい。例えばS3バケットポリシーにカスタム条件を追加する

私が最初にユーザメタデータaddUserMetadata("custom-param", "1234")を追加します。その後

後に、私はこのヘッダは、バケットポリシーに存在することを強制する:

{ 
    "Version": "2012-10-17", 
    "Id": "PutObjPolicy", 
    "Statement": [ 
     { 
      "Effect": "Deny", 
      "Principal": "*", 
      "Action": "s3:PutObject", 
      "Resource": "arn:aws:s3:::awslogs.playground/*", 
      "Condition": { 
       "StringEquals": { 
        "x-amz-meta-custom-param": "1234" 
       } 
      } 
     } 
    ] 
} 

上記の方針は私にエラーを与えるだろう「ポリシーが無効な状態のキーを持っています」。

私は上記のエラーは、S3バケットポリシーは限定されたキーしかサポートできないと考えています。しかし、これを回避する方法はありますか?

答えて

1
+0

私たちは、オブジェクトタグを使用してこの問題を回避することができると思いますが、ドキュメントは、オブジェクトタグは任意の機密情報を含めるべきではないと述べています。 – mrQWERTY

+0

@mrQWERTYタグのアクセス制御は、 'PUT'ではなく、' GET'を制限するためにのみ利用できます。 –

関連する問題