Termos e conceitos para AWS RAM - AWS Resource Access Manager

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á.

Termos e conceitos para AWS RAM

Os conceitos a seguir ajudam a explicar como você pode usar AWS Resource Access Manager (AWS RAM) para compartilhar seus recursos.

Compartilhamento de recursos

Você compartilha recursos que possui AWS RAM criando um compartilhamento de recurso. Um compartilhamento de recursos tem os três elementos a seguir:

  • Uma lista de um ou mais AWS recursos a serem compartilhados.

  • Uma lista de uma ou mais entidades principais às quais conceder acesso.

  • Uma permissão gerenciada para cada tipo de recurso que você inclui no compartilhamento. Cada permissão gerenciada se aplica a todos os recursos desse tipo nesse compartilhamento de recursos.

Depois de usar AWS RAM para criar um compartilhamento de recursos, as entidades principais especificados no compartilhamento de recursos podem ter acesso aos recursos do compartilhamento.

  • Se você ativar o AWS RAM compartilhamento com AWS Organizations e suas entidades principais com quem você compartilha estiverem na mesma organização da conta de compartilhamento, esses diretores poderão receber acesso assim que o administrador da conta lhes conceder permissões para usar os recursos usando uma política de permissão AWS Identity and Access Management (IAM).

  • Se você não ativar o AWS RAM compartilhamento com Organizations, ainda poderá compartilhar recursos com pessoas Contas da AWS que estão na sua organização. O administrador da conta consumidora recebe um convite para participar do compartilhamento de recursos e deve aceitar o convite antes que as entidades principais especificados no compartilhamento de recursos possam acessar os recursos compartilhados.

  • Você também pode compartilhar com contas fora da sua organização, se o tipo de recurso for compatível. O administrador da conta consumidora recebe um convite para participar do compartilhamento de recursos e deve aceitar o convite antes que as entidades principais especificados no compartilhamento de recursos possam acessar os recursos compartilhados. Para obter informações sobre quais tipos de recursos oferecem suporte a esse tipo de compartilhamento, consulte Recursos compartilháveis AWS e visualize a coluna Pode compartilhar com contas fora da organização.

Contas compartilhadas

A conta de compartilhamento contém o recurso que é compartilhado e no qual o AWS RAM administrador cria o compartilhamento de AWS recursos usando AWS RAM.

Um AWS RAM administrador é uma entidade principal do IAM que tem permissões para criar e configurar compartilhamentos de recursos no Conta da AWS. Como AWS RAM funciona anexando uma política baseada em recursos aos recursos em um compartilhamento de recursos, o AWS RAM administrador também deve ter permissões para chamar a PutResourcePolicy operação no AWS service (Serviço da AWS) para cada tipo de recurso incluído em um compartilhamento de recursos.

Entidades principais de consumo

A conta consumidora é Conta da AWS aquela com a qual um recurso é compartilhado. O compartilhamento de recursos pode especificar uma conta inteira como entidade principal ou, para alguns tipos de recursos, funções ou usuários individuais na conta. Para obter informações sobre quais tipos de recursos oferecem suporte a esse tipo de compartilhamento, consulte Recursos compartilháveis AWS e visualize a coluna Pode compartilhar com funções do IAM e usuários.

AWS RAM também oferece suporte às entidades principais de serviços como consumidores de compartilhamentos de recursos. Para obter informações sobre quais tipos de recursos oferecem suporte a esse tipo de compartilhamento, consulte Recursos compartilháveis AWS e visualize a coluna Pode compartilhar com entidades principais de serviço.

As entidades principais da conta consumidora podem realizar somente as ações permitidas pelas duas permissões a seguir:

  • As permissões gerenciadas anexadas ao compartilhamento de recursos. Eles especificam as permissões máximas que podem ser concedidas às entidades principais na conta consumidora.

  • As políticas baseadas em identidade do IAM anexadas a funções ou usuários individuais pelo administrador do IAM na conta consumidora. Essas políticas devem conceder Allow acesso às ações especificadas e ao Nome do recurso da Amazon (ARN) de um recurso na conta de compartilhamento.

