星期日, 5月 11, 2025

python - Azure Entra ID 外部使用者邀請與獲取 ID



Azure Entra ID 外部使用者邀請與獲取 ID


OS: macOS 14.3


整理一下使用 Github copilot 產生的 python 程式碼, 用於一些工作日常

登入 Azure


建立 Entra ID 應用程式

  • 該應用程式因為要邀請外部使用者到 Entra ID, 所以需要相關 API 權限

  • `User.Invite.All` - 用於邀請外部用戶

  • `User.Read.All` - 用於查詢用戶資訊


==== Console 方式 (Copilot 提供後修改) ====


以下是使用 Azure Portal 建立 Entra ID 應用程式並設定權限的逐步指示:


登入 Azure Portal:


前往 Azure Portal 並使用您的帳戶登入。

點選  Microsoft Entra ID

點選 應用程式註冊

點擊 新增註冊

  • 填寫應用程式資訊:

    • 名稱:輸入您的應用程式名稱

    • 支援的帳戶類型:選擇您的應用程式支援的帳戶類型

    • (可選)重定向 URI:如果需要,輸入 URI。

    • 點選 註冊


記下顯示的

  • 應用程式 (用戶端) 識別碼  (client_id)

  • 目錄 (租用戶) 識別碼  (tenant_id)


設定應用程式密碼

在該應用程式, 展開 管理

點選 憑證及秘密

預設會停留在 用戶端密碼 

點選 新增用戶端密碼

  • 輸入描述 (我可能會與應用程式相同)

  • 選擇到期天數

  • 點選 新增


記下顯示的

  • 值 (client_secret) - 這個是應用程式的密碼, 只會出現在建立的當下, 請記得記下來


設定 API 權限:


在應用程式的頁面,選擇「API 權限」。

點擊「新增權限」。

選擇「Microsoft Graph」。

選擇「應用程式權限」。

搜尋並選擇 User.Invite.AllUser.Read.All 權限。

點擊「新增權限」。


授予管理員同意:


在「API 權限」頁面,點擊「授予管理員同意」以確認權限。


可以觀察權限




下載 此次 add_entraID_extra_user 目錄的檔案


按照 README.md 內容進行

  • config.json 文件配置

    • 填入 tenat_id / client_id / client_secret

  • users.csv

    • 填入要邀請的外部使用者 email 與 使用名稱


確認一下是否有安裝 requests 套件


% pip3  list  | grep requests


requests                                2.32.3


  • 如果沒有就使用 pip3 install requests


執行程式


%  python3  add_entraID_extra_user.py