Usar políticas baseadas em identidade (políticas do IAM) para o Amazon Redshift - Amazon Redshift

Usar políticas baseadas em identidade (políticas do IAM) para o Amazon Redshift

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.

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.

{ "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 (*) 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 (*). 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 AWS 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 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.

AmazonRedshiftReadOnlyAccess

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

Você pode encontrar a política AmazonRedshiftReadOnlyAccess no console do IAM e a política AmazonRedshiftReadOnlyAccess no Guia de referência de políticas gerenciadas pela AWS.

AmazonRedshiftFullAccess

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 no console do IAM e a política AmazonRedshiftFullAccess no Guia de referência de políticas gerenciadas pela AWS.

AmazonRedshiftQueryEditor

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

Você pode encontrar a política AmazonRedshiftQueryEditor no console do IAM e a política AmazonRedshiftQueryEditor no Guia de referência de políticas gerenciadas pela AWS.

AmazonRedshiftDataFullAccess

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 no console do IAM e a política AmazonRedshiftDataFullAccess no Guia de referência de políticas gerenciadas pela AWS.

AmazonRedshiftQueryEditorV2FullAccess

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 no console do IAM e a política AmazonRedshiftQueryEditorV2FullAccess no Guia de referência de políticas gerenciadas pela AWS.

AmazonRedshiftQueryEditorV2NoSharing

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 no console do IAM e a política AmazonRedshiftQueryEditorV2NoSharing no Guia de referência de políticas gerenciadas pela AWS.

AmazonRedshiftQueryEditorV2ReadSharing

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 no console do IAM e a política AmazonRedshiftQueryEditorV2ReadSharing no Guia de referência de políticas gerenciadas pela AWS.

AmazonRedshiftQueryEditorV2ReadWriteSharing

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 no console do IAM e a política AmazonRedshiftQueryEditorV2ReadWriteSharing no Guia de referência de políticas gerenciadas pela AWS.

AmazonRedshiftServiceLinkedRolePolicy

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.

Você pode encontrar a política AmazonRedshiftServiceLinkedRolePolicy no console do IAM e a política AmazonRedshiftServiceLinkedRolePolicy no Guia de referência de políticas gerenciadas pela AWS.

AmazonRedshiftAllCommandsFullAccess

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 ou AWS Glue.

Você pode encontrar a política AmazonRedshiftAllCommandsFullAccess no console do IAM e a política AmazonRedshiftAllCommandsFullAccess 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.

Atualizações do Amazon Redshift para políticas gerenciadas pela AWS

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

AmazonRedshiftQueryEditorV2FullAccess: atualizar 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: atualizar 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: atualizar 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: atualizar 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: atualizar para uma política existente

Adicionada a permissão para 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: atualizar 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: atualizar 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: atualizar 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: atualizar 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: atualizar 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:

  • secretsmanager:GetRandomPassword

  • secretsmanager:DescribeSecret

  • secretsmanager:PutSecretValue

  • secretsmanager:UpdateSecret

  • secretsmanager:UpdateSecretVersionStage

  • secretsmanager:RotateSecret

  • secretsmanager:DeleteSecret

14 de agosto de 2023

AmazonRedshiftServiceLinkedRolePolicy: atualizar 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:

  • ec2:AuthorizeSecurityGroupEgress

  • ec2:AuthorizeSecurityGroupIngress

  • ec2:UpdateSecurityGroupRuleDescriptionsEgress

  • ec2:ReplaceRouteTableAssociation

  • ec2:CreateRouteTable

  • ec2:AttachInternetGateway

  • ec2:UpdateSecurityGroupRuleDescriptionsIngress

  • ec2:AssociateRouteTable

  • ec2:RevokeSecurityGroupIngress

  • ec2:CreateRoute

  • ec2:CreateSecurityGroup

  • ec2:RevokeSecurityGroupEgress

  • ec2:ModifyVpcAttribute

  • ec2:CreateSubnet

  • ec2:CreateInternetGateway

  • ec2:CreateVpc

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.
8 de maio de 2023

AmazonRedshiftDataFullAccess: atualizar para uma política existente

Adicionada a permissão para 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: atualizar 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: atualizar para uma política existente

Adicionada a permissão para 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: atualizar para uma política existente

Adicionada a permissão para 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: atualizar para uma política existente

Adicionada a permissão para 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: atualizar para uma política existente

Adicionada a permissão para 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: atualizar para uma política existente

Adicionada a permissão para 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: atualizar para uma política existente

Adicionada a permissão para 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: atualizar 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:

  • sqlworkbench:ListNotebooks

  • sqlworkbench:CreateNotebook

  • sqlworkbench:DuplicateNotebook

  • sqlworkbench:CreateNotebookFromVersion

  • sqlworkbench:ImportNotebook

  • sqlworkbench:GetNotebook

  • sqlworkbench:UpdateNotebook

  • sqlworkbench:DeleteNotebook

  • sqlworkbench:CreateNotebookCell

  • sqlworkbench:DeleteNotebookCell

  • sqlworkbench:UpdateNotebookCellContent

  • sqlworkbench:UpdateNotebookCellLayout

  • sqlworkbench:BatchGetNotebookCell

  • sqlworkbench:ListNotebookVersions

  • sqlworkbench:CreateNotebookVersion

  • sqlworkbench:GetNotebookVersion

  • sqlworkbench:DeleteNotebookVersion

  • sqlworkbench:RestoreNotebookVersion

  • sqlworkbench:ExportNotebook

17 de outubro de 2022

AmazonRedshiftQueryEditorV2ReadSharing: atualizar 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:

  • sqlworkbench:ListNotebooks

  • sqlworkbench:CreateNotebook

  • sqlworkbench:DuplicateNotebook

  • sqlworkbench:CreateNotebookFromVersion

  • sqlworkbench:ImportNotebook

  • sqlworkbench:GetNotebook

  • sqlworkbench:UpdateNotebook

  • sqlworkbench:DeleteNotebook

  • sqlworkbench:CreateNotebookCell

  • sqlworkbench:DeleteNotebookCell

  • sqlworkbench:UpdateNotebookCellContent

  • sqlworkbench:UpdateNotebookCellLayout

  • sqlworkbench:BatchGetNotebookCell

  • sqlworkbench:ListNotebookVersions

  • sqlworkbench:CreateNotebookVersion

  • sqlworkbench:GetNotebookVersion

  • sqlworkbench:DeleteNotebookVersion

  • sqlworkbench:RestoreNotebookVersion

  • sqlworkbench:ExportNotebook

17 de outubro de 2022

AmazonRedshiftQueryEditorV2ReadWriteSharing: atualizar 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:

  • sqlworkbench:ListNotebooks

  • sqlworkbench:CreateNotebook

  • sqlworkbench:DuplicateNotebook

  • sqlworkbench:CreateNotebookFromVersion

  • sqlworkbench:ImportNotebook

  • sqlworkbench:GetNotebook

  • sqlworkbench:UpdateNotebook

  • sqlworkbench:DeleteNotebook

  • sqlworkbench:CreateNotebookCell

  • sqlworkbench:DeleteNotebookCell

  • sqlworkbench:UpdateNotebookCellContent

  • sqlworkbench:UpdateNotebookCellLayout

  • sqlworkbench:BatchGetNotebookCell

  • sqlworkbench:ListNotebookVersions

  • sqlworkbench:CreateNotebookVersion

  • sqlworkbench:GetNotebookVersion

  • sqlworkbench:DeleteNotebookVersion

  • sqlworkbench:RestoreNotebookVersion

  • sqlworkbench:ExportNotebook

17 de outubro de 2022

AmazonRedshiftServiceLinkedRolePolicy: atualizar 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: atualizar 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: atualizar 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: atualizar 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: atualizar 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: atualizar 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: atualizar 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: atualizar 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: atualizar 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: atualizar 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: atualizar 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: atualizar 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: atualizar 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: atualizar 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: atualizar 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: atualizar para uma política existente

Adicionada a permissão para 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: atualizar 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: 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: atualizar 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: atualizar 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: 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: 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: 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: 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: atualizar para uma política existente

O Amazon Redshift adicionou novas permissões para permitir sagemaker:*Job*.

18 de agosto de 2021

AmazonRedshiftDataFullAccess: atualizar para uma política existente

O Amazon Redshift adicionou novas permissões para permitir AuthorizeDataShare.

12 de agosto de 2021

AmazonRedshiftDataFullAccess: atualizar 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

Permissões necessárias para usar Redshift Spectrum

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 no Guia do desenvolvedor de database do Amazon Redshift.

Permissões necessárias para usar o console do Amazon Redshift

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.

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.

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

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": "DataAPIIAMSessionPermissionsRestriction", "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

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 AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

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

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

  4. Adicione a chave da etiqueta sqlworkbench-team e o valor accounting-team.

  5. 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 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 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 e Provedores de identidade e federação 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. Osqlworkbench: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

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.

{ "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 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.

{ "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) 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

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.

{ "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 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) 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 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 seus usuários utilizem o Amazon Redshift ML com o Amazon SageMaker, crie uma função 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 Autopilot com explicabilidade do modelo do Amazon Redshift.

{ "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.

{ "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 assumam a função do IAM precedente para interagir com outros serviços, adicione a política de confiança a seguir à função.

{ "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 as operações da API do SageMaker. 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.

{ "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 no Guia do desenvolvedor do Amazon SageMaker.

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.

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

Para obter mais informações sobre o Amazon Redshift ML, consulte Usar o machine learning no Amazon Redshift ou CREATE MODEL.

Permissões para ingestão de streaming

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

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.

Permissões necessárias para usar a ingestão de streaming com o Amazon MSK

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.

Permissões necessárias para usar as operações de API de compartilhamento de dados

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 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" } ] }

O DataShareARN 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

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á de um conjunto mínimo de permissões. No mínimo, você precisará de permissão para chamar a 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.

Parâmetro de GetClusterCredentials

Ação

Recurso

Autocreate

redshift:CreateClusterUser

dbuser

DbGroups

redshift:JoinGroup

dbgroup

DbName

N/D dbname

Para obter mais informações sobre recursos, consulte Recursos e operações do Amazon Redshift.

Você também pode incluir as seguintes condições na política:

  • redshift:DurationSeconds

  • redshift:DbName

  • redshift:DbUser

Para obter mais informações sobre as condições, consulte Especificar condições em uma política.

Exemplos de política gerenciada pelo cliente

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 política a seguir permite acesso a todas as ações do Amazon Redshift em todos os recursos.

{ "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

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.

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

Exemplo 3: permitir que um usuário gerencie clusters

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.

{ "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 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.

{ "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.

{ "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 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.

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

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.

{ "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

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 Marcação de recursos no Amazon Redshift.

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

Política de exemplo para usar GetClusterCredentials

A política a seguir usa esses valores de parâmetro de exemplo:

  • Região: us-west-2

  • Conta da AWS: 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".

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