Avaliação de políticas para solicitações em uma única conta
A forma como o AWS avalia as políticas depende dos tipos de políticas que se aplicam ao contexto da solicitação. Os seguintes tipos de políticas, listados em ordem de frequência, estão disponíveis para uso em uma única Conta da AWS. Para obter mais informações sobre esses tipos de política, consulte Políticas e permissões no AWS Identity and Access Management. Para saber como a AWS avalia políticas para acesso entre contas, consulte Lógica de avaliação de política entre contas.
-
Políticas baseadas em identidade: as políticas baseadas em identidade são anexadas a uma identidade do IAM (usuário, grupo de usuários ou função) e concedem permissões a entidades do IAM (usuários e funções). Se somente políticas baseadas em identidade se aplicarem a uma solicitação, o AWS verificará todas essas políticas para pelo menos um
Allow
. -
Políticas baseadas em recursos: as políticas baseadas em recursos concedem permissões para as entidades principais especificadas na política. As permissões definem o que a entidade principal pode fazer com o recurso ao qual a política está anexada.
-
Limites de permissões do IAM: os limites de permissões são um atributo que define as permissões máximas que uma política baseada em identidade pode conceder a uma entidade do IAM (usuário ou perfil). Quando você definir um limite de permissões para uma entidade, a entidade poderá executar apenas as ações que sejam permitidas tanto pelas políticas baseadas em identidade quanto pelo seu limites de permissões. Em alguns casos, uma negação implícita em um limite de permissões pode limitar as permissões concedidas por uma política baseada em recursos. Para saber mais, consulte Como a lógica do código de imposição da AWS avalia as solicitações para permitir ou negar acesso.
-
Políticas de controle de serviço (SCPs) do AWS Organizations: as SCPs do Organizations especificam as permissões máximas disponíveis para entidades principais nas contas em uma organização ou unidade organizacional (UO). As SCPs se aplicam a entidades principais em contas de membros, incluindo cada Usuário raiz da conta da AWS. Se uma SCP estiver presente, as permissões concedidas por políticas baseadas em identidade e baseadas em recurso a entidades principais nas suas contas de membros somente estarão efetivas se a SCP permitir a ação. As únicas exceções são as entidades principais na conta de gerenciamento da organização e os perfis vinculados ao serviço.
-
Políticas de controle de recursos (RCPs) do AWS Organizations: as RCPs do Organizations especificam o número máximo de permissões disponíveis para recursos nas contas da sua organização ou unidade organizacional (UO). As RCPs se aplicam aos recursos nas contas de membros e afetam as permissões efetivas das entidades principais, incluindo os Usuário raiz da conta da AWS, independentemente de as entidades principais pertencerem a sua organização. As RCPs não se aplicam a recursos na conta de gerenciamento da organização e a chamadas feitas por perfis vinculados ao serviço.
-
Políticas de sessão: as políticas de sessão são políticas que você passa como parâmetros ao criar uma sessão temporária de forma programática para um perfil ou um usuário federado. Para criar uma sessão de função de forma programática, use uma das operações da API
AssumeRole*
. Quando você faz isso e passa políticas de sessão, as permissões de sessão resultantes são a interseção da política baseada em identidade do IAM e as políticas de sessão. Para criar uma sessão de usuário federado, use as chaves de acesso do usuário do IAM para chamar de forma programática a operação da APIGetFederationToken
. Para ter mais informações, consulte Políticas de sessão.
Lembre-se de que uma negação explícita em qualquer uma dessas políticas substitui a permissão.
Avaliação das políticas baseadas em identidade com políticas baseadas em recurso
As políticas baseadas em identidade e as baseadas em recurso concedem permissões para as identidades ou recursos aos quais elas estão conectadas. Quando uma entidade do IAM (usuário ou função) solicita acesso a um recurso na mesma conta, a AWS avalia todas as permissões concedidas pelas políticas baseadas em identidade e as políticas baseadas em recurso. As permissões resultantes são a união das permissões dos dois tipos. Se uma ação for permitida por uma política baseada em identidade, uma política baseada em recurso ou ambas, o AWS permitirá a ação. Uma negação explícita em qualquer uma dessas políticas substitui a permissão.
Avaliação das políticas baseadas em identidade com limites de permissões
Quando o AWS avalia as políticas baseadas em identidade e limites de permissões para um usuário, as permissões resultantes são a interseção das duas categorias. Isso significa que, quando você adiciona um limite de permissões a um usuário com políticas baseadas em identidade existentes, você pode reduzir as ações que o usuário pode executar. Como alternativa, quando você remove o limite de permissões de um usuário, você pode aumentar as ações que ele pode executar. Uma negação explícita em qualquer uma dessas políticas substitui a permissão. Para visualizar informações sobre como outros tipos de política são avaliadas com limites de permissões, consulte Avaliar permissões efetivas com limites.
Avaliação das políticas baseadas em identidade com SCPs ou RCPs do Organizations
Quando um usuário pertence a uma conta que é membro de uma organização e acessa um recurso que não tenha uma política baseada em recursos configurada, as permissões resultantes são a interseção das políticas do usuário, políticas de controle de serviços (SCPs) e política de controle de recursos (RCP). Isso significa que uma ação deve ser permitida pelos três tipos de política. Uma negação explícita na política baseada em identidade, uma SCP ou uma RCP se sobrepõem à permissão.
É possível saber se sua conta é membro de uma organização no AWS Organizations. Os membros da organização podem ser afetados por uma SCP ou RCP. Para visualizar esses dados usando o comando da AWS CLI ou a operação da API da AWS, você deve ter permissões para a ação organizations:DescribeOrganization
da sua entidade do Organizations. Você deve ter permissões adicionais para executar a operação no console do Organizations. Para saber se uma SCP ou RCP está negando acesso a uma solicitação específica ou alterar as permissões efetivas, entre em contato com seu administrador do AWS Organizations.
Exemplo de avaliação das políticas baseadas em identidade e políticas baseadas em recurso
Os tipos de políticas mais comuns são políticas baseadas em identidade e políticas baseadas em recurso. Quando o acesso a um recurso é solicitado, a AWS avalia todas as permissões concedidas pelas políticas para pelo menos uma permissão na mesma conta. Uma negação explícita em qualquer uma das políticas substitui a permissão.
Importante
Se a política baseada em identidade ou a política baseada em recursos na mesma conta permitir a solicitação, mas a outra política não, a solicitação ainda será permitida.
Suponha que Carlos tem o nome de usuário carlossalazar
e tente salvar um arquivo no bucket amzn-s3-demo-bucket-carlossalazar-logs
do Amazon S3.
Suponha também que a política a seguir esteja anexada ao usuário do IAM carlossalazar
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowS3ListRead", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetAccountPublicAccessBlock", "s3:ListAccessPoints", "s3:ListAllMyBuckets" ], "Resource": "arn:aws:s3:::*" }, { "Sid": "AllowS3Self", "Effect": "Allow", "Action": "s3:*", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-carlossalazar/*", "arn:aws:s3:::amzn-s3-demo-bucket-carlossalazar" ] }, { "Sid": "DenyS3Logs", "Effect": "Deny", "Action": "s3:*", "Resource": "arn:aws:s3:::*log*" } ] }
A instrução AllowS3ListRead
nessa política permite que Carlos visualize uma lista de todos os buckets da conta. A instrução AllowS3Self
permite a Carlos acesso total ao bucket com o mesmo nome que seu nome de usuário. A instrução DenyS3Logs
nega a Carlos acesso a qualquer bucket do S3 com log
em seu nome.
Além disso, a seguinte política baseada em recurso (chamada de política de bucket) está anexada ao bucket amzn-s3-demo-bucket-carlossalazar
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
123456789012
:user/carlossalazar" }, "Action": "s3:*", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-carlossalazar/*", "arn:aws:s3:::amzn-s3-demo-bucket-carlossalazar" ] } ] }
Essa política especifica que apenas o usuário carlossalazar
pode acessar o bucket amzn-s3-demo-bucket-carlossalazar
.
Quando Carlos faz sua solicitação para salvar um arquivo no bucket amzn-s3-demo-bucket-carlossalazar-logs
, a AWS determina quais políticas são aplicáveis à solicitação. Nesse caso, somente a política baseada em identidade e a política baseada em recurso são aplicáveis. Essas são duas políticas de permissões. Como nenhum limite de permissões se aplica, a lógica de avaliação é reduzida à lógica a seguir.
A AWS primeiro verifica se há uma instrução Deny
aplicável ao contexto da solicitação. Ele encontra uma, pois a política baseada em identidade nega explicitamente a Carlos o acesso a qualquer bucket do S3 usado para log. O acesso é negado a Carlos.
Suponha que ele perceba seu erro e tente salvar o arquivo no bucket amzn-s3-demo-bucket-carlossalazar
. A AWS verifica se há uma instrução Deny
e não encontra uma. Em seguida, ela verifica a políticas de permissões. Tanto a política baseada em identidade quanto a política baseada em recursos permitem a solicitação. Portanto, a AWS permite a solicitação. Se qualquer uma delas tivesse negado explicitamente a instrução, a solicitação teria sido negada. Se um dos tipos de política permitir a solicitação e o outro não, a solicitação ainda será permitida.