

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Usar políticas baseadas em identidade (políticas do IAM) para o Amazon Redshift
<a name="redshift-iam-access-control-identity-based"></a>

Este tópico fornece exemplos de políticas baseadas em identidade em que um administrador de conta pode anexar políticas de permissões a identidades do IAM (ou seja, usuários, grupos e funções). 

**Importante**  
Recomendamos que você primeiro analise os tópicos introdutórios que explicam os conceitos básicos e as opções disponíveis para você gerenciar o acesso aos seus recursos do Amazon Redshift. Para obter mais informações, consulte [Visão geral do gerenciamento de permissões de acesso aos recursos do Amazon Redshift](redshift-iam-access-control-overview.md).

A seguir, um exemplo de uma política de permissões. A política permite que um usuário crie, exclua, modifique e reinicialize todos os clusters, depois nega permissão para excluir ou alterar qualquer cluster cujo identificador de cluster comece com `production` na Região da AWS `us-west-2` e na Conta da AWS `123456789012`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"AllowClusterManagement",
      "Action": [
        "redshift:CreateCluster",
        "redshift:DeleteCluster",
        "redshift:ModifyCluster",
        "redshift:RebootCluster"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid":"DenyDeleteModifyProtected",
      "Action": [
        "redshift:DeleteCluster",
        "redshift:ModifyCluster"
      ],
      "Resource": [
        "arn:aws:redshift:us-west-2:123456789012:cluster:production*"
      ],
      "Effect": "Deny"
    }
  ]
}
```

------

A política tem duas instruções: 
+ A primeira instrução concede permissões para um usuário para criar, excluir, modificar e reinicializar clusters. A instrução especifica um caractere curinga (\$1) como o valor `Resource` para que a política se aplique a todos os recursos do Amazon Redshift de propriedade da conta da AWS raiz. 
+ A segunda instrução nega a permissão para excluir ou modificar um cluster. A instrução especifica um nome de recurso da Amazon (ARN) do cluster para o valor `Resource` que inclui um caractere curinga (\$1). Como resultado, esta declaração se aplica a todos os clusters do Amazon Redshift pertencentes à conta da AWS raiz com o qual o identificador de cluster começa com `production`.

## Políticas gerenciadas pela AWS para o Amazon Redshift
<a name="redshift-policy-resources.managed-policies"></a>

AWS A aborda muitos casos de uso comuns fornecendo políticas autônomas do IAM que são criadas e administradas pela AWS. As políticas gerenciadas concedem permissões necessárias para casos de uso comuns, de maneira que você possa evitar a necessidade de investigar quais permissões são necessárias. Para obter mais informações, consulte [Políticas gerenciadas pela AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) no *Manual do usuário do IAM*.

Você também pode criar suas próprias políticas do IAM personalizadas para conceder permissões para operações e recursos da API do Amazon Redshift. É possível anexar essas políticas personalizadas a grupos ou perfis do IAM que exijam essas permissões. 

As seguintes seções descrevem políticas gerenciadas pela AWS, que podem ser anexadas aos usuários de sua conta e são específicas do Amazon Redshift.

## Atualizações do Amazon Redshift para políticas gerenciadas pela AWS
<a name="security-iam-awsmanpol-updates"></a>



Visualize detalhes sobre atualizações de políticas gerenciadas pela AWS para Amazon Redshift desde que este serviço começou a rastrear essas mudanças. Para alertas automáticos sobre mudanças nesta página, assine o RSS feed na página de histórico de documentos do Amazon Redshift.




| Alteração | Descrição | Data | 
| --- | --- | --- | 
|  [AmazonRedshiftFederatedAuthorization](#redshift-policy-managed-policies-federated-authorization) – Nova política  |   O Amazon Redshift adicionou uma nova política de facilidade de uso para executar consultas com a autorização federada do Amazon Redshift.   | 21 de novembro de 2025 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) – atualização para uma política existente  |   Adicionada a permissão para a ação `lakeformation:GetDataAccess` à política gerenciada. Com essa permissão, é possível ter informações do catálogo federado do AWS Lake Formation.  Outras condições para as ações `glue:GetCatalog` e `glue:GetCatalogs` são adicionadas à política gerenciada.   | 13 de março de 2025 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) – atualização para uma política existente  |   Adicionada a permissão para as ações `glue:GetCatalog` e `glue:GetCatalogs` à política gerenciada. Com essa permissão, é possível obter informações do catálogo do AWS Glue.  | 3 de dezembro de 2024 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) – atualização para uma política existente  |  Adicionada a permissão para a ação `servicequotas:GetServiceQuota` à política gerenciada. Com essa permissão, é possível acessar cotas ou limites.  | 8 de março de 2024 | 
|  [AmazonRedshiftQueryEditorV2FullAccess](#redshift-policy-managed-policies-query-editor-V2) – atualização para uma política existente  |  Adicionada a permissão para as ações `redshift-serverless:ListNamespaces` e `redshift-serverless:ListWorkgroups` à política gerenciada. Adicioná-las concede permissão para listar namespaces e grupos de trabalho sem servidor no data warehouse do Amazon Redshift.  | 21 de fevereiro de 2024 | 
|  [AmazonRedshiftQueryEditorV2NoSharing](#redshift-policy-managed-policies-query-editor-V2-no-sharing) – atualização para uma política existente  |  Adicionada a permissão para as ações `redshift-serverless:ListNamespaces` e `redshift-serverless:ListWorkgroups` à política gerenciada. Adicioná-las concede permissão para listar namespaces e grupos de trabalho sem servidor no data warehouse do Amazon Redshift.  | 21 de fevereiro de 2024 | 
|  [AmazonRedshiftQueryEditorV2ReadSharing](#redshift-policy-managed-policies-query-editor-V2-read-sharing) – atualização para uma política existente  |  Adicionada a permissão para as ações `redshift-serverless:ListNamespaces` e `redshift-serverless:ListWorkgroups` à política gerenciada. Adicioná-las concede permissão para listar namespaces e grupos de trabalho sem servidor no data warehouse do Amazon Redshift.  | 21 de fevereiro de 2024 | 
|  [AmazonRedshiftQueryEditorV2ReadWriteSharing](#redshift-policy-managed-policies-query-editor-V2-write-sharing) – atualização para uma política existente  |  Adicionada a permissão para as ações `redshift-serverless:ListNamespaces` e `redshift-serverless:ListWorkgroups` à política gerenciada. Adicioná-las concede permissão para listar namespaces e grupos de trabalho sem servidor no data warehouse do Amazon Redshift.  | 21 de fevereiro de 2024 | 
|  [AmazonRedshiftReadOnlyAccess](#redshift-policy-managed-policies-read-only) – atualização para uma política existente  |  Adicionada a permissão para a ação `redshift:ListRecommendations` à política gerenciada. Isso concede permissão para listar as recomendações do Amazon Redshift Advisor.  | 7 de fevereiro de 2024 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) – atualização para uma política existente  |  Adicionada a permissão para as ações `ec2:AssignIpv6Addresses` e `ec2:UnassignIpv6Addresses` à política gerenciada. Adicioná-los concede permissão para atribuir e desatribuir endereços IP.  | 31 de outubro de 2023 | 
|  [AmazonRedshiftQueryEditorV2NoSharing](#redshift-policy-managed-policies-query-editor-V2-no-sharing) – atualização para uma política existente  |  Adicionada a permissão para as ações `sqlworkbench:GetAutocompletionMetadata` e `sqlworkbench:GetAutocompletionResource` à política gerenciada. Adicioná-los concede permissão para gerar e recuperar informações do banco de dados para preenchimento automático de SQL durante a edição de consultas.  | 16 de agosto de 2023 | 
|  [AmazonRedshiftQueryEditorV2ReadSharing](#redshift-policy-managed-policies-query-editor-V2-read-sharing) – atualização para uma política existente  |  Adicionada a permissão para as ações `sqlworkbench:GetAutocompletionMetadata` e `sqlworkbench:GetAutocompletionResource` à política gerenciada. Adicioná-los concede permissão para gerar e recuperar informações do banco de dados para preenchimento automático de SQL durante a edição de consultas.  | 16 de agosto de 2023 | 
|  [AmazonRedshiftQueryEditorV2ReadWriteSharing](#redshift-policy-managed-policies-query-editor-V2-write-sharing) – atualização para uma política existente  |  Adicionada a permissão para as ações `sqlworkbench:GetAutocompletionMetadata` e `sqlworkbench:GetAutocompletionResource` à política gerenciada. Adicioná-los concede permissão para gerar e recuperar informações do banco de dados para preenchimento automático de SQL durante a edição de consultas.  | 16 de agosto de 2023 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) – atualização para uma política existente  |  As permissões para ações no AWS Secrets Manager a fim de criar e gerenciar segredos são adicionadas à política gerenciada. As permissões adicionadas são as seguintes: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html)  | 14 de agosto de 2023 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) – atualização para uma política existente  |  Permissões para ações no Amazon EC2 para criar e gerenciar grupos de segurança e regras de roteamento são removidas da política gerenciada. Essas permissões se referiam à criação de sub-redes e VPCs. As permissões removidas são as seguintes: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) Elas foram associadas à tag de recurso Purpose:RedshiftMigrateToVpc. A tag limitou o escopo das permissões para tarefas de migração do Amazon EC2 Classic para a VPC do Amazon EC2. Para obter mais informações sobre etiquetas de recursos, consulte [Controle de acesso aos recursos da AWS usando etiquetas de recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html).  | 8 de maio de 2023 | 
|  [AmazonRedshiftDataFullAccess](#redshift-policy-managed-policies-data-full-access) – atualização para uma política existente  |  Adicionada a permissão para a ação `redshift:GetClusterCredentialsWithIAM` à política gerenciada. Essa adição concede permissão para obter credenciais temporárias avançadas para acessar um banco de dados do Amazon Redshift pela Conta da AWS especificada.  | 7 de abril de 2023 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) – atualização para uma política existente  |  Permissões para ações no Amazon EC2 para criação e gerenciamento de regras de grupos de segurança são adicionadas à política gerenciada. Essas regras e grupos de segurança estão especificamente associados à etiqueta de recurso `aws:RequestTag/Redshift` do Amazon Redshift. Isso limita o escopo das permissões para recursos específicos do Amazon Redshift.  | 6 de abril de 2023 | 
|  [AmazonRedshiftQueryEditorV2NoSharing](#redshift-policy-managed-policies-query-editor-V2-no-sharing) – atualização para uma política existente  |  Adicionada a permissão para a ação `sqlworkbench:GetSchemaInference` à política gerenciada. Essa adição concede permissão para obter as colunas e os tipos de dados inferidos de um arquivo.  | 21 de março de 2023 | 
|  [AmazonRedshiftQueryEditorV2ReadSharing](#redshift-policy-managed-policies-query-editor-V2-read-sharing) – atualização para uma política existente  |  Adicionada a permissão para a ação `sqlworkbench:GetSchemaInference` à política gerenciada. Essa adição concede permissão para obter as colunas e os tipos de dados inferidos de um arquivo.  | 21 de março de 2023 | 
|  [AmazonRedshiftQueryEditorV2ReadWriteSharing](#redshift-policy-managed-policies-query-editor-V2-write-sharing) – atualização para uma política existente  |  Adicionada a permissão para a ação `sqlworkbench:GetSchemaInference` à política gerenciada. Essa adição concede permissão para obter as colunas e os tipos de dados inferidos de um arquivo.  | 21 de março de 2023 | 
|  [AmazonRedshiftQueryEditorV2NoSharing](#redshift-policy-managed-policies-query-editor-V2-no-sharing) – atualização para uma política existente  |  Adicionada a permissão para a ação `sqlworkbench:AssociateNotebookWithTab` à política gerenciada. Adicioná-lo concede permissão para criar e atualizar guias vinculadas ao próprio caderno de um usuário.  | 2 de fevereiro de 2023 | 
|  [AmazonRedshiftQueryEditorV2ReadSharing](#redshift-policy-managed-policies-query-editor-V2-read-sharing) – atualização para uma política existente  |  Adicionada a permissão para a ação `sqlworkbench:AssociateNotebookWithTab` à política gerenciada. Adicioná-lo concede permissão para criar e atualizar guias vinculadas ao próprio caderno de um usuário ou a um caderno compartilhado com ele.  | 2 de fevereiro de 2023 | 
|  [AmazonRedshiftQueryEditorV2ReadWriteSharing](#redshift-policy-managed-policies-query-editor-V2-write-sharing) – atualização para uma política existente  |  Adicionada a permissão para a ação `sqlworkbench:AssociateNotebookWithTab` à política gerenciada. Adicioná-lo concede permissão para criar e atualizar guias vinculadas ao próprio caderno de um usuário ou a um caderno compartilhado com ele.  | 2 de fevereiro de 2023 | 
|  [AmazonRedshiftQueryEditorV2NoSharing](#redshift-policy-managed-policies-query-editor-V2-no-sharing) – atualização para uma política existente  |  Para conceder permissão para usar blocos de anotações, o Amazon Redshift adicionou permissão para as seguintes ações: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html)  | 17 de outubro de 2022 | 
|  [AmazonRedshiftQueryEditorV2ReadSharing](#redshift-policy-managed-policies-query-editor-V2-read-sharing) – atualização para uma política existente  |  Para conceder permissão para usar blocos de anotações, o Amazon Redshift adicionou permissão para as seguintes ações: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html)  | 17 de outubro de 2022 | 
|  [AmazonRedshiftQueryEditorV2ReadWriteSharing](#redshift-policy-managed-policies-query-editor-V2-write-sharing) – atualização para uma política existente  |  Para conceder permissão para usar blocos de anotações, o Amazon Redshift adicionou permissão para as seguintes ações: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html)  | 17 de outubro de 2022 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) – atualização para uma política existente  |  O Amazon Redshift adicionou o namespace `AWS/Redshift` para permitir a publicação de métricas no CloudWatch.  | 7 de setembro de 2022 | 
|  [AmazonRedshiftQueryEditorV2NoSharing](#redshift-policy-managed-policies-query-editor-V2-no-sharing) – atualização para uma política existente  |  O Amazon Redshift adicionou permissão às ações `sqlworkbench:ListQueryExecutionHistory` e `sqlworkbench:GetQueryExecutionHistory`. Isso concede permissão para ver o histórico de consultas.  | 30 de agosto de 2022 | 
|  [AmazonRedshiftQueryEditorV2ReadSharing](#redshift-policy-managed-policies-query-editor-V2-read-sharing) – atualização para uma política existente  |  O Amazon Redshift adicionou permissão às ações `sqlworkbench:ListQueryExecutionHistory` e `sqlworkbench:GetQueryExecutionHistory`. Isso concede permissão para ver o histórico de consultas.  | 30 de agosto de 2022 | 
|  [AmazonRedshiftQueryEditorV2ReadWriteSharing](#redshift-policy-managed-policies-query-editor-V2-write-sharing) – atualização para uma política existente  |  O Amazon Redshift adicionou permissão às ações `sqlworkbench:ListQueryExecutionHistory` e `sqlworkbench:GetQueryExecutionHistory`. Isso concede permissão para ver o histórico de consultas.  | 30 de agosto de 2022 | 
|  [AmazonRedshiftFullAccess](#redshift-policy-managed-policies-full-access) – atualização para uma política existente  |  Permissões para o Amazon Redshift Serverless são adicionadas à política gerenciada AmazonRedshiftFullAccess existente.  | 22 de julho de 2022 | 
|  [AmazonRedshiftDataFullAccess](#redshift-policy-managed-policies-data-full-access) – atualização para uma política existente  |  O Amazon Redshift atualizou a condição de escopo padrão redshift-serverless:GetCredentials da permissão da tag aws:ResourceTag/RedshiftDataFullAccess do StringEquals para StringLike para conceder acesso a recursos marcados com chave de tag RedshiftDataFullAccess e qualquer valor da tag.  | 11 de julho de 2022 | 
|  [AmazonRedshiftDataFullAccess](#redshift-policy-managed-policies-data-full-access) – atualização para uma política existente  |  O Amazon Redshift adicionou novas permissões para permitir redshift-serverless:GetCredentials para obter credenciais temporárias do Amazon Redshift Serverless.  | 8 de julho de 2022 | 
|  [AmazonRedshiftQueryEditorV2NoSharing](#redshift-policy-managed-policies-query-editor-V2-no-sharing) – atualização para uma política existente  |  O Amazon Redshift adicionou permissão à ação `sqlworkbench:GetAccountSettings`. Essa ação concede permissão para obter configurações da conta.  | 15 de junho de 2022 | 
|  [AmazonRedshiftQueryEditorV2ReadSharing](#redshift-policy-managed-policies-query-editor-V2-read-sharing) – atualização para uma política existente  |  O Amazon Redshift adicionou permissão à ação `sqlworkbench:GetAccountSettings`. Essa ação concede permissão para obter configurações da conta.  | 15 de junho de 2022 | 
|  [AmazonRedshiftQueryEditorV2ReadWriteSharing](#redshift-policy-managed-policies-query-editor-V2-write-sharing) – atualização para uma política existente  |  O Amazon Redshift adicionou permissão à ação `sqlworkbench:GetAccountSettings`. Essa ação concede permissão para obter configurações da conta.  | 15 de junho de 2022 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) – atualização para uma política existente  |  Para habilitar o acesso público a novos endpoints do Amazon Redshift Serverless, o Amazon Redshift aloca e associa endereços IP elásticos à interface de rede elástica do endpoint da VPC na conta do cliente. Ele faz isso por meio de permissões fornecidas por meio da função vinculada ao serviço. Para habilitar esse caso de uso, são adicionadas ações para alocar e liberar um endereço IP elástico à função vinculada ao serviço do Amazon Redshift Serverless.   | 26 de maio de 2022 | 
|  [AmazonRedshiftQueryEditorV2FullAccess](#redshift-policy-managed-policies-query-editor-V2) – atualização para uma política existente  |  Permissões para a ação `sqlworkbench:ListTaggedResources`. Ela tem o escopo específico para os recursos do editor de consultas v2 do Amazon Redshift. Esta atualização de política concede o direito de chamar `tag:GetResources` somente por meio do editor de consultas v2.  | 22 de fevereiro de 2022 | 
|  [AmazonRedshiftQueryEditorV2NoSharing](#redshift-policy-managed-policies-query-editor-V2-no-sharing) – atualização para uma política existente  |  Permissões para a ação `sqlworkbench:ListTaggedResources`. Ela tem o escopo específico para os recursos do editor de consultas v2 do Amazon Redshift. Esta atualização de política concede o direito de chamar `tag:GetResources` somente por meio do editor de consultas v2.  | 22 de fevereiro de 2022 | 
|  [AmazonRedshiftQueryEditorV2ReadSharing](#redshift-policy-managed-policies-query-editor-V2-read-sharing) – atualização para uma política existente  |  Permissões para a ação `sqlworkbench:ListTaggedResources`. Ela tem o escopo específico para os recursos do editor de consultas v2 do Amazon Redshift. Esta atualização de política concede o direito de chamar `tag:GetResources` somente por meio do editor de consultas v2.  | 22 de fevereiro de 2022 | 
|  [AmazonRedshiftQueryEditorV2ReadWriteSharing](#redshift-policy-managed-policies-query-editor-V2-write-sharing) – atualização para uma política existente  |  Permissões para a ação `sqlworkbench:ListTaggedResources`. Ela tem o escopo específico para os recursos do editor de consultas v2 do Amazon Redshift. Esta atualização de política concede o direito de chamar `tag:GetResources` somente por meio do editor de consultas v2.  | 22 de fevereiro de 2022 | 
|  [AmazonRedshiftQueryEditorV2ReadSharing](#redshift-policy-managed-policies-query-editor-V2-read-sharing) – atualização para uma política existente  |  Adicionada a permissão para a ação `sqlworkbench:AssociateQueryWithTab` à política gerenciada. Adicioná-la permite que os clientes criem guias do editor vinculadas a uma consulta compartilhada com eles.  | 22 de fevereiro de 2022 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) – atualização para uma política existente  |  O Amazon Redshift adicionou permissões para novas ações para permitir o gerenciamento de recursos de rede e VPC do Amazon Redshift.  | 22 de novembro de 2021 | 
|  [AmazonRedshiftAllCommandsFullAccess](#redshift-policy-managed-policies-service-linked-role-commands) – Nova política  |  O Amazon RedShift adicionou uma nova política para permitir usar a função do IAM criada a partir do console do Amazon Redshift e defini-la como padrão para que o cluster execute os comandos COPY do Amazon S3, UNLOAD, CREATE EXTERNAL SCHEMA, CREATE EXTERNAL FUNCTION, CREATE MODEL ou CREATE LIBRARY.  | 18 de novembro de 2021 | 
|  [AmazonRedshiftServiceLinkedRolePolicy](#redshift-policy-managed-policies-service-linked-role-policy) – atualização para uma política existente  |  O Amazon Redshift adicionou permissões para novas ações para permitir o gerenciamento de grupos de log e fluxos de log do CloudWatch do Amazon Redshift, inclusive exportação de log de auditoria.  | 15 de novembro de 2021 | 
|  [AmazonRedshiftFullAccess](#redshift-policy-managed-policies-full-access) – atualização para uma política existente  |  O Amazon Redshift adicionou novas permissões para permitir explicabilidade do modelo, DynamoDB, Redshift Spectrum e federação do Amazon RDS.  | 07 de outubro de 2021 | 
|  [AmazonRedshiftQueryEditorV2FullAccess](#redshift-policy-managed-policies-query-editor-V2) – Nova política  |  O Amazon Redshift adicionou uma nova política para permitir acesso total ao editor de consultas v2 do Amazon Redshift.  | 24 de setembro de 2021 | 
|  [AmazonRedshiftQueryEditorV2NoSharing](#redshift-policy-managed-policies-query-editor-V2-no-sharing) – Nova política  |  O Amazon Redshift adicionou uma nova política para permitir o uso do editor de consultas v2 do Amazon Redshift sem compartilhar recursos.  | 24 de setembro de 2021 | 
|  [AmazonRedshiftQueryEditorV2ReadSharing](#redshift-policy-managed-policies-query-editor-V2-read-sharing) – Nova política  |  O Amazon Redshift adicionou uma nova política para permitir o compartilhamento de leitura no editor de consultas v2 do Amazon Redshift.  | 24 de setembro de 2021 | 
|  [AmazonRedshiftQueryEditorV2ReadWriteSharing](#redshift-policy-managed-policies-query-editor-V2-write-sharing) – Nova política  |  O Amazon Redshift adicionou uma nova política para permitir o compartilhamento de leitura e atualização no editor de consultas v2 do Amazon Redshift.  | 24 de setembro de 2021 | 
|  [AmazonRedshiftFullAccess](#redshift-policy-managed-policies-full-access) – atualização para uma política existente  |  O Amazon Redshift adicionou novas permissões para permitir `sagemaker:*Job*`.  | 18 de agosto de 2021 | 
|  [AmazonRedshiftDataFullAccess](#redshift-policy-managed-policies-data-full-access) – atualização para uma política existente  |  O Amazon Redshift adicionou novas permissões para permitir `AuthorizeDataShare`.  | 12 de agosto de 2021 | 
|  [AmazonRedshiftDataFullAccess](#redshift-policy-managed-policies-data-full-access) – atualização para uma política existente  |  O Amazon Redshift adicionou novas permissões para permitir `BatchExecuteStatement`.  | 27 de julho de 2021 | 
|  O Amazon Redshift começou a monitorar alterações  |  O Amazon Redshift começou a monitorar alterações para suas políticas gerenciadas pela AWS.  | 27 de julho de 2021 | 

## AmazonRedshiftReadOnlyAccess
<a name="redshift-policy-managed-policies-read-only"></a>

Concede acesso de somente leitura a todos os recursos do Amazon Redshift da conta da AWS.

Você pode encontrar a política [AmazonRedshiftReadOnlyAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftReadOnlyAccess) no console do IAM e a política [AmazonRedshiftReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftReadOnlyAccess.html) no *Guia de referência de políticas gerenciadas pela AWS*.

## AmazonRedshiftFullAccess
<a name="redshift-policy-managed-policies-full-access"></a>

Concede acesso total a todos os recursos do Amazon Redshift da conta da AWS. Além disso, esta política concede acesso completo a todos os recursos do Amazon Redshift Serverless.

Você pode encontrar a política [AmazonRedshiftFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftFullAccess) no console do IAM e a política [AmazonRedshiftFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftFullAccess.html) no *Guia de referência de políticas gerenciadas pela AWS*.

## AmazonRedshiftQueryEditor
<a name="redshift-policy-managed-policies-query-editor"></a>

Concede acesso total ao editor de consultas no console do Amazon Redshift.

Você pode encontrar a política [AmazonRedshiftQueryEditor](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftQueryEditor) no console do IAM e a política [AmazonRedshiftQueryEditor](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftQueryEditor.html) no *Guia de referência de políticas gerenciadas pela AWS*.

## AmazonRedshiftDataFullAccess
<a name="redshift-policy-managed-policies-data-full-access"></a>

Concede acesso total às operações e recursos da API de dados do Amazon Redshift para a conta da AWS. 

Você pode encontrar a política [AmazonRedshiftDataFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftDataFullAccess) no console do IAM e a política [AmazonRedshiftDataFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftDataFullAccess.html) no *Guia de referência de políticas gerenciadas pela AWS*.

## AmazonRedshiftQueryEditorV2FullAccess
<a name="redshift-policy-managed-policies-query-editor-V2"></a>

Concede acesso total às operações e recursos do editor de consultas v2 do Amazon Redshift. Essa política também concede acesso a outros serviços necessários.

Você pode encontrar a política [AmazonRedshiftQueryEditorV2FullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftQueryEditorV2FullAccess) no console do IAM e a política [AmazonRedshiftQueryEditorV2FullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftQueryEditorV2FullAccess.html) no *Guia de referência de políticas gerenciadas pela AWS*.

## AmazonRedshiftQueryEditorV2NoSharing
<a name="redshift-policy-managed-policies-query-editor-V2-no-sharing"></a>

Concede a capacidade de trabalhar com o editor de consultas v2 do Amazon Redshift sem compartilhar recursos. Essa política também concede acesso a outros serviços necessários. A entidade principal que usa essa política não pode etiquetar seus recursos (como consultas) para compartilhá-los com outras entidades principais na mesma Conta da AWS. 

Você pode encontrar a política [AmazonRedshiftQueryEditorV2NoSharing](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftQueryEditorV2NoSharing) no console do IAM e a política [AmazonRedshiftQueryEditorV2NoSharing](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftQueryEditorV2NoSharing.html) no *Guia de referência de políticas gerenciadas pela AWS*.

## AmazonRedshiftQueryEditorV2ReadSharing
<a name="redshift-policy-managed-policies-query-editor-V2-read-sharing"></a>

Concede a capacidade de trabalhar com o editor de consultas v2 do Amazon Redshift com compartilhamento limitado de recursos. Essa política também concede acesso a outros serviços necessários. A entidade principal que usa essa política pode etiquetar seus recursos (como consultas) para compartilhá-los com outras entidades principais na mesma Conta da AWS. A entidade principal concedida pode ler os recursos compartilhados com sua equipe, mas não pode atualizá-los. 

Você pode encontrar a política [AmazonRedshiftQueryEditorV2ReadSharing](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftQueryEditorV2ReadSharing) no console do IAM e a política [AmazonRedshiftQueryEditorV2ReadSharing](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftQueryEditorV2ReadSharing.html) no *Guia de referência de políticas gerenciadas pela AWS*.

## AmazonRedshiftQueryEditorV2ReadWriteSharing
<a name="redshift-policy-managed-policies-query-editor-V2-write-sharing"></a>

Concede a capacidade de trabalhar com o editor de consultas v2 do Amazon Redshift com compartilhamento de recursos. Essa política também concede acesso a outros serviços necessários. A entidade principal que usa essa política pode etiquetar seus recursos (como consultas) para compartilhá-los com outras entidades principais na mesma Conta da AWS. A entidade principal concedida pode ler e atualizar os recursos compartilhados com sua equipe. 

Você pode encontrar a política [AmazonRedshiftQueryEditorV2ReadWriteSharing](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftQueryEditorV2ReadWriteSharing) no console do IAM e a política [AmazonRedshiftQueryEditorV2ReadWriteSharing](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftQueryEditorV2ReadWriteSharing.html) no *Guia de referência de políticas gerenciadas pela AWS*.

## AmazonRedshiftServiceLinkedRolePolicy
<a name="redshift-policy-managed-policies-service-linked-role-policy"></a>

Não é possível anexar AmazonRedshiftServiceLinkedRolePolicy a suas entidades do IAM. Essa política é anexada a uma função vinculada a serviços que permite que o Amazon Redshift acesse recursos da conta. Para obter mais informações, consulte [Usar funções vinculadas a serviço do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/using-service-linked-roles.html). 

Você pode encontrar a política [AmazonRedshiftServiceLinkedRolePolicy](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftServiceLinkedRolePolicy) no console do IAM e a política [AmazonRedshiftServiceLinkedRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftServiceLinkedRolePolicy.html) no *Guia de referência de políticas gerenciadas pela AWS*.

## AmazonRedshiftAllCommandsFullAccess
<a name="redshift-policy-managed-policies-service-linked-role-commands"></a>

Concede a capacidade de usar a função do IAM criada a partir do console do Amazon Redshift e defini-la como padrão para que o cluster execute os comandos COPY do Amazon S3, UNLOAD, CREATE EXTERNAL SCHEMA, CREATE EXTERNAL FUNCTION e CREATE MODEL. A política também concede permissões para executar instruções SELECT para serviços relacionados, como Amazon S3, CloudWatch Logs, Amazon SageMaker AI ou AWS Glue.

Você pode encontrar a política [AmazonRedshiftAllCommandsFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftAllCommandsFullAccess) no console do IAM e a política [AmazonRedshiftAllCommandsFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftAllCommandsFullAccess.html) no *Guia de referência de políticas gerenciadas pela AWS*.

## AmazonRedshiftFederatedAuthorization
<a name="redshift-policy-managed-policies-federated-authorization"></a>

 A política consolida as ações do IAM necessárias para executar uma consulta em um banco de dados do Glue Data Catalog com permissões federadas do Amazon Redshift. Essa consulta passa pelo AWS Glue e, portanto, precisa de ações Get em objetos de catálogo para descobrir os objetos, e ações Create, Update, Rename e Delete para modificar os objetos. Observe que os recursos são gerenciados pelo Amazon Redshift, portanto, a entidade principal também precisará das permissões do Redshift para concluir a consulta. A ação `glue:FederateAuthorization` permite que o AWS Glue delegue decisões de autorização sobre os objetos do catálogo ao Amazon Redshift. 

 Essa política permite que a entidade principal execute consultas no catálogo com permissões federadas do Amazon Redshift, mas não permite registrar e cancelar o registro do namespace do Amazon Redshift no AWS Glue. Consulte a documentação sobre os requisitos da política do IAM para a configuração de permissões federadas do Amazon Redshift. 

Você pode encontrar a política [AmazonRedshiftFederatedAuthorization](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonRedshiftFederatedAuthorization) no console do IAM e a política [AmazonRedshiftFederatedAuthorization](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftFederatedAuthorization.html) no *Guia de referência de políticas gerenciadas pela AWS*.

Você também pode criar suas próprias políticas do IAM personalizadas para conceder permissões para operações e recursos da API do Amazon Redshift. É possível anexar essas políticas personalizadas a grupos ou perfis do IAM que exijam essas permissões. 





## Permissões necessárias para usar Redshift Spectrum
<a name="redshift-spectrum-policy-resources"></a>

O Amazon Redshift Spectrum requer permissões para outros serviços da AWS para acessar recursos. Para obter detalhes sobre as permissões em políticas do IAM para Redshift Spectrum, consulte [Políticas do IAM para Amazon Redshift Spectrum](https://docs.aws.amazon.com/redshift/latest/dg/c-spectrum-iam-policies.html) no *Guia do desenvolvedor de database do Amazon Redshift*.

## Permissões necessárias para usar o console do Amazon Redshift
<a name="redshift-policy-resources.required-permissions.console"></a>

Para que um usuário trabalhe com o console do Amazon Redshift, esse usuário deve ter um conjunto mínimo de permissões que permita ao usuário descrever os recursos do Amazon Redshift para sua conta da AWS. Essas permissões também devem permitir que o usuário descreva outras informações relacionadas, incluindo segurança do Amazon EC2, Amazon CloudWatch, Amazon SNS e informações de rede.

Se você criar uma política do IAM que seja mais restritiva que as permissões mínimas necessárias, o console não funcionará como pretendido para os usuários com essa política do IAM. Para garantir que esses usuários ainda possam usar o console do Amazon Redshift, anexe também a política gerenciada pelo `AmazonRedshiftReadOnlyAccess` ao usuário. Como fazer isso é descrito em [Políticas gerenciadas pela AWS para o Amazon Redshift](#redshift-policy-resources.managed-policies).

Para obter informações para conceder ao usuário acesso ao editor de consulta no console do Amazon Redshift, consulte [Permissões necessárias para usar o editor de consulta do console do Amazon Redshift](#redshift-policy-resources.required-permissions.query-editor). 

Não é necessário conceder permissões mínimas do console para usuários que fazem chamadas somente à AWS CLI ou à API do Amazon Redshift. 

## Permissões necessárias para usar o editor de consulta do console do Amazon Redshift
<a name="redshift-policy-resources.required-permissions.query-editor"></a>

Para que um usuário trabalhe com o editor de consultas do Amazon Redshift, esse usuário deve ter um conjunto mínimo de permissões para as operações da API de dados do Amazon Redshift e do Amazon Redshift. Para se conectar a um banco de dados usando um segredo, você também deve ter permissões do Secrets Manager.

Para conceder a um usuário acesso ao editor de consultas no console do Amazon Redshift, anexe as políticas `AmazonRedshiftQueryEditor` e `AmazonRedshiftReadOnlyAccess` gerenciadas pela AWS. A política `AmazonRedshiftQueryEditor` permite que o usuário recupere os resultados de apenas suas próprias instruções SQL. Ou seja, instruções apresentadas pelo mesmo `aws:userid`, como mostrado nesta seção da política `AmazonRedshiftQueryEditor` gerenciada pela AWS.

```
{
    "Sid":"DataAPIIAMStatementPermissionsRestriction",
    "Action": [
        "redshift-data:GetStatementResult",
        "redshift-data:CancelStatement",
        "redshift-data:DescribeStatement",
        "redshift-data:ListStatements"
    ],
    "Effect": "Allow",
    "Resource": "*",
    "Condition": {
        "StringEquals": {
            "redshift-data:statement-owner-iam-userid": "${aws:userid}"
        }
    }
}
```

Para permitir que um usuário recupere os resultados das instruções SQL de outras pessoas na mesma função do IAM, crie sua própria política sem a condição de limitar o acesso ao usuário atual. Limite também o acesso para alterar uma política para um administrador.

## Permissões necessárias para usar o editor de consultas v2
<a name="redshift-policy-resources.required-permissions.query-editor-v2"></a>

Para trabalhar com o editor de consultas do Amazon Redshift v2, o usuário deve ter um conjunto mínimo de permissões para o Amazon Redshift, as operações do editor de consultas v2 e outros produtos da AWS como AWS Key Management Service, AWS Secrets Manager e serviço de marcação. 

Para conceder ao usuário acesso total ao editor de consultas v2, anexe a política `AmazonRedshiftQueryEditorV2FullAccess` gerenciada pela AWS. A política `AmazonRedshiftQueryEditorV2FullAccess` permite que o usuário compartilhe recursos do editor de consultas v2, como consultas, com outras pessoas na mesma equipe. Para obter detalhes sobre como o acesso aos recursos do editor de consulta v2 é controlado, consulte a definição da política gerenciada específica para o editor de consultas v2 no console do IAM. 

Algumas políticas do editor de consultas v2 do Amazon Redshift gerenciadas pela AWS usam etiquetas da AWS dentro de condições para definir escopo de acesso aos recursos. No editor de consultas v2, o compartilhamento de consultas baseia-se na chave e no valor da tag `"aws:ResourceTag/sqlworkbench-team": "${aws:PrincipalTag/sqlworkbench-team}"` na política do IAM anexada à entidade principal (o perfil do IAM). As entidades principais na mesma Conta da AWS com o mesmo valor de etiqueta (por exemplo, `accounting-team`) estão na mesma equipe no editor de consultas v2. Só é possível ter associação a uma equipe por vez. Um usuário com permissões administrativas pode configurar equipes no console do IAM fornecendo a todos os membros da equipe o mesmo valor para a etiqueta `sqlworkbench-team`. Se o valor da etiqueta `sqlworkbench-team` for alterado para um usuário do IAM ou uma função do IAM, poderá haver um atraso até que a alteração seja refletida nos recursos compartilhados. Se o valor da etiqueta de um recurso (como uma consulta) for alterado, poderá haver novamente um atraso até que a alteração seja refletida. Os membros da equipe também devem ter a permissão `tag:GetResources` para compartilhar.

**Exemplo: para adicionar a etiqueta `accounting-team` para uma função do IAM**

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação do console, escolha **Roles (Funções)** e, em seguida, escolha o nome da função que deseja editar.

1. Escolha a guia **Tags** (Etiquetas) e escolha **Add tags** (Gerenciar etiquetas).

1. Adicione a chave da etiqueta **sqlworkbench-team** e o valor `accounting-team`.

1. Escolha **Salvar alterações**.

   Agora, quando uma entidade principal do IAM (com essa função do IAM anexada) compartilha uma consulta com a equipe, outras entidades principais com o mesmo valor de etiqueta `accounting-team` pode exibir a consulta.

Para obter mais informações sobre como anexar uma etiqueta a uma entidade principal, inclusive funções do IAM e usuários do IAM, consulte [Recursos de etiquetas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) no *Guia do usuário do IAM*. 

Você também pode configurar equipes no nível da sessão usando um provedor de identidades (IdP). Isso permite que vários usuários que usam a mesma função do IAM tenham uma equipe diferente. A política de confiança da função do IAM deve permitir a operação `sts:TagSession`. Para obter mais informações, consulte [Permissões necessárias adicionar etiquetas de sessão](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_permissions-required) no *Guia do usuário do IAM*. Adicione o atributo de etiqueta da entidade principal à declaração do SAML fornecida pelo IdP.

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:sqlworkbench-team">
    <AttributeValue>accounting-team</AttributeValue>
</Attribute>
```

