Exemplos de políticas baseadas em identidade para o Direct Connect
Por padrão, usuários e perfis não têm permissão para criar ou modificar recursos do Direct Connect. 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 saber como criar uma política baseada em identidade do IAM ao usar estes 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 recurso definidos pelo Direct Connect, incluindo o formato dos ARNs para cada tipo de recurso, consulte Ações, recursos e chaves de condição para o Direct Connect na Referência de autorização do serviço.
Tópicos
Práticas recomendadas de política
As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir recursos do Direct Connect 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 gerenciadas pela AWS e avance para as permissões de privilégio mínimo: para começar a conceder permissões a seus usuários e workloads, use as políticas gerenciadas pela AWS, que concedem permissões para muitos casos de uso comuns. Elas estão disponíveis em seus Conta da AWS. Recomendamos que você reduza ainda mais as permissões definindo políticas gerenciadas pelo cliente da AWS que são 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: você pode adicionar uma condição às políticas para limitar o acesso a ações e recursos. Por exemplo, você pode escrever uma condição de política para especificar que todas as solicitações devem ser enviadas usando SSL. Também pode usar condições para conceder acesso a ações de serviço, se elas forem usadas por meio de um AWS service (Serviço da AWS) específico, como o 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 houver um cenário que exija usuários do IAM ou um usuário raiz em sua Conta da AWS, ative 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.
Ações, recursos e condições do Direct Connect
Com as políticas baseadas em identidade do IAM, é possível especificar ações e recursos permitidos ou negados, assim como as condições sob as quais as ações são permitidas ou negadas. O Direct Connect oferece suporte a ações, recursos e chaves de condição específicos. Para conhecer todos os elementos usados em uma política JSON, consulte Referência de elementos de política JSON do IAM no Guia do usuário do IAM.
Ações
Os administradores podem usar as políticas JSON da AWS para especificar quem tem acesso a quê. Ou seja, qual entidade principal pode executar ações em quais recursos e em que condições.
O elemento Action de uma política JSON descreve as ações que podem ser usadas para permitir ou negar acesso em uma política. Incluem ações em uma política para conceder permissões para executar a operação associada.
As ações de política no Direct Connect usam o seguinte prefixo antes da ação: directconnect:. Por exemplo, para conceder permissão a alguém para executar uma instância do Amazon EC2 com a operação da API DescribeVpnGateways do Amazon EC2, inclua a ação ec2:DescribeVpnGateways na política da pessoa. As instruções de política devem incluir um elemento Action ou NotAction. O Direct Connect define seu próprio conjunto de ações que descrevem as tarefas que você pode executar com esse serviço.
A política de exemplo a seguir concede acesso de leitura ao Direct Connect.
A política de exemplo a seguir concede acesso total ao Direct Connect.
Para ver uma lista de ações do Direct Connect, consulte Ações definidas pelo Direct Connect no Guia do usuário do IAM.
Recursos
Os administradores podem usar as políticas JSON da AWS para especificar quem tem acesso a quê. Ou seja, qual entidade principal pode executar ações em quais recursos e em que condições.
O elemento de política JSON Resource especifica o objeto ou os objetos aos quais a ação se aplica. Como prática recomendada, especifique um recurso usando seu nome do recurso da Amazon (ARN). Para ações em que não é possível usar permissões em nível de recurso, use um curinga (*) para indicar que a instrução se aplica a todos os recursos.
"Resource": "*"
O Direct Connect usa os seguintes ARNs:
| Tipo de recurso | ARN |
|---|---|
| dxcon | arn:${Partition}:directconnect:${Region}:${Account}:dxcon/${ConnectionId} |
| dxlag |
arn:${Partition}:directconnect:${Region}:${Account}:dxlag/${LagId} |
| dx-vif | arn:${Partition}:directconnect:${Region}:${Account}:dxvif/${VirtualInterfaceId} |
| dx-gateway | arn:${Partition}:directconnect::${Account}:dx-gateway/${DirectConnectGatewayId} |
Para obter mais informações sobre o formato de ARNs, consulte Nomes de recursos da Amazon (ARNs) e namespaces de serviços da AWS.
Por exemplo, para especificar a interface dxcon-11aa22bb em sua instrução, use o seguinte ARN:
"Resource": "arn:aws:directconnect:us-east-1:123456789012:dxcon/dxcon-11aa22bb
Para especificar todas as instâncias de banco de dados que pertencem a uma conta específica, use o caractere curinga (*):
"Resource": "arn:aws:directconnect:*:*:dxvif/*"
Algumas ações do Direct Connect, como as ações para a criação de recursos, não podem ser executadas em um recurso específico. Nesses casos, você deve utilizar o caractere curinga (*).
"Resource": "*"
Para ver uma lista de tipos de recurso do Direct Connect e seus ARNs, consulte Tipos de recurso definidos pelo Direct Connect do Guia do usuário do IAM. Para saber com quais ações você pode especificar o ARN de cada recurso, consulte Ações definidas pelo Direct Connect.
Se um ARN de recurso ou um padrão de ARN de recurso diferente de * for especificado no campo Resource da instrução de política do IAM para DescribeConnections, DescribeVirtualInterfaces, DescribeDirectConnectGateways, DescribeInterconnect ou DescribeLags, o Effect especificado não ocorrerá a menos que a ID do recurso correspondente também seja aprovada na chamada de API. No entanto, se você fornecer * como recurso, em vez de uma ID de recurso específica na instrução de política do IAM, o Effect especificado funcionará.
No exemplo a seguir, nenhum dos Effect especificados será bem-sucedido se a ação DescribeConnections for chamada sem uma connectionId aprovada na solicitação.
"Statement": [ { "Effect": "Allow", "Action": [ "directconnect:DescribeConnections" ], "Resource": [ "arn:aws:directconnect:*:123456789012:dxcon/*" ] }, { "Effect": "Deny", "Action": [ "directconnect:DescribeConnections" ], "Resource": [ "arn:aws:directconnect:*:123456789012:dxcon/example1" ] } ]
No entanto, no exemplo a seguir, "Effect": "Allow" será bem-sucedida para a ação DescribeConnections, pois * foi fornecido para o campo Resource da instrução de política do IAM, independentemente de connectionId ter sido especificada na solicitação.
"Statement": [ { "Effect": "Allow", "Action": [ "directconnect:DescribeConnections ], "Resource": [ "*" ] } ]
Chaves de condição
Os administradores podem usar as políticas JSON AWS para especificar quem tem acesso a quê. Ou seja, qual entidade principal pode executar ações em quais recursos e em que condições.
O elemento Condition especifica quando as instruções são executadas com base em critérios definidos. É possível criar expressões condicionais que usem agentes de condição, como “igual a” ou “menor que”, para fazer a condição da política corresponder aos valores na solicitação. Para ver todas as chaves de condição globais da AWS, consulte Chaves de contexto de condição globais da AWS no Guia do usuário do IAM.
O Direct Connect define seu próprio conjunto de chaves de condição e também é compatível com o uso de algumas chaves de condição globais. Para ver todas as chaves de condição globais da AWS, consulte Chaves de contexto de condição globais da AWS no Guia do usuário do IAM.
Você pode usar chaves de condição com o recurso de tag. Para obter mais informações, consulte Exemplo: restrição de acesso a uma Região específica.
Para ver uma lista das chaves de condição do Direct Connect, consulte Chaves de condição para o Direct Connect no Guia do usuário do IAM. Para saber com quais ações e recursos é possível usar uma chave de condição, consulte Ações definidas pelo Direct Connect.
Uso do console do Direct Connect
Para acessar o console do Direct Connect, você precisa ter um conjunto mínimo de permissões. Essas permissões precisam autorizar você a listar e visualizar detalhes sobre os recursos do Direct Connect na sua conta da AWS. Se você criar uma política baseada em identidade que seja mais restritiva que as permissões mínimas necessárias, o console não funcionará como planejado para entidades (usuários ou perfis) com essa política.
Para garantir que essas entidades ainda possam usar o console do Direct Connect, anexe também a seguinte política gerenciada pela AWS às entidades. Para obter mais informações, consulte Adição de permissões a um usuário no Manual do usuário do IAM:
directconnect
Não é necessário conceder permissões mínimas do console para usuários que fizerem chamadas somente a AWS CLI ou a API do AWS. Em vez disso, permita o acesso somente às ações que correspondem à operação da API que você está tentando executar.
Permitir que os usuários visualizem suas próprias permissões
Este exemplo mostra como criar uma política que permita que os usuários do IAM visualizem as políticas gerenciadas e em linha anexadas a sua identidade de usuário. Essa política inclui permissões para concluir essa ação no console ou de forma programática usando a AWS CLI ou a API da AWS.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }
Acesso somente leitura ao Direct Connect
A política de exemplo a seguir concede acesso de leitura ao Direct Connect.
Acesso total ao Direct Connect
A política de exemplo a seguir concede acesso total ao Direct Connect.