问题描述 在上一篇博文<[Azure Developer]使用 adal4j(Azure Active Directory authentication library for Java)如何来获取Token呢 (通过用户名和密码方式获取Access Token)>中,介绍了使用ADAL4J SDK获取Access Token.而ADAL4J是非常旧的SDK,最新的SDK名称为 MSAL4J (Microsoft Authentication Libraries),原来的AcquireToke…
本章全是干货,干货,干货,重要的事情说三遍. 最近在研究Azure, Cloud相关的东西,项目中用的是Graph API(这个在下一章会相信介绍),可能是Graph API推出的时间比较晚,部分API还在开发中,所以难免出现部分功能支持不完善,issue之类的,当然Microsoft也在不断更新完善中,期待Graph API时代的到来. 针对以上的问题,有时在项目中不得不采取一些非常规的手段,调用Microsoft backend API,什么是backend API呢,就是我们用Fiddle…
问题描述 使用中国区的Azure,在获取Token时候,参考了 adal4j的代码,在官方文档中,发现了如下的片段代码: ExecutorService service = Executors.newFixedThreadPool(1); AuthenticationContext context = new AuthenticationContext(AUTHORITY, false, service); Future<AuthenticationResult> future = conte…
问题描述 在先前的一篇博文中,介绍了如何使用Microsoft Graph API来创建Azure AD用户(博文参考:[Azure Developer]使用Microsoft Graph API 如何批量创建用户,用户属性中需要包含自定义字段(如:Store_code,Store_name等),但是在调用创建AAD用户之前,因为请求的Header中必须包含Authorization:Bearer {token}值. 在中国区获取Graph API的Authorization可以参考调用专用的A…
问题描述 在Azure开发中,我们时常面临获取Authorization问题,需要使用代码获取到Access Token后,在调用对应的API,如servicePrincipals接口. 如果是直接调用AAD的 OAuth 2.0 接口,可以通过https://login.chinacloudapi.cn/{tenant}/oauth2/v2.0/token来获取Token.操作步骤在博文<使用Postman获取Azure AD中注册应用程序的授权Token,及为Azure REST API设置…
问题描述 使用Azure密钥保管库(Key Vault)来托管存储账号(Storage Account)密钥的示例中,从Github中下载的示例代码在中国区Azure运行时候会遇见各种认证和授权问题,以下列举出运行代码中遇见的各种异常: "AADSTS90002: Tenant 'xxxxxxxx-66d7-xxxx-8f9f-xxxxxxxxxxxx' not found. This may happen if there are no active subscriptions for the…
问题描述 使用Python代码,展示如何从Azure AD 中获取目标资源的 Access Token. 如要了解如何从AAD中获取 client id,client secret,tenant id,请参考博文:[Azure Developer]Python代码通过AAD认证访问微软Azure密钥保管库(Azure Key Vault)中机密信息(Secret) 中的操作步骤一栏. 代码展示 获取方式一:使用 azure.identity 1)调用 ClientSecretCredential…
问题描述 使用Python SDK来获取Azure上的各种资源的Metrics的名称以及Metrics Data的示例 问题解答 通过 azure-monitor-query ,可以创建一个 metrics client,调用 client.list_metric_definitions 来获取Metrics 定义,然后通过 client.query_resource 获取Metrics data. 关键函数为: #第一步:定义 client client = MetricsQueryClien…
Azure Active Directory (Azure AD) is Microsoft's cloud-based identity and access management service, which helps your employees sign in and access resources in Azure. 问题描述 当我们使用REST API调用Azure上任何资源的时候,都需要在Request Header中提供Authorization的值.  如何获取Author…
问题描述 通过Azure的Resource Graph Explorer(https://portal.azure.cn/#blade/HubsExtension/ArgQueryBlade),可以查看到当前列表中的各种资源并导出CSV格式,以便日常的管理或生成Power BI等报表的源数据. 如查看虚拟机,MySQL,Redis,Application Gateway(应用程序网关),VNET(虚拟网络),公共IP等资源信息.只要找到这些资源的类型(type)后就可以写类SQL语句(Kusto…
问题描述 想通过Java SDK的方式来获取Azure 门户中所列举的用户.一直报错无法正常调用接口,错误信息与AAD登录认证相关,提示tenant not found. 想要实现的目的,通过代码方式获取如下User List(https://portal.azure.cn/#blade/Microsoft_AAD_IAM/UsersManagementMenuBlade/MsGraphUsers) JAVA 代码 错误截图 如何来解决获取AAD认证的问题呢? 解决方法 在代码中,已经设置了AA…
当需要通过代码的方式执行PowerShell脚本时,可以参考以下的示例. Azure SDK中提供了两个方法来执行PowerShell脚本 (SDK Source Code: https://github.com/Azure/azure-libraries-for-java/blob/master/azure-mgmt-compute/src/main/java/com/microsoft/azure/management/compute/implementation/VirtualMachin…
问题描述 在使用Java的启动Azure VM的过程中,遇见了com.azure.core.management.exception.ManagementException: Status code 404错误,纠起原因就是订阅无法发现.详细的错误为: Selected subscription: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx com.azure.core.management.exception.ManagementException: Status…
在参考Azure官方文档进行VM创建时,发现其中没有包含如何设置NSG的内容,以及如何在创建时就添加数据磁盘的代码(设置磁盘为SSD类型).本文的内容以"使用 Java 创建和管理 Azure 中的 Windows VM"为基础,在其中添加如何设置NSG(网络安全组 Network Security Group), 添加数据磁盘并设置类型. 首先,创建虚拟机需要准备的资源有: 创建资源组 ResourceGroup 创建可用性集 AvailabilitySet 创建公共 IP 地址 P…
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i=arguments;t.queue.push(function(){t[config].apply(t,i)})}}var t={config:config},u=document,e=window,o="script",s=u.createElement(o),i,f;for(s.src…
我是微软Dynamcis 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面的微软最有价值专家(Microsoft MVP),欢迎关注我的微信公众号 MSFTDynamics365erLuoYong ,回复341或者20190603可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! Dynamics 365支持OAuth认证,我前面已经写过几篇文章了,这…
背景 本文主要介绍如何获取如何获取Azure Rest API的访问token,所采用的是v2.0版本的Microsoft标识平台,关于1.0和2.0的区别可以参考 https://docs.azure.cn/zh-cn/active-directory/azuread-dev/azure-ad-endpoint-comparison 此文档 原理 采用的是OAuth2.0协议的客户端凭据授予的方式,即直接使用client id和secret获取令牌. 步骤 1.新建AAD应用.,导航到Azur…
各位,如果能弹出来,一定是你账号密码搞错了,就别继续看了.   image.png 切换命令行:   image.png 依然报错, 说到这个问题,又可以长篇大论了, 我使用的是tortoisegit,window电脑 平常都是用ppk文件组合 _netrc文件进行登录的,这样设置之后基本上只需要输入密码,不再需要输入用户名就可以上传更新,要节省不少时间 _netrc文件可以自己搜索在C:\Users\Administrator\%username%\_netr下 内容如下: machine g…
gitee推送到远程仓库时提示错误remote: Incorrect username or password ( access token )fatal: Authentication failed for 'https://gitee.com/***/***.git/' 解决办法: 一.清除本地的gitee用户名和密码 git config --system --unset credential.helper 出现以下错误提示,显示我没有权限,无果 error: could not lock…
1.Git版本:Git-2.17.0 2.引起git报错的原因 在变更远程仓库路径的的时候,弹出过一个窗口输入用户名和密码,但是输错了,之后执行任何拉取和更新的命令都会报如下的错: fatal: Authentication failed for 'https://xxxxx.git' 3.按照网上说的方式修改 git remote -v git remote remove origin git remote add origin xxx 还有 git config --global user.…
Microsoft Graph 是 Microsoft 365 中通往数据和智能的网关. 它提供统一的可编程模型,可用于访问 Microsoft 365.Windows 10 和企业移动性 + 安全性中的海量数据. 利用 Microsoft Graph 中的大量数据针对与数百万名用户交互的组织和客户构建应用. Microsoft Graph 公开了 REST API,包含了Azure上的所有资源操作.关于它目前能操作的资源可以参考官方说明:https://docs.microsoft.com/e…
问题描述 编写Java代码调用Mircrosoft Graph API创建用户时,分别遇见了"401 : Unauthorized"和"403 : Forbidden"错误,调用的Java代码片段如下: 选择 Microsoft Graph 身份验证 ClientCredentialProvider authProvider = new ClientCredentialProvider( clientId, scopes, clientSecret, tenant,…
问题描述 在使用Python SDK时候,登录到China Azure (Mooncake)并访问AlertsManagement资源时候,时常遇见  EnvironmentCredential: Authentication failed 的错误消息. Python 代码: from azure.identity import DefaultAzureCredential from azure.mgmt.alertsmanagement import AlertsManagementClien…
Custom Authentication: 1. For OLD Mobile Service - https://azure.microsoft.com/en-us/documentation/articles/mobile-services-dotnet-backend-get-started-custom-authentication/ 2. For NEW Mobile App - keys: Turn on App Service Authentication Add Microso…
关键字说明 什么是 Azure Active Directory?Azure Active Directory(Azure AD, AAD) 是 Microsoft 的基于云的标识和访问管理服务,可帮助员工登录和访问 Azure 中的资源: 外部资源,例如 Microsoft 365.Azure 门户(https://portal.azure.cn/)以及成千上万的其他 SaaS 应用程序. 内部资源,例如公司网络和 Intranet 上的应用,以及由自己的组织开发的任何云应用. 什么是Azur…
之前我们多次提到过Resource Manager,也知道Resource Manager是Microsoft Azure提供的一种新型资源管理模式.在Service Management模式(Classic)中,我们通常会在一个订阅里面部署多个项目所需的资源,而且每个项目可能隶属于不同的部门或者团队.这种情况下,我们很难给每个项目核算成本.当然,通过账单也能进行大致的区分,但这需要手工操作.因为在Service Management模式中,即没有“组”的概念也没有“标签”的概念.从系统设计的角…
国际版Microsoft Azure的Preview Portal已经于12月2日正式GA,现在登录国际版的Microsoft Azure,默认就会进入Microsoft Azure New Portal.第一眼看上去,新版的Web管理控制台很炫! 在酷炫的界面背后,却隐藏了很多Microsoft Azure云计算平台的重大升级和改进.新功能真的很多,看起来需要写一个系列的篇幅来介绍了. Microsoft Azure New Portal能完成很多以前需要使用PowerShell才能完成的功能…
本段代码是个通用性很强的sample code,不仅能够操作AAD本身,也能通过Azure Service Principal的授权来访问和控制Azure的订阅资源.(Azure某种程度上能看成是两个层级:AAD+Subscription) 下文中的代码是演示的screenshot中的红字2的部分.红字1的部分的permission实质上是赋予AAD service principal操作订阅的权限(这个需要切换var resource = “https://management.core.ch…
问题描述 在Azure上创建虚拟机(VM)后,在门户上可以查看监控指标(Metrics),如CPU Usage,Memory,Disk I/O等.那如何通过Java 代码获取到这些指标呢? 关于VM 的内存使用率,虚拟机本身并没有提供这个指标,需要开启诊断后去Azure Storage表中获取,字段为\Memory\% Committed Bytes In Use,是开启了诊断日志存储到WADMetrics 表中 解决办法 方式一:使用REST API Azure中门户上看见的内容都是通过RES…
问题描述 在博文([Azure App Service For Container]创建ASP.NET Core Blazor项目并打包为Linux镜像发布到Azure应用服务)中我们通过VS 2019可以为项目添加Dockerfile并自动生成Docker Image文件.但是如果不借助于VS2019我们如何来操作呢? 解决步骤 准备Dockerfile 进入项目文件夹中,创建Dockerfile并COPY以下内容: #See https://aka.ms/containerfastmode…