Siga as instruções para que seu provedor de identidades (IdP) preencha o atributo SAML com o conteúdo proveniente do diretório. Para obter mais informações sobre provedores de identidade (IdPs) e o Amazon Redshift, consulte [Usar a autenticação do IAM para gerar credenciais do usuário do banco de dados](generating-user-credentials.md) e [Provedores de identidade e federação](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html) no *Guia do usuário do IAM*. 

O `sqlworkbench:CreateNotebookVersion` concede permissão para obter o conteúdo atual de células de bloco de anotações e criar uma versão de bloco de anotações em sua conta. Ou seja, no momento da criação da versão, o conteúdo atual do bloco de anotações é igual ao conteúdo da versão. Posteriormente, o conteúdo das células na versão não será modificado à medida que o bloco de anotações atual for atualizado. O`sqlworkbench:GetNotebookVersion` concede permissão para obter uma versão do bloco de anotações. Um usuário que não tem a permissão `sqlworkbench:BatchGetNotebookCell`, mas tem as permissões `sqlworkbench:CreateNotebookVersion` e `sqlworkbench:GetNotebookVersion` em um bloco de anotações, tem acesso às células do bloco de anotações na versão. Esse usuário sem a permissão `sqlworkbench:BatchGetNotebookCell` ainda pode recuperar o conteúdo das células de um bloco de anotações criando uma versão e obtendo essa versão criada.

