Документ политики IAM с несколькими ключевыми условиями

У меня есть ключ API, и я хочу разрешить разработчикам просматривать значение ключа API только в том случае, если ключ API имеет любой из следующих тегов (пара ключ-значение)

      # allow access if API key has any one of Tag with corresponding values
app: demo
OR
default:true

Это текущее заявление политики IAM.

      - Effect: Allow
  Action: apigateway:GET
  Resource: arn:aws:apigateway:us-east-1::/apikeys/*
  Condition:
    StringEquals:
      aws:ResourceTag/app:
        - "${aws:PrincipalTag/app}"
      aws:ResourceTag/default:
        - "true"

Но, судя по документам AWS , логика оценкиkey1:value1 AND key2:value2что значитallowдоступ только в том случае, если ключи API имеют оба тега с соответствующими значениями, но мне нужноkey1:value1 OR key2:value2. Не могли бы вы написать оператор условия для этого с помощью одного оператора?

1 ответ

Вы можете использоватьForAnyValue:StringEquals:ключ условия:

      - Effect: Allow
  Action: apigateway:GET
  Resource: arn:aws:apigateway:us-east-1::/apikeys/*
  Condition:
    ForAnyValue:StringEquals:
      aws:ResourceTag/app:
        - "${aws:PrincipalTag/app}"
      aws:ResourceTag/default:
        - "true"
Другие вопросы по тегам