Exemplos de políticas baseadas em identidade para controle de roteamento no ARC - Amazon Application Recovery Controller (ARC)

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplos de políticas baseadas em identidade para controle de roteamento no ARC

Por padrão, usuários e perfis não têm permissão para criar ou modificar recursos do ARC. Para conceder permissão aos usuários para executar ações nos recursos que eles precisam, um administrador do IAM pode criar políticas do IAM.

Para aprender a criar uma política baseada em identidade do IAM ao usar esses documentos de política em JSON de exemplo, consulte Criar políticas do IAM (console) no Guia do usuário do IAM.

Para obter detalhes sobre ações e tipos de recursos definidos pelo ARC, incluindo o formato de cada um dos tipos de recursos, consulte Ações, recursos e chaves de condição para o Amazon Application Recovery Controller (ARC) na Referência de Autorização de Serviço. ARNs

Práticas recomendadas de política

As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir recursos do ARC em sua conta. Essas ações podem incorrer em custos para sua Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:

  • Comece com as políticas AWS gerenciadas e avance para as permissões de privilégios mínimos — Para começar a conceder permissões aos seus usuários e cargas de trabalho, use as políticas AWS gerenciadas que concedem permissões para muitos casos de uso comuns. Eles estão disponíveis no seu Conta da AWS. Recomendamos que você reduza ainda mais as permissões definindo políticas gerenciadas pelo AWS cliente que sejam específicas para seus casos de uso. Para obter mais informações, consulte Políticas gerenciadas pela AWS ou Políticas gerenciadas pela AWS para funções de trabalho no Guia do usuário do IAM.

  • Aplique permissões de privilégio mínimo: ao definir permissões com as políticas do IAM, conceda apenas as permissões necessárias para executar uma tarefa. Você faz isso definindo as ações que podem ser executadas em recursos específicos sob condições específicas, também conhecidas como permissões de privilégio mínimo. Para obter mais informações sobre como usar o IAM para aplicar permissões, consulte Políticas e permissões no IAM no Guia do usuário do IAM.

  • Use condições nas políticas do IAM para restringir ainda mais o acesso: é possível adicionar uma condição às políticas para limitar o acesso a ações e recursos. Por exemplo, é possível escrever uma condição de política para especificar que todas as solicitações devem ser enviadas usando SSL. Você também pode usar condições para conceder acesso às ações de serviço se elas forem usadas por meio de uma ação específica AWS service (Serviço da AWS), como CloudFormation. Para obter mais informações, consulte Elementos da política JSON do IAM: condição no Guia do usuário do IAM.

  • Use o IAM Access Analyzer para validar suas políticas do IAM a fim de garantir permissões seguras e funcionais: o IAM Access Analyzer valida as políticas novas e existentes para que elas sigam a linguagem de política do IAM (JSON) e as práticas recomendadas do IAM. O IAM Access Analyzer oferece mais de cem verificações de política e recomendações práticas para ajudar a criar políticas seguras e funcionais. Para obter mais informações, consulte Validação de políticas do IAM Access Analyzer no Guia do Usuário do IAM.

  • Exigir autenticação multifator (MFA) — Se você tiver um cenário que exija usuários do IAM ou um usuário root, ative Conta da AWS a MFA para obter segurança adicional. Para exigir MFA quando as operações de API forem chamadas, adicione condições de MFA às suas políticas. Para obter mais informações, consulte Configuração de acesso à API protegido por MFA no Guia do Usuário do IAM.

Para obter mais informações sobre as práticas recomendadas do IAM, consulte Práticas recomendadas de segurança no IAM no Guia do usuário do IAM.

Exemplo: Acesso ao console do ARC para controle de roteamento

Para acessar o console do Controlador de Recuperação de Aplicações (ARC) da Amazon, você deve ter um conjunto mínimo de permissões. Essas permissões devem permitir que você liste e visualize detalhes sobre os recursos do ARC em seu Conta da AWS. Caso crie uma política baseada em identidade mais restritiva que as permissões mínimas necessárias, o console não funcionará como pretendido para entidades (usuários ou perfis) com essa política.

Você não precisa permitir permissões mínimas do console para usuários que estão fazendo chamadas somente para a API AWS CLI ou para a AWS API. Em vez disso, permita o acesso somente a ações que correspondam à operação de API que estiverem tentando executar.

Para garantir que usuários e funções ainda possam usar o console do ARC quando você permite acesso somente a operações específicas da API, anexe também uma política ReadOnly AWS gerenciada para o ARC às entidades. Para obter mais informações, consulte a página de políticas gerenciadas do ARC ou Adição de permissões a um usuário no Guia do usuário do IAM.

