プリンシパル ID のリストをユーザー/サービスの名前などの詳細に解決しようとしています。私は次のコードを持っています -
from azure.common.credentials import ServicePrincipalCredentials
from azure.graphrbac import GraphRbacManagementClient
TENANT = 'something.onmicrosoft.com'
TENANT_ID = '...'
CLIENT_ID = '...'
SECRET = '...'
List_of_Principal_IDs= ['...','...']
credentials = ServicePrincipalCredentials(
client_id=CLIENT_ID,
secret=SECRET,
tenant=TENANT_ID,
resource="https://graph.windows.net"
)
client = GraphRbacManagementClient(credentials, TENANT)
stackoverflow ページの 1 つでアドバイスに従ってみましたが、エラーが発生しました (以下を参照)。これらのプリンシパル ID を人間が理解できる形式に解決する方法についてのガイダンスをいただければ幸いです。
users = client.users.list(
filter=f"principal_id eq '{List_of_Principal_IDs[0]}'"
)
test = users.next()
エラー -
azure.graphrbac.models.graph_error_py3.GraphErrorException: プロパティ 'principal_id' は、宣言されたプロパティまたは拡張プロパティとして存在しません。
users = client.objects.get_objects_by_object_ids(List_of_Principal_IDs[0])
user = users.next()
エラー -
msrest.exceptions.SerializationError: モデルを構築できません: オブジェクトに逆シリアル化できません: 型、AttributeError: 'str' オブジェクトに属性 'get' がありません, DeserializationError: オブジェクトに逆シリアル化できません: 型、AttributeError: 'str' オブジェクトが持っています属性「get」はありません