Python xác thực văn phòng 365

Mẹo. Mật khẩu ứng dụng không được đề xuất và không cần thiết trong hầu hết các trường hợp. Để giúp giữ an toàn cho tài khoản của bạn, hãy sử dụng "Đăng nhập bằng Google" để kết nối các ứng dụng với Tài khoản Google của bạn.  

Mật khẩu ứng dụng là mật mã gồm 16 chữ số cấp cho ứng dụng hoặc thiết bị kém an toàn hơn quyền truy cập vào Tài khoản Google của bạn. Mật khẩu ứng dụng chỉ có thể được sử dụng với các tài khoản đã bật Xác minh 2 bước

Khi nào nên sử dụng Mật khẩu ứng dụng

Mẹo. iPhone và iPad chạy iOS 11 trở lên không yêu cầu Mật khẩu ứng dụng. Thay vào đó hãy sử dụng “Đăng nhập bằng Google. ”

Nếu ứng dụng không cung cấp tính năng “Đăng nhập bằng Google”, bạn có thể

  • Sử dụng mật khẩu ứng dụng
  • Chuyển sang ứng dụng hoặc thiết bị an toàn hơn

Tạo và sử dụng mật khẩu ứng dụng

Nếu sử dụng Xác minh 2 bước và gặp lỗi "mật khẩu không chính xác" khi đăng nhập, bạn có thể thử sử dụng Mật khẩu ứng dụng

  1. Truy cập Tài khoản Google của bạn
  2. Chọn Bảo mật
  3. Trong "Đăng nhập vào Google", chọn Mật khẩu ứng dụng. Bạn có thể cần phải đăng nhập. Nếu bạn không có tùy chọn này, có thể là do
    1. Xác minh 2 bước không được thiết lập cho tài khoản của bạn
    2. Xác minh 2 bước chỉ được thiết lập cho khóa bảo mật
    3. Tài khoản của bạn thông qua cơ quan, trường học hoặc tổ chức khác
    4. Bạn đã bật Bảo vệ nâng cao
  4. Ở dưới cùng, hãy chọn Chọn ứng dụng rồi chọn ứng dụng bạn đang sử dụng
    Python xác thực văn phòng 365
     Chọn thiết bị và chọn thiết bị bạn đang sử dụng
    Python xác thực văn phòng 365
     Tạo.
  5. Làm theo hướng dẫn để nhập Mật khẩu ứng dụng. Mật khẩu ứng dụng là mã gồm 16 ký tự trong thanh màu vàng trên thiết bị của bạn
  6. Nhấn Xong

Mẹo. Hầu hết thời gian, bạn sẽ chỉ phải nhập Mật khẩu ứng dụng một lần cho mỗi ứng dụng hoặc thiết bị, vì vậy đừng lo lắng về việc ghi nhớ nó

Tại sao bạn có thể cần Mật khẩu ứng dụng

Mẹo. Không tạo Mật khẩu ứng dụng trừ khi ứng dụng hoặc thiết bị bạn muốn kết nối với tài khoản của mình không có “Đăng nhập bằng Google. ”

Khi bạn sử dụng Xác minh 2 bước, một số ứng dụng hoặc thiết bị kém an toàn hơn có thể bị chặn truy cập vào Tài khoản Google của bạn. Mật khẩu ứng dụng là một cách để cho phép ứng dụng hoặc thiết bị bị chặn truy cập vào Tài khoản Google của bạn

Mật khẩu ứng dụng bị thu hồi sau khi thay đổi mật khẩu

Để giúp bảo vệ tài khoản của bạn, chúng tôi thu hồi Mật khẩu ứng dụng của bạn khi bạn thay đổi mật khẩu Tài khoản Google của mình. Để tiếp tục sử dụng ứng dụng bằng Tài khoản Google của bạn, hãy tạo Mật khẩu ứng dụng mới

Mẹo. Nếu ứng dụng cung cấp "Đăng nhập bằng Google", chúng tôi khuyên bạn nên sử dụng tính năng đó để kết nối ứng dụng với Tài khoản Google của mình

Quên mật khẩu ứng dụng của bạn

Mỗi mật khẩu ứng dụng chỉ có thể được sử dụng một lần. Bạn có thể tạo Mật khẩu ứng dụng mới bất cứ lúc nào

Nếu bạn bị mất thiết bị sử dụng Mật khẩu ứng dụng

  1. Truy cập Tài khoản Google của bạn
  2. Ở trên cùng, hãy nhấn vào Bảo mật.  
  3. Nhấn vào Mật khẩu ứng dụng và thu hồi Mật khẩu ứng dụng từ thiết bị bị mất của bạn. Bạn có thể cần phải đăng nhập lại

Bạn vẫn không thể đăng nhập

