Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste tutorial, você aprenderá a impor padrões de segredo e certificado usando políticas de gerenciamento de aplicativos na ID do Microsoft Entra.
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. A ID do Microsoft Entra fornece uma maneira de impor restrições de segredo e 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, irá aprender:
- Saiba mais sobre as restrições recomendadas para segredos e certificados.
- Leia a política de gerenciamento de aplicativos atual do 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 em 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 todas as alterações em um ambiente de não produção antes de aplicá-las ao seu ambiente de produção e fazer uma cópia das configurações de política atuais antes de atualizá-las.
Pré-requisitos
- Uma conta de usuário. Se ainda não tem uma, crie uma conta gratuita.
- Pelo menos a função de Administrador de Aplicativos de Nuvem ou Administrador de Aplicativos .
- Um cliente de API, como o Explorador do GraphOU
- Módulo do PowerShell do Microsoft Graph instalado. Consulte Instalar o módulo do PowerShell do Microsoft Graph.
Práticas recomendadas para segredos e certificados
Os ataques a aplicativos geralmente visam segredos, como senhas, chaves e certificados, para obter acesso não autorizado a dados confidenciais. Ao impor restrições, você pode mitigar esses riscos e garantir que seus aplicativos permaneçam seguros. Veja a seguir nossas restrições recomendadas para segredos e certificados:
Desabilitar senhas de aplicativos/segredos do cliente: os aplicativos que usam segredos do cliente podem armazená-los em arquivos de configuração, codificá-los em scripts ou arriscar sua exposição de outras maneiras. As complexidades do gerenciamento de segredos tornam os segredos do cliente suscetíveis a vazamentos e atraentes para os invasores.
Desabilitar o uso de chave simétrica 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á representar o aplicativo e acessar o recurso. As chaves simétricas também são mais difíceis de gerenciar do que as chaves assimétricas, pois exigem que ambas as partes compartilhem a mesma chave.
Limite 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 adequadamente. Ao limitar o tempo de vida 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 Azure Key Vault. 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.
Ler sua política de gerenciamento de aplicativos de locatário
Antes de criar uma nova política de gerenciamento de aplicativos, você pode ler sua 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.
Conecte-se ao Microsoft Graph usando o Connect-MgGraph
cmdlet e a Policy.Read.All
permissão. Entre com pelo menos a função de Administrador de Aplicativos na Nuvem . Em seguida, execute os comandos a seguir 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.
Saída
O exemplo a seguir mostra a saída da política de gerenciamento de aplicativos de locatário padrão. 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 Explorador do Microsoft Graph com pelo menos uma função de Administrador de Aplicativos de Nuvem . Em seguida, execute a solicitação a seguir para ler a política de gerenciamento de aplicativos padrão para seu locatário. Você deve consentir com a permissão Policy.Read.All
.
GET https://graph.microsoft.com/v1.0/policies/defaultAppManagementPolicy
Para obter mais informações sobre essa solicitação, consulte Obter tenantAppManagementPolicy.
Resposta
O exemplo a seguir mostra a resposta da política de gerenciamento de aplicativos de locatário padrão. 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 poderá 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 de segredo e 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 determinados elementos se não quiser aplicá-los. 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 do 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 que você defina 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 do 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 definir o tempo de vida máximo do segredo. PoispasswordCredentials
você definiu o valor comonull
. Definir o valor comonull
significa que o tempo de vida máximo não é restrito. Isso ocorre porque você está desabilitando totalmente a criação de segredos do cliente e chaves simétricas. Se você quiser definir um tempo de vida máximo para segredos do cliente, poderá definir esse valor como 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 que você defina uma data a partir da qual a política entrará em vigor para novos aplicativos. Todos os aplicativos criados antes dessa data não serão afetados pela política. Nesse caso, você está aplicando restrições para aplicativos criados após 20 de fevereiro de 2025. Certifique-se de atualizar esta data para atender às suas necessidades. Se você quiser definir restrições diferentes para aplicativos criados antes ou depois de uma determinada data, poderá 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 que você defina o tipo de restrição que deseja aplicar. Nesse caso, você está restringindoasymmetricKeyLifetime
. 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 a formatação de duração, consulte ISO 8601.O
restrictForAppsCreatedAfterDateTime
parâmetro permite que você defina uma data a partir da qual a política entrará em vigor para novos aplicativos. Todos os aplicativos criados antes dessa data não serão afetados pela política. Nesse caso, você está aplicando restrições para aplicativos criados após 20 de fevereiro de 2025. Certifique-se de atualizar esta data para atender às suas necessidades. Se você quiser definir restrições diferentes para aplicativos criados antes ou depois de uma determinada data, poderá 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 obter mais informações sobre esse cmdlet, consulte Update-MgPolicyDefaultAppManagementPolicy.
Você deve consentir com a permissão Policy.ReadWrite.All
. Em seguida, execute a solicitação a seguir 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 obter mais informações sobre essa solicitação, consulte Atualizar tenantAppManagementPolicy.
Resposta
Depois que a solicitação for enviada, você deverá 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 não há conteúdo a ser retornado.
HTTP/1.1 204 No Content
Confirme se a política foi aplicada
Depois de atualizar sua política de gerenciamento de aplicativos, você pode confirmar se ela foi 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, você está aplicando uma política de id
gerenciamento de aplicativos da qual o 00000000-0000-0000-0000-000000000000
campo deve ter sido alterado 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 impostas. Por exemplo, se você tentar criar um novo aplicativo com um segredo do cliente ou uma 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 as restrições disponíveis e as configurações de política, 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