Table of contents

Extensões de esquema de diretório | Conceitos da API do GraphDirectory schema extensions | Graph API concepts

Jimaco Brannian|Última Atualização: 19/06/2018
|
2 Colaboradores

Este tópico discute as extensões de diretório na API Gráfica do AD Azure, que podem ser usadas para adicionar propriedades aos objetos de diretório sem precisar de um armazenamento de dados externo.This topic discusses directory extensions in the Azure AD Graph API, which can be used to add properties to directory objects without requiring an external data store.Por exemplo, se uma organização tem um aplicativo LOB (de linha de negócios) que requer uma ID do Skype para cada usuário no diretório, a API do Graph pode ser usada para registrar uma nova propriedade chamada skypeId no objeto User do diretório e, então, gravar um valor para a nova propriedade para um usuário específico.For example, if an organization has a line of business (LOB) application that requires a Skype Id for each user in the directory, the Graph API can be used to register a new property named skypeId on the directory’s User object, and then write a value to the new property for a specific user.Este tópico ajudará você a entender as limitações das extensões de diretório e como elas são registradas em um diretório, além de dar exemplos de como são usadas na API do Graph.This topic will help you understand the limitations of directory extensions, how they’re registered in a directory, and provide examples of how they’re used in the Graph API.

Importante

Recomendamos que você use o Microsoft Graph em vez da API do Azure AD Graph para acessar os recursos do Azure Active Directory.We strongly recommend that you use Microsoft Graph instead of Azure AD Graph API to access Azure Active Directory resources.Nossos esforços de implantação agora estão concentrados no Microsoft Graph e não há planos de novos aprimoramento para a API do Azure AD Graph.Our development efforts are now concentrated on Microsoft Graph and no further enhancements are planned for Azure AD Graph API.Há um número muito limitado de cenários para os quais a API do Azure AD Graph ainda pode ser adequada. Para saber mais, confira a postagem do blog sobre Microsoft Graph ou Azure AD Graph no Centro de Desenvolvimento do Office.There are a very limited number of scenarios for which Azure AD Graph API might still be appropriate; for more information, see the Microsoft Graph or the Azure AD Graph blog post in the Office Dev Center.

Tipos de dados de extensão Extension data types

As extensões só podem ser registradas usando a API do Graph versão 1.5 ou mais recente.Extensions can only be registered using Graph API version 1.5 or newer.Os tipos de propriedade a seguir podem ser registrados:The following property types can be registered:

Tipo de propriedadeProperty TypeComentáriosRemarks
BinárioBinaryMáximo de 256 bytes.256 bytes maximum.
BoolianoBoolean
DateTimeDateTimeDeve ser especificada no formato ISO 8601.Must be specified in ISO 8601 format.Será armazenada em UTC.Will be stored in UTC.
InteiroIntegerValor de 32 bits.32-bit value.
LargeIntegerLargeIntegerValor de 64 bits.64-bit value.
Cadeia de caracteresStringMáximo de 256 caracteres.256 characters maximum.

Os tipos de propriedade acima podem ser registrados nos seguintes objetos em um diretório:The property types above can be registered on the following objects in a directory:

Entendendo como uma extensão é registrada Understanding how an extension is registered

É importante compreender como uma propriedade de extensão é registrada em um diretório e como o modelo de consentimento do AD do Azure afeta seu registro.It’s important to understand how an extension property is registered in a directory and how Azure AD’s consent model affects its registration.Para obter mais informações sobre o consentimento para aplicativos no Azure AD, consulte Overview of the Consent Framework (Visão geral da estrutura de consentimento) em Integrating Applications with Azure Active Directory (Integrando aplicativos ao Azure Active Directory).For more information about application consent in Azure AD, see Overview of the Consent Framework in Integrating Applications with Azure Active Directory.

Propriedades de extensão são registradas em um objeto Application dentro do diretório do desenvolvedor.Extension properties are registered on an Application object within the developer’s directory.Após um usuário ou administrador no diretório do desenvolvedor dar o consentimento ao aplicativo, a propriedade é adicionada ao tipo de diretório de destino e se torna acessível imediatamente no diretório do desenvolvedor.After the application has been consented to by a user or an admin in the developer’s directory, the property is added to the target directory type and becomes immediately accessible in the developer’s directory.Para um aplicativo com vários locatários, quando o aplicativo tiver o consentimento concedido por um usuário em outra organização, as propriedades da extensão se tornarão acessíveis imediatamente no tipo de diretório de destino no diretório da outra organização.For a multi-tenant application, when the application is granted consent by a user or an admin in another organization, the extension properties become immediately accessible on the target directory type in the other organization’s directory.

