Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Configurar permissões do IAM - Amazon Redshift

Configurar permissões do IAM

O Amazon Redshift fornece a política gerenciada AmazonRedshiftDataFullAccess. Esta política fornece acesso total às operações da API de dados do Amazon Redshift. Esta política também permite acesso com escopo específico ao Amazon Redshift, ao AWS Secrets Manager e às operações de API do IAM necessárias para autenticar e acessar um cluster do Amazon Redshift ou um grupo de trabalho do Redshift sem servidor.

Você também pode criar sua própria política do IAM que permite acesso a recursos específicos. Para criar sua política, use a política AmazonRedshiftDataFullAccess como seu modelo inicial. Depois de criar sua política, adicione-a a cada usuário que requer acesso à API de dados.

Considere os seguintes requisitos da política do IAM associada ao usuário:

  • Se você usar o AWS Secrets Manager para autenticar, confirme se a política permite o uso da ação secretsmanager:GetSecretValue para recuperar o segredo marcado com a chave RedshiftDataFullAccess.

  • Se você usar credenciais temporárias a fim de autenticar em um cluster, confirme se a política permitirá o uso da ação redshift:GetClusterCredentials para o nome do usuário do banco de dados redshift_data_api_user a qualquer banco de dados no cluster. Esse nome de usuário já deve ter sido criado no banco de dados.

  • Se você usar credenciais temporárias para autenticar em um grupo de trabalho com a tecnologia sem servidor, confirme se a política permite o uso da ação redshift-serverless:GetCredentials para recuperar o grupo de trabalho marcado com a chave RedshiftDataFullAccess. O usuário do banco de dados é mapeado 1:1 para a identidade de origem do AWS Identity and Access Management (IAM). Por exemplo, o usuário usuário_amostra é mapeado para o usuário do banco de dados IAM:sample_user e o perfil do IAM perfil_amostra é mapeado para IAMR:sample_role. Para obter mais informações sobre as identidades do IAM, consulte Identidades do IAM (usuários, grupos de usuários e perfis) no Guia do usuário do IAM.

  • A ação redshift-data:GetStatementResult do IAM permite acesso às operações de API GetStatementResult e GetStatementResultV2.

Os links a seguir fornecem informações adicionais sobre o AWS Identity and Access Management no Manual do usuário do IAM.

Executar uma consulta em um cluster pertencente a outra conta

Para executar uma consulta em um cluster que pertence a outra conta, a conta proprietária deve fornecer uma função do IAM que a API de dados pode assumir na conta de chamada. Por exemplo, suponha que a Conta B possui um cluster que a Conta A precisa acessar. A conta B pode anexar a política AmazonRedshiftDataFullAccess gerenciada pela AWS ao perfil do IAM da conta B. Em seguida, a Conta B confia na Conta A utilizando uma política fidedigna como a seguinte:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::accountID-of-account-A:role/someRoleA" ] }, "Action": "sts:AssumeRole" } ] }

Finalmente, a função do IAM da conta A precisa ser capaz de assumir a função do IAM da conta B.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::accountID-of-account-B:role/someRoleB" } }

Especificar um perfil do IAM que restrinja recursos aos grupos de trabalho do Redshift sem servidor e aos clusters do Amazon Redshift em uma Conta da AWS

É possível especificar ARNs de recursos em sua política baseada em identidade para controlar o acesso aos grupos de trabalho do Redshift sem servidor e clusters do Amazon Redshift em uma Conta da AWS. Este exemplo mostra como você pode criar uma política que permita acesso à API de dados somente ao grupo de trabalho e aos clusters na Conta da AWS especificada.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "redshift-data:CancelStatement", "redshift-data:DescribeStatement", "redshift-data:GetStatementResult", "redshift-data:ListStatements" ], "Resource": "*" }, { "Effect": "Allow", "Action": "redshift-data:*", "Resource": [ "arn:arn-partition:redshift-serverless:*:Conta da AWS:workgroup/*", "arn:arn-partition:redshift:*:Conta da AWS:cluster:*" ] } ] }

Configurar uma política do IAM que permita que somente o proprietário da instrução tenha acesso às informações da instrução SQL

Por padrão, a API de dados do Amazon Redshift trata o perfil do IAM usado ao chamar ExecuteStatement e BatchExecuteStatement como proprietário da instrução SQL. Qualquer pessoa autorizada a assumir o perfil pode acessar informações da instrução SQL, bem como os respectivos resultados. Para restringir o acesso às informações da instrução SQL a uma sessão do perfil do IAM com um proprietário específico, adicione uma condição redshift-data:statement-owner-iam-userid: "${aws:userid}". A política do IAM a seguir restringe o acesso.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "redshift-data:CancelStatement", "redshift-data:DescribeStatement", "redshift-data:GetStatementResult", "redshift-data:ListStatements" ], "Resource": "*", "Condition": { "StringEquals": { "redshift-data:statement-owner-iam-userid": "${aws:userid}" } } } ] }

É possível usar a condição statement-owner-iam-userid com CancelStatement, DescribeStatement, GetStatementResult e ListStatements. Para obter mais informações, consulte Actions defined by Amazon Redshift Data API.

Configurar uma política do IAM que permita que somente o proprietário da sessão tenha acesso aos resultados SQL

Por padrão, a API de dados do Amazon Redshift trata o perfil do IAM usado ao chamar ExecuteStatement e BatchExecuteStatement como o proprietário da instrução SQL que executa a instrução SQL. Qualquer pessoa autorizada a assumir o perfil pode enviar consultas à sessão do banco de dados. Para restringir o acesso a uma sessão do perfil do IAM com um proprietário específico, adicione a condição redshift-data:session-owner-iam-userid: "${aws:userid}". A política do IAM a seguir restringe o acesso.

A política do IAM a seguir permite que somente o proprietário da sessão obtenha os resultados da instrução. A condição session-owner-iam-userid é usada para permitir o acesso a recursos somente ao userid especificado.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "redshift-data:ExecuteStatement", "redshift-data:BatchExecuteStatement" ], "Resource": "*", "Condition": { "StringEquals": { "redshift-data:session-owner-iam-userid": "${aws:userid}" } } } ] }

É possível usar a condição session-owner-iam-userid com ExecuteStatement e BatchExecuteStatement. Para obter mais informações, consulte Actions defined by Amazon Redshift Data API.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.