Skip to content

Commit 1cd5e61

Browse files
committed
2327179
1 parent ff50c2c commit 1cd5e61

File tree

2 files changed

+42
-64
lines changed

2 files changed

+42
-64
lines changed

powerapps-docs/maker/TOC.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2281,8 +2281,6 @@
22812281
href: ../teams/add-app-notifications.md
22822282
- name: Enable consistent experience across sessions
22832283
href: ../teams/consistent-experience-across-sessions.md
2284-
- name: Granting permission to tables in Dataverse for Teams
2285-
href: ../teams/dataverse-for-teams-table-permissions.md
22862284
- name: Manage your apps
22872285
href: ../teams/manage-your-apps.md
22882286
- name: Set permission and share your app
@@ -2449,6 +2447,8 @@
24492447
href: ../teams/localizing-sample-apps.md
24502448
- name: Theming in sample apps
24512449
href: ../teams/sample-app-theming.md
2450+
- name: Working with table permission in sample apps
2451+
href: ../teams/dataverse-for-teams-table-permissions.md
24522452
- name: FAQs for sample apps
24532453
href: ../teams/sample-apps-faqs.md
24542454
- name: Known issues and limitations

powerapps-docs/teams/dataverse-for-teams-table-permissions.md

Lines changed: 40 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ For example, if you've an app with sensitive customer data, unauthorized access
2222

2323
You may think "I'll just obscure access to sensitive data in my app!" However, if the underlying data source is shared with users, they can still get to the data, or build new apps on the data source, giving them access to the restricted records.
2424

25-
One of the advantages of building Power Apps in Teams with Dataverse for Teams is that it provides the ability to set the table permissions to your specific business needs that map the security roles in Teams—such as Owners, Members, Guests and App Users.
25+
One of the advantages of building Power Apps in Teams with Dataverse for Teams is that it provides the ability to set the table permissions to your specific business needs that map the security roles in Teams—such as Owners, Members, Guests, and App Users.
2626

2727
For example, if there's a table that the users should only be able to modify for the records that they own, Dataverse for Teams offers a table permission called **Collaborate** that gives users the ability to only edit records that they own. In this article, we'll review the table permissions in Dataverse for Teams, and learn about how you can use them to secure your important business applications.
2828

@@ -34,9 +34,9 @@ For example, if there's a table that the users should only be able to modify for
3434
Permission to apps and the data that they use in Teams are based on the following roles in Teams team.
3535

3636
- **Owner** - A team member with the owner role. This includes the creator of the team, and anyone who has been given the owner role by another users. Owners get full access to the data used in apps in the team.
37-
- **Member** - A team member who is not an owner. By default, team members get full access like owners, but you can also change the permission for team members. You might want to restrict members from being able to edit certain tables. For example, in the [Bulletins app for Teams](bulletins.md), if you wanted to have members be able to read the bulletins but not edit them, you could give team members **Reference** permission on the **Bulletins** table.
37+
- **Member** - A team member who isn't an owner. By default, team members get full access like owners, but you can also change the permission for team members. You might want to restrict members from being able to edit certain tables. For example, in the [Bulletins app for Teams](bulletins.md), if you wanted to have members be able to read the bulletins but not edit them, you could give team members **Reference** permission on the **Bulletins** table.
3838
- **Guest** - A guest is someone outside of your organization who is added to the team. By default, guests can create records, but not view records created by others.
39-
- **Colleagues with access**: With Power Apps for Teams, you can share an app with a Azure AD security group whose members need not be part of the Teams team where the app was built. This enables you to add users to the application without having to add them to the specific team, and opens up “Broad Distribution” scenarios. For example, you may want to build an app that is enabled for every accountant in the organization, or even every employee in that organization.
39+
- **Colleagues with access**: With Power Apps for Teams, you can share an app with Azure AD security group whose members need not be part of the Teams team where the app was built. This enables you to add users to the application without having to add them to the specific team, and opens up “Broad Distribution” scenarios. For example, you may want to build an app that is enabled for every accountant in the organization, or even every employee in that organization.
4040

4141
## Understanding table permissions
4242

@@ -79,71 +79,57 @@ Let’s take a look at how table permissions work in practice. We'll create a ta
7979