Se uma organização consentir com as permissões “somente leitura” de um aplicativo com extensões registradas, as propriedades ainda ficarão acessíveis no diretório da outra organização.If an organization consents to “read only” permissions for an application with registered extensions, the properties will still become accessible in the other organization’s directory.Além disso, as propriedades de extensão são acessíveis por um aplicativo consentido em uma organização, não apenas para aplicativo ao qual estão registradas.Additionally, extension properties are accessible by any consented application in an organization, not just for the application to which they are registered.Outros aplicativos consentidos nessa organização podem ter valores de leitura e gravação para nova propriedade de extensão se tiverem permissões suficientes.Other consented applications in that organization can read or write values for the new extension property if they have sufficient permissions.

Se o aplicativo for excluído ou o consentimento for removido no diretório da outra organização, a propriedade de extensão ficará inacessível no objeto de diretório de destino.If the application is deleted or consent is removed in the other organization’s directory, the extension property becomes inaccessible on the target directory object.Se a extensão for excluída pelo aplicativo, ela também ficará inacessível no objeto de diretório de destino.If the extension is deleted by the application, it also becomes inaccessible on the target directory object.Se um aplicativo com vários locatários adicionar outras propriedades de extensão após o consentimento ser concedido, essas propriedades também se tornarão acessíveis imediatamente no diretório da outra organização.If a multi-tenant application adds additional extension properties after consent was granted, these properties become immediately accessible in the other organization’s directory.

Observação: se o valor da propriedade de uma extensão for definido em um objeto e a propriedade se tornar inacessível no diretório do objeto, ela ainda será contabilizada com relação ao limite de 100 valores de propriedade de extensão do objeto.Note: If an extension property’s value is set on an object and that property becomes inaccessible in that object’s directory, the property still counts against that object’s limit of 100 extension property values.A única maneira de fazer com que o valor da propriedade deixe de ser levado em consideração depois que ele tiver sido definido é defini-lo explicitamente como null.The only way to remove the property value from consideration once it has been set is to explicitly set it to null.Não será possível fazer isso se a propriedade de extensão estiver inacessível.You cannot do this if the extension property is inaccessible.

Cenário de exemploExample scenario

Considere este cenário: a Litware é um ISV (fornecedor independente de software) que desenvolveu um aplicativo SaaS para outras organizações usarem, e esse aplicativo requer uma propriedade de extensão denominada skypeId em um objeto User.Consider the following scenario: Litware is an independent software vendor (ISV) that has developed a SaaS application for other organizations to use, and this application requires an extension property named skypeId on a User object.Primeiro, a Litware registra o aplicativo em seu próprio diretório e, então, a API do Graph é chamada para registrar a propriedade de extensão no objeto Application, o que torna a propriedade acessível nos objetos User do diretório da Litware.Litware first registers the application in its own directory, and then the Graph API is called to register the extension property on the Application object, which makes the property accessible on User objects in Litware’s directory.Finalmente, a Litware torna o aplicativo apto a vários locatários, portanto, ele pode ser usado em outras organizações.Finally, Litware makes the application multi-tenant capable so that it can be used in other organizations.

A Contoso deseja usar o aplicativo SAAS da Litware, assim um usuário ou administrador na Contoso estabelece consentimento com o aplicativo.Contoso wants to use Litware’s SaaS application, so a user or administrator in Contoso consents to the application.Mediante consentimento, o aplicativo é registrado no diretório da Contoso e as propriedades de extensão registradas para o aplicativo pela Litware ficam disponíveis imediatamente no diretório da Contoso.Upon consent, the application is registered in Contoso’s directory and the extension properties registered for the application by Litware immediately become available in the Contoso directory.Como a propriedade de extensão skypeId para um objeto User foi registrada pela Litware no aplicativo, a propriedade fica acessível em objetos User no diretório da Contoso.Since the skypeId extension property for a User object was registered by Litware on the application, the property becomes accessible on User objects in Contoso’s directory.Agora, o aplicativo da Litware ou outros aplicativos com consentimento no diretório da Contoso podem acessar a nova propriedade de acordo com as permissões configuradas para o aplicativo no diretório da Contoso.Litware’s application or other consented applications in Contoso’s directory can now access the new property according to the permissions configured for that application in Contoso’s directory.Isso significa que os aplicativos, de acordo com suas permissões, podem gravar um valor para essa propriedade de extensão em um ou mais usuários no diretório.This means that applications, according to their permissions, may write a value for that extension property on one or more users in the directory.Somente usuários para os quais um valor skypeId foi gravado retornarão essa propriedade no respectivo objeto User.Only users for which a skypeId value has been written will return that property on their User object.Esse será o caso até que a propriedade skypeId seja definida como null. Depois disso, o objeto User para o usuário em questão não retornará a propriedade.This will be the case until the skypeId property is set to null, after which time the User object for that user will no longer return the property.

