【问题标题】:Is this is the correct and full list of authentications methods to authenticate Azure services?这是对 Azure 服务进行身份验证的正确且完整的身份验证方法列表吗?
【发布时间】:2021-01-15 14:14:06
【问题描述】:

我使用 Azure SDK 在 Java 中构建我的项目。我需要对下面的一些 Azure 服务进行身份验证:

  1. 文件存储
  2. 队列存储
  3. 服务总线队列
  4. 服务总线主题
  5. 数据湖
  6. 第二代数据湖
  7. Blob 存储
  8. 活动中心

我在https://docs.microsoft.com/en-us/java/api/com.microsoft.azure.management.azure.authenticate?view=azure-java-legacy 找到了一个简短的文档,它只提到了大约 4 个 authenticate() 方法。但它没有确认它们用于什么服务。而且我仍然担心他们是否都可以使用上述服务?

目前,我想知道上面提到的每个服务在 Azure SDK 中的身份验证方法列表。

请给我建议,非常感谢!

【问题讨论】:

  • 我真的很难理解您真正想知道的内容,但我想您首先要阅读的是适用于 java 的 Identity SDK 库github.com/Azure/azure-sdk-for-java/tree/master/sdk/identity/…
  • 您的意思是要对您列出的所有服务使用相同的身份验证方法吗?
  • 抱歉我的英语不好。确切地说,我想要一个我上面提到的每个服务的身份验证方法列表。

标签: java azure authentication service


【解决方案1】:

嗯,在Azure中,不同的服务使用不同的认证方式,大致可以分为两类(不是所有的服务)。

  1. 使用基本身份验证,一些服务会提供连接字符串、帐户名和密钥之类的东西,然后您可以使用它们轻松访问服务。

  2. 使用 Azure AD 身份验证,某些服务支持使用 Azure AD 身份验证,您需要使用用户帐户/服务主体,在您要访问的资源范围内提供 RBAC roles,然后使用 OAuth 流程,例如client credential flowauth code flow 获取令牌,然后使用令牌访问特定服务的 Azure REST API。这样,通常会有 SDK 为您服务,您无需手动进行上述操作。

对于您列出的服务,有些使用其中一种,有些可以同时使用。

1.文件存储 - 使用帐号名和密钥进行认证,需要使用它们来构建客户端,参考这个doc

2.Queue Storage - 它也使用帐户名和密钥进行身份验证,参考这个doc

3&4。服务总线队列和主题 - 他们可以使用connection stringazure ad 进行身份验证,创建client,然后您可以访问队列和主题。

5.Data Lake - 使用azure adauth,提供两种场景,你可以根据需要选择,参考这个doc

6.Data Lake Gen 2 - 它使用account name and keyazure ad 进行身份验证,请参阅此doc

7.Blob 存储 - 它使用连接字符串进行身份验证,请参阅此doc

8.Event Hub - 它使用连接字符串进行身份验证,请参阅此doc

【讨论】:

  • 这就是我要找的。谢谢,@joy。还有一个问题,OAuth2 怎么样?我们可以用它来验证那些 Azure 服务吗?
  • @NoName 是的,使用 azure ad 进行身份验证的服务本质上使用 azure ad OAuth 2.0 流进行身份验证,而不是所有服务,因为其中一些服务不支持。
  • 谢谢,乔伊。我接受了你对我的问题的回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-29
  • 2015-02-02
  • 2015-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多