Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Neste tutorial, você aprenderá a impor padrões secretos e de certificado usando políticas de gerenciamento de aplicativos no Microsoft Entra ID.
Garantir que os aplicativos em sua organização estejam usando autenticação segura é crucial para proteger dados confidenciais e manter a integridade de seus sistemas. O Microsoft Entra ID fornece uma maneira de impor restrições secretas e de certificado por meio de políticas de gerenciamento de aplicativos. Esse recurso pode ajudá-lo a gerenciar quais tipos de segredos e chaves podem ser usados e garantir que eles sejam alternados regularmente. As políticas de gerenciamento de aplicativos só podem ser atualizadas usando o Microsoft Graph PowerShell ou a API do Microsoft Graph. Para saber mais sobre esse recurso, consulte Visão geral da API de políticas de gerenciamento de aplicativos do Microsoft Entra.
As políticas podem ser aplicadas a todos os aplicativos em sua organização ou a aplicativos específicos. Neste tutorial, você aprende:
- Saiba mais sobre as restrições recomendadas para segredos e certificados.
- Leia a política atual de gerenciamento de aplicativos para seu locatário.
- Atualize a política do aplicativo para impor restrições.
- Confirme se a política foi aplicada.
Importante
Fazer alterações em sua política de gerenciamento de aplicativos pode ter um impacto significativo em seus aplicativos e sua capacidade de autenticação. Antes de fazer qualquer alteração, é importante entender as implicações dessas alterações e como elas podem afetar seus aplicativos. Você deve testar quaisquer alterações em um ambiente que não seja de produção antes de aplicá-las ao seu ambiente de produção e fazer uma cópia das configurações de diretiva atuais antes de atualizá-las.
Pré-requisitos
- Uma conta de utilizador. Se ainda não tiver uma, pode criar uma conta gratuitamente.
- Pelo menos a função Cloud Application Administrator ou Application Administrator .
- Um cliente de API, como o Graph ExplorerOR
- Módulo Microsoft Graph PowerShell instalado. Consulte Instalar o módulo do Microsoft Graph PowerShell.
Práticas recomendadas para segredos e certificados
Os ataques a aplicativos geralmente têm como alvo segredos como senhas, chaves e certificados, para obter acesso não autorizado a dados confidenciais. Ao impor restrições, você pode reduzir esses riscos e garantir que seus aplicativos permaneçam seguros. A seguir estão nossas restrições recomendadas para segredos e certificados:
Desativar senhas de aplicativos / segredos de cliente: aplicativos que usam segredos de cliente podem armazená-los em arquivos de configuração, codificá-los em scripts ou arriscar sua exposição de outras maneiras. As complexidades da gestão secreta tornam os segredos dos clientes suscetíveis a vazamentos e atraentes para os invasores.
Desativar o uso de chaves simétricas em aplicativos: as chaves simétricas são semelhantes aos segredos do cliente, pois são compartilhadas entre o aplicativo e o recurso que ele acessa. Isso significa que, se um invasor obtiver acesso à chave simétrica, ele poderá se passar pelo aplicativo e acessar o recurso. As chaves simétricas também são mais difíceis de gerir do que as chaves assimétricas, uma vez que exigem que ambas as partes partilhem a mesma chave.
Limitar o tempo de vida da chave assimétrica (certificado) a 180 dias: os certificados fornecem uma maneira mais segura de autenticar aplicativos do que os segredos do cliente. No entanto, eles ainda podem ser comprometidos se não forem gerenciados corretamente. Ao limitar a vida útil dos certificados, você pode reduzir o risco de certificados de longa duração serem explorados por invasores. Os certificados devem ser alternados regularmente para garantir que não sejam comprometidos. O tempo de vida máximo recomendado para certificados é de 180 dias. Isso significa que você deve alternar seus certificados pelo menos a cada 180 dias. Definir uma vida útil mais curta para aplicativos altamente confidenciais pode reduzir ainda mais o risco de comprometimento. Também recomendamos que você configure a rotação automática de certificados usando o Cofre de Chaves do Azure. Para saber mais, consulte Automatizar a rotação de um segredo para recursos que usam um conjunto de credenciais de autenticação
Para saber mais sobre as práticas de segurança recomendadas para locatários do Microsoft Entra, consulte Configurar o Microsoft Entra para aumentar a segurança.
Leia a política de gestão de candidaturas de arrendamento
Antes de criar uma nova política de gerenciamento de aplicativos, você pode ler a política existente para ver se ela atende às suas necessidades. O exemplo a seguir mostra como ler a política de gerenciamento de aplicativos padrão para seu locatário. Você também pode reutilizar essa solicitação de API para confirmar que a política foi aplicada posteriormente neste tutorial.
Exemplo
O exemplo a seguir lê a política de gerenciamento de aplicativos padrão para seu locatário. A resposta mostra as configurações de política atuais.
Ligue ao Microsoft Graph usando o cmdlet Connect-MgGraph
e a permissão Policy.Read.All
. Inicie sessão com, pelo menos, a função de Administrador de Aplicações na Nuvem . Em seguida, execute os seguintes comandos para ler a política de gerenciamento de aplicativos padrão para seu locatário.
Connect-MgGraph -Scopes 'Policy.Read.All'
# Get the default application management policy
Get-MgPolicyDefaultAppManagementPolicy | format-list
Para obter mais informações sobre esse cmdlet, consulte Get-MgPolicyDefaultAppManagementPolicy.
Resultado
O exemplo a seguir mostra a saída da política de gerenciamento de aplicativo de locatário padrão. A sua política pode ser diferente do exemplo. Se nenhuma política for aplicada em sua organização, o id
campo será definido como 00000000-0000-0000-0000-000000000000
e o isEnabled
campo será definido como false
.
ApplicationRestrictions : Microsoft.Graph.PowerShell.Models.MicrosoftGraphAppManagementApplicationConfiguration
DeletedDateTime :
Description : Default tenant policy that enforces app management restrictions on applications and service principals. To apply policy to targeted resources, create a new policy under appManagementPolicies collection.
DisplayName : Default app management tenant policy
Id : 00000000-0000-0000-0000-000000000000
IsEnabled : false
ServicePrincipalRestrictions : Microsoft.Graph.PowerShell.Models.MicrosoftGraphAppManagementServicePrincipalConfiguration
AdditionalProperties : {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#policies/defaultAppManagementPolicy/$entity]}
Entre no Microsoft Graph Explorer com pelo menos uma função de Administrador de Aplicativos na Nuvem . Em seguida, execute a seguinte solicitação para ler a política de gerenciamento de aplicativos padrão para seu locatário. Certifique-se de concordar com a permissão Policy.Read.All
.
GET https://graph.microsoft.com/v1.0/policies/defaultAppManagementPolicy
Para saber mais sobre essa solicitação, veja Get tenantAppManagementPolicy.
Resposta
O exemplo a seguir mostra a resposta da política de gerenciamento de aplicativo de locatário padrão. A sua política pode ser diferente do exemplo. Se nenhuma política já estiver aplicada em sua organização, o id
campo será definido como 00000000-0000-0000-0000-000000000000
e o isEnabled
campo será definido como false
.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#policies/defaultAppManagementPolicy/$entity",
"@odata.id": "https://graph.microsoft.com/v2/927c6607-8060-4f4a-a5f8-34964ac78d70/defaultAppManagementPolicy/00000000-0000-0000-0000-000000000000",
"id": "00000000-0000-0000-0000-000000000000",
"displayName": "Default app management tenant policy",
"description": "Default tenant policy that enforces app management restrictions on applications and service principals. To apply policy to targeted resources, create a new policy under appManagementPolicies collection.",
"isEnabled": false,
"applicationRestrictions": {
"passwordCredentials": [],
"keyCredentials":[]
},
"servicePrincipalRestrictions": {
"passwordCredentials": [],
"keyCredentials":[]
}
}
Importante
Faça uma cópia das configurações de política atuais antes de atualizá-las. Isso permitirá que você reverta para as configurações originais, se necessário. Você pode fazer isso copiando as configurações de política atuais para um arquivo ou fazendo uma captura de tela das configurações. Você não conseguirá encontrar as configurações originais depois de atualizá-las se não as tiver salvo.
Atualizar a política de gerenciamento de aplicativos
Para implementar restrições secretas e de certificado, você precisa atualizar a política de gerenciamento de aplicativos padrão. Este exemplo fornece nossas configurações recomendadas, mas você pode ajustá-las para atender às suas necessidades ou até mesmo omitir certos elementos se não quiser aplicá-las. O exemplo a seguir mostra como atualizar a política de gerenciamento de aplicativos padrão com as configurações recomendadas:
passwordCredentials
: Permite definir políticas para restringir atributos para segredos de cliente e chaves simétricas. Isso pode ser omitido se você não quiser definir uma política para restringir esses tipos de credenciais.O
restrictionType
parâmetro permite definir o tipo de restrição que deseja aplicar. Nesse caso, você está restringindopasswordAddition
,customPasswordAddition
esymmetricKeyAddition
. Essas configurações limitarão a criação de segredos de cliente, senhas personalizadas e chaves simétricas.O
state
parâmetro permite ativar ou desativar a restrição. Se definido comoenabled
, a restrição será aplicada. Se definido comodisabled
, a restrição não será aplicada.O
maxLifetime
parâmetro permite que você defina o tempo de vida máximo do segredo. ParapasswordCredentials
definiu o valor paranull
. Definir o valor comonull
significa que o tempo de vida máximo não é restrito. Isso ocorre porque você está desativando totalmente a criação de segredos de cliente e chaves simétricas. Se quiser definir um tempo de vida máximo para segredos de cliente, você pode definir esse valor para uma duração no formato ISO 8601. Você encontrará um exemplo disso na próxima seção. Para obter mais informações sobre formatação de duração, consulte ISO 8601.O
restrictForAppsCreatedAfterDateTime
parâmetro permite definir uma data a partir da qual a política entrará em vigor para novos aplicativos. Quaisquer aplicações criadas antes desta data não serão afetadas pela política. Nesse caso, você está aplicando restrições para aplicativos criados após 20 de fevereiro de 2025. Por favor, certifique-se de atualizar esta data para atender às suas necessidades. Se quiser definir restrições diferentes para aplicativos criados antes ou depois de uma determinada data, você pode definir várias políticas com valores diferentesrestrictForAppsCreatedAfterDateTime
.
keyCredentials
: Permite definir parâmetros para certificados. Nesse caso, você está restringindo o tempo de vida dos certificados de aplicativo a 180 dias.O
restrictionType
parâmetro permite definir o tipo de restrição que deseja aplicar. Nesse caso, estás a restringirasymmetricKeyLifetime
. Isso limitará o tempo de vida dos certificados de aplicativo a um valor definido pelo usuário.O
state
parâmetro permite ativar ou desativar a restrição. Se definido comoenabled
, a restrição será aplicada. Se definido comodisabled
, a restrição não será aplicada.O
maxLifetime
parâmetro permite definir o tempo de vida máximo do certificado. Nesse caso, você está restringindo o tempo de vida dos certificados a 180 dias. Isso é feito usando o formato de duração ISO 8601. O prefixoP
indica que o valor é para um período de tempo e180D
indica que o período é de 180 dias. Você pode alterar o número de180
para outro valor para atender às suas necessidades específicas. Para obter mais informações sobre formatação de duração, consulte ISO 8601.O
restrictForAppsCreatedAfterDateTime
parâmetro permite definir uma data a partir da qual a política entrará em vigor para novos aplicativos. Quaisquer aplicações criadas antes desta data não serão afetadas pela política. Nesse caso, você está aplicando restrições para aplicativos criados após 20 de fevereiro de 2025. Por favor, certifique-se de atualizar esta data para atender às suas necessidades. Se quiser definir restrições diferentes para aplicativos criados antes ou depois de uma determinada data, você pode definir várias políticas com valores diferentesrestrictForAppsCreatedAfterDateTime
.
Exemplo
O exemplo a seguir atualiza a política de gerenciamento de aplicativos padrão com as configurações discutidas na seção anterior.
Connect-MgGraph -Scopes 'Policy.ReadWrite.All'
Import-Module Microsoft.Graph.Identity.SignIns
# Define the parameters for the application management policy
$params = @{
isEnabled = $true
applicationRestrictions = @{
passwordCredentials = @(
@{
restrictionType = "passwordAddition"
state = "enabled"
maxLifetime = $null
restrictForAppsCreatedAfterDateTime = [System.DateTime]::Parse("2025-02-20T10:37:00Z")
}
@{
restrictionType = "customPasswordAddition"
state = "enabled"
maxLifetime = $null
restrictForAppsCreatedAfterDateTime = [System.DateTime]::Parse("2025-05-20T10:37:00Z")
}
@{
restrictionType = "symmetricKeyAddition"
state = "enabled"
maxLifetime = $null
restrictForAppsCreatedAfterDateTime = [System.DateTime]::Parse("2025-02-20T10:37:00Z")
}
)
keyCredentials = @(
@{
restrictionType = "asymmetricKeyLifetime"
maxLifetime = "P180D"
restrictForAppsCreatedAfterDateTime = [System.DateTime]::Parse("2025-02-20T10:37:00Z")
}
)
}
}
# Update the default application management policy
Update-MgPolicyDefaultAppManagementPolicy -BodyParameter $params
Para saber mais sobre esse cmdlet, veja Update-MgPolicyDefaultAppManagementPolicy.
Certifique-se de concordar com a permissão Policy.ReadWrite.All
. Em seguida, execute a seguinte solicitação para atualizar a política de gerenciamento de aplicativos padrão para seu locatário.
PATCH https://graph.microsoft.com/v1.0/policies/defaultAppManagementPolicy
Content-Type: application/json
{
"isEnabled": true,
"applicationRestrictions": {
"passwordCredentials": [
{
"restrictionType": "passwordAddition",
"state": "enabled",
"maxLifetime": null,
"restrictForAppsCreatedAfterDateTime": "2025-02-20T10:37:00Z"
},
{
"restrictionType": "customPasswordAddition",
"state": "enabled",
"maxLifetime": null,
"restrictForAppsCreatedAfterDateTime": "2025-05-20T10:37:00Z"
},
{
"restrictionType": "symmetricKeyAddition",
"state": "enabled",
"maxLifetime": null,
"restrictForAppsCreatedAfterDateTime": "2025-02-20T10:37:00Z"
},
],
"keyCredentials": [
{
"restrictionType": "asymmetricKeyLifetime",
"state": "enabled",
"maxLifetime": "P180D",
"restrictForAppsCreatedAfterDateTime": "2025-02-20T10:37:00Z"
}
]
},
}
Para saber mais sobre essa solicitação, veja Atualizar tenantAppManagementPolicy.
Resposta
Assim que a solicitação for enviada, você receberá uma resposta indicando que a política foi atualizada com êxito. A resposta deve ser um código de 204 No Content
status, indicando que a solicitação foi bem-sucedida e que não há conteúdo a ser retornado.
HTTP/1.1 204 No Content
Confirmar se a política foi aplicada
Depois de atualizar sua política de gerenciamento de aplicativos, você pode confirmar que ela é aplicada lendo a política de gerenciamento de aplicativos padrão novamente, conforme mostrado anteriormente. A resposta deve mostrar a política atualizada com as restrições aplicadas.
Se for a primeira vez que está a aplicar uma política de gestão de aplicações, o campo id
deveria ter mudado de 00000000-0000-0000-0000-000000000000
para um novo GUID. Essa alteração indica que a política foi criada.
Você também pode confirmar se a política é aplicada criando um novo aplicativo e verificando se as restrições são aplicadas. Por exemplo, se você tentar criar um novo aplicativo com um segredo de cliente ou chave simétrica, deverá receber um erro indicando que a operação não é permitida, conforme mostrado na captura de tela abaixo.
Conteúdo relacionado
- Para saber como automatizar a rotação de segredos, consulte Automatizar a rotação de um segredo para recursos que usam um conjunto de credenciais de autenticação.
- Para saber mais sobre restrições e configurações de política disponíveis, consulte Visão geral da API de políticas de gerenciamento de aplicativos do Microsoft Entra
- Para saber mais sobre as práticas recomendadas de segurança para sua organização, consulteConfigurar o Microsoft Entra para aumentar a segurança.
- Para saber mais sobre alternativas à autenticação com segredos, consulte Migrar aplicativos para longe da autenticação baseada em segredo