Solicitações REST de amostra para extensões de diretório Sample REST requests for directory extensions

As seguintes solicitações de amostra demonstram como registrar, exibir, gravar, ler, filtrar e retirar o registro de extensões em seu diretório.The following sample requests show you how to register, view, write, read, filter, and unregister extensions in your directory.Substitua o espaço reservado <applicationObjectId> pela ID de objeto do aplicativo registrado.Replace the <applicationObjectId> placeholder with your registered application’s Object ID.Você pode obter esse valor da seguinte maneira:You can get this value in the following way:

  1. Vá para https://graphexplorer.cloudapp.net/, clique no link Entrar no canto superior direito e, em seguida, entre usando as credenciais de uma conta de administrador no diretório da sua organização.Go to https://graphexplorer.cloudapp.net/, click the Sign In link at the top-right corner, and then sign in using the credentials for an administrator account in your organization’s directory.
  2. Depois de entrar, clique na URL na caixa de texto de recursos (ao lado do botão GET), selecione a URL que termina em applications/ e clique em GET ou pressione Enter.After you have signed in, click the URL in the resource text box (next to the GET button) and select the URL that ends in applications/ then click GET or click the enter key.
  3. Encontre a entrada do aplicativo desejado nos resultados e copie seu valor de objectId, como: "objectId": "269fc2f7-6420-4ea4-be90-9e1f93a87a64"Find the desired application entry from the results, and then copy its objectId value, such as the following: "objectId": "269fc2f7-6420-4ea4-be90-9e1f93a87a64"

Nesta seção, há solicitações de amostra para as seguintes operações:In this section, there are sample requests for the following operations:

Para obter amostras completas que usam propriedades de extensão, consulte as seguintes amostras do Azure AD no Github:For full samples that use extension properties, see the following samples in the Azure AD samples on Github:

Registrar uma extensão Register an extension

A seguinte solicitação de amostra cria uma extensionProperty no objeto Application desejado.The following sample request creates an extensionProperty on the desired Application object.

Formato de solicitaçãoRequest format

POST https://graph.windows.net/contoso.onmicrosoft.com/applications/<applicationObjectId>/extensionProperties?api-version=1.5 HTTP/1.1

{
    "name": "<extensionPropertyName>",
    "dataType": "<String or Binary>",
    "targetObjects": [
        "<DirectoryObject>"
    ]
}

Solicitação de amostraSample request

POST https://graph.windows.net/contoso.onmicrosoft.com/applications/269fc2f7-6420-4ea4-be90-9e1f93a87a64/extensionProperties?api-version=1.5 HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1Qi...r6Xh5KVA
Content-Type: application/json
Host: graph.windows.net
Content-Length: 104

{
    "name": "skypeId",
    "dataType": "String",
    "targetObjects": [
        "User"
    ]
}

Se a operação for bem-sucedida, ela retornará um código de status HTTP 201 Criado juntamente com o nome de propriedade de extensão completo, que pode ser usado para gravar valores para o tipo de destino.If the operation was successful, it will return an HTTP 201 Created status code along with the fully-qualified extension property name, which can be used for writing values to the target type.

Resposta de amostraSample response

HTTP/1.1 201 Created
...

{
    "odata.metadata": "https://graph.windows.net/contoso.onmicrosoft.com/$metadata#directoryObjects/Microsoft.WindowsAzure.ActiveDirectory.ExtensionProperty/@Element",
    "odata.type": "Microsoft.WindowsAzure.ActiveDirectory.ExtensionProperty",
    "objectType": "ExtensionProperty",
    "objectId": "dc893d45-a75b-4ccf-9b92-ce7d80922aa7",
    "name": "extension_ab603c56068041afb2f6832e2a17e237_skypeId",
    "dataType": "String",
    "targetObjects": [
        "User"
    ]
}

Exibir extensões registradas View registered extensions