AWS RAM é compatível com os seguintes tipos de entidades principais do IAM como consumidores de compartilhamentos de recursos:

  • Outro Conta da AWS — O compartilhamento de recursos disponibiliza os recursos incluídos na conta de compartilhamento para a conta consumidora.

  • Funções individuais do IAM ou usuários em outra conta — Alguns tipos de recursos oferecem suporte ao compartilhamento direto com funções ou usuários individuais do IAM. Especifique esse tipo de entidade principal por seu ARN.

    • Função do IAM - arn:aws:iam::123456789012:role/rolename

    • Usuário do IAM - arn:aws:iam::123456789012:user/username

  • Entidade principal de serviço — Compartilhe um recurso com um AWS serviço para conceder ao serviço acesso a um compartilhamento de recursos. O compartilhamento da entidade principal do AWS serviço permite que um serviço execute ações em seu nome para aliviar a carga operacional.

    Para compartilhar com uma entidade principal de serviço, escolha permitir o compartilhamento com qualquer pessoa e, em Selecionar tipo de entidade principal, escolha Entidade principal de serviço na lista suspensa. Especifique o perfil da entidade principal de serviço no seguinte formato:

    • service-id.amazonaws.com

    Para mitigar o risco de um substituto confuso, a política de recursos mostra o ID da conta do proprietário do recurso na chave de aws:SourceAccount condição.

  • Contas em uma organização — Se a conta de compartilhamento for gerenciada por AWS Organizations, o compartilhamento de recursos poderá especificar o ID da organização para compartilhar com todas as contas da organização. Como alternativa, o compartilhamento de recursos pode especificar um ID de unidade organizacional (OU) para compartilhar com todas as contas dessa OU. Uma conta de compartilhamento só pode ser compartilhada com sua própria organização ou IDs de UO dentro de sua própria organização. Especifique as contas em uma organização pelo ARN da organização ou da OU.

    • Todas as contas em uma organização — A seguir está um exemplo de ARN de uma organização em AWS Organizations:

      arn:aws:organizations::123456789012:organization/o-<orgid>

    • Todas as contas em uma unidade organizacional — A seguir está um exemplo de ARN de um ID de UO:

      arn:aws:organizations::123456789012:organization/o-<orgid>/ou-<rootid>-<ouid>

    Importante

    Quando você compartilha com uma organização ou uma OU, e esse escopo inclui a conta que possui o compartilhamento de recursos, todas as entidades principais na conta de compartilhamento obtêm acesso automático aos recursos no compartilhamento. O acesso concedido é definido pelas permissões gerenciadas associadas ao compartilhamento. Isso ocorre porque a política baseada em recursos AWS RAM anexada a cada recurso no compartilhamento usa "Principal": "*". Para obter mais informações, consulte Implicações do uso da "Principal": "*" em uma política baseada em recursos.

    As entidades principais das outras contas consumidoras não têm acesso imediato aos recursos do compartilhamento. Os administradores das outras contas devem primeiro anexar políticas de permissão baseadas em identidade às entidades principais apropriadas. Essas políticas devem conceder Allow acesso aos ARNs de recursos individuais no compartilhamento de recursos. As permissões nessas políticas não podem exceder as especificadas na permissão gerenciada associada ao compartilhamento de recursos.

Política baseada em recurso

Políticas baseadas em recurso são documentos de texto JSON que implementam a linguagem de políticas do IAM. Ao contrário das políticas baseadas em identidade que você anexa à entidade principal, como uma função ou usuário do IAM, você anexa políticas baseadas em recurso ao recurso. AWS RAM cria políticas baseadas em recursos em seu nome com base nas informações que você fornece para seu compartilhamento de recursos. Você deve especificar um elemento Principal de política que determine quem pode acessar o recurso. Para obter mais informações, consulte Políticas baseadas em identidade e em recurso no Guia do usuário do IAM.

