

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 AWS AppSync
<a name="security_iam_id-based-policy-examples"></a>

Por padrão, usuários e perfis não têm permissão para criar ou modificar recursos do AWS AppSync. 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 aprender a criar uma política baseada em identidade do IAM ao usar esses documentos de política em JSON de exemplo, consulte [Criar políticas do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) no *Guia do usuário do IAM*.

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](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsappsync.html) *Autorização de Serviço*.

Para conhecer as melhores práticas para criar e configurar políticas baseadas em identidade do IAM, consulte [Práticas recomendadas das políticas do IAM](best-practices.md#security_iam_service-with-iam-policy-best-practices).

Para obter uma lista de políticas baseadas em identidade do IAM para AWS AppSync, consulte. [AWS políticas gerenciadas para AWS AppSync](security_iam_policy_list.md)

**Topics**
+ [Usando o AWS AppSync console](#security_iam_id-based-policy-examples-console)
+ [Permitir que os usuários visualizem suas próprias permissões](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Acessar um bucket do Amazon S3](#security_iam_id-based-policy-examples-access-one-bucket)
+ [Visualização AWS AppSync *widgets* com base em tags](#security_iam_id-based-policy-examples-view-widget-tags)
+ [AWS políticas gerenciadas para AWS AppSync](security_iam_policy_list.md)

## Usando o AWS AppSync console
<a name="security_iam_id-based-policy-examples-console"></a>

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. Caso crie uma política baseada em identidade mais restritiva 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 a API AWS CLI ou para a AWS API. Em vez disso, permita o acesso somente a ações que correspondam à operação de API que estiverem tentando executar.

Para garantir que os usuários e funções do IAM 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 informações, consulte [Adicionar permissões a um usuário](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) no *Guia do usuário do IAM*.

## Permitir que os usuários visualizem suas próprias permissões
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

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 programaticamente usando a API AWS CLI ou 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": "*"
        }
    ]
}
```

## Acessar um bucket do Amazon S3
<a name="security_iam_id-based-policy-examples-access-one-bucket"></a>

Neste exemplo, você deseja conceder a um usuário do IAM em 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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/walkthrough1.html).

------
#### [ JSON ]

****  

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

------

## Visualização AWS AppSync *widgets* com base em tags
<a name="security_iam_id-based-policy-examples-view-widget-tags"></a>

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

É possível anexar essa política aos usuários do IAM na sua conta. Se um usuário chamado `richard-roe` tentar visualizar um *widget* do AWS AppSync, o *widget* deverá estar marcado como `Owner=richard-roe` ou `owner=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 de política JSON do IAM: condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) no *Guia do usuário do IAM*.







# AWS políticas gerenciadas para AWS AppSync
<a name="security_iam_policy_list"></a>

Para adicionar permissões a usuários, grupos e funções, é mais fácil usar políticas AWS gerenciadas do que escrever políticas você mesmo. É necessário tempo e experiência para [criar políticas do IAM gerenciadas pelo cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) que fornecem à sua equipe apenas as permissões necessárias. Para começar rapidamente, você pode usar nossas políticas AWS gerenciadas. Essas políticas abrangem casos de uso comuns e estão disponíveis na sua Conta da AWS. Para obter mais informações sobre políticas AWS gerenciadas, consulte [políticas AWS gerenciadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) no *Guia do usuário do IAM*.

AWS os serviços mantêm e atualizam as políticas AWS gerenciadas. Você não pode alterar as permissões nas políticas AWS gerenciadas. Ocasionalmente, os serviços adicionam permissões adicionais a uma política AWS gerenciada para oferecer suporte a novos recursos. Esse tipo de atualização afeta todas as identidades (usuários, grupos e funções) em que a política está anexada. É mais provável que os serviços atualizem uma política AWS gerenciada quando um novo recurso é lançado ou quando novas operações são disponibilizadas. Os serviços não removem as permissões de uma política AWS gerenciada, portanto, as atualizações de políticas não violarão suas permissões existentes.

Além disso, AWS oferece suporte a políticas gerenciadas para funções de trabalho que abrangem vários serviços. Por exemplo, a política **ReadOnlyAccess** AWS gerenciada fornece acesso somente de leitura a todos os AWS serviços e recursos. Quando um serviço lança um novo recurso, AWS adiciona permissões somente de leitura para novas operações e recursos. Para obter uma lista e descrições das políticas de perfis de trabalho, consulte [Políticas gerenciadas pela AWS para perfis de trabalho](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) no *Guia do usuário do IAM*.

