Azure Active Directory Graph API kullanarak özel yönetici rolleri atamaAssign custom admin roles using Graph API in Azure Active Directory

Kullanıcı hesaplarına Microsoft Graph API 'ye rol atamayı otomatik hale getirebilirsiniz.You can automate how you assign roles to user accounts Microsoft Graph API. Bu makalede Roleatamalarda GÖNDERI, GET ve DELETE işlemleri ele alınmaktadır.This article covers POST, GET, and DELETE operations on roleAssignments.

Gerekli izinlerRequired permissions

Rolleri atamak veya kaldırmak için genel yönetici hesabı veya ayrıcalıklı Kimlik Yöneticisi kullanarak Azure AD kiracınıza bağlanın.Connect to your Azure AD tenant using a Global administrator account or Privileged Identity administrator to assign or remove roles.

Roleatama üzerinde POST IşlemleriPOST Operations on RoleAssignment

Bir kullanıcı ile rol tanımı arasında rol ataması oluşturmak için HTTP isteği.HTTP request to create a role assignment between a user and a role definition.

POSTPOST

https://graph.windows.net/<tenantDomain-or-tenantId>/roleAssignments?api-version=1.61-internal

GövdeBody

{
    "principalId":"ab2e1023-bddc-4038-9ac1-ad4843e7e539",
    "roleDefinitionId":"194ae4cb-b126-40b2-bd5b-6091b380977d",
    "resourceScopes":["/"]
}

YanıtResponse

HTTP/1.1 201 Created

Sorumlu veya rol tanımının bulunmadığı bir rol ataması oluşturmak için HTTP isteğiHTTP request to create a role assignment where the principal or role definition does not exist

POSTPOST

https://graph.windows.net/<tenantDomain-or-tenantId>/roleAssignments?api-version=1.61-internal

GövdeBody

{
    "principalId":" 2142743c-a5b3-4983-8486-4532ccba12869",
    "roleDefinitionId":"194ae4cb-b126-40b2-bd5b-6091b380977d",
    "resourceScopes":["/"]
}

YanıtResponse

HTTP/1.1 404 Not Found

Yerleşik rol tanımında tek bir kaynak kapsamlı rol ataması oluşturmak için HTTP isteği.HTTP request to create a single resource scoped role assignment on a built-in role definition.

Not

Günümüzde yerleşik roller, yalnızca "/" kuruluş genelindeki kapsam veya "/AU/*" kapsamı kapsamında olabilecek bir sınırlamaya sahiptir.Built-in roles today have a limitation where they can be scoped only to the “/” organization-wide scope or the “/AU/*” scope. Tek kaynak kapsamı, yerleşik roller için çalışmaz, ancak özel roller için çalışır.Single resource scoping does not work for built-in roles, but works for custom roles.

POSTPOST

https://graph.windows.net/<tenantDomain-or-tenantId>/roleAssignments?api-version=1.61-internal

GövdeBody

{
    "principalId":"ab2e1023-bddc-4038-9ac1-ad4843e7e539",
    "roleDefinitionId":"194ae4cb-b126-40b2-bd5b-6091b380977d",
    "resourceScopes":["/ab2e1023-bddc-4038-9ac1-ad4843e7e539"]
}

YanıtResponse

HTTP/1.1 400 Bad Request
{
    "odata.error":
    {
        "code":"Request_BadRequest",
        "message":
        {
            "lang":"en",
            "value":"Provided authorization scope is not supported for built-in role definitions."},
            "values":
            [
                {
                    "item":"scope",
                    "value":"/ab2e1023-bddc-4038-9ac1-ad4843e7e539"
                }
            ]
        }
    }
}

Roleatama 'da Işlemleri alGET Operations on RoleAssignment

Belirli bir sorumlu için rol ataması almak için HTTP isteğiHTTP request to get a role assignment for a given principal

GETGET

https://graph.windows.net/<tenantDomain-or-tenantId>/roleAssignments?api-version=1.61-internal&$filter=principalId eq ‘<object-id-of-principal>’

YanıtResponse

HTTP/1.1 200 OK
{ 
    "id":"mhxJMipY4UanIzy2yE-r7JIiSDKQoTVJrLE9etXyrY0-1"
    "principalId":"ab2e1023-bddc-4038-9ac1-ad4843e7e539",
    "roleDefinitionId":"10dae51f-b6af-4016-8d66-8c2a99b929b3",
    "resourceScopes":["/"]
} ,
{
    "id":"CtRxNqwabEKgwaOCHr2CGJIiSDKQoTVJrLE9etXyrY0-1"
    "principalId":"ab2e1023-bddc-4038-9ac1-ad4843e7e539",
    "roleDefinitionId":"3671d40a-1aac-426c-a0c1-a3821ebd8218",
    "resourceScopes":["/"]
}

Belirli bir rol tanımı için rol ataması almak için HTTP isteği.HTTP request to get a role assignment for a given role definition.

GETGET

https://graph.windows.net/<tenantDomain-or-tenantId>/roleAssignments?api-version=1.61-internal&$filter=roleDefinitionId eq ‘<object-id-or-template-id-of-role-definition>’

YanıtResponse

HTTP/1.1 200 OK
{
    "id":"CtRxNqwabEKgwaOCHr2CGJIiSDKQoTVJrLE9etXyrY0-1"
    "principalId":"ab2e1023-bddc-4038-9ac1-ad4843e7e539",
    "roleDefinitionId":"3671d40a-1aac-426c-a0c1-a3821ebd8218",
    "resourceScopes":["/"]
}

KIMLIĞE göre rol ataması almak için HTTP isteği.HTTP request to get a role assignment by ID.

GETGET

https://graph.windows.net/<tenantDomain-or-tenantId>/roleAssignments/<id-of-role-assignment>?api-version=1.61-internal

YanıtResponse

HTTP/1.1 200 OK
{ 
    "id":"mhxJMipY4UanIzy2yE-r7JIiSDKQoTVJrLE9etXyrY0-1"
    "principalId":"ab2e1023-bddc-4038-9ac1-ad4843e7e539",
    "roleDefinitionId":"10dae51f-b6af-4016-8d66-8c2a99b929b3",
    "resourceScopes":["/"]
}

Roleatamasında SILME IşlemleriDELETE Operations on RoleAssignment

Bir kullanıcı ile rol tanımı arasında rol atamasını silmek için HTTP isteği.HTTP request to delete a role assignment between a user and a role definition.

DELETEDELETE

https://graph.windows.net/<tenantDomain-or-tenantId>/roleAssignments/<id-of-role-assignment>?api-version=1.61-internal

YanıtResponse

HTTP/1.1 204 No Content

Artık mevcut olmayan bir rol atamasını silmek için HTTP isteğiHTTP request to delete a role assignment that no longer exists

DELETEDELETE

https://graph.windows.net/<tenantDomain-or-tenantId>/roleAssignments/<id-of-role-assignment>?api-version=1.61-internal

YanıtResponse

HTTP/1.1 404 Not Found

Self ve yerleşik rol tanımı arasında rol atamasını silmek için HTTP isteğiHTTP request to delete a role assignment between self and built-in role definition

DELETEDELETE

https://graph.windows.net/<tenantDomain-or-tenantId>/roleAssignments/<id-of-role-assignment>?api-version=1.61-internal

YanıtResponse

HTTP/1.1 400 Bad Request
{
    "odata.error":
    {
        "code":"Request_BadRequest",
        "message":
        {
            "lang":"en",
            "value":"Cannot remove self from built-in role definitions."},
            "values":null
        }
    }
}

Sonraki adımlarNext steps