

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

# Gerenciar o acesso ao Amazon Q Developer com políticas do IAM
<a name="security_iam_manage-access-with-policies"></a>

**nota**  
As informações nesta página dizem respeito ao acesso ao Amazon Q Developer. Para obter informações sobre como gerenciar o acesso ao Amazon Q Business, consulte [Identity-based policy examples for Amazon Q Business](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/security_iam_id-based-policy-examples.html) no *Amazon Q Business User Guide*.   
As políticas e exemplos neste tópico são específicos do Amazon Q no AWS site Console de gerenciamento da AWS AWS Console Mobile Application, AWS Documentation, e nos aplicativos de bate-papo. Outros serviços integrados ao Amazon Q podem exigir políticas ou configurações diferentes. Os usuários finais do Amazon Q de terceiros IDEs não precisam usar políticas do IAM. Para obter mais informações, consulte a documentação do serviço que contém um atributo ou uma integração do Amazon Q.

Por padrão, usuários e funções não têm permissão para usar o Amazon Q. Os administradores do IAM podem gerenciar o acesso ao Amazon Q Developer e seus atributos ao conceder permissões às identidades do IAM.

A maneira mais rápida de um administrador conceder acesso aos usuários é por meio de uma política AWS gerenciada. A política `AmazonQFullAccess` pode ser anexada às identidades do IAM para conceder acesso total ao Amazon Q Developer e seus atributos. Para obter mais informações sobre essa política, consulte [AWS políticas gerenciadas para o Amazon Q Developer](managed-policy.md).

Para gerenciar ações específicas que as identidades do IAM podem executar com o Amazon Q Developer, os administradores podem criar políticas personalizadas do IAM que definem quais permissões um usuário, um grupo ou um perfil tem. Você também pode usar políticas de controle de serviços (SCPs) para controlar quais recursos do Amazon Q estão disponíveis em sua organização.

Para obter uma lista de todas as permissões do Amazon Q que você pode controlar com políticas, consulte o [Referência de permissões do Amazon Q Developer](security_iam_permissions.md).