## AWS política gerenciada: AWSApp SyncInvokeFullAccess
<a name="security-iam-awsmanpol-AWSAppSyncInvokeFullAccess"></a>



Use a política `AWSAppSyncInvokeFullAccess` AWS gerenciada para permitir que seus administradores acessem o AWS AppSync serviço pelo console ou de forma independente.



É possível anexar a política `AWSAppSyncInvokeFullAccess` às suas identidades do IAM.

### Detalhes das permissões
<a name="security-iam-awsmanpol-AWSAppSyncInvokeFullAccess-permissions"></a>

Esta política inclui as seguintes permissões.




+ `AWS AppSync`— Permite acesso administrativo total a todos os recursos em AWS AppSync



------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "appsync:GraphQL",
                "appsync:GetGraphqlApi",
                "appsync:ListGraphqlApis",
                "appsync:ListApiKeys"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## AWS política gerenciada: AWSApp SyncSchemaAuthor
<a name="security-iam-awsmanpol-AWSAppSyncSchemaAuthor"></a>



Use a política `AWSAppSyncSchemaAuthor` AWS gerenciada para permitir que os usuários do IAM acessem para criar, atualizar e consultar seus esquemas do GraphQL. Para obter informações sobre o que os usuários podem fazer com essas permissões, consulte [Projetando o GraphQL APIs com AWS AppSync](designing-a-graphql-api.md).



É possível anexar a política `AWSAppSyncSchemaAuthor` às suas identidades do IAM.

### Detalhes das permissões
<a name="security-iam-awsmanpol-AWSAppSyncSchemaAuthor-permissions"></a>

Esta política inclui as seguintes permissões.




+ `AWS AppSync` – Permite realizar as ações a seguir:
  + Criar esquemas do GraphQL
  + Permitir a criação, modificação e exclusão de tipos, resolvedores e funções do GraphQL
  + Avaliar a lógica do modelo de solicitação e resposta
  + Avaliar o código com um runtime e contexto
  + Enviando consultas do GraphQL para o GraphQL APIs
  + Recuperar dados do GraphQL



------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "appsync:GraphQL",
                "appsync:CreateResolver",
                "appsync:CreateType",
                "appsync:DeleteResolver",
                "appsync:DeleteType",
                "appsync:GetResolver",
                "appsync:GetType",
                "appsync:GetDataSource",
                "appsync:GetSchemaCreationStatus",
                "appsync:GetIntrospectionSchema",
                "appsync:GetGraphqlApi",
                "appsync:ListTypes",
                "appsync:ListApiKeys",
                "appsync:ListResolvers",
                "appsync:ListDataSources",
                "appsync:ListGraphqlApis",
                "appsync:StartSchemaCreation",
                "appsync:UpdateResolver",
                "appsync:UpdateType",
                "appsync:TagResource",
                "appsync:UntagResource",
                "appsync:ListTagsForResource",
                "appsync:CreateFunction",
                "appsync:UpdateFunction",
                "appsync:GetFunction",
                "appsync:DeleteFunction",
                "appsync:ListFunctions",
                "appsync:ListResolversByFunction",
                "appsync:EvaluateMappingTemplate",
                "appsync:EvaluateCode"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## AWS política gerenciada: AWSApp SyncPushToCloudWatchLogs
<a name="security-iam-awsmanpol-AWSAppSyncPushToCloudWatchLogs"></a>



AWS AppSync usa CloudWatch a Amazon para monitorar o desempenho do seu aplicativo gerando registros que você pode usar para solucionar problemas e otimizar suas solicitações do GraphQL. Para obter mais informações, consulte [Usando CloudWatch para monitorar e registrar dados da API GraphQL](monitoring.md).

Use a política `AWSAppSyncPushToCloudWatchLogs` AWS gerenciada AWS AppSync para permitir o envio de registros para a CloudWatch conta de um usuário do IAM.



É possível anexar a política `AWSAppSyncPushToCloudWatchLogs` às suas identidades do IAM.

### Detalhes das permissões
<a name="security-iam-awsmanpol-AWSAppSyncPushToCloudWatchLogs-permissions"></a>

Esta política inclui as seguintes permissões.




+ `CloudWatch Logs`— Permite AWS AppSync criar grupos de registros e fluxos com nomes especificados. AWS AppSyncenvia eventos de log para o fluxo de log especificado.