## Permissões necessárias para usar o programador do Amazon Redshift
<a name="iam-permission-scheduler"></a>

Ao usar o programador Amazon Redshift, você configura uma função IAM com uma relação de confiança com o programador Amazon Redshift (**scheduler.redshift.amazonaws.com**) para permitir que o programador assuma permissões em seu nome. Você também anexa uma política (permissões) à função para as operações da API do Amazon Redshift que deseja programar.

O exemplo a seguir mostra o documento de política no formato JSON para configurar uma relação de confiança com o programador Amazon Redshift e o Amazon Redshift. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "scheduler.redshift.amazonaws.com",
                    "redshift.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Para obter mais informações sobre entidades confiáveis, consulte [Criar uma função para delegar permissões a um serviço da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) no *Manual do usuário do IAM*.

Você também deve adicionar permissão para as operações do Amazon Redshift que deseja programar. 

Para que o programador use a operação `ResizeCluster`, adicione uma permissão que seja semelhante à seguinte à sua política do IAM. Dependendo do seu ambiente, você pode desejar tornar a política mais restritiva.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "redshift:ResizeCluster",
            "Resource": "*"
        }
    ]
}
```

------

Para obter as etapas para criar uma função para o programador do Amazon Redshift, consulte [Criar uma função para um serviço da AWS (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console) no *Manual do usuário do IAM*. Faça estas escolhas ao criar uma função no console do IAM: 
+ Em **Choose the service that will use this role (Escolher o serviço que usará esta função)**: escolha **Redshift**.
+ Em **Select your use case (Selecionar seu caso de uso)**, escolha **Redshift - programador**.
+ Crie ou anexe uma política à função que permite que uma operação do Amazon Redshift seja programada. Escolha **Create policy (Criar política)** ou modifique a função para anexar uma política. Insira a política JSON para a operação que está para ser programada. 
+ Depois de criar a função, edite o **Trust Relationship (Relacionamento de confiança)** da função do IAM para incluir o serviço `redshift.amazonaws.com`.

A função do IAM que você cria em entidades confiáveis de `scheduler.redshift.amazonaws.com` e `redshift.amazonaws.com`. Ele também tem uma política anexada que permite uma ação de API do Amazon Redshift compatível, como ., `"redshift:ResizeCluster"`. 

## Permissões necessárias para usar o programador do Amazon EventBridge
<a name="iam-permission-eventbridge-scheduler"></a>

Ao usar o programador do Amazon EventBridge, você configura uma função do IAM com uma relação de confiança com o programador do EventBridge (**events.amazonaws.com**) para permitir que o programador assuma permissões em seu nome. Você também anexa uma política (permissões) à função para as operações da API de dados do Amazon Redshift que deseja programar e uma política para operações do Amazon EventBridge.

Use o programador EventBridge ao criar consultas programadas com o editor de consulta do Amazon Redshift no console. 

Você pode criar uma função do IAM para executar consultas programadas no console do IAM. Nesta função do IAM, anexe `AmazonEventBridgeFullAccess` e `AmazonRedshiftDataFullAccess`. 

O exemplo a seguir mostra o documento de política no formato JSON para configurar um relacionamento de confiança com o programador do EventBridge. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "events.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Para obter mais informações sobre entidades confiáveis, consulte [Criar uma função para delegar permissões a um serviço da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) no *Manual do usuário do IAM*.

Para obter as etapas para criar uma função para o programador do EventBridge, consulte [Criar uma função para um serviço da AWS (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console) no *Manual do usuário do IAM*. Faça estas escolhas ao criar uma função no console do IAM: 
+ Em **Escolha o serviço que usará esta função**, escolha **CloudWatch Events**.
+ Em **Selecionar o caso de uso**: escolha **CloudWatch Events**.
+ Anexe as seguintes políticas de permissão: `AmazonEventBridgeFullAccess` e `AmazonRedshiftDataFullAccess`. 

A função do IAM que você cria tem uma entidade confiável de `events.amazonaws.com`. Ele também tem uma política anexada que permite ações compatíveis da API de dados do Amazon Redshift, como ., `"redshift-data:*"`. 

## Permissões necessárias para usar o machine learning (ML) do Amazon Redshift
<a name="iam-permission-ml"></a>

A seguir, você encontra uma descrição das permissões necessárias para usar o machine learning (ML) do Amazon Redshift para diferentes casos de uso.

Para que os usuários utilizem o Amazon Redshift ML com o Amazon SageMaker AI, crie um perfil do IAM com uma política mais restritiva do que a padrão. Você pode usar a política a seguir. Você também pode modificar essa política para atender às suas necessidades.

A política a seguir mostra as permissões necessárias para executar o SageMaker AI Autopilot com explicabilidade do modelo do Amazon Redshift.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob",
                "sagemaker:CreateAutoMLJob",
                "sagemaker:CreateCompilationJob",
                "sagemaker:CreateEndpoint",
                "sagemaker:DescribeAutoMLJob",
                "sagemaker:DescribeTrainingJob",
                "sagemaker:DescribeCompilationJob",
                "sagemaker:DescribeProcessingJob",
                "sagemaker:DescribeTransformJob",
                "sagemaker:ListCandidatesForAutoMLJob",
                "sagemaker:StopAutoMLJob",
                "sagemaker:StopCompilationJob",
                "sagemaker:StopTrainingJob",
                "sagemaker:DescribeEndpoint",
                "sagemaker:InvokeEndpoint",
                "sagemaker:StopProcessingJob",
                "sagemaker:CreateModel",
                "sagemaker:CreateProcessingJob"
            ],
            "Resource": [
                "arn:aws:sagemaker:*:*:model/*redshift*",
                "arn:aws:sagemaker:*:*:training-job/*redshift*",
                "arn:aws:sagemaker:*:*:automl-job/*redshift*",
                "arn:aws:sagemaker:*:*:compilation-job/*redshift*",
                "arn:aws:sagemaker:*:*:processing-job/*redshift*",
                "arn:aws:sagemaker:*:*:transform-job/*redshift*",
                "arn:aws:sagemaker:*:*:endpoint/*redshift*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:DescribeLogStreams",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:*:*:log-group:/aws/sagemaker/Endpoints/*redshift*",
                "arn:aws:logs:*:*:log-group:/aws/sagemaker/ProcessingJobs/*redshift*",
                "arn:aws:logs:*:*:log-group:/aws/sagemaker/TrainingJobs/*redshift*",
                "arn:aws:logs:*:*:log-group:/aws/sagemaker/TransformJobs/*redshift*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "cloudwatch:namespace": [
                        "SageMaker",
                        "/aws/sagemaker/Endpoints",
                        "/aws/sagemaker/ProcessingJobs",
                        "/aws/sagemaker/TrainingJobs",
                        "/aws/sagemaker/TransformJobs"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:BatchGetImage",
                "ecr:GetAuthorizationToken",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetBucketAcl",
                "s3:GetBucketCors",
                "s3:GetEncryptionConfiguration",
                "s3:GetBucketLocation",
                "s3:ListBucket",
                "s3:ListAllMyBuckets",
                "s3:ListMultipartUploadParts",
                "s3:ListBucketMultipartUploads",
                "s3:PutObject",
                "s3:PutBucketAcl",
                "s3:PutBucketCors",
                "s3:DeleteObject",
                "s3:AbortMultipartUpload",
                "s3:CreateBucket"
            ],
            "Resource": [
                "arn:aws:s3:::redshift-downloads",
                "arn:aws:s3:::redshift-downloads/*",
                "arn:aws:s3:::*redshift*",
                "arn:aws:s3:::*redshift*/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetBucketAcl",
                "s3:GetBucketCors",
                "s3:GetEncryptionConfiguration",
                "s3:GetBucketLocation",
                "s3:ListBucket",
                "s3:ListAllMyBuckets",
                "s3:ListMultipartUploadParts",
                "s3:ListBucketMultipartUploads",
                "s3:PutObject",
                "s3:PutBucketAcl",
                "s3:PutBucketCors",
                "s3:DeleteObject",
                "s3:AbortMultipartUpload",
                "s3:CreateBucket"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "s3:ExistingObjectTag/Redshift": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "redshift.amazonaws.com",
                        "sagemaker.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

A política a seguir mostra todas as permissões mínimas para acesso à federação do Amazon DynamoDB, Redshift Spectrum e Amazon RDS.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob",
                "sagemaker:CreateAutoMLJob",
                "sagemaker:CreateCompilationJob",
                "sagemaker:CreateEndpoint",
                "sagemaker:DescribeAutoMLJob",
                "sagemaker:DescribeTrainingJob",
                "sagemaker:DescribeCompilationJob",
                "sagemaker:DescribeProcessingJob",
                "sagemaker:DescribeTransformJob",
                "sagemaker:ListCandidatesForAutoMLJob",
                "sagemaker:StopAutoMLJob",
                "sagemaker:StopCompilationJob",
                "sagemaker:StopTrainingJob",
                "sagemaker:DescribeEndpoint",
                "sagemaker:InvokeEndpoint",
                "sagemaker:StopProcessingJob",
                "sagemaker:CreateModel",
                "sagemaker:CreateProcessingJob"
            ],
            "Resource": [
                "arn:aws:sagemaker:*:*:model/*redshift*",
                "arn:aws:sagemaker:*:*:training-job/*redshift*",
                "arn:aws:sagemaker:*:*:automl-job/*redshift*",
                "arn:aws:sagemaker:*:*:compilation-job/*redshift*",
                "arn:aws:sagemaker:*:*:processing-job/*redshift*",
                "arn:aws:sagemaker:*:*:transform-job/*redshift*",
                "arn:aws:sagemaker:*:*:endpoint/*redshift*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:DescribeLogStreams",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:*:*:log-group:/aws/sagemaker/Endpoints/*redshift*",
                "arn:aws:logs:*:*:log-group:/aws/sagemaker/ProcessingJobs/*redshift*",
                "arn:aws:logs:*:*:log-group:/aws/sagemaker/TrainingJobs/*redshift*",
                "arn:aws:logs:*:*:log-group:/aws/sagemaker/TransformJobs/*redshift*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "cloudwatch:namespace": [
                        "SageMaker",
                        "/aws/sagemaker/Endpoints",
                        "/aws/sagemaker/ProcessingJobs",
                        "/aws/sagemaker/TrainingJobs",
                        "/aws/sagemaker/TransformJobs"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:BatchGetImage",
                "ecr:GetAuthorizationToken",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetBucketAcl",
                "s3:GetBucketCors",
                "s3:GetEncryptionConfiguration",
                "s3:GetBucketLocation",
                "s3:ListBucket",
                "s3:ListAllMyBuckets",
                "s3:ListMultipartUploadParts",
                "s3:ListBucketMultipartUploads",
                "s3:PutObject",
                "s3:PutBucketAcl",
                "s3:PutBucketCors",
                "s3:DeleteObject",
                "s3:AbortMultipartUpload",
                "s3:CreateBucket"
            ],
            "Resource": [
                "arn:aws:s3:::redshift-downloads",
                "arn:aws:s3:::redshift-downloads/*",
                "arn:aws:s3:::*redshift*",
                "arn:aws:s3:::*redshift*/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetBucketAcl",
                "s3:GetBucketCors",
                "s3:GetEncryptionConfiguration",
                "s3:GetBucketLocation",
                "s3:ListBucket",
                "s3:ListAllMyBuckets",
                "s3:ListMultipartUploadParts",
                "s3:ListBucketMultipartUploads",
                "s3:PutObject",
                "s3:PutBucketAcl",
                "s3:PutBucketCors",
                "s3:DeleteObject",
                "s3:AbortMultipartUpload",
                "s3:CreateBucket"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "s3:ExistingObjectTag/Redshift": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "dynamodb:Scan",
                "dynamodb:DescribeTable",
                "dynamodb:Getitem"
            ],
            "Resource": [
                "arn:aws:dynamodb:*:*:table/*redshift*",
                "arn:aws:dynamodb:*:*:table/*redshift*/index/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "elasticmapreduce:ListInstances"
            ],
            "Resource": [
                "arn:aws:elasticmapreduce:*:*:cluster/*redshift*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "elasticmapreduce:ListInstances"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "elasticmapreduce:ResourceTag/Redshift": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "lambda:InvokeFunction"
            ],
            "Resource": "arn:aws:lambda:*:*:function:*redshift*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "glue:CreateDatabase",
                "glue:DeleteDatabase",
                "glue:GetDatabase",
                "glue:GetDatabases",
                "glue:UpdateDatabase",
                "glue:CreateTable",
                "glue:DeleteTable",
                "glue:BatchDeleteTable",
                "glue:UpdateTable",
                "glue:GetTable",
                "glue:GetTables",
                "glue:BatchCreatePartition",
                "glue:CreatePartition",
                "glue:DeletePartition",
                "glue:BatchDeletePartition",
                "glue:UpdatePartition",
                "glue:GetPartition",
                "glue:GetPartitions",
                "glue:BatchGetPartition"
            ],
            "Resource": [
                "arn:aws:glue:*:*:table/*redshift*/*",
                "arn:aws:glue:*:*:catalog",
                "arn:aws:glue:*:*:database/*redshift*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetResourcePolicy",
                "secretsmanager:GetSecretValue",
                "secretsmanager:DescribeSecret",
                "secretsmanager:ListSecretVersionIds"
            ],
            "Resource": [
                "arn:aws:secretsmanager:*:*:secret:*redshift*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetRandomPassword",
                "secretsmanager:ListSecrets"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "secretsmanager:ResourceTag/Redshift": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "redshift.amazonaws.com",
                        "glue.amazonaws.com",
                        "sagemaker.amazonaws.com",
                        "athena.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

Opcionalmente, para usar uma chave do AWS KMS para criptografia, adicione as permissões a seguir à política.

```
{
    "Effect": "Allow",
    "Action": [
        "kms:CreateGrant",
        "kms:Decrypt",
        "kms:DescribeKey",
        "kms:Encrypt",
        "kms:GenerateDataKey*"
    ],
    "Resource": [
        "arn:aws:kms:<your-region>:<your-account-id>:key/<your-kms-key>"
    ]
}
```

Para permitir que o Amazon Redshift e o SageMaker AI assumam o perfil do IAM anterior para interagir com outros serviços, adicione a política de confiança a seguir ao perfil.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "redshift.amazonaws.com",
          "sagemaker.amazonaws.com",
          "forecast.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

Na precedente, o bucket do Amazon S3 `redshift-downloads/redshift-ml/` é o local onde os dados de exemplo usados para outras etapas e exemplos são armazenados. Você pode remover esse bucket se não precisar carregar dados do Amazon S3. Ou substitua-o por outros buckets do Amazon S3 que você usa para carregar dados no Amazon Redshift. 

Os valores **your-account-id**, **your-role** e **your-s3-bucket** são o ID da conta, a função e o bucket especificados no comando CREATE MODEL.

Opcionalmente, use as chaves do AWS KMS da política de exemplo se você especificar uma chave do AWS KMS ao usar o Amazon Redshift ML. O valor **your-kms-key** é a chave que você usa como parte do comando CREATE MODEL.

Ao especificar uma Virtual Private Cloud (VPC) privada para o trabalho de ajuste de hiperparâmetros, adicione as permissões a seguir.

```
{
            "Effect": "Allow",
            "Action": [
            "ec2:CreateNetworkInterface",
            "ec2:CreateNetworkInterfacePermission",
            "ec2:DeleteNetworkInterface",
            "ec2:DeleteNetworkInterfacePermission",
            "ec2:DescribeNetworkInterfaces",
            "ec2:DescribeVpcs",
            "ec2:DescribeDhcpOptions",
            "ec2:DescribeSubnets",
            "ec2:DescribeSecurityGroups"
            ]
}
```

Para trabalhar com explicação do modelo, verifique se você tem as permissões para chamar operações de API do SageMaker AI. Recomendamos usar a política gerenciada `AmazonSageMakerFullAccess`. Para criar uma função do IAM com uma política mais restritiva, use a política a seguir.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateEndpoint",
        "sagemaker:CreateEndpointConfig",
        "sagemaker:DeleteEndpoint",
        "sagemaker:DeleteEndpointConfig",
        "sagemaker:DescribeEndpoint",
        "sagemaker:DescribeEndpointConfig",
        "sagemaker:DescribeModel",
        "sagemaker:InvokeEndpoint",
        "sagemaker:ListTags"
      ],
      "Resource": "*"
    }
  ]
}
```