**Topics**
+ [Práticas recomendadas de política](#security_iam_policy-best-practices)
+ [Atribuir permissões](#setting-up-assign-permissions)
+ [Gerencie o acesso com políticas de controle de serviços (SCPs)](#service-control-policies)
+ [Exemplos de políticas baseadas em identidade para o Amazon Q Developer](security_iam_id-based-policy-examples.md)

## Práticas recomendadas de política
<a name="security_iam_policy-best-practices"></a>

As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir recursos do Amazon Q Developer na sua conta. Essas ações podem incorrer em custos para sua Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:
+ **Comece com as políticas AWS gerenciadas e avance para as permissões de privilégios mínimos — Para começar a conceder permissões** aos seus usuários e cargas de trabalho, use as *políticas AWS gerenciadas* que concedem permissões para muitos casos de uso comuns. Eles estão disponíveis no seu Conta da AWS. Recomendamos que você reduza ainda mais as permissões definindo políticas gerenciadas pelo AWS cliente que sejam específicas para seus casos de uso. Para saber mais, consulte [Políticas gerenciadas pela AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) ou [Políticas gerenciadas pela AWS para funções de trabalho](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) no *Guia do usuário do IAM*.
+ **Aplique permissões de privilégio mínimo**: ao definir permissões com as políticas do IAM, conceda apenas as permissões necessárias para executar uma tarefa. Você faz isso definindo as ações que podem ser executadas em recursos específicos sob condições específicas, também conhecidas como *permissões de privilégio mínimo*. Para saber mais sobre como usar o IAM para aplicar permissões, consulte [Políticas e permissões no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) no *Guia do usuário do IAM*.
+ **Use condições nas políticas do IAM para restringir ainda mais o acesso**: é possível adicionar uma condição às políticas para limitar o acesso a ações e recursos. Por exemplo, é possível escrever uma condição de política para especificar que todas as solicitações devem ser enviadas usando SSL. Você também pode usar condições para conceder acesso às ações de serviço se elas forem usadas por meio de uma ação específica AWS service (Serviço da AWS), como CloudFormation. Para saber mais, consulte [Elementos da 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*.
+ **Use o IAM Access Analyzer para validar suas políticas do IAM a fim de garantir permissões seguras e funcionais**: o IAM Access Analyzer valida as políticas novas e existentes para que elas sigam a linguagem de política do IAM (JSON) e as práticas recomendadas do IAM. O IAM Access Analyzer oferece mais de cem verificações de política e recomendações práticas para ajudar a criar políticas seguras e funcionais. Para saber mais, consulte [Validação de políticas do IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) no *Guia do Usuário do IAM*.
+ **Exigir autenticação multifator (MFA**) — Se você tiver um cenário que exija usuários do IAM ou um usuário root, ative Conta da AWS a MFA para obter segurança adicional. Para exigir MFA quando as operações de API forem chamadas, adicione condições de MFA às suas políticas. Para saber mais, consulte [Configuração de acesso à API protegido por MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) no *Guia do Usuário do IAM*.

Para saber mais sobre as práticas recomendadas do IAM, consulte [Práticas recomendadas de segurança no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) no *Guia do usuário do IAM*.

## Atribuir permissões
<a name="setting-up-assign-permissions"></a>

Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:
+ Usuários e grupos em Centro de Identidade do AWS IAM:

  Crie um conjunto de permissões. Siga as instruções em [Criação de um conjunto de permissões](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.
+ Usuários gerenciados no IAM com provedor de identidades:

  Crie um perfil para a federação de identidades. Siga as instruções em [Criando um perfil para um provedor de identidades de terceiros (federação)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) no *Guia do Usuário do IAM*.
+ Usuários do IAM:
  + Crie um perfil que seu usuário possa assumir. Siga as instruções em [Criação de um perfil para um usuário do IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) no *Guia do usuário do IAM*.
  + (Não recomendado) Vincule uma política diretamente a um usuário ou adicione um usuário a um grupo de usuários. Siga as instruções em [Adição de permissões a um usuário (console)](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*.

## Gerencie o acesso com políticas de controle de serviços (SCPs)
<a name="service-control-policies"></a>

As políticas de controle de serviço (SCPs) são um tipo de política organizacional que você pode usar para gerenciar permissões em sua organização. Você pode controlar quais atributos do Amazon Q Developer estão disponíveis na sua organização ao criar uma SCP que especifique permissões para algumas ou todas as ações do Amazon Q.

*Para obter mais informações sobre como usar SCPs para controlar o acesso em sua organização, consulte [Criando, atualizando e excluindo políticas de controle de serviço e Anexando e desanexando políticas](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_create.html) [de controle de serviço no Guia](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_attach.html) do AWS Organizations usuário.*

### Exemplo de SCP: negar acesso ao Amazon Q fora das regiões da UE
<a name="example-scp-deny-q-outside-eu"></a>

A SCP a seguir nega acesso a qualquer uso do Amazon Q Developer fora da região Europa (Frankfurt) (eu-central-1).

**nota**  
O prefixo `codewhisperer` é um nome antigo de um serviço que foi fundido com o Amazon Q Developer. Para obter mais informações, consulte [Renomeação Amazon Q Developer: Resumo das alterações](service-rename.md). 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyAmazonQDeveloperOutsideEU",
      "Effect": "Deny",
      "Action": [
         "codewhisperer:GenerateRecommendations",
         "q:SendMessage",
         "q:GenerateCodeFromCommands",
         "sqlworkbench:GetQSqlRecommendations"
         ],
      "Resource": "*",
      "Condition": {
        "StringNotEquals": 
        {"aws:RequestedRegion": [ "eu-central-1"] }
      }
    }
  ]
}
```

------

### Exemplo de SCP: negar acesso ao Amazon Q
<a name="example-scp-deny-q-access"></a>

A SCP a seguir nega o acesso ao Amazon Q Developer. 

**nota**  
Negar acesso ao Amazon Q não desativará o ícone do Amazon Q ou o painel de bate-papo no AWS console, no AWS site, nas páginas de AWS documentação ou AWS Console Mobile Application. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyAmazonQFullAccess",
      "Effect": "Deny",
      "Action": [
        "q:*"
      ],
      "Resource": "*"
    }
  ]
}
```

------

# Exemplos de políticas baseadas em identidade para o Amazon Q Developer
<a name="security_iam_id-based-policy-examples"></a>

As políticas do IAM do exemplo a seguir controlam permissões para várias ações do Amazon Q Developer. Use-as para permitir ou negar o acesso ao Amazon Q Developer para seus usuários, perfis ou grupos.

**nota**  
O exemplo de políticas a seguir concede permissões para atributos do Amazon Q Developer, mas os usuários podem precisar de permissões adicionais para acessar o Amazon Q com uma assinatura do Amazon Q Developer Pro. Para obter mais informações, consulte [Permita que os usuários acessem o Amazon Q com uma assinatura do Amazon Q Developer Pro](id-based-policy-examples-users.md#id-based-policy-examples-allow-subs-access).

Você pode usar essas políticas conforme escritas ou pode adicionar permissões para os atributos individuais do Amazon Q que você deseja usar. Para obter mais informações sobre como configurar as permissões do IAM com o Amazon Q, consulte [Gerenciar o acesso ao Amazon Q Developer com políticas do IAM](security_iam_manage-access-with-policies.md).

Para obter uma lista de todas as permissões do Amazon Q que você pode controlar com políticas, consulte as [Referência de permissões do Amazon Q Developer](security_iam_permissions.md).

**Topics**
+ [Permissões de administrador](id-based-policy-examples-admins.md)
+ [Permissões de usuário](id-based-policy-examples-users.md)

# Permissões de administrador
<a name="id-based-policy-examples-admins"></a>

As políticas a seguir permitem que os administradores do Amazon Q Developer realizem tarefas administrativas no console de gerenciamento de assinaturas do Amazon Q e no console do Amazon Q Developer.

Para políticas que permitem o uso dos atributos do Amazon Q Developer, consulte [Permissões de usuário](id-based-policy-examples-users.md).

## Permitir que administradores usem o console do Amazon Q
<a name="q-admin-setup-admin-users-sub"></a>

A política de exemplo a seguir concede permissões ao usuário para realizar ações no console do Amazon Q. O console do Amazon Q é onde você configura a integração do Amazon Q com Centro de Identidade do AWS IAM AWS Organizations e. A maioria das outras tarefas relacionadas ao Amazon Q Developer deve ser concluída no console do Amazon Q Developer. Para obter mais informações, consulte [Permitir que administradores usem o console do Amazon Q Developer](#q-admin-setup-admin-users).

**nota**  
O prefixo `codewhisperer` é um nome antigo de um serviço que foi fundido com o Amazon Q Developer. Para obter mais informações, consulte [Renomeação Amazon Q Developer: Resumo das alterações](service-rename.md). 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "organizations:ListAWSServiceAccessForOrganization",
            "organizations:DisableAWSServiceAccess",
            "organizations:EnableAWSServiceAccess",
            "organizations:DescribeOrganization"
         ],
         "Resource":[
            "*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "sso:ListApplications",
            "sso:ListInstances",
            "sso:DescribeRegisteredRegions",
            "sso:GetSharedSsoConfiguration",
            "sso:DescribeInstance",
            "sso:CreateInstance",
            "sso:CreateApplication",
            "sso:PutApplicationAuthenticationMethod",
            "sso:PutApplicationAssignmentConfiguration",
            "sso:PutApplicationGrant",
            "sso:PutApplicationAccessScope",
            "sso:DescribeApplication",
            "sso:DeleteApplication",
            "sso:GetSSOStatus",
            "sso:CreateApplicationAssignment",
            "sso:DeleteApplicationAssignment",
            "sso:UpdateApplication"
         ],
         "Resource":[
            "*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "sso-directory:DescribeUsers",
            "sso-directory:DescribeGroups",
            "sso-directory:SearchGroups",
            "sso-directory:SearchUsers",
            "sso-directory:DescribeGroup",
            "sso-directory:DescribeUser",
            "sso-directory:DescribeDirectory"
         ],
         "Resource":[
            "*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "signin:ListTrustedIdentityPropagationApplicationsForConsole",
            "signin:CreateTrustedIdentityPropagationApplicationForConsole"
         ],
         "Resource":[
            "*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "codewhisperer:ListProfiles",
            "codewhisperer:CreateProfile",
            "codewhisperer:DeleteProfile"
         ],
         "Resource":[
            "*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "user-subscriptions:ListClaims",
            "user-subscriptions:ListUserSubscriptions",
            "user-subscriptions:CreateClaim",
            "user-subscriptions:DeleteClaim",
            "user-subscriptions:UpdateClaim"
         ],
         "Resource":[
            "*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "q:CreateAssignment",
            "q:DeleteAssignment"
         ],
         "Resource":[
            "*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "iam:CreateServiceLinkedRole"
         ],
         "Resource":[
            "arn:aws:iam::*:role/aws-service-role/user-subscriptions.amazonaws.com/AWSServiceRoleForUserSubscriptions"
         ]
      }
   ]
}
```

------

## Permitir que administradores usem o console do Amazon Q Developer
<a name="q-admin-setup-admin-users"></a>

A política de exemplo a seguir concede permissões ao usuário para acessar o console do Amazon Q Developer. Os administradores realizam a maioria das tarefas de configuração relacionadas ao Amazon Q Developer no console do Amazon Q Developer, incluindo tarefas relacionadas a assinaturas, referências de código, personalizações e plug-ins de chat. Essa política também inclui permissões para criar e configurar chaves do KMS gerenciadas pelo cliente. 

Há algumas tarefas do Amazon Q Developer Pro que os administradores devem realizar pelo console do Amazon Q (em vez do console do Amazon Q Developer). Para obter mais informações, consulte [Permitir que administradores usem o console do Amazon Q](#q-admin-setup-admin-users-sub).

**nota**  
Para criar personalizações ou plug-ins, seu administrador do Amazon Q Developer Pro precisará de permissões adicionais.   
Para obter as permissões necessárias para personalizações, consulte a seção Pré-requisitos para personalizações.
Para ver as permissões necessárias para plug-ins, consulte[Permitir que administradores configurem plug-ins](#id-based-policy-examples-admin-plugins).

Você precisará de uma das duas políticas para usar o console do Amazon Q Developer. A política de que você precisa depende se você está configurando o Amazon Q Developer pela primeira vez ou se está configurando um CodeWhisperer perfil antigo da Amazon. 

**nota**  
O prefixo `codewhisperer` é um nome antigo de um serviço que foi fundido com o Amazon Q Developer. Para obter mais informações, consulte [Renomeação Amazon Q Developer: Resumo das alterações](service-rename.md). 

Para novos administradores do Amazon Q Developer, use a seguinte política: 

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sso:ListInstances",
        "sso:CreateInstance",
        "sso:CreateApplication",
        "sso:PutApplicationAuthenticationMethod",
        "sso:PutApplicationGrant",
        "sso:PutApplicationAssignmentConfiguration",
        "sso:ListApplications",
        "sso:GetSharedSsoConfiguration",
        "sso:DescribeInstance",
        "sso:PutApplicationAccessScope",
        "sso:DescribeApplication",
        "sso:DeleteApplication",
        "sso:CreateApplicationAssignment",
        "sso:DeleteApplicationAssignment",
        "sso:UpdateApplication",
        "sso:DescribeRegisteredRegions",
        "sso:GetSSOStatus"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:ListRoles"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "identitystore:DescribeUser"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "sso-directory:GetUserPoolInfo",
        "sso-directory:DescribeUsers",
        "sso-directory:DescribeGroups",
        "sso-directory:SearchGroups",
        "sso-directory:SearchUsers",
        "sso-directory:DescribeDirectory"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "signin:ListTrustedIdentityPropagationApplicationsForConsole",
        "signin:CreateTrustedIdentityPropagationApplicationForConsole"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "user-subscriptions:ListClaims",
        "user-subscriptions:ListApplicationClaims",
        "user-subscriptions:ListUserSubscriptions",
        "user-subscriptions:CreateClaim",
        "user-subscriptions:DeleteClaim",
        "user-subscriptions:UpdateClaim"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "organizations:DescribeAccount",
        "organizations:DescribeOrganization",
        "organizations:ListAWSServiceAccessForOrganization",
        "organizations:DisableAWSServiceAccess",
        "organizations:EnableAWSServiceAccess"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "kms:ListAliases",
        "kms:CreateGrant",
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:GenerateDataKey*",
        "kms:RetireGrant",
        "kms:DescribeKey"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "codeguru-security:UpdateAccountConfiguration"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:CreateServiceLinkedRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/aws-service-role/q.amazonaws.com/AWSServiceRoleForAmazonQDeveloper"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "codewhisperer:UpdateProfile",
        "codewhisperer:ListProfiles",
        "codewhisperer:TagResource",
        "codewhisperer:UnTagResource",
        "codewhisperer:ListTagsForResource",
        "codewhisperer:CreateProfile"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "q:ListDashboardMetrics", 
        "q:CreateAssignment", 
        "q:DeleteAssignment"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:GetMetricData", 
        "cloudwatch:ListMetrics"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

Para CodeWhisperer perfis legados da Amazon, a política a seguir permitirá que um diretor do IAM administre um CodeWhisperer aplicativo.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sso-directory:SearchUsers",
        "sso-directory:SearchGroups",
        "sso-directory:GetUserPoolInfo",
        "sso-directory:DescribeDirectory",
        "sso-directory:ListMembersInGroup"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:ListRoles"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "pricing:GetProducts"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "sso:AssociateProfile",
        "sso:DisassociateProfile",
        "sso:GetProfile",
        "sso:ListProfiles",
        "sso:ListApplicationInstances",
        "sso:GetApplicationInstance",
        "sso:CreateManagedApplicationInstance",
        "sso:GetManagedApplicationInstance",
        "sso:ListProfileAssociations",
        "sso:GetSharedSsoConfiguration",
        "sso:ListDirectoryAssociations",
        "sso:DescribeRegisteredRegions",
        "sso:GetSsoConfiguration",
        "sso:GetSSOStatus"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "identitystore:ListUsers",
        "identitystore:ListGroups"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "organizations:DescribeAccount",
        "organizations:DescribeOrganization"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "kms:ListAliases",
        "kms:CreateGrant",
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:GenerateDataKey*",
        "kms:RetireGrant",
        "kms:DescribeKey"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "codeguru-security:UpdateAccountConfiguration"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:CreateServiceLinkedRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/aws-service-role/q.amazonaws.com/AWSServiceRoleForAmazonQDeveloper"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "codewhisperer:UpdateProfile",
        "codewhisperer:ListProfiles",
        "codewhisperer:TagResource",
        "codewhisperer:UnTagResource",
        "codewhisperer:ListTagsForResource",
        "codewhisperer:CreateProfile"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "q:ListDashboardMetrics",
        "cloudwatch:GetMetricData",
        "cloudwatch:ListMetrics"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

## Permita que os administradores criem personalizações
<a name="id-based-policy-examples-allow-customizations"></a>

A política a seguir concede aos administradores permissão para criar e gerenciar personalizações no Amazon Q Developer. 

Para configurar personalizações no console do Amazon Q Developer, seu administrador do Amazon Q Developer precisará acessar o console do Amazon Q Developer. Para obter mais informações, consulte [Permitir que administradores usem o console do Amazon Q Developer](#q-admin-setup-admin-users).

**nota**  
Na política a seguir, o serviço do IAM reportará erros nas permissões `codeconnections:ListOwners` e `codeconnections:ListRepositories`. De qualquer forma, crie a política com essas permissões. As permissões são necessárias e a política funcionará apesar dos erros.

**nota**  
O prefixo `codewhisperer` é um nome antigo de um serviço que foi fundido com o Amazon Q Developer. Para obter mais informações, consulte [Renomeação Amazon Q Developer: Resumo das alterações](service-rename.md). 

No exemplo a seguir, *account number* substitua pelo número AWS da sua conta.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sso-directory:DescribeUsers"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:CreateGrant"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "codewhisperer:CreateCustomization",
                "codewhisperer:DeleteCustomization",
                "codewhisperer:ListCustomizations",
                "codewhisperer:ListCustomizationVersions",
                "codewhisperer:UpdateCustomization",
                "codewhisperer:GetCustomization",
                "codewhisperer:ListCustomizationPermissions",
                "codewhisperer:AssociateCustomizationPermission",
                "codewhisperer:DisassociateCustomizationPermission"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "codeconnections:ListOwners",
                "codeconnections:ListRepositories",
                "codeconnections:ListConnections",
                "codeconnections:GetConnection"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "codeconnections:UseConnection",
            "Resource": [
                "*"
            ],
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "codeconnections:ProviderAction": [
                        "GitPull",
                        "ListRepositories",
                        "ListOwners"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject*",
                "s3:GetBucket*",
                "s3:ListBucket*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

## Permitir que administradores configurem plug-ins
<a name="id-based-policy-examples-admin-plugins"></a>

A política de exemplo a seguir concede permissões aos administradores para visualizar e configurar plug-ins de terceiros no console do Amazon Q Developer. 

**nota**  
Para acessar o console do Amazon Q Developer, os administradores também precisam das permissões definidas em [Permitir que administradores usem o console do Amazon Q Developer](#q-admin-setup-admin-users).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "q:CreatePlugin",
        "q:GetPlugin",
        "q:DeletePlugin",
        "q:ListPlugins",
        "q:ListPluginProviders",
        "q:UpdatePlugin",
        "q:CreateAuthGrant",
        "q:CreateOAuthAppConnection",
        "q:SendEvent",
        "q:UpdateAuthGrant",
        "q:UpdateOAuthAppConnection",
        "q:UpdatePlugin",
        "iam:CreateRole",
        "secretsmanager:CreateSecret"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": [
            "q.amazonaws.com"
          ]
        }
      }
    }
  ]
}
```

------

## Permitir que administradores configurem plug-ins de um provedor
<a name="id-based-policy-examples-admin-plugins-one-provider"></a>

A política de exemplo a seguir concede a um administrador permissão para configurar plug-ins de um provedor especificado pelo ARN do plug-in com o nome do provedor e um caractere curinga (`*`). Para usar essa política, substitua os seguintes campos no ARN no campo Resource:
+ *AWS-region*— O Região da AWS local onde o plugin será criado.
+ *AWS-account-ID*— O ID da AWS conta em que seu plug-in está configurado.
+ *plugin-provider*— O nome do provedor de plug-in para o qual você deseja permitir a configuração`CloudZero`, como`Datadog`, ou`Wiz`. O campo do provedor do plug-in diferencia maiúsculas de minúsculas.

**nota**  
Para acessar o console do Amazon Q Developer, os administradores também precisam das permissões definidas em [Permitir que administradores usem o console do Amazon Q Developer](#q-admin-setup-admin-users).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCreateProviderPlugin",
            "Effect": "Allow",
            "Action": [
                "q:CreatePlugin",
                "q:GetPlugin",
                "q:DeletePlugin"
            ],
            "Resource": "arn:aws:qdeveloper:us-east-1:111122223333:plugin/plugin-provider/*"
        }
    ]
}
```

------

## Permitir a migração de mais de uma rede ou mais de uma sub-rede
<a name="id-based-policy-examples-ezrc"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "MGNNetworkMigrationAnalyzerEC2ResourceSgTag",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateSecurityGroup"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:vpc/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
                }
            }
        },
        {
            "Sid": "MGNNetworkMigrationAnalyzerEC2RequestSgTag",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateSecurityGroup"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:security-group/*",
                "arn:aws:ec2:us-east-1:111122223333:security-group-rule/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/CreatedBy": "AWSApplicationMigrationService"
                }
            }
        },

        {
            "Sid": "MGNNetworkMigrationAnalyzerEC2SecurityGroupTags",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:security-group/*",
                "arn:aws:ec2:us-east-1:111122223333:security-group-rule/*",
                "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
                "arn:aws:ec2:us-east-1:111122223333:network-insights-path/*",
                "arn:aws:ec2:us-east-1:111122223333:network-insights-analysis/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
                    "ec2:CreateAction": [
                        "CreateSecurityGroup",
                        "CreateNetworkInterface",
                        "CreateNetworkInsightsPath",
                        "StartNetworkInsightsAnalysis"
                    ]
                }
            }
        },
        {
            "Sid": "MGNNetworkMigrationAnalyzerENIResourceTag",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:subnet/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
                }
            }
        },
        {
            "Sid": "MGNNetworkMigrationAnalyzerENISG",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:security-group/*"
            ]
        },
        {
            "Sid": "MGNNetworkMigrationAnalyzerEC2ResourceTag",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInsightsPath"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
                }
            }
        },
        {
            "Sid": "MGNNetworkMigAnalyzerEC2RequestTag",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:CreateNetworkInsightsPath",
                "ec2:StartNetworkInsightsAnalysis"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/CreatedBy": "AWSApplicationMigrationService"
                }
            }
        },
        {
            "Sid": "MGNNetworkMigrationAnalyzeNetwork",
            "Effect": "Allow",
            "Action": [
                "ec2:StartNetworkInsightsAnalysis"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

# Permissões de usuário
<a name="id-based-policy-examples-users"></a>

As políticas a seguir permitem que os usuários acessem recursos do Amazon Q Developer em AWS aplicativos e sites Console de gerenciamento da AWS AWS Console Mobile Application, incluindo o AWS Documentation site, e.

Para políticas que permitem o acesso administrativo ao Amazon Q Developer, consulte [Permissões de administrador](id-based-policy-examples-admins.md). 

**nota**  
Os usuários que acessam [o Amazon Q no IDE](q-in-IDE.md) ou o [Amazon Q na linha de comando](command-line.md) não precisam de permissões do IAM. 

## Permita que os usuários acessem o Amazon Q com uma assinatura do Amazon Q Developer Pro
<a name="id-based-policy-examples-allow-subs-access"></a>

O exemplo de política a seguir concede permissão para usar o Amazon Q com uma assinatura do Amazon Q Developer Pro. Sem essas permissões, os usuários só podem acessar o nível gratuito do Amazon Q. Para conversar com o Amazon Q ou usar outros atributos do Amazon Q, os usuários precisam de permissões adicionais, como as concedidas pelas políticas de exemplo nesta seção.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowGetIdentity",
            "Effect": "Allow",
            "Action": [
                "q:GetIdentityMetaData"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowSetTrustedIdentity",
            "Effect": "Allow",
            "Action": [
                "sts:SetContext"
            ],
            "Resource": "arn:aws:sts::*:self"
        }
    ]
}
```

