在没有邀请的情况下使用 SAML 的 Azure AD 外部标识
Azure AD External Identity using SAML without invitation
我正在尝试设置 Azure AD 与我们合作伙伴身份的集成。我需要支持的供应商很少,他们支持 SAML 和 WS-Fed。我正在尝试使用 Azure AD 外部身份将这些提供商添加到我的 Azure AD 租户。
但是,通读 this article,SAML 集成似乎是基于邀请的。
我希望用户无需邀请即可登录。我如何使用 Azure AD 执行此操作?
这是我的需求:
- 添加外部 idp 后,用户应该可以通过他们的 idp 使用自己的凭据登录。使用应用程序不需要其他信息。
- 我应该能够授予他们访问自定义应用程序(强制)和 azure 资源(可选)的权限
- 选择每个应用允许的 idp? (如果可能的话)
提前致谢。
问题 1: 添加外部 idp 后,用户应该能够通过其 idp 使用自己的凭据登录。使用应用程序不需要其他信息。
答案:
我们可以使用直接 link 或通用端点而不是电子邮件邀请来实现访客用户兑换。来宾用户单击该应用程序 link,查看并接受隐私条款,然后无缝访问该应用程序。
使用通用端点: 访客用户现在可以登录您的 multi-tenant 或 Microsoft first-party 应用程序通过公共端点 (URL),例如 https://myapps.microsoft.com。以前,常见的 URL 会将访客用户重定向到他们的主租户而不是您的资源租户以进行身份验证,因此需要 tenant-specific link(例如 https://myapps.microsoft.com/?tenantid=).现在来宾用户可以转到应用程序的常用 URL,选择 Sign-in 选项,然后 select 登录组织。然后用户键入您的组织名称。
使用直接 Link: 作为邀请电子邮件或应用程序通用 URL 的替代方法,您可以让访客直接 link 访问您的应用程序或门户。您首先需要通过 Azure Portal 或 Powershell 将来宾用户添加到您的目录,然后您可以使用任何可自定义的方式向用户部署应用程序,包括直接 sign-on links。当来宾使用直接 link 而不是邀请电子邮件时,他们仍将被引导完成 first-time 同意体验。
参考:
Add B2B guests without an invitation link or email - Azure AD
Invitation redemption in B2B collaboration - Azure AD
问题 2:我应该能够授予他们访问自定义应用程序(强制)和 azure 资源(可选)的权限
回答:将用户作为访客添加到 Azure 活动目录,但默认情况下,即使他们不打开邀请,他们也会收到邀请。您可以在您的供他们使用的企业应用程序。
大多数支持 SAML 2.0、WS-Federation 或 OpenID 连接的联合应用程序还支持用户从应用程序开始,然后通过自动重定向或单击a link 登录。这称为服务 provider-initiated sign-on,Azure AD 应用程序库中的大多数联合应用程序
参考:
End-user experiences for applications - Azure Active Directory
Quickstart: Add guest users in the Azure portal - Azure AD
要为来宾用户提供对 Azure 资源的访问权限,您可以手动 add a role to the users。
问题 3:选择每个应用允许的 idp?
答案:创建不同的用户流并将所需的 IDP 添加到用户流,然后根据给定应用程序需要哪些 IDP,将在 Azure AD 中注册的应用程序分配给用户流.
参考:
Add a self-service sign-up user flow - Azure AD
问题 4: 我在我的 Azure AD 中使用 SAML 添加了 Okta 作为外部身份。以 multi-tenant 创建“应用程序注册”。但是我收到了这个错误。
AADSTS50020: User account 'xxx' from identity provider 'http://www.okta.com/xxxxx' does not exist in tenant '' and cannot access the application '0000000c-0000-0000-c000-000000000000'(Microsoft App Access Panel) in that tenant. The account needs to be added as an external user in the tenant first. Sign out and sign in again with a different Azure Active Directory user account.
解决方案:请确保将用户添加到合作伙伴管理组之一,即合作伙伴租户中的 AdminAgents。
参考:
Manage Auth access for cloud solution providers.
问题 5: 为应用程序设置自助服务注册的步骤。
我实验室的测试场景
- Azure AD with an application registered in application registrations blade.
- Another AD tenant with users.
第 1 步: 在上述外部身份协作设置中,请确保启用 enable guest user self service
。
如果未启用,则您无法创建自助服务流程,当其他租户的用户尝试访问该应用程序时,您将收到以下错误消息。
步骤 2: 通过转到用户流 blade 并创建新流来创建用户流。
第 3 步:创建用户流后,单击用户流并转到应用程序 blade,然后单击添加应用程序。
现在搜索您要为其提供自助服务注册的应用程序并单击 select,您现在将为尝试访问您的应用程序的用户启用自助服务注册。
输出:
完成上述设置后,您可以访问 url 到您的应用程序。提供不同广告租户的用户,您将获得如下输出。点击创建一个新的。
一旦来自其他 AD 租户的用户接受了它,他们就会在您的租户中成功注册为来宾用户。
如果他们接受以上内容,那么他们现在就可以作为访客访问该应用程序。
我正在尝试设置 Azure AD 与我们合作伙伴身份的集成。我需要支持的供应商很少,他们支持 SAML 和 WS-Fed。我正在尝试使用 Azure AD 外部身份将这些提供商添加到我的 Azure AD 租户。
但是,通读 this article,SAML 集成似乎是基于邀请的。
我希望用户无需邀请即可登录。我如何使用 Azure AD 执行此操作?
这是我的需求:
- 添加外部 idp 后,用户应该可以通过他们的 idp 使用自己的凭据登录。使用应用程序不需要其他信息。
- 我应该能够授予他们访问自定义应用程序(强制)和 azure 资源(可选)的权限
- 选择每个应用允许的 idp? (如果可能的话)
提前致谢。
问题 1: 添加外部 idp 后,用户应该能够通过其 idp 使用自己的凭据登录。使用应用程序不需要其他信息。
答案: 我们可以使用直接 link 或通用端点而不是电子邮件邀请来实现访客用户兑换。来宾用户单击该应用程序 link,查看并接受隐私条款,然后无缝访问该应用程序。
使用通用端点: 访客用户现在可以登录您的 multi-tenant 或 Microsoft first-party 应用程序通过公共端点 (URL),例如 https://myapps.microsoft.com。以前,常见的 URL 会将访客用户重定向到他们的主租户而不是您的资源租户以进行身份验证,因此需要 tenant-specific link(例如 https://myapps.microsoft.com/?tenantid=).现在来宾用户可以转到应用程序的常用 URL,选择 Sign-in 选项,然后 select 登录组织。然后用户键入您的组织名称。
使用直接 Link: 作为邀请电子邮件或应用程序通用 URL 的替代方法,您可以让访客直接 link 访问您的应用程序或门户。您首先需要通过 Azure Portal 或 Powershell 将来宾用户添加到您的目录,然后您可以使用任何可自定义的方式向用户部署应用程序,包括直接 sign-on links。当来宾使用直接 link 而不是邀请电子邮件时,他们仍将被引导完成 first-time 同意体验。
参考:
Add B2B guests without an invitation link or email - Azure AD
Invitation redemption in B2B collaboration - Azure AD
问题 2:我应该能够授予他们访问自定义应用程序(强制)和 azure 资源(可选)的权限
回答:将用户作为访客添加到 Azure 活动目录,但默认情况下,即使他们不打开邀请,他们也会收到邀请。您可以在您的供他们使用的企业应用程序。
大多数支持 SAML 2.0、WS-Federation 或 OpenID 连接的联合应用程序还支持用户从应用程序开始,然后通过自动重定向或单击a link 登录。这称为服务 provider-initiated sign-on,Azure AD 应用程序库中的大多数联合应用程序
参考:
End-user experiences for applications - Azure Active Directory
Quickstart: Add guest users in the Azure portal - Azure AD
要为来宾用户提供对 Azure 资源的访问权限,您可以手动 add a role to the users。
问题 3:选择每个应用允许的 idp?
答案:创建不同的用户流并将所需的 IDP 添加到用户流,然后根据给定应用程序需要哪些 IDP,将在 Azure AD 中注册的应用程序分配给用户流.
参考:
Add a self-service sign-up user flow - Azure AD
问题 4: 我在我的 Azure AD 中使用 SAML 添加了 Okta 作为外部身份。以 multi-tenant 创建“应用程序注册”。但是我收到了这个错误。
AADSTS50020: User account 'xxx' from identity provider 'http://www.okta.com/xxxxx' does not exist in tenant '' and cannot access the application '0000000c-0000-0000-c000-000000000000'(Microsoft App Access Panel) in that tenant. The account needs to be added as an external user in the tenant first. Sign out and sign in again with a different Azure Active Directory user account.
解决方案:请确保将用户添加到合作伙伴管理组之一,即合作伙伴租户中的 AdminAgents。
参考:
Manage Auth access for cloud solution providers.
问题 5: 为应用程序设置自助服务注册的步骤。
我实验室的测试场景
- Azure AD with an application registered in application registrations blade.
- Another AD tenant with users.
第 1 步: 在上述外部身份协作设置中,请确保启用 enable guest user self service
。
如果未启用,则您无法创建自助服务流程,当其他租户的用户尝试访问该应用程序时,您将收到以下错误消息。
步骤 2: 通过转到用户流 blade 并创建新流来创建用户流。
第 3 步:创建用户流后,单击用户流并转到应用程序 blade,然后单击添加应用程序。
现在搜索您要为其提供自助服务注册的应用程序并单击 select,您现在将为尝试访问您的应用程序的用户启用自助服务注册。
输出:
完成上述设置后,您可以访问 url 到您的应用程序。提供不同广告租户的用户,您将获得如下输出。点击创建一个新的。
一旦来自其他 AD 租户的用户接受了它,他们就会在您的租户中成功注册为来宾用户。
如果他们接受以上内容,那么他们现在就可以作为访客访问该应用程序。