------

Para obter mais informações sobre a política gerenciada `AmazonSageMakerFullAccess`, consulte [AmazonSageMakerFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonSageMakerFullAccess) no *Guia do desenvolvedor do Amazon SageMaker AI*.

Se você quiser criar modelos do Forecast, recomendamos que use a política gerenciada `AmazonForecastFullAccess`. Se você quiser usar uma política mais restritiva, adicione a política a seguir ao seu perfil do IAM.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "forecast:CreateAutoPredictor",
                "forecast:CreateDataset",
                "forecast:CreateDatasetGroup",
                "forecast:CreateDatasetImportJob",
                "forecast:CreateForecast",
                "forecast:CreateForecastExportJob",
                "forecast:DeleteResourceTree",
                "forecast:DescribeAutoPredictor",
                "forecast:DescribeDataset",
                "forecast:DescribeDatasetGroup",
                "forecast:DescribeDatasetImportJob",
                "forecast:DescribeForecast",
                "forecast:DescribeForecastExportJob",
                "forecast:StopResource",
                "forecast:TagResource",
                "forecast:UpdateDatasetGroup"
             ],
             "Resource": "*"
         }
    ]
}
```

------

Se você quiser criar modelos do Amazon Bedrock, recomendamos que use a política gerenciada `AmazonBedrockFullAccess`. Se você quiser usar uma política mais restritiva, adicione a política a seguir ao seu perfil do IAM.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "bedrock:InvokeModel",
            "Resource": [
                "*",
                "arn:aws:bedrock:us-east-1::foundation-model/*"
            ]
        }
    ]
}
```

