繁体   English   中英

Azure Blob 的身份验证和授权方式

Authentication and authorization way for Azure Blobs

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

在我的 azure blob storage 中,我有一个容器,其中有多个文件夹,文件夹名称为项目名称,每个文件夹都有一个 metadata.json 文件以及第一级的子文件夹。

Blob Container --> Folder A, FolderB
Folder A --> metadata.json, subfolder(s)
Folder B --> metadata.json, subfolders(s)..

现在,我创建了一个 Powershell commandlet,用于获取项目的 blob 元数据文件。 因此,如果它类似于 Get-Documents -Project "FolderA" 并且我从文件夹 A 中的 metadata.json 获取所有信息。为此,我将 Blob 存储帐户、SAS 令牌和容器存储在解决方案的配置文件中.

展望未来,我想让它更安全,并希望我的客户,如果他们调用 Get-Documents 命令,应该提示用户登录提示,一旦他们的身份验证通过,即他们在组织活动目录中并有权访问 Blob文件夹,他们应该能够获取元数据信息。

我该如何开始? 如果有人可以指导我正确的文档或共享类似的解决方案(如果实施)。

1 个回复

您可以使用 Azure AD访问 Azure blob 存储,并使用Rest API获取 Blob。

使用 Powershell 的代码示例:

# login
Connect-AzAccount

# get accessToken
$resource = "https://storage.azure.com/"
$context = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile.DefaultContext
$accessToken = [Microsoft.Azure.Commands.Common.Authentication.AzureSession]::Instance.AuthenticationFactory.Authenticate($context.Account, $context.Environment, $context.Tenant.Id.ToString(), $null, [Microsoft.Azure.Commands.Common.Authentication.ShowDialog]::Never, $null, $resource).AccessToken

#request REST API
$uri = "https://<myaccount>.blob.core.windows.net/<mycontainer>/<myblob>"

$xmsdate = get-date
$xmsdate = $xmsdate.ToUniversalTime()
$xmsdate = $xmsdate.toString('r')

$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("x-ms-version", "2019-12-12")
$headers.Add("x-ms-date", $xmsdate)
$headers.Add("Authorization", "Bearer " + $accessToken)

Invoke-RestMethod -Method 'Get' -Uri $uri -Headers $headers

有关更多详细信息,请参阅此处 它会帮助你理解。

2 使用 Azure AD 进行身份验证和授权

请分享使用 Microsoft 身份管理进行身份验证和授权与使用 azure 活动目录中的应用服务进行授权之间的区别。 我必须构建一个 ASP.NET Web 应用程序,该应用程序将在组织中托管,并且只有组织中的人员才能访问。请让我知道选择哪一个(正确的应用程序服务或微软身份管理以及这些不同的场景) ...

3 WebAPI身份验证/授权Azure ++

这是一团糟,所以提前道歉。 为了简洁起见,我将尽力保留尽可能多的细节。 我想创建一个Web API(核心3.1)。 我需要对用户进行身份验证并授权他们的请求。 最后,我将要认证的用户将是Dynamics CRM Online用户,我相信这些用户将位于Azure中已设置的现有AD列表中。 我想在C ...

4 Azure AD 身份验证和授权

我正在开发 Asp.net MVC 项目,此应用程序从 Azure AD 进行身份验证,但基于角色的授权存在问题,基于角色组中的操作未授权。 我把我的代码放在这里,请检查并帮助我。 联系操作未授权,我创建了安全类型的 Operator1 组并分配给用户 public 部分类 Startup { pr ...

5 Azure网站认证/授权

我正在使用Azure的新功能,该功能无需编写任何代码即可为您的网站启用活动目录身份验证。 http://azure.microsoft.com/blog/2014/11/13/azure-websites-authentication-authorization/ 但是问题是我的Web应 ...

6 身份验证和授权的最佳方法

在asp.net mvc 3和4网站中为大中型网站构建身份验证和授权层的最佳实践是什么,比如说一个govt应用程序,每天允许10000次点击。 在大多数情况下,首选方法是什么? 1)从头开始构建新层 2)使用会员资格提供者(可以根据我的要求完全成型吗?) 3)我最近开始了解身 ...

7 我可以禁用公开可用的 Azure Blob 的授权标头吗?

这可能是Azure 存储的副本- 禁用授权标头。 但那个人已经6岁了,从来没有得到答案。 在那个线程中也有一些误解,我会尽量避免。 转载: 创建具有匿名访问权限的 Azure Blob 容器(容器或 Blob 访问级别) 调用没有标题的资源会导致 =&gt; 200(这就是我们想要的) ...

8 批量复制 Azure Blob 的快速方法

我在 Azure 存储中有大约 40,000 个 blob,它们的文件扩展名错误。 它们已以文件名&lt;name&gt;.png上传,我需要将名称更正为&lt;name&gt;.jpg 。 在第一个实例中,我只想将原件复制到同一个 blob 存储中,但使用新的文件名。 azcopy 通常是我的 ...

9 使用Azure AD身份验证的自定义授权

我正在使用ASP.NET Core 2.0开发服务结构无状态Web应用程序。 此应用程序使用Azure AD对来自多个AD租户的用户进行身份验证。 我要实现的是使用自己的基于角色的授权,可以使用授权用户在我的应用程序中对其进行配置。 这些角色存储在我的应用程序中。 在当前的实现中,我 ...

10 用于Azure的JWT身份验证/授权的Stormpath

我们正在研究移动报告应用程序的身份验证/授权,该应用程序使用运行在MS Azure云中的内部提供的RESTful Web API服务通过网络消耗每小时/每周/每月的商业敏感数据。 Stormpath的产品看起来很有趣,因为它似乎可以为整个身份管理方面,注册用户,对其进行身份验证以及生成JWT令 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM