Skip to content

Commit d3664e0

Browse files
authored
Merge pull request #217677 from mattchenderson/func-cosmos-id
updating identity content for cosmos and functions connections table
2 parents eacb856 + 4b47443 commit d3664e0

File tree

3 files changed

+24
-13
lines changed

3 files changed

+24
-13
lines changed

articles/azure-functions/functions-reference.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -116,15 +116,22 @@ Identity-based connections are supported by the following components:
116116

117117
| Connection source | Plans supported | Learn more |
118118
|---------------------------------------------------------|-----------------|--------------------------------------------------------------------------------------------------------------------|
119-
| Azure Blob triggers and bindings | All | [Extension version 5.0.0 or later](./functions-bindings-storage-blob.md#install-extension) |
120-
| Azure Queue triggers and bindings | All | [Extension version 5.0.0 or later](./functions-bindings-storage-queue.md#storage-extension-5x-and-higher) |
121-
| Azure Event Hubs triggers and bindings | All | [Extension version 5.0.0 or later](./functions-bindings-event-hubs.md?tabs=extensionv5) |
122-
| Azure Service Bus triggers and bindings | All | [Extension version 5.0.0 or later](./functions-bindings-service-bus.md) |
123-
| Azure Cosmos DB triggers and bindings - Preview | Elastic Premium | [Extension version 4.0.0-preview1 or later](.//functions-bindings-cosmosdb-v2.md?tabs=extensionv4) |
124-
| Azure Tables (when using Azure Storage) - Preview | All | [Azure Cosmos DB for Table extension](./functions-bindings-storage-table.md#table-api-extension) |
119+
| Azure Blob triggers and bindings | All | [Extension version 5.0.0 or later][blobv5]<br/>[Extension bundle 3.3.0 or later][blobv5] |
120+
| Azure Queue triggers and bindings | All | [Extension version 5.0.0 or later][queuev5]<br/>[Extension bundle 3.3.0 or later][queuev5] |
121+
| Azure Event Hubs triggers and bindings | All | [Extension version 5.0.0 or later][eventhubv5]<br/>[Extension bundle 3.3.0 or later][eventhubv5] |
122+
| Azure Service Bus triggers and bindings | All | [Extension version 5.0.0 or later][servicebusv5]<br/>[Extension bundle 3.3.0 or later][servicebusv5] |
123+
| Azure Cosmos DB triggers and bindings - Preview | Elastic Premium | [Extension version 4.0.0-preview1 or later][cosmosv4]<br/> [Preview extension bundle 4.0.0 or later][cosmosv4]|
124+
| Azure Tables (when using Azure Storage) - Preview | All | [Azure Cosmos DB for Table extension](./functions-bindings-storage-table.md#table-api-extension)<br/>[Extension bundle 3.3.0 or later][tablesv1] |
125125
| Durable Functions storage provider (Azure Storage) - Preview | All | [Extension version 2.7.0 or later](https://github.com/Azure/azure-functions-durable-extension/releases/tag/v2.7.0) |
126126
| Host-required storage ("AzureWebJobsStorage") - Preview | All | [Connecting to host storage with an identity](#connecting-to-host-storage-with-an-identity-preview) |
127127

128+
[blobv5]: ./functions-bindings-storage-blob.md#install-extension
129+
[queuev5]: ./functions-bindings-storage-queue.md#storage-extension-5x-and-higher
130+
[eventhubv5]: ./functions-bindings-event-hubs.md?tabs=extensionv5
131+
[servicebusv5]: ./functions-bindings-service-bus.md
132+
[cosmosv4]: ./functions-bindings-cosmosdb-v2.md?tabs=extensionv4
133+
[tablesv1]: ./functions-bindings-storage-table.md#table-api-extension
134+
128135
[!INCLUDE [functions-identity-based-connections-configuration](../../includes/functions-identity-based-connections-configuration.md)]
129136

130137
Choose a tab below to learn about permissions for each component:

includes/functions-cosmos-permissions.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,18 @@ ms.date: 10/19/2021
66
ms.author: mahender
77
---
88

9-
You will need to create a role assignment that provides access to your database account at runtime. Management roles like [Owner](../articles/role-based-access-control/built-in-roles.md#owner) are not sufficient. The following table shows built-in roles that are recommended when using the Azure Cosmos DB extension in normal operation. Your application may require additional permissions based on the code you write.
9+
Cosmos DB does not use Azure RBAC for data operations. Instead, it uses a [Cosmos DB built-in RBAC system] which is built on similar concepts. You will need to create a role assignment that provides access to your database account at runtime. Azure RBAC Management roles like [Owner](../articles/role-based-access-control/built-in-roles.md#owner) are not sufficient. The following table shows built-in roles that are recommended when using the Azure Cosmos DB extension in normal operation. Your application may require additional permissions based on the code you write.
1010

11-
| Binding type | Example built-in roles |
12-
|----------------|---------------------------------------|
13-
| Trigger | [Cosmos DB Built-in Data Contributor] |
14-
| Input binding | [Cosmos DB Built-in Data Reader] |
15-
| Output binding | [Cosmos DB Built-in Data Contributor] |
11+
| Binding type | Example built-in roles<sup>1</sup> |
12+
|---------------------|---------------------------------------|
13+
| Trigger<sup>2</sup> | [Cosmos DB Built-in Data Contributor] |
14+
| Input binding | [Cosmos DB Built-in Data Reader] |
15+
| Output binding | [Cosmos DB Built-in Data Contributor] |
1616

17+
<sup>1</sup> These roles cannot be used in an Azure RBAC role assignment. See the [Cosmos DB built-in RBAC system] documentation for details on how to assign these roles.
1718

19+
<sup>2</sup> When using identity, Cosmos DB treats container creation as a management operation. It is not available as a data-plane operation for the trigger. You will need to ensure that you create the containers needed by the trigger (including the lease container) before setting up your function.
20+
21+
[Cosmos DB built-in RBAC system]: ../articles/cosmos-db/how-to-setup-rbac.md
1822
[Cosmos DB Built-in Data Reader]: ../articles/cosmos-db/how-to-setup-rbac.md#built-in-role-definitions
1923
[Cosmos DB Built-in Data Contributor]: ../articles/cosmos-db/how-to-setup-rbac.md#built-in-role-definitions

includes/functions-identity-based-connections-configuration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ When hosted in the Azure Functions service, identity-based connections use a [ma
1010

1111
#### Grant permission to the identity
1212

13-
Whatever identity is being used must have permissions to perform the intended actions. You will need to [assign a role in Azure RBAC](../articles/role-based-access-control/role-assignments-steps.md), using either built-in or custom roles which provide those permissions.
13+
Whatever identity is being used must have permissions to perform the intended actions. For most Azure services, this means you need to [assign a role in Azure RBAC](../articles/role-based-access-control/role-assignments-steps.md), using either built-in or custom roles which provide those permissions.
1414

1515
> [!IMPORTANT]
1616
> Some permissions might be exposed by the target service that are not necessary for all contexts. Where possible, adhere to the **principle of least privilege**, granting the identity only required privileges. For example, if the app only needs to be able to read from a data source, use a role that only has permission to read. It would be inappropriate to assign a role that also allows writing to that service, as this would be excessive permission for a read operation. Similarly, you would want to ensure the role assignment is scoped only over the resources that need to be read.

0 commit comments

Comments
 (0)