Associar uma função do IAM a um cluster de banco de dados do Amazon Aurora MySQL
Para permitir que os usuários do banco de dados em um cluster de banco de dados do Amazon Aurora acessem outros serviços da AWS, associe o perfil do IAM criado em Criar uma função do IAM para permitir que o Amazon Aurora acesse produtos da AWS a esse cluster de banco de dados. A AWS também pode criar para você um perfil do IAM associando o serviço diretamente.
nota
Não é possível associar uma função do IAM a um cluster de banco de dados do Aurora Serverless v1. Para obter mais informações, consulte Usar o Amazon Aurora Serverless v1.
É possível associar um perfil do IAM a um cluster de banco de dados do Aurora Serverless v2.
Para associar uma função do IAM a um cluster de banco de dados, é necessário fazer duas coisas:
-
Adicione a função à lista de funções associadas para um cluster de banco de dados usando o console do RDS, o comando add-role-to-db-cluster da AWS CLI ou a operação AddRoleToDBCluster da API do RDS.
É possível adicionar no máximo cinco funções do IAM para cada cluster de banco de dados Aurora.
-
Defina o parâmetro em nível de cluster do serviço da AWS relacionado como o ARN da função do IAM associada.
A tabela a seguir descreve os nomes de parâmetros em nível de cluster para as funções do IAM usadas para acessar outros serviços da AWS.
Parâmetro no nível do cluster Descrição aws_default_lambda_role
Usado ao invocar uma função Lambda no seu cluster de banco de dados.
aws_default_logs_role
Esse parâmetro não é mais necessário para exportar dados de log do cluster de banco de dados para o Amazon CloudWatch Logs. O Aurora MySQL agora usa uma função vinculada a serviço para as permissões necessárias. Para obter mais informações sobre funções vinculadas ao serviço, consulte Usar funções vinculadas ao serviço do Amazon Aurora.
aws_default_s3_role
Usado ao invocar a instrução
LOAD DATA FROM S3
,LOAD XML FROM S3
ouSELECT INTO OUTFILE S3
do seu cluster de banco de dados.No Aurora MySQL versão 2, o perfil do IAM especificado nesse parâmetro será usado se não for especificado um perfil do IAM para
aurora_load_from_s3_role
ouaurora_select_into_s3_role
para a instrução apropriada.No Aurora MySQL versão 3, o perfil do IAM especificado para esse parâmetro sempre é usado.
aurora_load_from_s3_role
Usado ao invocar a instrução
LOAD DATA FROM S3
ouLOAD XML FROM S3
de seu cluster de banco de dados. Se uma função do IAM não for especificada para esse parâmetro, a função do IAM especificada emaws_default_s3_role
será usada.No Aurora MySQL versão 3, esse parâmetro não está disponível.
aurora_select_into_s3_role
Usado ao invocar a instrução
SELECT INTO OUTFILE S3
de seu cluster de banco de dados. Se uma função do IAM não for especificada para esse parâmetro, a função do IAM especificada emaws_default_s3_role
será usada.No Aurora MySQL versão 3, esse parâmetro não está disponível.
Para associar uma função do IAM a fim de permitir que o cluster do Amazon RDS se comunique com outros produtos da AWS em seu nome, siga estas etapas.
Para associar uma função do IAM a um cluster de banco de dados Aurora usando o console
-
Abra o console do RDS em https://console.aws.amazon.com/rds/
. -
Escolha Databases (Bancos de dados).
-
Escolha o nome do cluster de banco de dados Aurora ao qual você deseja associar uma função do IAM para mostrar seus detalhes.
-
Na guia Connectivity & security (Conectividade e segurança), na seção Manage IAM roles (Gerenciar perfis do IAM), faça o seguinte:
-
Select IAM roles to add to this cluster (Selecionar perfis do IAM a serem adicionados a esse cluster) (padrão)
-
Select a service to connect to this cluster (Selecionar um serviço a ser conectado a esse cluster)
-
-
Para usar um perfil existente do IAM, selecione-o no menu e depois selecione Add role (Adicionar perfil).
Se a adição do perfil for bem-sucedida, seu status será exibido como
Pending
e, então,Available
. -
Como conectar um serviço diretamente:
-
Selecione Select a service to connect to this cluster (Selecionar um serviço a ser conectado a esse cluster).
-
Selecione o serviço no menu e depois selecione Connect service (Conectar serviço).
-
Em Connect cluster to
Service Name
[Conectar cluster ao (nome do serviço)], insira o nome do recurso da Amazon (ARN) que será utilizado para se conectar ao serviço e depois selecione Connect service (Conectar serviço).
A AWS cria um perfil do IAM para se conectar ao serviço. Seu status é exibido como
Pending
e depoisAvailable
. -
-
(Opcional) Para parar de associar um perfil do IAM a um cluster de banco de dados e remover a permissão relacionada, selecione o perfil e depois selecione Delete (Excluir).
Como definir o parâmetro em nível de cluster para o perfil do IAM
-
No console do RDS, escolha Parameter groups no painel de navegação.
-
Se já estiver usando um parameter group de banco de dados personalizado, você poderá selecionar esse grupo para usar em vez de criar um novo. Se você estiver usando o parameter group do cluster de banco de dados padrão, crie um novo parameter group de cluster de banco de dados, conforme descrito nas etapas a seguir:
-
Escolha Create parameter group (Criar parameter group).
-
Em Família de grupos de parâmetros, escolha
aurora-mysql8.0
para um cluster de banco de dados compatível com o Aurora MySQL 8.0 ou escolhaaurora-mysql5.7
para um cluster de banco de dados compatível com o Aurora MySQL 5.7. -
Em Type (Tipo), escolha DB Cluster Parameter Group (Grupo de parâmetros do cluster de banco de dados).
-
Para Group name, digite o nome do seu novo parameter group de cluster de banco de dados.
-
Para Description, digite uma descrição para o seu novo parameter group de cluster de banco de dados.
-
Escolha Criar.
-
-
Na página Parameter groups (Grupos de parâmetros), selecione o grupo de parâmetros do cluster do banco de dados e escolha Edit (Editar) em Parameter group actions (Ações em grupos de parâmetros).
-
Defina os parâmetros apropriados em nível de cluster como os valores de ARN do perfil do IAM relacionados.
Por exemplo, você pode definir apenas o parâmetro
aws_default_s3_role
comoarn:aws:iam::123456789012:role/AllowS3Access
. -
Selecione Save changes.
-
Para alterar o grupo de parâmetros do cluster de banco de dados para seu cluster de banco de dados, conclua as etapas a seguir:
-
Escolha Databases (Bancos de dados) e o cluster de banco de dados Aurora.
-
Selecione Modify.
-
Role até Database options (Opções de banco de dados) e defina DB cluster parameter group (Grupo de parâmetros de cluster de banco de dados) como o grupo de parâmetros de cluster de banco de dados.
-
Escolha Continue.
-
Verifique suas alterações e escolha Apply immediately.
-
Selecione Modify Cluster (Modificar cluster).
-
Escolha Databases (Bancos de dados) e a instância primária de seu cluster de banco de dados.
-
Em Actions (Ações), escolha Reboot (Reiniciar).
Quando a instância tiver sido reinicializada, a função do IAM será associada a seu cluster de banco de dados.
Para obter mais informações sobre parameter groups de cluster, consulte Parâmetros de configuração do Aurora MySQL.
-
Para associar uma função do IAM a um cluster de banco de dados usando a AWS CLI
-
Chame o comando
add-role-to-db-cluster
da AWS CLI para adicionar os ARNs de suas funções do IAM ao cluster de banco de dados, conforme mostrado a seguir.PROMPT> aws rds add-role-to-db-cluster --db-cluster-identifier my-cluster --role-arn arn:aws:iam::123456789012:role/AllowAuroraS3Role PROMPT> aws rds add-role-to-db-cluster --db-cluster-identifier my-cluster --role-arn arn:aws:iam::123456789012:role/AllowAuroraLambdaRole
-
Se você estiver usando o parameter group do cluster de banco de dados padrão, precisará criar um novo parameter group do cluster de banco de dados. Se já estiver usando um parameter group de banco de dados personalizado, você poderá usar esse grupo em vez de criar um novo.
Para criar um novo parameter group de cluster de banco de dados, chame o comando
create-db-cluster-parameter-group
da AWS CLI, conforme mostrado a seguir.PROMPT> aws rds create-db-cluster-parameter-group --db-cluster-parameter-group-name AllowAWSAccess \ --db-parameter-group-family aurora5.7 --description "Allow access to Amazon S3 and AWS Lambda"
No caso de um cluster compatível com o MySQL 5.7 do Aurora, especifique
aurora-mysql5.7
para--db-parameter-group-family
. No caso de um cluster de banco de dados compatível com Aurora MySQL 8.0, especifiqueaurora-mysql8.0
para--db-parameter-group-family
. -
Defina um ou mais parâmetros apropriados em nível de cluster e também os valores de ARN da função do IAM relacionados no seu parameter group de cluster de banco de dados, conforme mostrado a seguir.
PROMPT> aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name AllowAWSAccess \ --parameters "ParameterName=aws_default_s3_role,ParameterValue=arn:aws:iam::123456789012:role/AllowAuroraS3Role,method=pending-reboot" \ --parameters "ParameterName=aws_default_lambda_role,ParameterValue=arn:aws:iam::123456789012:role/AllowAuroraLambdaRole,method=pending-reboot"
-
Modifique o cluster de banco de dados para usar o novo parameter group de cluster de banco de dados e depois reinicialize o cluster, conforme mostrado a seguir.
PROMPT> aws rds modify-db-cluster --db-cluster-identifier my-cluster --db-cluster-parameter-group-name AllowAWSAccess PROMPT> aws rds reboot-db-instance --db-instance-identifier my-cluster-primary
Quando a instância tiver sido reinicializada, suas funções do IAM serão associadas ao seu cluster de banco de dados.
Para obter mais informações sobre parameter groups de cluster, consulte Parâmetros de configuração do Aurora MySQL.