A seguinte solicitação de amostra obtém as extensões registradas em seu objeto Application.The following sample request gets the extensions that are registered on your Application object.

Formato de solicitaçãoRequest format

GET https://graph.windows.net/contoso.onmicrosoft.com/applications/<applicationObjectId>/extensionProperties?api-version=1.5 HTTP/1.1

Solicitação de amostraSample request

GET https://graph.windows.net/contoso.onmicrosoft.com/applications/269fc2f7-6420-4ea4-be90-9e1f93a87a64/extensionProperties?api-version=1.5 HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1Qi...r6Xh5KVA
Host: graph.windows.net

Se a operação tiver sido bem-sucedida, ela retornará um código de status HTTP 200 OK em conjunto com todas as informações sobre cada propriedade de extensão registrada em seu objeto Application.If the operation was successful, it will return an HTTP 200 OK status code along with all the information about each extension property registered on your Application object.

Resposta de amostraSample response

HTTP/1.1 200 OK
...

{
    "odata.metadata": "https://graph.windows.net/contoso.onmicrosoft.com/$metadata#directoryObjects/Microsoft.WindowsAzure.ActiveDirectory.ExtensionProperty",
    "value": [
        {
            "odata.type": "Microsoft.WindowsAzure.ActiveDirectory.ExtensionProperty",
            "objectType": "ExtensionProperty",
            "objectId": "dc893d45-a75b-4ccf-9b92-ce7d80922aa7",
            "name": "extension_ab603c56068041afb2f6832e2a17e237_skypeId",
            "dataType": "String",
            "targetObjects": [
                "User"
            ]
        }
    ]
}

Gravar um valor de extensão Write an extension value

A seguinte solicitação de amostra grava um valor de extensão para a propriedade de extensão *skypeId^ em um objeto User.The following sample request writes an extension value for the *skypeId^ extension property on a User object.

Formato de solicitaçãoRequest format

PATCH https://graph.windows.net/contoso.onmicrosoft.com/users/username@contoso.onmicrosoft.com?api-version=1.5 HTTP/1.1

{
    "<extensionPropertyName>": <value>
}

Solicitação de amostraSample request

PATCH https://graph.windows.net/contoso.onmicrosoft.com/users/jim@contoso.onmicrosoft.com?api-version=1.5 HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1Qi...r6Xh5KVA
Content-Type: application/json
Host: graph.windows.net
Content-Length: 65

{
    "extension_ab603c56068041afb2f6832e2a17e237_skypeId": "jimbob.skype"
}

Se a operação for bem-sucedida, ela retornará um código de status HTTP 204 Sem Conteúdo.If the operation was successful, it will return a HTTP 204 No Content status code.

Resposta de amostraSample response

HTTP/1.1 204 No Content

Se a tentativa de gravação ultrapassar o limite de 100 valores de extensão para o objeto, ela retornará uma resposta HTTP 403 Proibido com um código de erro "Directory_ResourceSizeExceeded" e a seguinte mensagem: "O tamanho do objeto ultrapassou o limite.If the attempted write surpasses the 100 extension value limit for the object, it will return an HTTP 403 Forbidden response with an error code of “Directory_ResourceSizeExceeded” and the following message: “The size of the object has exceeded its limit.Reduza o número de valores e repita a solicitação".Please reduce the number of values and retry your request”.

Remover um valor de extensão Remove an extension value

A seguinte solicitação de amostra remove um valor de extensão que foi definido para a propriedade de extensão skypeId em um objeto User definindo o valor como null.The following sample request removes an extension value that was previously set for the skypeId extension property on a User object by setting the value to null.

Formato de solicitaçãoRequest format

PATCH https://graph.windows.net/contoso.onmicrosoft.com/users/username@contoso.onmicrosoft.com?api-version=1.5 HTTP/1.1

{
    "<extensionPropertyName>": null
}

Solicitação de amostraSample request

PATCH https://graph.windows.net/contoso.onmicrosoft.com/users/jim@contoso.onmicrosoft.com?api-version=1.5 HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1Qi...r6Xh5KVA
Content-Type: application/json
Host: graph.windows.net
Content-Length: 65

{
    "extension_ab603c56068041afb2f6832e2a17e237_skypeId": null
}

Se a operação for bem-sucedida, ela retornará um código de status HTTP 204 Sem Conteúdo.If the operation was successful, it will return a HTTP 204 No Content status code.

Resposta de amostraSample response

HTTP/1.1 204 No Content

Ler um valor de extensão Read an extension value