------

## Permitir o acesso do Amazon Q às chaves gerenciadas pelo cliente
<a name="id-based-policy-examples-allow-q-access-encryption"></a>

A política de exemplo a seguir concede aos usuários permissões para acessar recursos criptografados com uma chave gerenciada pelo cliente, permitindo que o Amazon Q acesse a chave. Essa política é necessária para usar o Amazon Q se um administrador tiver configurado uma chave gerenciada pelo cliente para criptografia.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "QKMSDecryptGenerateDataKeyPermissions",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:GenerateDataKeyWithoutPlaintext",
                "kms:ReEncryptFrom",
                "kms:ReEncryptTo"
            ],
            "Resource": [
            "arn:aws:kms:us-east-1:111122223333:key/key_id"
            ],
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                    "q.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## Permitir que os usuários tenham conversas com o Amazon Q
<a name="id-based-policy-examples-allow-chat"></a>

A política do exemplo a seguir concede permissões para conversas com o Amazon Q no console.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAmazonQConversationAccess",
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Permita que os usuários usem o Amazon Q CLI com AWS CloudShell
<a name="id-based-policy-examples-allow-cli-cloudshell"></a>

O exemplo de política a seguir concede permissões para usar o Amazon Q CLI com. AWS CloudShell

**nota**  
O prefixo `codewhisperer` é um nome antigo de um serviço que foi fundido com o Amazon Q Developer. Para obter mais informações, consulte [Renomeação Amazon Q Developer: Resumo das alterações](service-rename.md). 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codewhisperer:GenerateRecommendations",
                "codewhisperer:ListCustomizations"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "q:StartConversation",
                "q:SendMessage"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Permitir que os usuários executem transformações na linha de comandos