As políticas baseadas em recursos geradas pelo AWS RAM são avaliadas junto com todos os outros tipos de políticas do IAM. Isso inclui todas as políticas baseadas em identidade do IAM anexadas às entidades principais que estão tentando acessar o recurso, e as políticas de controle de serviço (SCPs) para AWS Organizations que podem se aplicar ao Conta da AWS. As políticas baseadas em recursos geradas pela AWS RAM participam da mesma lógica de avaliação de políticas de todas as outras políticas do IAM. Para obter detalhes completos sobre a avaliação de políticas e como determinar as permissões resultantes, consulte Lógica de avaliação de políticas no Guia do usuário do IAM.

AWS RAM fornece uma experiência de compartilhamento de recursos simples e segura, fornecendo políticas baseadas em recursos de abstração fáceis de usar.

Para os tipos de recursos que oferecem suporte a políticas baseadas em recursos, constrói e gerencia AWS RAM automaticamente as políticas baseadas em recursos para você. Para um determinado recurso, AWS RAM cria a política baseada em recursos combinando as informações de todos os compartilhamentos de recursos que incluem esse recurso. Por exemplo, considere um pipeline do Amazon SageMaker que você compartilha AWS RAM usando e inclui em dois compartilhamentos de recursos diferentes. Você pode usar um compartilhamento de recursos para fornecer acesso somente de leitura a toda a sua organização. Em seguida, você poderia usar o outro compartilhamento de recursos para conceder somente permissões de execução do SageMaker a uma única conta. AWS RAM combina automaticamente esses dois conjuntos diferentes de permissões em uma única política de recursos com várias declarações. Em seguida, anexa a política combinada baseada em recursos ao recurso do pipeline. Você pode ver essa política de recursos subjacente chamando a GetResourcePolicy operação. Serviços da AWS em seguida, use essa política baseada em recursos para autorizar qualquer entidade principal que tente realizar uma ação no recurso compartilhado.

Embora você possa criar manualmente as políticas baseadas em recursos e anexá-las aos seus recursos por meio de uma chamada PutResourcePolicy, recomendamos que você use AWS RAM porque elas oferecem as seguintes vantagens:

  • Capacidade de descoberta para consumidores de compartilhamento – Se você compartilhar recursos usando AWS RAM, os usuários poderão ver todos os recursos compartilhados com eles diretamente no console do serviço proprietário do recurso e nas operações de API, como se esses recursos estivessem diretamente na conta do usuário. Por exemplo, se você compartilhar um AWS CodeBuild projeto com outra conta, os usuários na conta consumidora poderão ver o projeto no console do CodeBuild e nos resultados das operações da API CodeBuild realizadas. Os recursos compartilhados pela anexação direta de uma política baseada em recursos não são visíveis dessa forma. Em vez disso, você deve descobrir e se referir explicitamente ao recurso por meio de seu ARN.

  • Capacidade de gerenciamento para proprietários de ações — Se você compartilha recursos usando AWS RAM, os proprietários de recursos na conta de compartilhamento podem ver centralmente quais outras contas têm acesso aos seus recursos. Se você compartilhar um recurso usando uma política baseada em recursos, poderá ver as contas consumidoras somente examinando a política de recursos individuais no console de serviço ou na API relevante.

  • Eficiência — Se você compartilhar recursos usando AWS RAM, poderá compartilhar vários recursos e gerenciá-los como uma unidade. Recursos compartilhados usando somente políticas baseadas em recursos exigem políticas individuais anexadas a cada recurso que você compartilha.

  • Simplicidade — Com isso AWS RAM, você não precisa entender a linguagem de política do IAM baseada em JSON. AWS RAM fornece permissões AWS gerenciadas prontas para uso que você pode escolher para anexar aos seus compartilhamentos de recursos.

