Skip to main content
Os endpoints de rede exigem as ações do IAM abaixo. Algumas leituras verificam tanto o recurso solicitado quanto seus recursos relacionados.
A referência da API mostra a ação na própria página de cada ponto de extremidade, para que você não precise voltar aqui para procurar uma. Ambos vêm do mesmo lugar: a chamada de autorização no serviço, lida no momento da compilação.

Formas de recurso

Dez tipos de recursos, e a diferença entre eles decide o que uma política pode dizer: As rotas e os IPs flutuantes não têm nome próprio, portanto, são os dois que não podem ser nomeados de forma legível em uma política. Condição em tags para aqueles. O slot da região está populado. Uma VPC existe em uma região, então uma política escrita para uma região não alcança outra — e crn:network:*:… é como você escreve uma que as abrange deliberadamente.

As ações

Coleções de rotas de gateway filtram por acesso de tabela de rotas. Ler o gateway sozinho não concede acesso às suas rotas: network:ListRoutes é verificado contra o CRN e as tags de recursos de cada tabela. As tabelas negadas são omitidas antes da paginação e a resposta inclui apenas identidades de tabela de rota visíveis.

A criação é verificada com o nome que você pediu

Uma criação é autorizada contra o CRN do recurso about to exist, construído a partir do nome na solicitação. Assim, uma convenção de nomenclatura é aplicável:
Uma solicitação com o nome team-b-web é negada antes que qualquer coisa seja escrita. As próprias tags da solicitação estão disponíveis como contexto de condição em um create também, via basalt:RequestTag/<key>, para que você possa exigir uma tag de equipe na mesma instrução.
Um CRN tem escopo de conta, mas nome de sub-rede é exclusivo por VPC e nome de interface por sub-rede. Assim, subnet/web em uma política corresponde a uma sub-rede chamada web em todas as VPCs da conta, não apenas na que você tinha em mente, e a mesma convenção em duas VPCs se resume a um escopo de política.Quando você precisar delimitar as sub-redes de uma única VPC, condicione uma tag com basalt:ResourceTag/<key> ao invés de confiar no nome.

Coleções de nível superior usam permissões de curinga

As listas de recursos de nível superior são autorizadas contra o curinga da coleção — literalmente crn:network:<region>:<account>:vpc/*, não contra cada linha. Um recurso de política de vpc/prod-* não corresponde a essa string, então restringir uma lista pelo padrão de nome não a restringe, ela nega-a inteiramente: Então conceda o curinga para listar e escopo as operações que agem em um recurso. A listagem diz ao chamador que algo existe e nada mais.

Os sub-recursos são governados pelo seu pai — na maioria das vezes

As regras de grupo de segurança não têm CRN próprio. Todas as quatro ações de regra — lista, crie, obtenha e exclua — são verificadas em relação ao CRN do grupo pai com as tags do grupo como contexto. Conceder network:CreateSecurityGroupRule em um grupo é, portanto, exatamente tão restrito quanto ele lê, e uma condição de tag no grupo governa quem pode adicionar regras a ele. As rotas são a exceção, e a divisão vale a pena conhecer:
network:ListRoutes e network:CreateRoute são autorizados contra o tabela de rotas Isso é o que permite que você conceda “pode adicionar rotas à tabela privada” sem concedê-lo em um nível de domínio. *.
Uma concessão para criar rotas em uma tabela é semelhante a uma concessão para alterar onde as sub-redes dessa tabela enviam tráfego. Alguém que pode adicionar 0.0.0.0/0 a uma tabela de sub-rede privada a tornou pública — nenhuma mudança de gateway e nenhuma mudança de grupo de segurança necessária, porque o gateway já estava anexado.

A associação à interface é uma ação, não duas

network:SetInterfaceSecurityGroups cobre tanto a conexão quanto a desconexão, porque o ponto final é um PUT que substitui todo o conjunto. Não há nenhuma ação de desconexão separada a ser retida: qualquer um que possa adicionar um grupo a uma interface pode remover todos os grupos dela, o que deixa essa interface descartando todo o tráfego. Conceda-o nas interfaces que um chamador deve gerenciar, não em interface/*.

Próximo

Políticas

Estrutura do documento, condições e como deny é avaliado.

Solução de problemas

O que cada recusa significa, e a ordem em que as coisas têm que se desfazer.