我有这个工作者角色,它使用REST管理API(通过https://github.com/Azure/azure-sdk-for-net),其最基本的先决条件是订阅ID.
有没有办法从正在运行(工作)角色获取订阅ID?例如,通过RoleEnvironment?
我是.net的Azure管理库的新手。我们如何枚举与订阅有关的可用VM实例大小,或者通常如何使用针对.Net或Rest API的Azure管理库?请提出建议。
那让我发疯。
我的主要目标是将POWER BI报表/图块嵌入我的Rails Web App中。
我有一个带有某些报告的POWER BI帐户。我还在Power BI Embedded的Azure门户上创建了Workspace集合。
通过门户,我无法将工作区添加到我的WorkspaceCollection中(为什么要使用M $?)
我正在使用OSX,因此无法遵循这些说明(Visual Studio中为PowerBI-embedded.sln):https ://azure.microsoft.com/zh-cn/documentation/articles/power-bi-embedded-get -started-sample /
因此,作为替代方案,我正在使用OSX Azure CLI:https : //azure.microsoft.com/zh-cn/documentation/articles/xplat-cli-install/
登录后,我可以执行以下操作:
$ azure powerbi -h
help: Commands to manage your Azure Power BI Embedded Workspace Collections
help:
help: Create a new workspace collection
help: powerbi create [options] <resourceGroup> <name> <location> [tags]
help:
help: List workspace collections within subscription or within resource group
help: powerbi list [options] [resourceGroup]
help:
help: Commands to manage …Run Code Online (Sandbox Code Playgroud) azure azure-management-api powerbi azure-cli powerbi-embedded
我在 C# 代码中使用 Azure API 并使用以下库:
using Microsoft.Rest; using Microsoft.Rest.Azure.Authentication;
using Microsoft.Azure.Management.DataLake.Store;
using Microsoft.Azure.Management.DataLake.StoreUploader;
using Microsoft.Azure.Management.DataLake.Analytics;
using Microsoft.Azure.Management.DataLake.Analytics.Models;
using Microsoft.WindowsAzure.Storage.Blob;
Run Code Online (Sandbox Code Playgroud)
创建与 Azure 的连接:
private static ServiceClientCredentials AuthenticateAzure(string domainName, string nativeClientAppCLIENTID)
{
// User login via interactive popup
SynchronizationContext.SetSynchronizationContext(new SynchronizationContext());
// Use the client ID of an existing AAD "Native Client" application.
var activeDirectoryClientSettings = ActiveDirectoryClientSettings.UsePromptOnly(nativeClientAppCLIENTID, new Uri("urn:ietf:wg:oauth:2.0:oob"));
return UserTokenProvider.LoginWithPromptAsync(domainName, activeDirectoryClientSettings).Result;
}
Run Code Online (Sandbox Code Playgroud)
打电话时LoginWithPromptAsync,我收到了弹出窗口,询问我的凭据。我不希望每次运行代码时都出现此弹出窗口。除了创建 Azure 应用程序之外,还有什么办法可以提出这个问题吗?
我有一个ApplicationId, TenantId, CertificateThumbprint, 和SubscriptionId(如下)。我可以使用这些字段在没有提示的情况下对 azure 进行身份验证吗?
我正在尝试在天蓝色资源管理的上下文中找到应用程序权限的安全最佳实践。
目前,management.azure.com 仅列出了一项权限,即 management.azure.com/user_impersonation(预览版)。这种委托用户模拟可能是一个严重的问题,并可能导致恶意应用程序接管帐户。
考虑这样一个场景:具有全局管理员角色同意的用户并向应用程序授权访问令牌。应用程序可以使用该令牌并对 azure 租户执行任何它想要的操作。
另一种情况是特权用户将贡献者角色分配给多个订阅。应用程序可能会滥用该用户授权的令牌来修改任何订阅中的资源。
与图 (graph.microsoft.com) api 不同,您可以手动选择权限 (user.read),资源管理 api 只有一个选项 - user_impersonation!
您可能会争论为什么特权用户会授权该操作,但人们会犯错误。我们的工作是通过设计来阻止或最小化此类风险。那么,允许应用程序在azure中管理资源并最大程度地降低安全风险的最佳方式是什么?
我想完全自动化我的资源创建过程.不幸的是,全新订阅默认情况下没有注册一些资源提供程序.例如SQL.这很容易解决,如下所述:https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-common-deployment-errors#noregisteredproviderfound
但是,这仅概述了使用手动使用门户或使用Powershell的方法.
我正在寻找一个解决方案 Microsoft.Azure.Management.ResourceManager.Fluent
似乎不一致,我无法使用C#,但我似乎无法在任何地方找到功能.
如何使用Azure流畅资源管理为新订阅注册资源提供程序?
c# azure azure-management azure-management-api azure-resource-manager