8080
1. Save and Publish the app. You'll need to select a channel in which the app will be displayed—select **+** next to the desired channel name to select the channel.
8181

82-
## Granting permissions to the tables
82+
### Configure and verify table permissions
8383

84-
We are going to set the permissions for the vehicles table for Team members:
84+
We're going to set the permissions for the vehicles table for Team members:
8585

86-
1. In Teams, open the **Power Apps** app. Right mouse click on the Power Apps icon in Teams and select **Pop out app**. This will pop out the app in a new window, so if you navigate somewhere else in Teams you won’t lose your changes.
87-
88-
2. Select the **Build** tab.
86+
1. In Teams, open the **Power Apps** app. Right-click on the Power Apps icon in Teams, and select **Pop out app**. This will pop out the app in a new window, so if you move somewhere else in Teams, you won’t lose your changes.
8987

90-
3. Select the team that contains the Vehicle Manager app.
88+
1. Select the **Build** tab.
9189

92-
4. In the **Items created for…** area, select **See all**.
90+
1. Select the team that contains the Vehicle Manager app.
9391

94-
5. Select **Tables** from the solution components bar.
92+
1. In the **Items created for…** area, select **See all**.
9593

96-
6. Select the Vehicle table and then select **Manage permissions**.
94+
1. Select **Tables** from the solution components bar.
9795

98-
7. Select the **Member** node. The initial permission will show Full access. Select the permission **Private** and select **Save.**
99-
100-
![Manage table permissions](media/granting-permissions-to-tables-in-dataverse-for-teams/seeing-them-in-practice-3.png "Manage table permissions")
101-
102-
Next, we will log in to Teams as a user who is a non owner Team member to
103-
observe their experience.
104-
105-
1. Log into Teams using a user who is a member of the team in which the app is installed.
106-
107-
2. Select the channel where the app is installed.
108-
109-
3. Select the tab for the Vehicle Manager app.
110-
111-
4. The app should open for the user, but no records will show in the gallery, as the user only has visibility to their own records.
112-
113-
5. Select **New record** to create a new vehicle record, select the check mark to save the record.
114-
115-
6. You should now see one record in the gallery.
116-
117-
Log out of Teams and log back in as the Team owner. We will now go to
118-
the table and see the created data.
119-
120-
1. Log in to Teams using using the Team owner personal.
96+
1. Select the Vehicle table and then select **Manage permissions**.
12197

122-
2. Right click on the Power Apps icon and pop out the app.
98+
1. Select the **Member** node. The initial permission will show Full access. Select the permission **Private** and select **Save**.
12399

124-
3. Select the **Build** tab.
100+
![Manage table permissions](media/granting-permissions-to-tables-in-dataverse-for-teams/seeing-them-in-practice-3.png "Manage table permissions")
125101

126-
4. Select the team in which the Vehicle Manager app is installed
102+
Next, we'll log in to Teams as a user who is a non-owner Team member to observe their experience.
127103

128-
5. Select the Vehicle table
104+
1. Log into Teams using a user who is a member of the team in which the app is installed.
105+
1. Select the channel where the app is installed.
106+
1. Select the tab for the Vehicle Manager app.
107+
1. The app should open for the user, but no records will show in the gallery, as the user only has visibility to their own records.
108+
1. Select **New record** to create a new vehicle record, select the check mark to save the record.
109+
1. You should now see one record in the gallery.
129110

130-
6. Select **Edit**.
111+
Log out of Teams and log back in as the Team owner. We'll now go to the table and see the created data.
131112

132-
7. You will now see two records in the Vehicle table, each with a different
133-
owner.
113+
1. Log in to Teams using the Team owner personal.
114+
1. Right-click on the Power Apps icon and pop out the app.
115+
1. Select the **Build** tab.
116+
1. Select the team in which the Vehicle Manager app is installed
117+
1. Select the Vehicle table
118+
1. Select **Edit**.
119+
1. You'll now see two records in the Vehicle table, each with a different owner.
134120

135121
![View table records](media/granting-permissions-to-tables-in-dataverse-for-teams/seeing-them-in-practice-4.png "View table records")
136122