------

Para ter mais informações sobre o Amazon Redshift ML, consulte [Usar Machine Learning no Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/machine_learning.html), [CREATE MODEL](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_MODEL.html) ou [CREATE EXTERNAL MODEL](https://docs.aws.amazon.com/redshift/latest/dg/r_create_external_model.html).

## Permissões para ingestão de streaming
<a name="iam-permission-streaming-ingestion"></a>

A ingestão de streaming funciona com dois serviços: o Kinesis Data Streams e o Amazon MSK.

### Permissões necessárias para usar a ingestão de streaming com o Kinesis Data Streams
<a name="iam-permission-streaming-ingestion-kinesis"></a>

Há um procedimento com um exemplo de política gerenciada disponível em [Conceitos básicos da ingestão de streaming do Amazon Kinesis Data Streams](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-streaming-ingestion-getting-started.html).

### Permissões necessárias para usar a ingestão de streaming com o Amazon MSK
<a name="iam-permission-streaming-ingestion-kafka"></a>

Há um procedimento com um exemplo de política gerenciada disponível em [Conceitos básicos da ingestão de streaming do Amazon Managed Streaming for Apache Kafka](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-streaming-ingestion-getting-started-MSK.html).

## Permissões necessárias para usar as operações de API de compartilhamento de dados
<a name="iam-permission-datasharing"></a>

Para controlar o acesso às operações de API de compartilhamento de dados, use as políticas baseadas em ações do IAM. Para obter mais informações sobre como gerenciar políticas do IAM, consulte [Gerenciar políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html) no *Manual do usuário do IAM*.

Em particular, suponha que um administrador de cluster de produtor precise usar a chamada `AuthorizeDataShare` para autorizar a saída de uma unidade de compartilhamento de dados fora de uma conta da Conta da AWS. Nesse caso, você configura uma política baseada em ação do IAM para conceder essa permissão. Use a chamada `DeauthorizeDataShare` para revogar a saída.

Ao usar políticas baseadas em ações do IAM, você também pode especificar um recurso do IAM na política, como `DataShareARN`. Veja a seguir o formato e um exemplo de `DataShareARN`.

```
arn:aws:redshift:region:account-id:datashare:namespace-guid/datashare-name
arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/SalesShare
```

Você pode restringir o acesso `AuthorizeDataShare` a um datashare específico especificando o nome do datashare na política do IAM.

```
{
  "Statement": [
    {
      "Action": [
        "redshift:AuthorizeDataShare",
      ],
      "Resource": [
        "arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/SalesShare"
      ],
      "Effect": "Deny"
    }
  ]
}
```

Você também pode restringir a política do IAM a todos os conjuntos de dados de propriedade de um cluster de produtores específico. Para fazer isso, substitua o valor **datashare-name** na política com um curinga ou um asterisco. Mantenha o valor de cluster `namespace-guid`.

```
arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/*
```

A seguir está a política do IAM que impede que uma entidade chame `AuthorizeDataShare` nas unidades de compartilhamento de dados detidas por um cluster de produtor específico. 

```
{
  "Statement": [
    {
      "Action": [
        "redshift:AuthorizeDataShare",
      ],
      "Resource": [
        "arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/*"
      ],
      "Effect": "Deny"
    }
  ]
}
```

`DataShareARN`O restringe o acesso com base no nome da unidade de compartilhamento de dados e no ID global exclusivo (GUID) para o namespace do cluster proprietário. Ele faz isso especificando o nome como um asterisco.

## Políticas de recursos de GetClusterCredentials
<a name="redshift-policy-resources.getclustercredentials-resources"></a>

Para se conectar a um banco de dados de cluster usando uma conexão JDBC ou ODBC com credenciais de banco de dados do IAM ou chamar de modo programático a ação `GetClusterCredentials`, você precisará da ação `redshift:GetClusterCredentials` com acesso a um recurso `dbuser`.

Se você usar uma conexão JDBC ou ODBC, em vez de especificar `server` e `port`, você poderá especificar `cluster_id` e `region`; mas, para fazer isso, sua política deve permitir a ação `redshift:DescribeClusters` com acesso ao recurso `cluster`. 

Se chamar `GetClusterCredentials` com os parâmetros opcionais `Autocreate`, `DbGroups` e `DbName`, verifique se permitiu as ações e o acesso aos recursos listados na tabela a seguir.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html)

