Разрешение в AzureAD для масштабирования вверх и вниз с помощью REST API - PullRequest
0 голосов
/ 11 февраля 2019

Я зарегистрировал приложение в AzureAD: AnalysisService У него есть следующие идентификаторы:

Application (client) ID: ID1
Directory (tenant) ID: ID2

, и я определил следующее разрешение: enter image description here

Моя цель - увеличить и уменьшить мое Azure Analysis Service в приложении логики со следующим идентификатором

Subscription ID: ID3

В приложении логики у меня есть следующий запрос:

{
    "uri": "https://management.azure.com/subscriptions/**ID3**/resourceGroups/ServerName/providers/Microsoft.AnalysisServices/servers/Model?api-version=2017-08-01",
    "method": "PATCH",
    "authentication": {
        "tenant": "ID2",
        "audience": "https://management.core.windows.net",
        "clientId": "ID1",
        "secret": "*sanitized*",
        "type": "ActiveDirectoryOAuth"
    },
    "body": {
        "sku": {
            "capacity": 1,
            "name": "S4",
            "tier": "Standard"
        },
        "tags": {
            "testKey": "testValue"
        }
    }
}

После отправкиВ этом запросе я получаю следующую ошибку:

{
    "statusCode": 403,
    "headers": {
        "Pragma": "no-cache",
        "x-ms-failure-cause": "gateway",
        "x-ms-request-id": "xxxxxx-4dea-xxx-xxxx-xxx",
        "x-ms-correlation-request-id": "xxxxxxxx-4dea-xxxx-xxxx-5dea12ba0cca",
        "x-ms-routing-request-id": "WESTEUROPE:20190211T181536Z:xxxxxx-4dea-4fa8-bccd-xxxxxx",
        "Strict-Transport-Security": "max-age=31536000; includeSubDomains",
        "X-Content-Type-Options": "nosniff",
        "Connection": "close",
        "Cache-Control": "no-cache",
        "Date": "Mon, 11 Feb 2019 18:15:35 GMT",
        "Content-Length": "413",
        "Content-Type": "application/json; charset=utf-8",
        "Expires": "-1"
    },
    "body": {
        "error": {
            "code": "AuthorizationFailed",
            "message": "Client \"ID4\" with the object ID \"ID4\" has no permission to run the action \"Microsoft.AnalysisServices/servers/write\" over \"/subscriptions/ID3/resourceGroups/ServerName/providers/Microsoft.AnalysisServices/servers/ModelName\"."
        }
    }
}

что мне еще сделать, чтобы решить эту проблему?

ОБНОВЛЕНИЕ Я предоставил свою учетную запись (которая представляет собой Azure).Приложение AD) следующие конкретные разрешения для моего экземпляра служб Analysis Services:

enter image description here

Я также управляю им в Management Studio, как описано здесь и там я также вижу принцип обслуживания: enter image description here

Но я получаю все то же сообщение об ошибке

Является ли ID4, идентификатор объекта моегологическое приложение?я должен добавить свое приложение логики также в IAM моей службы анализа?

1 Ответ

0 голосов
/ 11 февраля 2019

Вы должны предоставить субъекту службы (представляющему приложение Azure AD) следующие специальные разрешения: Microsoft.AnalysisServices/servers/write для вашего экземпляра служб Analysis Services: /subscriptions/ID3/resourceGroups/ServerName/providers/Microsoft.AnalysisServices/servers/ModelName.Кроме того, вы можете предоставить эти разрешения на уровне группы ресурсов или на уровне подписки.

Вот как вы это делаете: https://docs.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal.

Короче говоря: перейдите к ресурсу, нажмите IAM наслева, нажмите + Add Role Assignment в верхней части клинка и выберите свою роль \ личность.Эти конкретные разрешения подпадают под что-то вроде вкладчика служб Analysis Services.

ps.Вы всегда можете создать собственную роль, следуя принципу наименьших привилегий: https://docs.microsoft.com/en-us/azure/role-based-access-control/custom-roles

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...