

# SEC02-BP04 Contar com um provedor de identidades centralizado
<a name="sec_identities_identity_provider"></a>

 Para identidades da força de trabalho (funcionários e prestadores de serviços), confie em um provedor de identidade que permita gerenciar identidades em um local centralizado. Isso facilita o gerenciamento do acesso em várias aplicações e sistemas, pois você está criando, atribuindo, gerenciando, revogando e auditando o acesso de um único local. 

 **Resultado desejado:** Você tem um provedor de identidade centralizado no qual gerencia centralmente os usuários da força de trabalho, as políticas de autenticação (como a exigência de autenticação multifator (MFA)) e a autorização para sistemas e aplicações (como atribuir acesso com base na associação ou nos atributos do grupo de um usuário). Os usuários da sua força de trabalho fazem login no provedor de identidade central e se federam (autenticação única) a aplicações internas e externas, eliminando a necessidade de os usuários se lembrarem de várias credenciais. Seu provedor de identidade é integrado aos seus sistemas de recursos humanos (RH) para que as mudanças de pessoal sejam automaticamente sincronizadas com seu provedor de identidade. Por exemplo, se alguém deixar sua organização, você poderá revogar automaticamente o acesso a aplicações e sistemas federados (inclusive a AWS). Você habilitou o registro em log detalhado de auditoria em seu provedor de identidade e está monitorando esses logs em busca de comportamentos incomuns do usuário. 

 **Antipadrões comuns:** 
+  Você não usa federação e autenticação única. Os usuários da sua força de trabalho criam contas de usuário e credenciais separadas em várias aplicações e sistemas. 
+  Você não automatizou o ciclo de vida das identidades dos usuários da força de trabalho, por exemplo, integrando seu provedor de identidade aos seus sistemas de RH. Quando um usuário deixa sua organização ou muda de função, você segue um processo manual para excluir ou atualizar seus registros em várias aplicações e sistemas. 

 **Benefícios de estabelecer esta prática recomendada:** Ao usar um provedor de identidade centralizado, você tem um único local para gerenciar as identidades e políticas dos usuários da força de trabalho, a capacidade de atribuir acesso às aplicações a usuários e grupos e a capacidade de monitorar a atividade de login do usuário. Ao se integrar aos seus sistemas de recursos humanos (RH), quando um usuário muda de função, essas alterações são sincronizadas com o provedor de identidade e atualizam automaticamente as aplicações e permissões atribuídas. Quando um usuário sai da sua organização, sua identidade é automaticamente desativada no provedor de identidade, revogando seu acesso a aplicações e sistemas federados. 

 **Nível de risco exposto se esta prática recomendada não for estabelecida**: alto 

## Orientação para implementação
<a name="implementation-guidance"></a>

 **Orientação para usuários da força de trabalho que acessam a AWS** 

 Usuários da força de trabalho em sua organização, como funcionários e prestadores de serviços, podem precisar acessar a AWS usando o Console de gerenciamento da AWS ou a AWS Command Line Interface (AWS CLI) para realizar suas funções de trabalho. Você pode conceder acesso à AWS aos usuários da sua força de trabalho federando a partir de seu provedor de identidade centralizado para a AWS em dois níveis: federação direta para cada Conta da AWS ou federação para várias contas na [organização da AWS](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html). 