Para obter mais informações sobre recursos, consulte [Recursos e operações do Amazon Redshift](redshift-iam-access-control-overview.md#redshift-iam-accesscontrol.actions-and-resources).

Você também pode incluir as seguintes condições na política:
+ `redshift:DurationSeconds`
+ `redshift:DbName`
+ `redshift:DbUser`

**Importante**  
Para integrações de SAML SSO, talvez seja necessário especificar uma política do IAM usando a variável `${redshift:DbUser}`. Nesses casos, é altamente recomendável o uso de uma declaração de condição que garanta que o chamador não possa receber credenciais de um usuário que não correspondam ao seu ID de usuário da AWS. Por exemplo:. `"StringEquals": {"aws:userid":"AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}"}"`. Consulte [Exemplo 8: Política do IAM para usar GetClusterCredentials](#redshift-policy-examples-getclustercredentials). Para obter mais informações sobre as condições, consulte [Especificar condições em uma política](redshift-iam-access-control-overview.md#redshift-policy-resources.specifying-conditions) 

## Exemplos de política gerenciada pelo cliente
<a name="redshift-iam-accesscontrol.examples"></a>

Nesta seção, você pode encontrar exemplos de políticas de usuário que concedem permissões para várias ações do Amazon Redshift. Essas políticas funcionam quando você está usando a API do Amazon Redshift, AWS SDKs ou a AWS CLI. 

**nota**  
Todos os exemplos usam a Região do Oeste dos EUA (Oregon) (`us-west-2`) e contêm IDs de conta fictícios.

### Exemplo 1: permitir ao usuário acesso total a todas as ações e recursos do Amazon Redshift
<a name="redshift-policy-example-allow-full-access"></a>

A política a seguir permite acesso a todas as ações do Amazon Redshift em todos os recursos. 

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

****  

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

------

O valor `redshift:*` no elemento `Action` indica todas as ações no Amazon Redshift.

### Exemplo 2: negar a um usuário o acesso a um conjunto de ações do Amazon Redshift
<a name="redshift-policy-example-deny-specific-actions"></a>

Por padrão, todas as permissões são negadas. Contudo, às vezes você precisa negar explicitamente o acesso a uma ação ou conjunto de ações específico. A política a seguir permite o acesso a todas as ações do Amazon Redshift e nega explicitamente o acesso a qualquer ação do Amazon Redshift em que o nome comece com `Delete`. Essa política se aplica a todos os recursos do Amazon Redshift em `us-west-2`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"AllowUSWest2Region",
      "Action": [
        "redshift:*"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:redshift:us-east-1:111122223333:*"
    },
   {
     "Sid":"DenyDeleteUSWest2Region",
     "Action": [
        "redshift:Delete*"
      ],
      "Effect": "Deny",
      "Resource": "arn:aws:redshift:us-east-1:111122223333:*"
   }
  ]
}
```

------

### Exemplo 3: permitir que um usuário gerencie clusters
<a name="redshift-policy-example-allow-manage-clusters"></a>

A seguinte política permite que um usuário crie, exclua, modifique e reinicialize todos os clusters e, então, nega permissão para excluir ou alterar qualquer cluster cujo nome de cluster inicie com `protected`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"AllowClusterManagement",
      "Action": [
        "redshift:CreateCluster",
        "redshift:DeleteCluster",
        "redshift:ModifyCluster",
        "redshift:RebootCluster"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid":"DenyDeleteProtected",
      "Action": [
        "redshift:DeleteCluster"
      ],
      "Resource": [
        "arn:aws:redshift:us-west-2:123456789012:cluster:protected*"
      ],
      "Effect": "Deny"
    }
  ]
}
```