A seguinte solicitação de amostra executa uma operação GET simples no usuário, que retornará os valores de propriedade padrão, assim como o novo valor de propriedade de extensão.The following sample request performs a simple GET operation on the user, which will return the standard property values as well as the new extension property value.

Formato de solicitaçãoRequest format

GET https://graph.windows.net/contoso.onmicrosoft.com/users/username@contoso.onmicrosoft.com?api-version=1.5 HTTP/1.1

Solicitação de amostraSample request

GET https://graph.windows.net/contoso.onmicrosoft.com/users/jim@contoso.onmicrosoft.com?api-version=1.5 HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1Qi...r6Xh5KVA
Host: graph.windows.net

Se a operação foi bem-sucedida, ela retornará um código de status HTTP 200 OK juntamente com o novo valor de propriedade de extensão (muitas propriedades de usuário foram removidas da resposta de amostra por questão de brevidade).If the operation was successful, it will return an HTTP 200 OK status code along with the new extension property value (many user properties have been removed from the sample response for brevity).

Resposta de amostraSample response

HTTP/1.1 200 OK

{
    ...
    "usageLocation": null,
    "userPrincipalName": "Jim@contoso.onmicrosoft.com",
    "userType": "Member"
    "extension_ab603c56068041afb2f6832e2a17e237_skypeId": "jimbob.skype"
}

Filtrar um valor de extensão Filter an extension value

A solicitação de amostra a seguir filtra os usuários pelo valor de propriedade da extensão especificada.The following sample request filters the users by the specified extension property value.

Observação: pesquisas de prefixo em extensões são limitadas a 71 caracteres para pesquisas de cadeia de caracteres e 207 bytes para pesquisas em extensões binárias.Note: Prefix searches on extensions are limited to 71 characters for string searches and 207 bytes for searches on binary extensions.

Formato de solicitaçãoRequest format

GET https://graph.windows.net/contoso.onmicrosoft.com/users?api-version=1.5&$filter=<extensionName>%20eq%20'<value>' HTTP/1.1

Solicitação de amostraSample request

GET https://graph.windows.net/contoso.onmicrosoft.com/users?api-version=1.5&$filter=extension_ab603c56068041afb2f6832e2a17e237_skypeId%20eq%20'jimbob.skype' HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1Qi...r6Xh5KVA
Host: graph.windows.net

Se a operação foi bem-sucedida, ela retornará um código de status HTTP 200 OK juntamente com o objeto de usuário resultante.If the operation was successful, it will return an HTTP 200 OK status code, along with the resulting user object.

Resposta de amostraSample response

HTTP/1.1 200 OK

{
    ...
    "usageLocation": null,
    "userPrincipalName": "Jim@contoso.onmicrosoft.com",
    "userType": "Member"
    "extension_ab603c56068041afb2f6832e2a17e237_skypeId": "jimbob.skype"
}

Cancelar o registro de uma extensão Unregister an extension

A seguinte solicitação de amostra retira o registro de uma propriedade de extensão executando a operação DELETE na ID de objeto da extensão.The following sample request unregisters an extension property by performing a DELETE operation on the extension object ID.

Formato de solicitaçãoRequest format

DELETE https://graph.windows.net/contoso.onmicrosoft.com/applications/<applicationObjectId>/extensionProperties/<extensionObjectId>?api-version=1.5 HTTP/1.1

Solicitação de amostraSample request

DELETE https://graph.windows.net/contoso.onmicrosoft.com/applications/269fc2f7-6420-4ea4-be90-9e1f93a87a64/extensionProperties/dc893d45-a75b-4ccf-9b92-ce7d80922aa7?api-version=1.5 HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1Qi...r6Xh5KVA
Host: graph.windows.net

Se a operação for bem-sucedida, ela retornará um código de status HTTP 204 Sem Conteúdo e a propriedade de extensão terá o registro removido no aplicativo.If the operation was successful, it will return an HTTP 204 No Content status code, and the extension property will be unregistered on the application.

Resposta de amostraSample response

HTTP/1.1 204 No Content

Comportamento e limitações da extensão Extension behavior and limitations

