как добавить назначение роли для моего приложения в другой Azure AD, в которой мое приложение не зарегистрировано, но дало на это согласие?
Да, вы можете.
Когда приложение получит согласие вашего другого арендатора, Azure создаст корпоративное приложение для регистрации вашего приложения в этом арендаторе, которое вы можете найти вAzure Active Directory
-> Enterprise applications
(поиск с помощью All Applications
).
Чтобы добавить назначение для него, просто нужно перейти к Subscription
на портале -> Access control (IAM)
-> добавить свойКорпоративное приложение (субъект службы) в качестве роли, например Owner
/ Contributor
.
Затем вы можете использовать client credentials flow
, чтобы получить маркер доступа для субъекта службы, client_secret
это тот, кто у вас первый арендатор. Затем вы можете использовать токен для вызова остальных API в вашем вопросе.
Обновление:
Я не рекомендую вам использовать учетную запись пользователя для получения токена доступа. Потому что, когда вы включаете MFA, вы не можете использовать UserCredential для получения. Если вы используете Visual Studio, вы можете использовать AzureServiceTokenProvider
для получения токена доступа.
var azureServiceTokenProvider = new AzureServiceTokenProvider();
string accessToken = azureServiceTokenProvider.GetAccessTokenAsync("https://management.azure.com");
Кстати, я все же предлагаю вам использовать субъект-службу, существующий в подписке, для получения токена доступа, чтобы вы моглииспользуйте поток, который вы используете раньше.
Надеюсь, это поможет вам.