------

### Exemplo 4: permitir que um usuário autorize e revogue acesso ao snapshot
<a name="redshift-policy-example-allow-authorize-revoke-snapshot"></a>

A seguinte política permite que um usuário, por exemplo o Usuário A, faça o seguinte:
+ Autorize o acesso a qualquer snapshot criado a partir de um cluster chamado `shared`.
+ Revogue o acesso a snapshot para qualquer snapshot criado a partir do cluster `shared` cujo nome de snapshot inicie com `revokable`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"AllowSharedSnapshots",
      "Action": [
        "redshift:AuthorizeSnapshotAccess"
      ],
      "Resource": [
        "arn:aws:redshift:us-west-2:123456789012:shared/*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid":"AllowRevokableSnapshot",
      "Action": [
        "redshift:RevokeSnapshotAccess"
      ],
      "Resource": [
        "arn:aws:redshift:us-west-2:123456789012:snapshot:*/revokable*"
      ],
      "Effect": "Allow"
    }
  ]
}
```

------

Se o Usuário A tiver permitido que o Usuário B acesse um snapshot, o Usuário B deve ter uma política como a seguinte para permitir que o Usuário B restaure um cluster do snapshot. A seguinte política permite que o Usuário B descreva e restaure snapshots e crie clusters. O nome desses clusters deve iniciar com `from-other-account`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"AllowDescribeSnapshots",
      "Action": [
        "redshift:DescribeClusterSnapshots"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid":"AllowUserRestoreFromSnapshot",
      "Action": [
        "redshift:RestoreFromClusterSnapshot"
      ],
      "Resource": [
        "arn:aws:redshift:us-west-2:123456789012:snapshot:*/*",
        "arn:aws:redshift:us-west-2:444455556666:cluster:from-other-account*"
      ],
      "Effect": "Allow"
    }
  ]
}
```

