Políticas baseadas em identidade para o AWS AppSync - AWS AppSync

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

Políticas baseadas em identidade para o AWS AppSync

Por padrão, usuários e funções não têm permissão para criar ou modificar AWS AppSync recursos. Eles também não podem realizar tarefas usando o AWS Management Console, AWS Command Line Interface (AWS CLI) ou AWS API. Para conceder permissão aos usuários para realizar ações nos recursos de que precisam, um IAM administrador pode criar IAM políticas. O administrador pode então adicionar as IAM políticas às funções e os usuários podem assumir as funções.

Para saber como criar uma política IAM baseada em identidade usando esses exemplos de documentos de JSON política, consulte Criar IAM políticas (console) no Guia do IAMusuário.

Para obter detalhes sobre ações e tipos de recursos definidos por AWS AppSync, incluindo o formato do ARNs para cada um dos tipos de recursos, consulte Ações, recursos e chaves de condição AWS AppSync na Referência de Autorização de Serviço.

Para conhecer as melhores práticas para criar e configurar políticas IAM baseadas em identidade, consulte. IAMmelhores práticas políticas

Para obter uma lista de políticas IAM baseadas em identidade para AWS AppSync, consulte. AWS políticas gerenciadas para AWS AppSync

Usando o AWS AppSync console

Para acessar o AWS AppSync console, você deve ter um conjunto mínimo de permissões. Essas permissões devem permitir que você liste e visualize detalhes sobre os AWS AppSync recursos em seu Conta da AWS. Se você criar uma política baseada em identidade que seja mais restritiva do 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 AWS CLI o. ou AWS API o. Em vez disso, permita o acesso somente às ações que correspondam à API operação que eles estão tentando realizar.

Para garantir que IAM usuários e funções ainda possam usar o AWS AppSync console, anexe também a política AWS AppSync ConsoleAccess ou a política ReadOnly AWS gerenciada às entidades. Para obter mais informações, consulte Adicionar permissões a um usuário no Guia do IAM usuário.

Permitir que usuários visualizem suas próprias permissões

Este exemplo mostra como você pode criar uma política que permita IAM aos usuários visualizar as políticas embutidas e gerenciadas que estão anexadas à identidade do usuário. Essa política inclui permissões para concluir essa ação no console ou programaticamente usando o AWS CLI ou. AWS API

{ "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": "*" } ] }

Acessar um bucket do Amazon S3

Neste exemplo, você deseja conceder a um IAM usuário da sua AWS conta acesso a um dos seus buckets do Amazon S3,. examplebucket Você também deseja permitir que o usuário adicione, atualize e exclua objetos.

Além de conceder as permissões s3:PutObject, s3:GetObject e s3:DeleteObject ao usuário, a política também concede as permissões s3:ListAllMyBuckets, s3:GetBucketLocation e s3:ListBucket. Estas são permissões adicionais, exigidas pelo console. As ações s3:PutObjectAcl e s3:GetObjectAcl também são necessárias para copiar, recortar e colar objetos no console. Para obter uma demonstração de exemplo que concede permissões aos usuários e testa-os ao usar o console, consulte Demonstração de exemplo: Usar políticas de usuário para controlar o acesso a seu bucket.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"ListBucketsInConsole", "Effect":"Allow", "Action":[ "s3:ListAllMyBuckets" ], "Resource":"arn:aws:s3:::*" }, { "Sid":"ViewSpecificBucketInfo", "Effect":"Allow", "Action":[ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource":"arn:aws:s3:::examplebucket" }, { "Sid":"ManageBucketContents", "Effect":"Allow", "Action":[ "s3:PutObject", "s3:PutObjectAcl", "s3:GetObject", "s3:GetObjectAcl", "s3:DeleteObject" ], "Resource":"arn:aws:s3:::examplebucket/*" } ] }

Visualizando AWS AppSync widgets baseado em tags

Você pode usar condições em sua política baseada em identidade para controlar o acesso aos AWS AppSync recursos com base em tags. Este exemplo mostra como você pode criar uma política que permita visualizar um widget. No entanto, a permissão é concedida somente se o widget tag Owner tem o valor do nome de usuário desse usuário. Essa política também concede as permissões necessárias concluir essa ação no console.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListWidgetsInConsole", "Effect": "Allow", "Action": "appsync:ListWidgets", "Resource": "*" }, { "Sid": "ViewWidgetIfOwner", "Effect": "Allow", "Action": "appsync:GetWidget", "Resource": "arn:aws:appsync:*:*:widget/*", "Condition": { "StringEquals": {"aws:ResourceTag/Owner": "${aws:username}"} } } ] }

Você pode anexar essa política aos IAM usuários da sua conta. Se um usuário chamado richard-roe tentar visualizar um AWS AppSync widget, o widget deve ser marcado com Owner=richard-roe ouowner=richard-roe. Caso contrário, ele terá o acesso negado. A chave da tag de condição Owner corresponde a Owner e a owner porque os nomes das chaves de condição não fazem distinção entre maiúsculas e minúsculas. Para obter mais informações, consulte Elementos IAM JSON da política: Condição no Guia IAM do usuário.