<a name="id-based-policy-examples-allow-cli-transformations"></a>

O exemplo de política a seguir concede permissões para transformar código com a [ferramenta de linha de comando Amazon Q para transformações](transform-CLI.md). Essa política não afeta o acesso ao [Amazon Q na linha de comando](command-line.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
              "qdeveloper:StartAgentSession",
              "qdeveloper:ImportArtifact",
              "qdeveloper:ExportArtifact",
              "qdeveloper:TransformCode"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Permitir que os usuários façam o diagnóstico de erros do console com o Amazon Q
<a name="id-based-policy-examples-allow-error-diagnosing"></a>

A política do exemplo a seguir concede permissões para diagnosticar erros do console com o Amazon Q.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAmazonQTroubleshooting",
      "Effect": "Allow",
      "Action": [
        "q:StartTroubleshootingAnalysis",
        "q:GetTroubleshootingResults",
        "q:StartTroubleshootingResolutionExplanation",
        "q:UpdateTroubleshootingCommandResult",
        "q:PassRequest",
        "cloudformation:GetResource"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Permitir que os usuários gerem código a partir de comandos da CLI com o Amazon Q
<a name="id-based-policy-examples-allow-console-to-code"></a>

O exemplo de política a seguir concede permissões para gerar código a partir de comandos CLI gravados com o Amazon Q, o que permite o uso do Console-to-Code recurso.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
         "Sid": "AllowAmazonQConsoleToCode",
         "Effect": "Allow",
         "Action": "q:GenerateCodeFromCommands",
         "Resource": "*"
       }
   ]
}
```

------

## Permitir que os usuários tenham conversas sobre recursos com o Amazon Q
<a name="id-based-policy-examples-allow-resource-chat"></a>

A política de exemplo a seguir concede permissão para conversar com o Amazon Q sobre recursos e permite que o Amazon Q recupere informações sobre recursos em seu nome. O Amazon Q só tem permissão para acessar recursos aos quais sua identidade do IAM tem permissão. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAmazonQPassRequest",
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation",
        "q:PassRequest"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowCloudControlReadAccess",
      "Effect": "Allow",
      "Action": [
         "cloudformation:GetResource",
         "cloudformation:ListResources"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Permitir que o Amazon Q execute ações em seu nome no bate-papo
<a name="id-based-policy-examples-allow-actions"></a>

O exemplo de política a seguir concede permissão para conversar com o Amazon Q e permite que o Amazon Q execute ações em seu nome. O Amazon Q só tem permissão para realizar ações que sua identidade do IAM tem permissão para realizar. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAmazonQPassRequest",
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation",
        "q:PassRequest"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Permitir que o Amazon Q acesse dados de custos e forneça recomendações de otimização de custos
<a name="id-based-policy-examples-allow-cost-chat"></a>

A política de exemplo a seguir concede permissão para conversar com o Amazon Q sobre seus custos e permite que o Amazon Q acesse seus dados de custos e forneça recomendações de análise e otimização. Essa política inclui permissões para o AWS Cost Explorer, AWS Cost Optimization Hub, AWS Compute Optimizer, AWS Budgets, AWS Free Tier, AWS Pricing e Savings Plans e recomendações de reservas.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAmazonQChatAndPassRequest",
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation",
        "q:PassRequest"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowCostExplorerAccess",
      "Effect": "Allow",
      "Action": [
        "ce:GetCostAndUsage",
        "ce:GetCostAndUsageWithResources",
        "ce:GetCostForecast",
        "ce:GetUsageForecast",
        "ce:GetTags",
        "ce:GetCostCategories",
        "ce:GetDimensionValues",
        "ce:GetSavingsPlansUtilization",
        "ce:GetSavingsPlansCoverage",
        "ce:GetSavingsPlansUtilizationDetails",
        "ce:GetReservationUtilization",
        "ce:GetReservationCoverage",
        "ce:GetSavingsPlansPurchaseRecommendation",
        "ce:GetReservationPurchaseRecommendation",
        "ce:GetRightsizingRecommendation",
        "ce:GetAnomalies",
       "ce:GetCostAndUsageComparisons",
       "ce:GetCostComparisonDrivers"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowCostOptimizationHubAccess",
      "Effect": "Allow",
      "Action": [
        "cost-optimization-hub:GetRecommendation",
        "cost-optimization-hub:ListRecommendations",
        "cost-optimization-hub:ListRecommendationSummaries"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowComputeOptimizerAccess",
      "Effect": "Allow",
      "Action": [
        "compute-optimizer:GetAutoScalingGroupRecommendations",
        "compute-optimizer:GetEBSVolumeRecommendations",
        "compute-optimizer:GetEC2InstanceRecommendations",
        "compute-optimizer:GetECSServiceRecommendations",
        "compute-optimizer:GetRDSDatabaseRecommendations",
        "compute-optimizer:GetLambdaFunctionRecommendations",
        "compute-optimizer:GetIdleRecommendations",
        "compute-optimizer:GetLicenseRecommendations",
        "compute-optimizer:GetEffectiveRecommendationPreferences"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowBudgetsAccess",
      "Effect": "Allow",
      "Action": [
        "budgets:ViewBudget"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowFreeTierAccess",
      "Effect": "Allow",
      "Action": [
        "freetier:GetFreeTierUsage",
        "freetier:GetAccountPlanState",
        "freetier:ListAccountActivities",
       "freetier:GetAccountActivity"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowPricingAccess",
      "Effect": "Allow",
      "Action": [
        "pricing:GetProducts",
        "pricing:GetAttributeValues",
        "pricing:DescribeServices"
      ],
      "Resource": "*"
   }
  ]
}
```

------

## Negue a permissão do Amazon Q para realizar ações específicas em seu nome
<a name="id-based-policy-examples-deny-some-actions"></a>

O exemplo de política a seguir concede permissão para conversar com o Amazon Q e permite que o Amazon Q execute qualquer ação em seu nome que sua identidade do IAM tenha permissão para realizar, exceto as ações do Amazon EC2. Essa política usa a [chave de condição global `aws:CalledVia`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-calledvia) para especificar que as ações do Amazon EC2 só são negadas quando o Amazon Q as chama. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation",
        "q:PassRequest"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Deny",
      "Action": [
        "ec2:*"
      ],
      "Resource": "*",
      "Condition": {
            "ForAnyValue:StringEquals": {
               "aws:CalledVia": ["q.amazonaws.com"]
            }
       }
    }
  ]
}
```

------

## Permitir que o Amazon Q realize ações específicas em seu nome
<a name="id-based-policy-examples-allow-some-actions"></a>

O exemplo de política a seguir concede permissão para conversar com o Amazon Q e permite que o Amazon Q execute qualquer ação em seu nome que sua identidade do IAM tenha permissão para realizar, com exceção das ações do Amazon EC2. Essa política concede permissão de identidade do IAM para realizar qualquer ação do Amazon EC2, mas só permite que o Amazon Q execute a ação `ec2:describeInstances`. Essa política usa a [chave de condição global `aws:CalledVia`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-calledvia) para especificar que o Amazon Q só tem permissão para fazer chamadas `ec2:describeInstances`, e não qualquer outra ação do Amazon EC2.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation",
        "q:PassRequest"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:*"
      ],
      "Resource": "*",
      "Condition": {
            "ForAnyValue:StringNotEquals": {
               "aws:CalledVia": ["q.amazonaws.com"]
            }
       }
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:describeInstances"
      ],
      "Resource": "*",
       "Condition": {
            "ForAnyValue:StringEquals": {
               "aws:CalledVia": ["q.amazonaws.com"]
            }
       }
    }
  ]
}
```

------

## Permitir ao Amazon Q executar ações em seu nome em regiões específicas
<a name="id-based-policy-examples-allow-actions-some-regions"></a>

O exemplo de política a seguir concede permissão para conversar com o Amazon Q e permite que o Amazon Q faça chamadas somente para as regiões `us-east-1` e `us-west-2` ao realizar ações em seu nome. O Amazon Q não pode fazer chamadas para nenhuma outra região. Para obter mais informações sobre como especificar para quais regiões você pode fazer chamadas, consulte [aws: RequestedRegion](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requestedregion) no *Guia do AWS Identity and Access Management usuário*.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation",
        "q:PassRequest"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
            "aws:RequestedRegion": [ 
                "us-east-1", 
                "us-west-2"
            ] 
        } 
      }
    }
  ]
}
```

------

## Negar permissão ao Amazon Q para realizar ações em seu nome
<a name="id-based-policy-examples-deny-actions"></a>

O exemplo de política a seguir impede que o Amazon Q execute ações em seu nome.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyAmazonQPassRequest",
      "Effect": "Deny",
      "Action": [
        "q:PassRequest"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Permitir que os usuários tenham conversas com plug-ins de um provedor
<a name="id-based-policy-examples-allow-plugin-type"></a>

A política de exemplo a seguir concede permissão para conversar com qualquer plug-in de um determinado provedor que um administrador configurou especificado pelo ARN do plug-in com o nome do provedor e um caractere curinga (`*`). Se o plug-in for excluído e reconfigurado, um usuário com essas permissões reterá o acesso ao plug-in recém-configurado. Para usar essa política, substitua os seguintes campos no ARN no campo `Resource`: 
+ *AWS-region*— O Região da AWS local onde o plugin foi criado.
+ *AWS-account-ID*— O ID da AWS conta em que seu plug-in está configurado.
+ *plugin-provider*— O nome do provedor de plug-in ao qual você deseja permitir acesso, como `CloudZero``Datadog`, ou`Wiz`. O campo do provedor do plug-in diferencia maiúsculas de minúsculas.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAmazonQConversationAccess",
            "Effect": "Allow",
            "Action": [
                "q:StartConversation",
                "q:SendMessage",
                "q:GetConversation",
                "q:ListConversations",
                "q:UpdateConversation",
                "q:DeleteConversation"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowAmazonQPluginAccess",
            "Effect": "Allow",
            "Action": [
                "q:UsePlugin"
            ],
            "Resource": "arn:aws:qdeveloper:us-east-1:111122223333:plugin/plugin-provider/*"
        }
    ]
}
```