O comportamento e as limitações a seguir se aplicam a propriedades de extensão em um diretório:The following behavior and limitations apply to extension properties in a directory:

  • Propriedades de extensão registradas para um aplicativo ficam disponíveis em um diretório quando um usuário ou administrador do diretório concede o consentimento para o aplicativo.Extension properties registered for an application become available in a directory when a directory user or admin consents for the application.

  • Após uma propriedade de extensão ficar disponível em um diretório, qualquer aplicativo com consentimento pode ler ou gravar um valor para essa propriedade de extensão para qualquer um dos objetos a que a propriedade se aplicar, de acordo com as permissões do aplicativo no diretório.After an extension property becomes available in a directory, any consented application may read or write a value for that extension property for any of the objects for which that property applies according to that application’s permissions in the directory.Os objetos a que a propriedade de extensão se aplica são especificados na propriedade targetObjects.The objects for which the extension property applies are specified in the targetObjects property.

  • No máximo 100 valores de propriedade de extensão podem ser gravados em um objeto específico em um diretório.A maximum of 100 extension property values may be written on a specific object in a directory.Por exemplo, supondo que nenhum outro valor da propriedade de extensão tenha sido gravado em qualquer usuário em um diretório, se um aplicativo gravar um valor da propriedade de extensão em user1, valores de outras 99 propriedades de extensão podem ser gravados em user1 por esse aplicativo ou outro aplicativo com as permissões apropriadas no diretório. No entanto, outros usuários no diretório ainda poderão ter até 100 valores da propriedade de extensão gravados neles.For example, assuming no other extension property values have been written on any user in a directory, if an application writes an extension property value to user1, then values for 99 other extension properties may be written to user1 by that application or another application with appropriate permissions in the directory; however, other users in the directory will still be able to have up to 100 extension property values written to them.

  • Se um aplicativo tentar definir um valor para uma propriedade de extensão adicional em um objeto para o qual 100 valores de propriedade de extensão já foram definidos, a API do Graph retornará uma resposta 403 Proibido com um código de erro "Directory_ResourceSizeExceeded" e a seguinte mensagem: "O tamanho do objeto ultrapassou o limite.If an application tries to set a value for an additional extension property on an object for which 100 extension property values have already been set, Graph API returns a 403 Forbidden response with an error code of “Directory_ResourceSizeExceeded” and the following message: “The size of the object has exceeded its limit.Reduza o número de valores e repita a solicitação".Please reduce the number of values and retry your request”.

  • Se um desenvolvedor cancelar o registro (excluir) de uma propriedade de extensão de um aplicativo, essa propriedade de extensão ficará inacessível imediatamente no diretório do desenvolvedor e nos diretórios para os quais o aplicativo recebeu consentimento.If a developer unregisters (deletes) an extension property from an application, that extension property immediately becomes inaccessible in the developer directory and also in directories for which the application has been granted consent.

  • Se o aplicativo for removido do diretório do desenvolvedor, todas as propriedades de extensão registradas para esse aplicativo se tornarão inacessíveis imediatamente no diretório do desenvolvedor e em diretórios em que o aplicativo recebeu consentimento.If the application is removed from the developer directory, all extension properties registered to that application immediately become inaccessible in the developer directory and in directories in which that application has been granted consent.

  • Se um aplicativo multilocatário tiver recebido consentimento em um diretório e, posteriormente, seu registro for cancelado (removido) no diretório – por exemplo, por um administrador usando o portal de gerenciamento do azure –, quaisquer propriedades de extensão registradas no aplicativo se tornarão inacessíveis imediatamente no diretório.If an multi-tenant application has been granted consent in a directory and that application is later unregistered (removed) from that directory -- for example, by an administrator using the azure management portal -- then any extension properties registered on that application immediately become inaccessible in that directory.

  • Um valor da propriedade de extensão deve ser definido explicitamente como null para ser removido de um objeto de diretório.An extension property value must be explicitly set to null in order to be removed from a directory object.Se um valor da propriedade de extensão for definido em um objeto de diretório e a propriedade de extensão se tornar inacessível no diretório por qualquer um dos motivos citados acima, a propriedade de extensão deixará de ficar visível no objeto de diretório.If an extension property value is set on a directory object and that extension property becomes inaccessible in the directory for any of the reasons cited above, then the extension property will no longer be visible on that directory object.No entanto, ela ainda será levada em consideração com relação ao limite de 100 valores da propriedade de extensão para esse objeto.It will, however, still count against the 100 extension property value limit for that object.Até que a disponibilidade da propriedade de extensão seja restaurada - por exemplo, em alguns casos, concedendo consentimento ao aplicativo novamente -, o valor não ficará acessível para leitura ou gravação.Until the availability of the extension property is restored -- for example, in some cases, by consenting to the application again -- the value will not be accessible for either read or write.

Recursos adicionais Additional resources

© 2018 Microsoft