Приглашение заявки в арендатора - PullRequest
0 голосов
/ 24 января 2020

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

Я могу вывести подписку пользователя от всех разных арендаторов, используя az account list

Можно ли сделать то же самое для Azure приложения? Как-нибудь пригласить его и предоставить ему доступ к подписке у другого арендатора? Или, вообще, как приложение может получить доступ к ресурсам другого арендатора (без использования Lighthouse)?

1 Ответ

2 голосов
/ 25 января 2020

Участник безопасности для приложения - это объект ServicePrincipal (так же, как участник безопасности для пользователя - это объект User). Если приложение настроено как мультитенантное приложение, субъект службы для этого приложения может быть создан в любом другом клиенте. После создания этого участника службы ему может быть предоставлено назначение роли.

Пример использования Azure CLI:

  1. Войдите в систему клиента A.

    $ az login --tenant "{tenant-A-id-or-domain}"
    
  2. В клиенте A настройте регистрацию приложения (объект приложения) как мультитенантную. (Здесь мы создаем новый, но вы также можете обновить существующий с помощью az ad app update.)

    $ az ad app create --display-name "App in Tenant A" \
                       --available-to-other-tenants true \
                       --query "appId"
    
    "74dde9de-56e2-4750-a7cc-5da5f021b897"
    
  3. Войдите в систему арендатора B.

    $ az login --tenant "{tenant-B-id-or-domain}"
    
  4. Создание принципала службы для приложения (которое было зарегистрировано в клиенте A) в клиенте B. Обратите внимание, что значение, используемое для id, представляет собой appId регистрации приложения, созданной на шаге 2 .

    $ az ad sp create --id "74dde9de-56e2-4750-a7cc-5da5f021b897" \
                      --query "{appId:appId,displayName:displayName}"
    
    {
      "appId": "4c3e3be1-b735-41b1-a842-f095b9a45849",
      "displayName": "App in Tenant A"
    }
    
  5. На этом этапе вы можете предоставить субъекту службы доступ к чему-либо. Например, вы можете назначить ему роль роли в ваших Azure подписках.

  6. Теперь вы можете использовать учетные данные, настроенные при регистрации приложения (т. Е. Сертификат или секрет клиента). ), при аутентификации в Арендаторе B в качестве приложения.

Создание объекта субъекта службы вручную, как мы это сделали здесь, - это всего лишь один из подходов. Другой подход, особенно полезный, когда приложение имеет своего рода пользовательский интерфейс (например, веб-приложение), заключается в том, что пользователь в арендаторе B должен войти в приложение и согласиться с ним. После того, как хотя бы один пользователь согласился с приложением, объект участника службы приложения будет представлен в клиенте B, и ему может быть назначено назначение роли.

...