Ao usar AWS RAM, você pode até mesmo compartilhar alguns tipos de recursos que ainda não oferecem suporte a políticas baseadas em recursos. Para esses tipos de recursos, gera AWS RAM automaticamente uma política baseada em recursos como uma representação das permissões reais. Os usuários podem ver essa representação ligando para GetResourcePolicy. Esse recurso inclui as seguintes informações:

  • Clusters de banco de dados do Amazon Aurora

  • Amazon EC2 — reservas de capacidade e hosts dedicados

  • AWS License Manager - Configurações de licença

  • AWS Outposts - Tabelas de rotas de gateway local, postos avançados e sites

  • Amazon Route 53 — Regras de encaminhamento

  • Amazon Virtual Private Cloud — endereços IPv4 de propriedade do cliente, listas de prefixos, sub-redes, alvos de espelhamento de tráfego, gateways de trânsito, domínios multicast de gateway de trânsito

Exemplos de AWS RAM políticas baseadas em recursos geradas

Se você compartilhar um recurso de imagem do EC2 Image Builder com uma conta individual, AWS RAM gera uma política semelhante ao exemplo a seguir e a anexa a todos os recursos de imagem incluídos no compartilhamento de recursos.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::123456789012:root"}, "Action": [ "imagebuilder:GetImage", "imagebuilder:ListImages", ], "Resource": "arn:aws:imagebuilder:us-east-1:123456789012:image/testimage/1.0.0/44" } ] }

Se você compartilhar um recurso de imagem do EC2 Image Builder com uma função ou usuário do IAM em outra Conta da AWS AWS RAM, gera uma política semelhante ao exemplo a seguir e a anexa a todos os recursos de imagem incluídos no compartilhamento de recursos.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/MySampleRole" }, "Action": [ "imagebuilder:GetImage", "imagebuilder:ListImages", ], "Resource": "arn:aws:imagebuilder:us-east-1:123456789012:image/testimage/1.0.0/44" } ] }

Se você compartilhar um recurso de imagem do EC2 Image Builder com uma conta individual, AWS RAM gera uma política semelhante ao exemplo a seguir e a anexa a todos os recursos de imagem incluídos no compartilhamento de recursos.

nota

Essa política usa "Principal": "*" e, em seguida, usa o "Condition" elemento para restringir as permissões às identidades que correspondam às PrincipalOrgID especificadas. Para obter mais informações, consulte Implicações do uso da "Principal": "*" em uma política baseada em recursos.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "imagebuilder:GetImage", "imagebuilder:ListImages", ], "Resource": "arn:aws:imagebuilder:us-east-1:123456789012:image/testimage/1.0.0/44" "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-123456789" } } } ] }

Implicações do uso da "Principal": "*" em uma política baseada em recursos

Quando você inclui "Principal": "*" em uma política baseada em recursos, a política concede acesso a todos os diretores do IAM na conta que contém o recurso, sujeita a quaisquer restrições impostas por um Condition elemento, se ele existir. Declarações Deny explícitas em qualquer política que se aplique à entidade principal da chamada substituem as permissões concedidas por essa política. No entanto, uma implícita Deny (ou seja, a falta de uma explícita Allow) em qualquer política de identidade, política de limite de permissões ou política de sessão aplicável não resulta na concessão de acesso Deny às entidades principais a uma ação por meio dessa política baseada em recursos.

Se esse comportamento não for desejável para seu cenário, você pode limitar esse comportamento adicionando uma Deny declaração explícita a uma política de identidade, limite de permissões ou política de sessão que afete as funções e os usuários relevantes.

Gerenciar permissões

As permissões gerenciadas definem quais ações as entidades principais podem realizar sob quais condições nos tipos de recursos compatíveis em um compartilhamento de recursos. Ao criar um compartilhamento de recursos, você deve especificar qual permissão gerenciada usar para cada tipo de recurso incluído no compartilhamento de recursos. Uma permissão gerenciada lista o conjunto actions e as condições que as entidades principais podem executar com o recurso compartilhado usando AWS RAM.

