Skip to content

Commit 8dc84e8

Browse files
authored
Merge pull request #111138 from MicrosoftDocs/master
4/13 AM Publish
2 parents b3c54b1 + a56547f commit 8dc84e8

File tree

225 files changed

+4278
-556
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

225 files changed

+4278
-556
lines changed
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
---
2+
title: Invite internal users to B2B collaboration - Azure AD
3+
description: If you have internal user accounts for partners, distributors, suppliers, vendors, and other guests, you can change to Azure AD B2B collaboration by inviting them to sign in with their own external credentials or login. Use either PowerShell or the Microsoft Graph invitation API.
4+
5+
services: active-directory
6+
ms.service: active-directory
7+
ms.subservice: B2B
8+
ms.topic: conceptual
9+
ms.date: 04/12/2020
10+
11+
ms.author: mimart
12+
author: msmimart
13+
manager: celestedg
14+
ms.reviewer: mal
15+
16+
ms.collection: M365-identity-device-management
17+
---
18+
19+
# Invite internal users to B2B collaboration
20+
21+
| |
22+
| --- |
23+
| Inviting internal users to use B2B collaboration is a public preview feature of Azure Active Directory. For more information about previews, see [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/). |
24+
| |
25+
26+
Before the availability of Azure AD B2B collaboration, organizations could collaborate with distributors, suppliers, vendors, and other guest users by setting up internal credentials for them. If you have internal guest users like this, you can invite them to use B2B collaboration so you can take advantage of Azure AD B2B benefits. Your B2B guest users will be able to use their own identities and credentials to sign in, and you won’t need to maintain passwords or manage account lifecycles.
27+
28+
Sending an invitation to an existing internal account lets you retain that user’s object ID, UPN, group memberships, and app assignments. You don’t need to manually delete and re-invite the user or reassign resources. To invite the user, you’ll use the invitation API to pass both the internal user object and the guest user’s email address along with the invitation. When the user accepts the invitation, the B2B service changes the existing internal user object to a B2B user. Going forward, the user must sign in to cloud resources services using their B2B credentials. They can still use their internal credentials to access on premises resources, but you can prevent this by resetting or changing the password on the internal account.
29+
30+
> [!NOTE]
31+
> Invitation is one-way. You can invite internal users to use B2B collaboration, but you can’t remove the B2B credentials once they’re added. To change the user back to an internal-only user, you’ll need to delete the user object and create a new one.
32+
33+
While in public preview, the method described in this article for inviting internal users to B2B collaboration can’t be used in these instances:
34+
35+
- The internal user has already been assigned an Exchange license.
36+
- The user is from a domain that is set up for direct federation in your directory.
37+
- The internal user is a cloud-only account, and their main account isn't in Azure AD.
38+
39+
In these instances, if the internal user must be changed to a B2B user, you should delete the internal account and send the user an invitation for B2B collaboration.
40+
41+
**On-premises synced users**: For user accounts that are synced between on-premises and the cloud, the on-premises directory remains the source of authority after they’re invited to use B2B collaboration. Any changes you make to the on-premises account will sync to the cloud account, including disabling or deleting the account. Therefore, you can’t prevent the user from signing into their on-premises account while retaining their cloud account by simply deleting the on-premises account. Instead, you can set the on-premises account password to a random GUID or other unknown value.
42+
43+
## How to invite internal users to B2B collaboration
44+
45+
You can use PowerShell or the invitation API to send a B2B invitation to the internal user. Make sure the email address you want to use for the invitation is set as the external email address on the internal user object.
46+
47+
- For a cloud-only user, use the email address in the User.OtherMails property for the invitation.
48+
- For an on-premises synced user, you must use the value in the User.Mail property for the invitation.
49+
- The domain in the user’s Mail property must match the account they’re using to sign in. Otherwise, some services such as Teams won't be able to authenticate the user.
50+
51+
By default, the invitation will send the user an email letting them know they’ve been invited, but you can suppress this email and send your own instead.
52+
53+
> [!NOTE]
54+
> To send your own email or other communication, you can use New-AzureADMSInvitation with -SendInvitationMessage:$false to invite users silently, and then send your own email message to the converted user. See [Azure AD B2B collaboration API and customization](customize-invitation-api.md).
55+
56+
## Use PowerShell to send a B2B invitation
57+
58+
Use the following command to invite the user to B2B collaboration:
59+
60+
```powershell
61+
Uninstall-Module AzureADPreview
62+
Install-Module AzureADPreview
63+
$ADGraphUser = Get-AzureADUser -searchstring "<<external email>>"
64+
$msGraphUser = New-Object Microsoft.Open.MSGraph.Model.User -ArgumentList $ADGraphUser.ObjectId
65+
New-AzureADMSInvitation -InvitedUserEmailAddress <<external email>> -SendInvitationMessage $True -InviteRedirectUrl "http://myapps.microsoft.com" -InvitedUser $msGraphUser
66+
```
67+
68+
## Use the invitation API to send a B2B invitation
69+
70+
The sample below illustrates how to call the invitation API to invite an internal user as a B2B user.
71+
72+
```json
73+
POST https://graph.microsoft.com/v1.0/invitations
74+
Authorization: Bearer eyJ0eX...
75+
ContentType: application/json
76+
{
77+
    "invitedUserEmailAddress": "<<external email>>"",
78+
    "sendInvitationMessage": true,
79+
    "invitedUserMessageInfo": {
80+
        "messageLanguage": "en-US",
81+
        "ccRecipients": [
82+
            {
83+
                "emailAddress": {
84+
                    "name": null,
85+
                    "address": "<<optional additional notification email>>""
86+
                }
87+
            }
88+
        ],
89+
        "customizedMessageBody": "<<custom message>>"
90+
    },
91+
    "inviteRedirectUrl": "https://myapps.microsoft.com?tenantId=",
92+
    "invitedUser": {"id": "<<ID for the user you want to convert>>"}
93+
}
94+
```
95+
96+
The response to the API is the same response you get when you invite a new guest user to the directory.
97+
98+
## Next steps
99+
100+
- [B2B collaboration invitation redemption](redemption-experience.md)

