Контроль доступа для вызова API - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть API-шлюз с большим количеством определенных ресурсов. Авторизация для доступа к этому API - AWS_IAM.

Я хочу создать пользователя, который может иметь разрешение на выполнение только двух конечных точек.

DELETE /a1/{id}/b1/{uid}

POST /c1/{id}

Я создал одного пользователя с разрешением ниже, но он не работает.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "execute-api:Invoke",
                "execute-api:ManageConnections"
            ],
            "Resource": [
                "arn:aws:execute-api:us-east-1:*:XXXXXXX/*/POST/c1/{id}",
                "arn:aws:execute-api:us-east-1:*:XXXXXXX/*/DELETE/a1/{id}/b1/{uid}"
            ],
            "Effect": "Allow"
        }
    ]
}

Может кто-нибудь помочь мне понять, как справляться с этими динамическими c путями ресурсов в политиках?

1 Ответ

0 голосов
/ 28 февраля 2020

Привет, если вы хотите поддерживать динамические c пути, замените их на *

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "execute-api:Invoke",
                "execute-api:ManageConnections"
            ],
            "Resource": [
                "arn:aws:execute-api:us-east-1:*:XXXXXXX/*/POST/c1/*",
                "arn:aws:execute-api:us-east-1:*:XXXXXXX/*/DELETE/a1/*/b1/*"
            ],
            "Effect": "Allow"
        }
    ]
}
...