137-
So how would this apply to one of the Power Apps templates for Teams?
138-
139-
For example, with Bulletins we might set the following permissions for the tables in the app:
123+
So how would this apply to one of the sample apps for Teams?
124+
125+
For example, with Bulletins we might set the following permissions for the tables in the app:
140126

141127
| Table | Permission | Reason |
142128
|------------------------------|-------------|-----------------------------------------------------------------------------------------------------------------------------|
143129
| Bulletin | Reference | Users should read all bulletins, but not edit or create bulletins. |
144130
| Bulletin Bookmark | Private | Users should create their own bulletins, but not view or edit other users’ bookmarks. |
145131
| Bulletin Category | Reference | Users should read all categories but not edit or create categories. |
146-
| Bulletin Category Preference | Private | Users should create their own category preferences but should not be able to read or edit other users category preferences. |
132+
| Bulletin Category Preference | Private | Users should create their own category preferences but shouldn't be able to read or edit other users category preferences. |
147133
| Bulletin Contact | Reference | Users should read all contact records but not create or edit contacts. |
148134
| Bulletin FAQ | Reference | Users should read all FAQ records but not create or edit existing FAQ records. |
149135
| Bulletin FAQ Category | Reference | Users should read all FAQ categories but not create or edit existing FAQ records |
@@ -156,27 +142,19 @@ the table and see the created data.
156142

157143
Before assigning permissions, you should plan your security based on the personas of users of your app. Who will administer the app? Who will use the app? How will they use it?
158144

159-
For example, the Inspection Power apps template for Teams is designed to address the following personas:
145+
For example, the Inspection sample app for Teams is designed to address the following personas:
160146

161-
- Inspection manager: creates Inspection forms and manages the list of locations or assets.
162-
163-
- Inspection reviewer: reviews inspection data and approves inspections.
164-
165-
- Inspection User: completes inspections.
147+
- **Inspection manager** - Creates Inspection forms and manages the list of locations or assets.
148+
- **Inspection reviewer** - Reviews inspection data and approves inspections.
149+
- **Inspection User** - Completes the inspections.
166150

167151
Once we have the personas defined, relate these personas to the team role to which they should be assigned:
168152

169-
- Inspection manager: Since inspection managers will need full access to create inspection forms and other system table records, we will make them owners in the team.
170-
171-
- Inspection reviewer: Since inspection reviewers should be able to edit all inspections, but they will not create inspection forms, we will make them team members. This will enable us to give them reference access to the Area Inspection Checklist table (where inspection form data is stored), but full access to Area Inspection table (where inspection records are stored).
172-
173-
- Inspection user: Inspection users should only be able to submit new inspections, but not create new inspection forms or see other user’s inspections. So we will not make them members of the team in which the app is installed—we will share the app with them as colleagues, and give them Reference permission to Area Inspection Checklist and Private permission to Area Inspection. This will allow users to view inspection forms and create their own inspection records.
174-
175-
## Learn more:
176-
177-
For more details on recommended table permissions for the Power App templates for Teams, see the following topics:
153+
- **Inspection manager** - Since inspection managers will need full access to create inspection forms and other system table records, we'll make them owners in the team.
154+
- **Inspection reviewer** - Since inspection reviewers should be able to edit all inspections, but they won't create inspection forms, we'll make them team members. This will enable us to give them reference access to the Area **Inspection Checklist** table (where inspection form data is stored), but full access to **Area Inspection** table (where inspection records are stored).
155+
- **Inspection user** - Inspection users should only be able to submit new inspections, but not create new inspection forms or see other user’s inspections. So we won't make them members of the team in which the app is installed—we'll share the app with them as colleagues, and give them **Reference** permission to **Area Inspection Checklist** and **Private** permission to **Area Inspection**. This will allow users to view inspection forms and create their own inspection records.
178156

179-
- [Deploy Profile + as broad distibution app](deploy-profile-plus-broad-distribution.md)
157+
For more details about the recommended table permissions for the sample apps for Teams, see articles about deploying sample apps broadly, such as [Deploy Profile + as broad distribution app](deploy-profile-plus-broad-distribution.md).
180158

181159
### See also
182160

0 commit comments

Comments
 (0)