Você pode anexar somente uma permissão gerenciada para cada tipo de recurso em um compartilhamento de recursos. Você não pode criar um compartilhamento de recursos no qual alguns recursos de um determinado tipo usem uma permissão gerenciada e outros recursos do mesmo tipo usem uma permissão gerenciada diferente. Para fazer isso, você precisaria criar dois compartilhamentos de recursos diferentes e dividir os recursos entre eles, dando a cada conjunto uma permissão gerenciada diferente. Há dois tipos diferentes de permissões gerenciadas:

AWS Gerenciar permissões

AWS as permissões gerenciadas são criadas e mantidas AWS e concedem permissões para cenários comuns de clientes. AWS RAM define pelo menos uma permissão AWS gerenciada para cada tipo de recurso compatível. Alguns tipos de recursos oferecem suporte a mais de uma permissão AWS gerenciada, com uma permissão gerenciada designada como AWS padrão. A permissão AWS gerenciada padrão está associada, a menos que você especifique o contrário.

Pode usar permissões gerenciadas pelo cliente

As permissões gerenciadas pelo cliente são permissões gerenciadas que você cria e mantém especificando com precisão quais ações podem ser executadas sob quais condições com recursos compartilhados usando AWS RAM. Por exemplo, você quer limitar o acesso de leitura aos seus grupos da Amazon VPC IP Address Manager (IPAM), que ajudam você a gerenciar seus endereços IP em grande escala. Você pode criar permissões gerenciadas pelo cliente para que seus desenvolvedores atribuam endereços IP, mas não visualizem o intervalo de endereços IP que outras contas de desenvolvedor atribuem. É possível seguir as práticas recomendadas de privilégio mínimo, conceda apenas as permissões necessárias para executar tarefas em recursos compartilhados.

Você define sua própria permissão para um tipo de recurso em um compartilhamento de recursos com a opção de adicionar condições como chaves de chaves de contexto global e chaves específicas do serviço para especificar as condições sob as quais as entidades principais têm acesso ao recurso. Essas permissões podem ser usadas em um ou mais AWS RAM compartilhamentos. As permissões gerenciadas pelo cliente são específicas da região.

AWS RAM usa permissões gerenciadas como uma entrada para criar as políticas baseadas em recursos para os recursos que você compartilha.

Versão da permissão gerenciada

Qualquer alteração em uma permissão gerenciada é representada como uma nova versão dessa permissão gerenciada. A nova versão é a padrão para todos os novos compartilhamentos de recursos. Cada permissão gerenciada sempre tem uma versão designada como padrão. Ao AWS criar ou criar uma nova versão de permissão gerenciada, você deve atualizar explicitamente a permissão gerenciada para cada compartilhamento de recursos existente. Você pode avaliar as alterações antes de aplicá-las ao seu compartilhamento de recursos nesta etapa. Todos os novos compartilhamentos de recursos usarão automaticamente a nova versão da permissão gerenciada para o tipo de recurso correspondente.

AWS versões da permissão gerenciada

AWS lida com todas as alterações nas permissões AWS gerenciadas. Essas mudanças abordam novas funcionalidades ou eliminam as deficiências descobertas. Você só pode aplicar a versão de permissão gerenciada padrão aos seus compartilhamentos de recursos.

Versões de permissão gerenciadas pelo cliente

Você gerencia todas as alterações nas permissões gerenciadas pelo cliente. Você pode criar uma nova versão padrão, definir uma versão mais antiga como padrão ou excluir versões que não estão mais associadas a nenhum compartilhamento de recursos. Cada permissão gerenciada pelo cliente pode ter até cinco versões.

Ao criar ou atualizar um compartilhamento de recursos, você pode anexar somente a versão padrão da permissão gerenciada especificada. Para obter mais informações, consulte Atualização de permissões AWS gerenciadas para uma versão mais recente.