articles/active-directory/b2b/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@
6363
href: add-users-administrator.md
6464
- name: Information workers adding B2B users
6565
href: add-users-information-worker.md
66+
- name: Invite internal users to B2B
67+
href: invite-internal-users.md
6668
- name: Google federation
6769
href: google-federation.md
6870
- name: One-time passcode authentication

articles/automation/TOC.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,30 +10,30 @@
1010
items:
1111
- name: Create an Automation account
1212
href: automation-quickstart-create-account.md
13-
- name: Create standalone Automation account
13+
- name: Create a standalone Automation account
1414
href: automation-create-standalone-account.md
15-
- name: Manage Automation Run As account
15+
- name: Manage an Automation Run As account
1616
href: manage-runas-account.md
1717
displayName: certificate renewal
1818
- name: Manage role-based access control
1919
href: automation-role-based-access-control.md
2020
displayName: RBAC
21-
- name: Use Azure AD in Azure Automation to authenticate to Azure
21+
- name: Use Azure AD to authenticate to Azure
2222
href: automation-use-azure-ad.md
23-
- name: Manage Office 365 services using Azure Automation
23+
- name: Manage Office 365 services
2424
href: manage-office-365.md
2525
- name: Configure authentication with AWS
2626
href: automation-config-aws-account.md
2727
- name: Encrypt secure assets in Azure Automation
2828
href: automation-secure-asset-encryption.md
29-
- name: Move your Automation Account to another Subscription
29+
- name: Move your Automation Account to another subscription
3030
href: how-to/move-account.md
31-
- name: Automate onboarding of Automation Services
31+
- name: Automate onboarding of Automation services
3232
href: /azure/architecture/cloud-adoption/operations/azure-server-management/onboarding-automation
3333
- name: Manage Azure Automation data
3434
href: automation-managing-data.md
3535
displayName: backup
36-
- name: Supported Regions for Log Analytics Workspace Mappings
36+
- name: Supported regions for Log Analytics workspace mappings
3737
href: how-to/region-mappings.md
3838
- name: Troubleshoot
3939
items:

articles/automation/automation-create-standalone-account.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ To create or update an Automation account, and to complete the tasks described i
2828
* To create an Automation account, your Azure AD user account must be added to a role with permissions equivalent to the Owner role for **Microsoft. Automation** resources. For more information, see [Role-Based Access Control in Azure Automation](automation-role-based-access-control.md).
2929
* In the Azure portal, under **Azure Active Directory** > **MANAGE** > **User settings**, if **App registrations** is set to **Yes**, non-admin users in your Azure AD tenant can [register Active Directory applications](../active-directory/develop/howto-create-service-principal-portal.md#check-azure-subscription-permissions). If **App registrations** is set to **No**, the user who performs this action must be a global administrator in Azure AD.
3030

31-
If you aren't a member of the subscriptions Active Directory instance before you are added to the subscription's global administrator/coadministrator role, you are added to Active Directory as a guest. In this scenario, you see this message on the **Add Automation Account** page: You do not have permissions to create."
31+
If you aren't a member of the subscription's Active Directory instance before you are added to the subscription's global administrator/coadministrator role, you are added to Active Directory as a guest. In this scenario, you see this message on the **Add Automation Account** page: "You do not have permissions to create."
3232

3333
If a user is added to the global administrator/coadministrator role first, you can remove them from the subscription's Active Directory instance, and then readd them to the full User role in Active Directory.
3434

@@ -86,7 +86,7 @@ When the Automation account is successfully created, several resources are autom
8686
| AzureRunAsCertificate |A certificate asset that's automatically created when the Automation account is created, or by using a PowerShell script for an existing account. The certificate authenticates with Azure so you can manage Azure Resource Manager resources from runbooks. This certificate has a one-year lifespan. |
8787
| AzureRunAsConnection |A connection asset that's automatically created when the Automation account is created, or by using a PowerShell script for an existing account. |
8888

89-
## Classic Run-As Accounts
89+
## Create a Classic Run-As account
9090

9191
Classic Run-As accounts are no longer created, by default, when you create an Azure Automation account. If you still require a Classic Run-As account, please perform the following steps.
9292

articles/automation/automation-solution-vm-management-enable.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ms.topic: conceptual
1212
Perform the following steps to add the Start/Stop VMs during off-hours solution to a new or existing Automation account and linked Log Analytics workspace. After completing the onboarding process, configure the variables to customize the solution.
1313

1414
>[!NOTE]
15-
>To use this solution with Classic VMs, you need a Classic RunAs account, which is not created by default. For instructions on creating a Classic RunAs account, see [Classic Run-As Accounts](automation-create-standalone-account.md#classic-run-as-accounts).
15+
>To use this solution with Classic VMs, you need a Classic Run As account, which is not created by default. For instructions on creating a Classic Run As account, see [Create a Classic Run As account](automation-create-standalone-account.md#create-a-classic-run-as-account).
1616
>
1717
1818
## Enable solution

0 commit comments

Comments
 (0)