2

私は3つのフィールドを持つ非常に単純なテーブルを持っています:

  1. uuid (文字列)
  2. 名 (文字列)
  3. 受け入れられた (ブール値)

ユーザー ポリシーで、「スキャン」と「PutItem」という 2 つのアクションが 2 つの条件で許可されるかどうかを知りたいです。

  1. スキャンの場合: すべての Accept=true をスキャンします (その条件のみを許可しますが、可能かどうかはわかりません)。それは「景色」のようなものでしょう。

  2. PutItem の場合: 受け入れられたフィールドを保護します。

私が試したこと

基本的なアプローチを試しました:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "LimitAccessToSpecificAttributes",
            "Effect": "Allow",
            "Action": [
                "dynamodb:Scan",
                "dynamodb:PutItem"
            ],
            "Resource": [
                "arn:aws:dynamodb:us-west-2:xxx:table/mytable"
            ],
            "Condition": {
                "ForAllValues:StringEquals": {
                    "dynamodb:Attributes": [
                        "uuid",
                        "firstname",
                        "accepted"
                    ]
                },
                "StringEqualsIfExists": {
                    "dynamodb:Select": "SPECIFIC_ATTRIBUTES",
                    "dynamodb:ReturnValues": [
                        "NONE",
                        "UPDATED_OLD",
                        "UPDATED_NEW"
                    ]
                }
            }
        }
    ]
}

"accepted" を削除すると、それに基づいて ScanFilter を使用できなくなります。

2 つの個別のポリシーで 2 人のユーザーを設定する必要がありますか?

最も難しい部分は、すべての項目を で非表示にしているようaccepted:falseです。

どんな助けでも大歓迎です。

4

0 に答える 0