似乎一个针对Azure作为服务主体进行身份验证的应用程序(按照此post进行设置)无法访问Service Management API。我无法找到明确说明不支持的任何地方。可能吗?会不会得到支持?
使用管理证书进行身份验证的应用程序无法访问资源管理器API(显然不支持此功能)。
是否有办法针对Azure验证应用程序(而非人)并访问两者服务管理和资源管理器API?
答案 0 :(得分:1)
是否有办法对应用程序(而非人)进行身份验证 Azure并访问Service Management和Resource Manager API?
据我了解,今天不可能。为了对Service Management API使用基于 $mysql['stmt'] = $mysql['conn']->prepare("UPDATE websites SET website_pagecount=website_pagecount+? WHERE website_domain=?");
$mysql['stmt']->bind_param("is", $a = 1, $website['website_id']);
$result = $mysql['stmt']->execute();
$mysql['stmt']->close();
$mysql['stmt'] = $mysql['conn']->prepare("SELECT website_pagecount FROM websites WHERE website_domain = ?");
$mysql['stmt']->bind_param("s", $website['website_id']);
$result = $mysql['stmt']->execute();
//GET ROWS
$result = $mysql['stmt']->get_result();
$pagecount = $result->fetch_assoc();
$mysql['stmt']->close();
$mysql['stmt'] = $mysql['conn']->prepare("INSERT INTO pages (page_id,page_parent, page_title, page_description,page_keywords, website_id, page_layout) VALUES (?,?,?,?,?,?,?)");
$mysql['stmt']->bind_param("issssss",$pagecount['website_pagecount'],$item['parentpage'],$item['pagetitle'],$item['pagedescription'],$item['pagekeywords'],$website['website_id'],$item['pagelayout'] );
$result = $mysql['stmt']->execute();
$mysql['stmt']->close();
的身份验证,发出令牌的用户/应用程序必须是相关Azure订阅的管理员或共同管理员,我找不到添加方法的方法服务主体作为Azure门户的管理员/共同管理员。
但是,服务主体可以访问Resource Manager API。为此,您必须使用Azure预览门户为该服务主体分配适当的角色。有关相同的说明,请参阅此链接:https://azure.microsoft.com/en-in/documentation/articles/role-based-access-control-configure/。
我知道您不是在此之后,但您可以做的一件事是在Azure AD中创建一个tokens
类型用户,然后将该用户用于Service Management和Resource Manager API。有关详细信息,请参阅此博客文章:http://blogs.msdn.com/b/tomholl/archive/2014/11/25/unattended-authentication-to-azure-management-apis-with-azure-active-directory.aspx。