------

### Exemplo 5: permitir que um usuário copie um snapshot de cluster e restaure um cluster de um snapshot
<a name="redshift-policy-example-allow-copy-restore-snapshot"></a>

A seguinte política permite que um usuário copie qualquer snapshot criado a partir de um cluster chamado `big-cluster-1` e restaure qualquer snapshot cujo nome inicie com `snapshot-for-restore`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"AllowCopyClusterSnapshot",
      "Action": [
        "redshift:CopyClusterSnapshot"
      ],
      "Resource": [
        "arn:aws:redshift:us-west-2:123456789012:snapshot:big-cluster-1/*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid":"AllowRestoreFromClusterSnapshot",
      "Action": [
        "redshift:RestoreFromClusterSnapshot"
      ],
      "Resource": [
        "arn:aws:redshift:us-west-2:123456789012:snapshot:*/snapshot-for-restore*",
        "arn:aws:redshift:us-west-2:123456789012:cluster:*"
      ],
      "Effect": "Allow"
    }
  ]
}
```

------

### Exemplo 6: permitir que um usuário acesse o Amazon Redshift e ações e recursos comuns para serviços da AWS relacionados
<a name="redshift-policy-example-allow-related-services"></a>

 A política de exemplo a seguir permite acesso a todas as ações e recursos para Amazon Redshift, Amazon Simple Notification Service (Amazon SNS) e Amazon CloudWatch. Ele também permite ações especificadas em todos os recursos relacionados do Amazon EC2 na conta. 

**nota**  
 As permissões em nível de recurso não são compatíveis com as ações do Amazon EC2 especificadas nesta política de exemplo. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"AllowRedshift",
      "Effect": "Allow",
      "Action": [
        "redshift:*"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid":"AllowSNS",
      "Effect": "Allow",
        "Action": [
          "sns:*"
        ],
        "Resource": [
          "*"
        ]
      },
    {
      "Sid":"AllowCloudWatch",
      "Effect": "Allow",
      "Action": [
        "cloudwatch:*"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid":"AllowEC2Actions",
      "Effect": "Allow",
      "Action": [
        "ec2:AllocateAddress",
        "ec2:AssociateAddress",
        "ec2:AttachNetworkInterface",
        "ec2:DescribeAccountAttributes",
        "ec2:DescribeAddresses",
        "ec2:DescribeAvailabilityZones",
        "ec2:DescribeInternetGateways",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSubnets",
        "ec2:DescribeVpcs"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

### Exemplo 7: permitir que um usuário marque recursos com o console do Amazon Redshift
<a name="redshift-policy-example-allow-tagging-with-console"></a>

O exemplo a seguir permite que um usuário marque recursos no console do Amazon Redshift usando o console do Amazon Redshift usando AWS Resource Groups. Essa política pode ser anexada a uma função de usuário que invoca o console novo ou original do Amazon Redshift. Para obter mais informações sobre marcação, consulte [Marcar recursos no Amazon Redshift](amazon-redshift-tagging.md). 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid":"TaggingPermissions",
            "Effect": "Allow",
            "Action": [
                "redshift:DeleteTags",
                "redshift:CreateTags",
                "redshift:DescribeTags",
                "tag:UntagResources",
                "tag:TagResources"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Exemplo 8: Política do IAM para usar GetClusterCredentials
<a name="redshift-policy-examples-getclustercredentials"></a>

A política a seguir usa esses valores de parâmetro de exemplo:
+ Região: `us-west-2` 
+ AWS Conta da: `123456789012` 
+ Nome do cluster: `examplecluster` 

A política a seguir permite as ações `GetCredentials`, `CreateClusterUser` e `JoinGroup`. A política usa chaves de condição para permitir as ações `GetClusterCredentials` e `CreateClusterUser` somente quando o ID do usuário da AWS corresponde a `"AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}@yourdomain.com"`. O acesso ao IAM é solicitado somente para o banco de dados `"testdb"`. A política também permite que os usuários ingressem em um grupo chamado `"common_group"`.

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

****  

```
{
"Version":"2012-10-17",		 	 	 
  "Statement": [
    {
     "Sid":"GetClusterCredsStatement",
      "Effect": "Allow",
      "Action": [
        "redshift:GetClusterCredentials"
      ],
      "Resource": [
        "arn:aws:redshift:us-west-2:123456789012:dbuser:examplecluster/${redshift:DbUser}",
        "arn:aws:redshift:us-west-2:123456789012:dbname:examplecluster/testdb",
        "arn:aws:redshift:us-west-2:123456789012:dbgroup:examplecluster/common_group"
      ],
        "Condition": {
           "StringEquals": {
           "aws:userid":"AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}@yourdomain.com"
           }
        }
    },
    {
      "Sid":"CreateClusterUserStatement",
      "Effect": "Allow",
      "Action": [
        "redshift:CreateClusterUser"
      ],
      "Resource": [
        "arn:aws:redshift:us-west-2:123456789012:dbuser:examplecluster/${redshift:DbUser}"
      ],
      "Condition": {
        "StringEquals": {
          "aws:userid":"AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}@yourdomain.com"
        }
      }
    },
    {
      "Sid":"RedshiftJoinGroupStatement",
      "Effect": "Allow",
      "Action": [
        "redshift:JoinGroup"
      ],
      "Resource": [
        "arn:aws:redshift:us-west-2:123456789012:dbgroup:examplecluster/common_group"
      ]
    }
  ]
}
```

------

O exemplo a seguir mostra uma política que permite que a função do IAM chame a operação `GetClusterCredentials`. Especificar o recurso `dbuser` do Amazon Redshift concede à função acesso ao nome de usuário do banco de dados ` temp_creds_user` no cluster nomeado ` examplecluster`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "redshift:GetClusterCredentials",
    "Resource": "arn:aws:redshift:us-west-2:123456789012:dbuser:examplecluster/temp_creds_user"
  }
}
```

------

Você pode usar um curinga (\$1) para substituir, total ou parcialmente, o nome do cluster, o nome de usuário e os nomes de grupo de bancos de dados. O exemplo a seguir permite que qualquer nome de usuário comece com `temp_` em qualquer cluster na conta especificada.

**Importante**  
A instrução no exemplo a seguir especifica um caractere coringa (\$1) como parte do valor para o recurso, para que a política permita qualquer nome de recurso que comece com os caracteres especificados. Usar um caractere coringa em suas políticas de IAM pode ser excessivamente permissivo. Como uma prática recomendada, recomendamos o uso de políticas mais restritivas possíveis para seu aplicativo de negócios. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "redshift:GetClusterCredentials",
    "Resource": "arn:aws:redshift:us-west-2:123456789012:dbuser:*/temp_*"
  }
}
```

------

O exemplo a seguir mostra uma política que permite que a função do IAM chame a operação `GetClusterCredentials` com a opção de criar automaticamente um novo usuário e especificar grupos aos quais o usuário se associará no login. A cláusula `"Resource": "*" `concede à função acesso a qualquer recurso, incluindo clusters, usuários de banco de dados ou grupos de usuários.

**Importante**  
A declaração no exemplo a seguir especifica um caractere curinga (\$1) como o recurso para as ações específicas, de forma que a política permita o acesso a qualquer usuário do cluster e do banco de dados e permita a criação de qualquer usuário. Usar um caractere coringa em suas políticas de IAM pode ser excessivamente permissivo. Como uma prática recomendada, recomendamos o uso de políticas mais restritivas possíveis para seu aplicativo de negócios. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
             "redshift:GetClusterCredentials",
             "redshift:CreateClusterUser",
		"redshift:JoinGroup"
            ],
    "Resource": "*"
  }
}
```

------

Para obter mais informações, consulte [Amazon Redshift ARN syntax](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-redshift).