------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## AWS política gerenciada: AWSApp SyncAdministrator
<a name="security-iam-awsmanpol-AWSAppSyncAdministrator"></a>



Use a política `AWSAppSyncAdministrator` AWS gerenciada para permitir que seus administradores acessem tudo AWS AppSync, exceto o AWS console.



Você pode anexar `AWSAppSyncAdministrator` às suas entidades do IAM. AWS AppSync também anexa essa política a uma função de serviço que permite que ela execute ações em seu nome.

### Detalhes das permissões
<a name="security-iam-awsmanpol-AWSAppSyncAdministrator-permissions"></a>

Esta política inclui as seguintes permissões.




+ `AWS AppSync`— Permite acesso administrativo total a todos os recursos em AWS AppSync
+ `IAM` – Permite realizar as ações a seguir:
  + Criação de funções vinculadas a serviços para permitir AWS AppSync a análise de recursos em outros serviços em seu nome
  + Excluir perfis vinculadas ao serviço
  + Transferir funções vinculadas a serviços para outros AWS serviços para assumir a função posteriormente e realizar ações em seu nome



------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "appsync:*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "appsync.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:AWSServiceName": "appsync.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:DeleteServiceLinkedRole",
                "iam:GetServiceLinkedRoleDeletionStatus"
            ],
            "Resource": "arn:aws:iam::*:role/aws-service-role/appsync.amazonaws.com/AWSServiceRoleForAppSync*"
        }
    ]
}
```

------

## AWS política gerenciada: AWSApp SyncServiceRolePolicy
<a name="security-iam-awsmanpol-AWSAppSyncServiceRolePolicy"></a>



Use a política `AWSAppSyncServiceRolePolicy` AWS gerenciada para permitir o acesso aos AWS serviços e recursos que AWS AppSync usa ou gerencia.



Não é possível anexar a `AWSAppSyncServiceRolePolicy` às entidades do IAM. Essa política está vinculada a uma função vinculada ao serviço que permite AWS AppSync realizar ações em seu nome. Para obter mais informações, consulte [Funções vinculadas a serviços para AWS AppSync](security_iam_service-with-iam.md#security_iam_service-with-iam-roles-service-linked).

### Detalhes das permissões
<a name="security-iam-awsmanpol-AWSAppSyncServiceRolePolicy-permissions"></a>

Esta política inclui as seguintes permissões.




+ `X-Ray`— AWS AppSync usa AWS X-Ray para coletar dados sobre solicitações feitas em seu aplicativo. Para obter mais informações, consulte [Usando AWS X-Ray para rastrear solicitações em AWS AppSync](x-ray-tracing.md).

  Essa política permite as seguintes ações:
  + Recuperar regras de amostragem e os resultados
  + Enviar dados de rastreamento para o daemon do X-Ray.



------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "xray:PutTraceSegments",
                "xray:PutTelemetryRecords",
                "xray:GetSamplingTargets",
                "xray:GetSamplingRules",
                "xray:GetSamplingStatisticSummaries"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

## AWS AppSync atualizações nas políticas AWS gerenciadas
<a name="security-iam-awsmanpol-updates"></a>



Veja detalhes sobre as atualizações das políticas AWS gerenciadas AWS AppSync desde que esse serviço começou a rastrear essas alterações. Para receber alertas automáticos sobre alterações nessa página, assine o feed RSS na página Histórico do AWS AppSync documento.




| Alteração | Descrição | Data | 
| --- | --- | --- | 
|  [AWSAppSyncSchemaAuthor](#security-iam-awsmanpol-AWSAppSyncSchemaAuthor) - Atualização em uma política existente  |  Foi adicionada uma ação da política `EvaluateCode` para permitir que os usuários avaliem o código com um runtime e contexto.  | 7 de fevereiro de 2023 | 
|  [AWSAppSyncSchemaAuthor](#security-iam-awsmanpol-AWSAppSyncSchemaAuthor) - Atualização em uma política existente  |  Ações de política adicionadas para permitir as funções de listar, obter, criar, atualizar e excluir de uma API. Foi adicionada uma ação de política `EvaluateMappingTemplate` para permitir que os usuários avaliem a lógica do modelo de mapeamento do resolvedor de solicitações e respostas. Ações de políticas adicionadas para permitir a marcação de recursos.  | 25 de agosto de 2022 | 
|  AWS AppSync começou a rastrear as alterações  |  AWS AppSync começou a rastrear as mudanças em suas políticas AWS gerenciadas.  | 25 de agosto de 2022 | 