Отправка сообщения очереди хранилища Azure через зарегистрированное и корпоративное приложение.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Отправка сообщения очереди хранилища Azure через зарегистрированное и корпоративное приложение.

Сообщение Anonymous »

Я пытаюсь создать приложение Azure с использованием Python в качестве настольного приложения. Сначала я создал зарегистрированное приложение (и назвал его testapp1) в качестве мультитенанта (учетные записи в любом каталоге организации (любой клиент Microsoft Entra ID — мультитенант) ))
Изображение

Затем я создал открытый API и предоставил ему следующее разрешение
  • Microsft Graph => user.read => Войдите в систему и прочитайте пользователя профиль
  • Azure Storage => User_impersonation => Доступ к хранилищу Azure
  • Generated_API => SendMessages ==> Разрешить приложению отправлять сообщения в хранилище Azure< /li>
Для заключительной части настройки приложения я назначил владельца приложения (пользователь1).

После этого я создал учетную запись хранения (sorage_acc1) и очередь сообщений (message_1) и предоставил ей следующие разрешения
  • User1 => Storage Queue Отправитель сообщения с данными
  • testapp1 => Отправитель сообщения с данными очереди хранилища
Когда я проверял свою конфигурацию, чтобы проверить, мог отправить очередь сообщений с помощью этого приложения, используя машинное сообщение Windows 11, присоединяющееся к Azure AD, которое мне было отправлено без каких-либо проблем.
from azure.identity import InteractiveBrowserCredential
from azure.storage.queue import QueueClient
from azure.core.exceptions import ResourceExistsError, HttpResponseError

# Authenticate using InteractiveBrowserCredential with client ID
credential = InteractiveBrowserCredential()

# Create a QueueClient
queue_client = QueueClient(
additionally_allowed_tenants="[*]",
account_url="https://sorage_acc1.queue.core.windows.net/",
queue_name="message_1",
credential=credential
)

try:
# Send a message to the queue
queue_client.send_message("Your message here")
print("Message sent successfully!")
except ResourceExistsError:
print("The queue already exists.")
except HttpResponseError as e:
print(f"An error occurred: {e.message}")

Для финального теста я использовал этот код на другом компьютере с Windows 11, присоединенном к другому домену, но это не удалось (я предоставил согласие администратора). что я сделал не так в этом сценарии
Сообщение об ошибке
An error occurred: Server failed to authenticate the request. Please refer to the information in the www-authenticate header.
RequestId:XXXXX
Time:2024-09-19T14:21:41.8678546Z
ErrorCode:InvalidAuthenticationInfo
authenticationerrordetail:Issuer validation failed. Issuer did not match.


Подробнее здесь: https://stackoverflow.com/questions/790 ... -applicati
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»