Nếu bạn sử dụng một ứng dụng không phải của Google và không thể đăng nhập, thì quá trình đăng nhập của ứng dụng có thể không an toàn. Hãy thử cập nhật lên phiên bản mới nhất của ứng dụng và sử dụng "Đăng nhập bằng Google" nếu đó là một tùy chọn

Việc tạo tài khoản Microsoft office 365 là cần thiết. Nó phải là một tài khoản doanh nghiệp để bạn có khả năng quản trị. Họ cung cấp bản dùng thử miễn phí nếu bạn chỉ muốn dùng thử trước

Sử dụng tài khoản mới của bạn, đăng ký Azure Portal tại đây. Đây là nơi bạn có thể xây dựng, quản lý và giám sát các ứng dụng đám mây của mình. Đây cũng là nơi chúng tôi sẽ tạo ứng dụng mới để hiển thị cách kết nối với Microsoft O365 API

Khi tôi vào cổng Azure, tôi phải trải qua quá trình đăng ký một ứng dụng mới

Đăng ký ứng dụng của bạn

  1. Chuyển đến "Đăng ký ứng dụng" trên thanh bên trái

  2. Tạo một ứng dụng mới, đặt tên bất cứ điều gì bạn muốn

  3. "Tài khoản trong mọi thư mục tổ chức và tài khoản Microsoft cá nhân (e. g. Skype, Xbox, Triển vọng. com)" là tùy chọn tốt nhất vì nó hỗ trợ tất cả các loại tài khoản

  4. Đặt uri chuyển hướng (Web) thành. https. //đăng nhập. microsoftonline. com/common/oauth2/nativeclient và nhấp vào đăng ký

  5. Bây giờ tôi đảm bảo ghi lại ID Khách hàng và Người thuê, vì chúng sẽ cần thiết trong tương lai

  6. Trong "Chứng chỉ & bí mật", tạo bí mật khách hàng mới. Đặt thời hạn thành không bao giờ. Ghi lại giá trị của bí mật khách hàng được tạo ngay bây giờ. Nó sẽ được ẩn sau này

  7. Trong thanh bên bên trái, bạn sẽ thấy "Quyền API". Điều này sẽ cho phép chúng tôi truy cập những gì chúng tôi mong muốn từ API. Trong bảng, bạn sẽ thấy "microsoft graph", nhấp vào nó và bạn sẽ thấy 2 loại quyền. Chúng bao gồm ủy quyền và ứng dụng. Đối với phần này, tất cả những gì chúng ta cần là một sự cho phép từ người được ủy quyền

    • được ủy quyền. thêm "offline_access
      Python xác thực văn phòng 365
  8. Mỗi khi tôi hoàn tất việc đặt quyền mới, tôi phải nhấp vào "Cấp phép quản trị viên". Điều này phải được thực hiện

    Python xác thực văn phòng 365

Python so với Powershell

Khi viết tập lệnh cho API của Microsoft, tài liệu của họ muốn bạn sử dụng powershell, nhưng nhiều người thích python hơn. Trong dự án này, tôi cũng sử dụng Python

Python là ngôn ngữ lập trình đa năng có thể được sử dụng cho nhiều mục đích khác nhau, từ quản trị, phát triển web đến thậm chí cả máy học. Xét rằng PowerShell là ngôn ngữ kịch bản và khung tự động hóa tác vụ nhằm mục đích tự động hóa các tác vụ quản trị

Python vượt xa kịch bản và đi trước một bước bằng cách cung cấp các cấu trúc lặp, câu lệnh có điều kiện và dễ dàng làm việc với cú pháp. Python hoạt động tốt nhất khi làm việc trên môi trường dựa trên linux

PowerShell phù hợp hơn cho các mục đích quản trị. Nó là một công cụ giám sát hiệu quả và linh hoạt được sử dụng để theo dõi tất cả các hộp Windows. Nó có sức mạnh của. Net cùng với nhiều tính năng của sản phẩm MS như Exchange, Active Directory, v.v. . Net là một khung, được sử dụng để phát triển các ứng dụng phần mềm. Powershell hiệu quả nhất khi sử dụng windows

Đặc trưng

PythonPowershellMethodsCông việc nềnBiểu thứcPowershell remotingTrình biên dịch chéo sang các ngôn ngữ khácGỡ lỗi tập lệnhBộ thư viện mở rộngTrình tạo tài liệu API Môi trường tập lệnh tích hợp (ISE)Nestable here-strings

Kết nối với MS 0365

Điều đầu tiên tôi làm là tải xuống mô-đun O365

pip install O365

Các phụ thuộc cần thiết đi kèm với nó

Tôi đã khởi động trình soạn thảo văn bản Sublime Text của mình và tạo một tệp Python