Para dar aos usuários acesso total ao uso dos atributos de controle de roteamento do ARC por meio do console, anexe uma política semelhante à seguinte ao usuário, a fim de dar a ele todas as permissões para configurar os recursos e as operações de controle de roteamento do ARC:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "route53-recovery-cluster:GetRoutingControlState", "route53-recovery-cluster:UpdateRoutingControlState", "route53-recovery-cluster:UpdateRoutingControlStates", "route53-recovery-control-config:CreateCluster", "route53-recovery-control-config:CreateControlPanel", "route53-recovery-control-config:CreateRoutingControl", "route53-recovery-control-config:CreateSafetyRule", "route53-recovery-control-config:DeleteCluster", "route53-recovery-control-config:DeleteControlPanel", "route53-recovery-control-config:DeleteRoutingControl", "route53-recovery-control-config:DeleteSafetyRule", "route53-recovery-control-config:DescribeCluster", "route53-recovery-control-config:DescribeControlPanel", "route53-recovery-control-config:DescribeSafetyRule", "route53-recovery-control-config:DescribeRoutingControl", "route53-recovery-control-config:ListAssociatedRoute53HealthChecks", "route53-recovery-control-config:ListClusters", "route53-recovery-control-config:ListControlPanels", "route53-recovery-control-config:ListRoutingControls", "route53-recovery-control-config:ListSafetyRules", "route53-recovery-control-config:UpdateControlPanel", "route53-recovery-control-config:UpdateRoutingControl", "route53-recovery-control-config:UpdateSafetyRule" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "route53:GetHealthCheck", "route53:CreateHealthCheck", "route53:DeleteHealthCheck", "route53:ChangeTagsForResource" ], "Resource": "*" } ] }

Exemplos: ações da API do ARC para configuração do controle de roteamento

Para garantir que um usuário possa usar as ações de API do ARC para trabalhar com a configuração de controle de roteamento do ARC, anexe uma política que corresponda às operações de API com as quais o usuário precisa trabalhar, conforme descrito abaixo.

Para trabalhar com as operações de API para configuração do controle de recuperação, anexe uma política semelhante à seguinte ao usuário:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "route53-recovery-control-config:CreateCluster", "route53-recovery-control-config:CreateControlPanel", "route53-recovery-control-config:CreateRoutingControl", "route53-recovery-control-config:CreateSafetyRule", "route53-recovery-control-config:DeleteCluster", "route53-recovery-control-config:DeleteControlPanel", "route53-recovery-control-config:DeleteRoutingControl", "route53-recovery-control-config:DeleteSafetyRule", "route53-recovery-control-config:DescribeCluster", "route53-recovery-control-config:DescribeControlPanel", "route53-recovery-control-config:DescribeSafetyRule", "route53-recovery-control-config:DescribeRoutingControl", "route53-recovery-control-config:GetResourcePolicy", "route53-recovery-control-config:ListAssociatedRoute53HealthChecks", "route53-recovery-control-config:ListClusters", "route53-recovery-control-config:ListControlPanels", "route53-recovery-control-config:ListRoutingControls", "route53-recovery-control-config:ListSafetyRules", "route53-recovery-control-config:ListTagsForResource", "route53-recovery-control-config:UpdateControlPanel", "route53-recovery-control-config:UpdateRoutingControl", "route53-recovery-control-config:UpdateSafetyRule", "route53-recovery-control-config:TagResource", "route53-recovery-control-config:UntagResource" ], "Resource": "*" } ] }

Para realizar tarefas no controle de roteamento do ARC com a API do plano de dados do cluster de recuperação, por exemplo, atualizando estados de controle de roteamento para failover durante um evento de desastre, você pode anexar uma política do IAM do ARC como a seguinte ao usuário do IAM.

O AllowSafetyRuleOverride booleano dá permissão para substituir as regras de segurança que você configurou como proteção para controles de roteamento. Essa permissão pode ser necessária em cenários de emergência para contornar as proteções em desastres ou outros cenários urgentes de failover. Por exemplo, um operador pode precisar fazer o failover rapidamente para a recuperação de desastres, e uma ou mais regras de segurança podem impedir inesperadamente a atualização do estado do controle de roteamento necessária para redirecionar o tráfego. Essa permissão permite que o operador especifique regras de segurança a serem substituídas ao fazer chamadas de API para atualizar os estados de controle de roteamento. Para obter mais informações, consulte Sobrepor regras de segurança para redirecionar o tráfego.

Se você quiser permitir que um operador use a API do plano de dados do cluster de recuperação, mas evitar a substituição das regras de segurança, anexe uma política como a seguinte, com o booleano AllowSafetyRuleOverrides definido para false. Para permitir que o operador substitua as regras de segurança, defina o booleano AllowSafetyRuleOverrides para true.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "route53-recovery-cluster:GetRoutingControlState", "route53-recovery-cluster:ListRoutingControls" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "route53-recovery-cluster:UpdateRoutingControlStates", "route53-recovery-cluster:UpdateRoutingControlState" ], "Resource": "*", "Condition": { "Bool": { "route53-recovery-cluster:AllowSafetyRulesOverrides": "false" } } } ] }