------

## Permitir que os usuários tenham conversas com um plug-in específico
<a name="id-based-policy-examples-allow-plugin-arn"></a>

A política de exemplo a seguir concede permissão para conversas com um plug-in específico, especificado pelo ARN do plug-in. Se o plug-in for excluído e reconfigurado, o usuário não terá acesso ao novo plug-in, a menos que o ARN do plug-in seja atualizado nesta política. Para usar essa política, substitua os seguintes campos no ARN no campo `Resource`: 
+ *AWS-region*— O Região da AWS local onde o plugin foi criado.
+ *AWS-account-ID*— O ID da AWS conta em que seu plug-in está configurado.
+ *plugin-provider*— O nome do provedor de plug-in ao qual você deseja permitir acesso, como `CloudZero``Datadog`, ou`Wiz`. O campo do provedor do plug-in diferencia maiúsculas de minúsculas.
+ *plugin-ARN*— O ARN do plugin ao qual você deseja permitir o acesso.

## Negar acesso ao Amazon Q
<a name="id-based-policy-examples-deny"></a>

A política do exemplo a seguir nega todas as permissões para usar o Amazon Q.

**nota**  
Quando você nega o acesso ao Amazon Q, o ícone e o painel de bate-papo do Amazon Q ainda aparecerão no AWS console, no AWS site, nas páginas de AWS documentação ou AWS Console Mobile Application.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyAmazonQFullAccess",
      "Effect": "Deny",
      "Action": [
        "q:*"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Permitir que usuários visualizem suas próprias permissões
<a name="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": "*"
        }
    ]
}
```