Active directory 以编程方式将角色分配添加到资源组

Active directory 以编程方式将角色分配添加到资源组,active-directory,roles,azure-sdk,Active Directory,Roles,Azure Sdk,我正在用Java实现一个应用程序,它可以通过安全主体访问Azure,并创建一些资源组。 我希望,给定通过配置指定的广告组名称,将该广告组的特定角色分配添加到资源组中。 通过Azure Java SDK还是我需要使用REST API是可行的? 服务主体需要哪些权限才能: 阅读给定名称的广告组 为新创建的AD组资源组分配角色权限 我需要向我们的ActiveDirectory团队询问必须为我的服务主体启用哪些权限 短暂性脑缺血发作 致以最诚挚的问候我不知道我们是否可以使用java sdk来实现这个需求

我正在用Java实现一个应用程序,它可以通过安全主体访问Azure,并创建一些资源组。 我希望,给定通过配置指定的广告组名称,将该广告组的特定角色分配添加到资源组中。 通过Azure Java SDK还是我需要使用REST API是可行的? 服务主体需要哪些权限才能:

  • 阅读给定名称的广告组
  • 为新创建的AD组资源组分配角色权限
  • 我需要向我们的ActiveDirectory团队询问必须为我的服务主体启用哪些权限

    短暂性脑缺血发作
    致以最诚挚的问候

    我不知道我们是否可以使用java sdk来实现这个需求,但我知道我们可以请求rest api来实现它。请参考以下步骤:

    1。我们需要通过请求api获取角色定义的id:
    gethttps://management.azure.com/{scope}/providers/Microsoft.Authorization/roleDefinitions?api版本=2015-07-01

    URI参数
    {scope}
    应该类似于
    /subscriptions/{your subscription id}/resourceGroups/{your resource group name}

    例如,这里我得到了“贡献者”角色的id。

    2.然后请求api:
    PUThttps://management.azure.com/{scope}/providers/Microsoft.Authorization/roleasignments/{roleasignmentname}?api version=2015-07-01
    创建角色分配(将资源组参与者的角色分配给您的广告组)

    {scope}应该是
    /subscriptions/{your subscription id}/resourceGroups/{your resource group name}
    ,您可以根据需要指定
    {roleasignmentname}
    (应该是有效的GUID)

    请求主体应如下所示:

    {
        properties: {
        "roleDefinitionId": "{the id of Contributor role which we get in step 1}",
        "principalId": "{the object id of your AD group}"
      }
    }
    
    3.完成上面的两个API请求,我们可以发现广告组已经被分配了资源组的“参与者”角色。

    你好,Hury Shen,我能够执行firs REST GET API,但当我尝试将参与者角色分配给组时,我得到了403禁止的结果。您知道必须为应用程序服务主体分配哪个权限才能执行此API吗?@FlavioBarisone如果要执行分配操作,您至少应该首先是资源组的所有者。如果仍然可以执行分配操作,可能您需要成为订阅的所有者。@FlavioBarisone我可以知道您的问题是否已解决吗?如果解决方案可行,请将其作为答案(单击我的答案旁边的复选标记,将其从灰色变为填充)。提前谢谢~