+  Para federar os usuários da sua força de trabalho diretamente com cada Conta da AWS, você pode usar um provedor de identidade centralizado para federar o [AWS Identity and Access Management](https://aws.amazon.com/iam/) nessa conta. A flexibilidade do IAM permite que você habilite um [SAML 2.0](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html) ou um [provedor de identidade Open ID Connect (OIDC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html) para cada Conta da AWS e use atributos de usuário federados para controle de acesso. Os usuários da sua força de trabalho usarão o navegador da web para fazer login no provedor de identidade fornecendo suas respectivas credenciais (como senhas e códigos de token MFA). O provedor de identidade emite uma declaração SAML para o navegador, que é enviada ao URL de login do Console de gerenciamento da AWS para permitir que o usuário faça autenticação única no [Console de gerenciamento da AWS assumindo uma função do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-saml.html). Seus usuários também podem obter credenciais temporárias de API da AWS para uso na [AWS CLI](https://aws.amazon.com/cli/) ou [em AWS SDKs](https://aws.amazon.com/developer/tools/) pelo [AWS STS](https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html) assumindo [a função do IAM usando uma declaração SAML](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) do provedor de identidade. 
+  Para federar seus usuários da força de trabalho com várias contas em sua organização da AWS, você pode usar o [https://aws.amazon.com/single-sign-on/](https://aws.amazon.com/single-sign-on/) para gerenciar centralmente o acesso dos usuários de sua força de trabalho a Contas da AWS e aplicações. Você ativa o Centro de Identidade para sua organização e configura sua fonte de identidade. O IAM Identity Center fornece um diretório de origem de identidade padrão que você pode usar para gerenciar seus usuários e grupos. Como alternativa, você pode escolher uma fonte de identidade externa [https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-idp.html](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-idp.html) usando SAML 2.0 e [provisionando automaticamente](https://docs.aws.amazon.com/singlesignon/latest/userguide/provision-automatically.html) usuários e grupos usando o SCIM ou [https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-ad.html](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-ad.html) com o uso do [Directory Service](https://aws.amazon.com/directoryservice/). Depois que uma fonte de identidade é configurada, você pode atribuir acesso a usuários e grupos a Contas da AWS definindo políticas de privilégios mínimos em seus [conjuntos de permissões](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html). Os usuários da sua força de trabalho podem se autenticar por meio de seu provedor de identidade central para entrar no [portal de acesso da AWS](https://docs.aws.amazon.com/singlesignon/latest/userguide/using-the-portal.html) e autenticação única em Contas da AWS e aplicações em nuvem atribuídas a eles. Seus usuários podem configurar a [AWS CLI v2](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html) para se autenticar com o Centro de Identidade e obter credenciais para executar comandos da AWS CLI. O Centro de Identidade também permite acesso com autenticação única a aplicações da AWS, como o [Amazon SageMaker AI Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/onboard-sso-users.html) e [portais do AWS IoT Sitewise Monitor](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-getting-started.html). 

 Depois de seguir as orientações anteriores, os usuários da sua força de trabalho não precisarão mais usar IAM users e grupos para operações normais ao gerenciar workloads na AWS. Em vez disso, seus usuários e grupos são gerenciados fora da AWS e os usuários podem acessar os recursos da AWS como uma *identidade federada*. As identidades federadas usam os grupos definidos pelo seu provedor de identidade centralizado. Você deve identificar e remover grupos do IAM, IAM users e credenciais de usuário de longa duração (senhas e chaves de acesso) que não são mais necessárias nas suas Contas da AWS. Você pode [encontrar credenciais não utilizadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_finding-unused.html) com o uso do [relatórios de credenciais do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_getting-report.html), [excluindo IAM users correspondentes](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html) e [excluindo grupos do IAM.](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups_manage_delete.html) Você pode aplicar uma [política de controle de serviços (SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) na sua organização, o que ajudará a impedir a criação de novos grupos e IAM users, forçando que esse acesso ocorra por meio de identidades federadas da AWS. 

 **Orientação para usuários de suas aplicações** 

 Você pode gerenciar as identidades dos usuários de suas aplicações, como um aplicativo móvel, usando o [https://aws.amazon.com/cognito/](https://aws.amazon.com/cognito/) como seu provedor de identidade centralizado. O Amazon Cognito permite autenticação, autorização e gerenciamento de usuários de seus aplicativos móveis e da web. O Amazon Cognito fornece um repositório de identidades que pode ser expandido para milhões de usuários, oferece suporte à federação de identidades sociais e corporativas e oferece recursos avançados de segurança para ajudar a proteger seus usuários e sua empresa. Você pode integrar seu aplicativo web ou móvel personalizado ao Amazon Cognito para adicionar autenticação de usuário e controle de acesso aos seus aplicativos em minutos. Desenvolvido com base em padrões de identidade abertos, como SAML e Open ID Connect (OIDC), o Amazon Cognito oferece suporte a vários regulamentos de conformidade e se integra aos recursos de desenvolvimento de front-end e back-end. 

### Etapas da implementação
<a name="implementation-steps"></a>

 **Etapas para usuários da força de trabalho acessarem a AWS** 
+  Federe os usuários da sua força de trabalho à AWS usando um provedor de identidade centralizado de acordo com uma das seguintes abordagens: 
  +  Use o IAM Identity Center para habilitar a autenticação única para várias Contas da AWS em sua organização da AWS, federando com seu provedor de identidade. 
  +  Use o IAM para conectar seu provedor de identidade diretamente a cada Conta da AWS, permitindo acesso federado refinado. 
+  Identifique e remova IAM users e grupos que são substituídos por identidades federadas. 

 **Etapas para usuários de suas aplicações** 
+  Use o Amazon Cognito como um provedor de identidade centralizado para suas aplicações. 
+  Integre suas aplicações personalizadas com o Amazon Cognito usando o OpenID Connect e o OAuth. Você pode desenvolver suas aplicações personalizadas usando as bibliotecas do Amplify que fornecem interfaces simples para integração com uma variedade de serviços da AWS, como o Amazon Cognito para autenticação. 

## Recursos
<a name="resources"></a>

 **Práticas recomendadas relacionadas ao Well-Architected:** 
+  [SEC02-BP06 Utilizar grupos e atributos de usuários](sec_identities_groups_attributes.md) 
+  [SEC03-BP02 Conceder acesso com privilégio mínimo](sec_permissions_least_privileges.md) 
+  [SEC03-BP06 Gerenciar o acesso com base no ciclo de vida](sec_permissions_lifecycle.md) 

 **Documentos relacionados:** 
+  [Federação de identidades na AWS](https://aws.amazon.com/identity/federation/) 
+  [Práticas recomendadas de segurança no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) 
+  [Práticas recomendadas do AWS Identity and Access Management](https://aws.amazon.com/iam/resources/best-practices/) 
+  [Introdução à administração delegada do IAM Identity Center](https://aws.amazon.com/blogs/security/getting-started-with-aws-sso-delegated-administration/) 
+  [Como usar políticas gerenciadas pelo cliente no IAM Identity Center para casos de uso avançados](https://aws.amazon.com/blogs/security/how-to-use-customer-managed-policies-in-aws-single-sign-on-for-advanced-use-cases/) 
+  [AWS CLI v2: provedor de credenciais do IAM Identity Center](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html) 

 **Vídeos relacionados:** 
+  [AWS re:Inforce 2022 - AWS Identity and Access Management (IAM) deep dive (AWS re:Inforce 2022: aprofundamento no AWS Identity and Access Management (IAM))](https://youtu.be/YMj33ToS8cI) 
+  [AWS re:Invent 2022 - Simplify your existing workforce access with IAM Identity Center (AWS re:Invent 2022: simplifique o acesso existente de sua força de trabalho com o IAM Identity Center)](https://youtu.be/TvQN4OdR_0Y) 
+  [AWS re:Invent 2018: Mastering Identity at Every Layer of the Cake (AWS re:Invent 2018: dominar a identidade em todos os aspectos)](https://youtu.be/vbjFjMNVEpc) 

 **Exemplos relacionados:** 
+  [Workshop: Using Centro de Identidade do AWS IAM to achieve strong identity management (Uso do Centro de Identidade do AWS IAM para conseguir um forte gerenciamento de identidade)](https://catalog.us-east-1.prod.workshops.aws/workshops/590f8439-42c7-46a1-8e70-28ee41498b3a/en-US) 
+  [Workshop: Serverless identity (Identidade sem servidor)](https://identity-round-robin.awssecworkshops.com/serverless/) 

 **Ferramentas relacionadas:** 
+  [Parceiros de competência em segurança da AWS: gerenciamento de identidade e acesso](https://aws.amazon.com/security/partner-solutions/) 
+  [saml2aws](https://github.com/Versent/saml2aws) 