Điều tiếp theo tôi làm là thực hiện quy trình xác thực, về cơ bản là thiết lập kết nối của tôi với API. Có nhiều phương pháp, vì vậy phương pháp tôi chọn là xác thực bằng danh tính của chính mình. Điều này có nghĩa là tôi sẽ sử dụng danh tính của chính mình với thông tin đăng nhập khách hàng của mình

Đây là quá trình xác thực trong mã

from O365 import Account

credentials = ('my_client_id', 'my_client_secret')


account = Account(credentials, auth_flow_type='credentials', tenant_id='my-tenant-id')
if account.authenticate():
   print('Authenticated!')

Đối với dự án này, Khóa API là thông tin đăng nhập của bạn, cần có để truy cập API Đồ thị của Microsoft
Ở đây, chúng tôi nhập một phần phụ thuộc có tên là "Tài khoản" từ 0365. Sau đó, Khởi tạo một đối tượng Tài khoản bằng thông tin đăng nhập (id ứng dụng khách và bí mật ứng dụng khách), chỉ định tham số auth_flow_type thành "thông tin xác thực". Tôi cũng phải cung cấp 'tenant_id' của mình.

Tiếp theo, với đối tượng tôi gọi là chức năng xác thực. Cuộc gọi này sẽ yêu cầu mã thông báo cho bạn và lưu trữ mã đó trong chương trình phụ trợ. Không cần tương tác người dùng. Phương thức sẽ lưu trữ mã thông báo trong phần phụ trợ và trả về true nếu xác thực thành công

Sau khi hoàn tất bước xác thực này và tôi đã nhận được mã thông báo truy cập của mình, cuối cùng tôi đã có thể thực hiện các yêu cầu từ API

Lấy danh sách người dùng

Nếu bạn đăng nhập vào tài khoản office 365 của mình, bạn sẽ thấy một nút có tên là Quản trị viên. Khi tôi truy cập vào đây, có một tùy chọn trong thanh điều hướng bên trái có tên là "Người dùng". Thao tác này sẽ hiển thị cho bạn danh sách người dùng đang hoạt động

Python xác thực văn phòng 365

Bây giờ câu hỏi là, làm thế nào chúng ta có thể lấy danh sách này bằng cách sử dụng tập lệnh. Thư viện 0365 cung cấp cho chúng ta đối tượng Directory và User instance. Điều này cho phép chúng tôi truy xuất người dùng từ thư mục tài khoản của bạn

Điều này có thể được nhìn thấy ở đây

directory = account.directory()
for user in directory.get_users():
    print(user)

Khi tôi chạy tập lệnh, tôi đã gặp lỗi như thế này

Python xác thực văn phòng 365

Thông báo lỗi cho biết "Không đủ đặc quyền để hoàn thành thao tác. "

Khi nghiên cứu vấn đề, tôi nhận ra rằng vấn đề này liên quan đến các quyền của tôi trong cổng thông tin Azure. Nhưng tôi không chắc mình cần những quyền nào. Trên dòng lệnh, nó hiển thị điểm cuối (https. // đồ thị. Microsoft. com/v1. 0/users?%24top=100 ) đang được gọi đã cho tôi manh mối. Microsoft có tài liệu về API đồ thị của họ và cách liệt kê người dùng, mặc dù nó không có trong python.
Bạn có thể tìm thấy nó ở đây.

Điều giúp ích cho tôi không chỉ là việc tôi nhận thấy cùng một thiết bị đầu cuối đang được sử dụng mà còn cho tôi biết những quyền nào tôi cần cấp phép. Đối với phần này, chúng tôi sẽ thêm quyền cho ứng dụng được ủy quyền và

  • được ủy quyền. Dưới Thư mục thêm Thư mục. Đọc. Tất cả, Thư mục. Đọc viết. Tất cả, Thư mục. AccessAsUser. Tất cả các

    Python xác thực văn phòng 365

  • Ứng dụng. Dưới Thư mục thêm Thư mục. Đọc. Tất cả, Thư mục. Đọc viết. Tất cả các

Python xác thực văn phòng 365

Lời nhắc nhở. nhấp vào "Cấp sự đồng ý của quản trị viên" để thay đổi các thay đổi

Sau khi hoàn thành việc này, tôi quay lại, nhảy vào thiết bị đầu cuối và chạy tập lệnh. Điều này đã cho tôi danh sách người dùng

Python xác thực văn phòng 365

Bạn có thể xem toàn bộ tập lệnh từ hướng dẫn này trên tài khoản HacWare GitHub


Pierce Taylor, Thực tập sinh kỹ sư phần mềm tại HacWare. HacWare đo lường các hành vi an ninh mạng rủi ro và tự động hóa giáo dục bảo mật để giúp MSP chống lại các cuộc tấn công lừa đảo