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

Pré-requisitos para integrar o RDS for SQL Server com o S3

Modo de foco
Pré-requisitos para integrar o RDS for SQL Server com o S3 - Amazon Relational Database Service

Antes de começar, encontre e crie o bucket do S3 que você deseja usar. Além disso, adicione permissões para que a instância de banco de dados do RDS possa acessar o bucket do S3. Para configurar esse acesso, crie uma política do IAM e uma função do IAM.

Como criar uma política do IAM para acesso ao Amazon S3
  1. No Console de gerenciamento do IAM, escolha Policies (Políticas) no painel de navegação.

  2. Crie uma nova política e use a guia Visual editor (Editor visual) para as etapas a seguir.

  3. Para Service (Serviço), insira S3 e escolha o serviço do S3.

  4. Para Actions (Ações), escolha o seguinte para conceder o acesso que a instância de banco de dados exige:

    • ListAllMyBuckets – obrigatório

    • ListBucket – obrigatório

    • GetBucketACL – obrigatório

    • GetBucketLocation – obrigatório

    • GetObject – necessário para baixar arquivos do S3 em D:\S3\

    • PutObject – necessário para fazer upload de arquivos de D:\S3\ no S3

    • ListMultipartUploadParts – necessário para fazer upload de arquivos de D:\S3\ no S3

    • AbortMultipartUpload – necessário para fazer upload de arquivos de D:\S3\ no S3

  5. Para Resources (Recursos), as opções exibidas dependem de quais ações são escolhidas na etapa anterior. É possível ver opções para bucket, object (objeto) ou os dois. Para cada um deles, adicione o nome de recurso da Amazon (ARN) adequado.

    Em bucket, adicione o ARN do bucket que você deseja usar. Por exemplo, se o bucket for chamado de amzn-s3-demo-bucket, defina o ARN como arn:aws:s3:::amzn-s3-demo-bucket.

    Em object (objeto), insira o ARN do bucket e escolha uma das seguintes opções:

    • Para conceder acesso a todos os arquivos no bucket especificado, escolha Any (Qualquer um) para Bucket name (Nome do bucket) e Object name (Nome do objeto).

    • Para conceder acesso a pastas ou arquivos específicos no bucket, forneça os ARNs dos objetos e buckets específicos que você deseja que o SQL Server acesse.

  6. Siga as instruções no console até terminar a criação da política.

    O conteúdo anterior é um guia resumido para configurar uma política. Para instruções mais detalhadas sobre como criar políticas do IAM, consulte Criar políticas do IAM no Guia do usuário do IAM.

Como criar uma função do IAM que usa a política do IAM do procedimento anterior
  1. No Console de gerenciamento do IAM, escolha Roles (Funções) no painel de navegação.

  2. Crie uma nova função do IAM e escolha as seguintes opções à medida que elas forem exibidas no console:

    • Produto da AWS

    • RDS

    • RDS – adicionar função ao banco de dados

    Escolha Next:Permissions (Próximo: permissões) na parte inferior.

  3. Para Attach permissions policies (Anexar políticas de permissões), insira o nome da política do IAM criada anteriormente. Depois disso, escolha essa política na lista.

  4. Siga as instruções no console até terminar a criação da função.

    O anterior é um guia resumido para configurar uma função. Se quiser informações mais detalhadas sobre como criar funções, consulte Funções do IAM no Guia do usuário do IAM.

Como criar uma política do IAM para acesso ao Amazon S3
  1. No Console de gerenciamento do IAM, escolha Policies (Políticas) no painel de navegação.

  2. Crie uma nova política e use a guia Visual editor (Editor visual) para as etapas a seguir.

  3. Para Service (Serviço), insira S3 e escolha o serviço do S3.

  4. Para Actions (Ações), escolha o seguinte para conceder o acesso que a instância de banco de dados exige:

    • ListAllMyBuckets – obrigatório

    • ListBucket – obrigatório

    • GetBucketACL – obrigatório

    • GetBucketLocation – obrigatório

    • GetObject – necessário para baixar arquivos do S3 em D:\S3\

    • PutObject – necessário para fazer upload de arquivos de D:\S3\ no S3

    • ListMultipartUploadParts – necessário para fazer upload de arquivos de D:\S3\ no S3

    • AbortMultipartUpload – necessário para fazer upload de arquivos de D:\S3\ no S3

  5. Para Resources (Recursos), as opções exibidas dependem de quais ações são escolhidas na etapa anterior. É possível ver opções para bucket, object (objeto) ou os dois. Para cada um deles, adicione o nome de recurso da Amazon (ARN) adequado.

    Em bucket, adicione o ARN do bucket que você deseja usar. Por exemplo, se o bucket for chamado de amzn-s3-demo-bucket, defina o ARN como arn:aws:s3:::amzn-s3-demo-bucket.

    Em object (objeto), insira o ARN do bucket e escolha uma das seguintes opções:

    • Para conceder acesso a todos os arquivos no bucket especificado, escolha Any (Qualquer um) para Bucket name (Nome do bucket) e Object name (Nome do objeto).

    • Para conceder acesso a pastas ou arquivos específicos no bucket, forneça os ARNs dos objetos e buckets específicos que você deseja que o SQL Server acesse.

  6. Siga as instruções no console até terminar a criação da política.

    O conteúdo anterior é um guia resumido para configurar uma política. Para instruções mais detalhadas sobre como criar políticas do IAM, consulte Criar políticas do IAM no Guia do usuário do IAM.

Como criar uma função do IAM que usa a política do IAM do procedimento anterior
  1. No Console de gerenciamento do IAM, escolha Roles (Funções) no painel de navegação.

  2. Crie uma nova função do IAM e escolha as seguintes opções à medida que elas forem exibidas no console:

    • Produto da AWS

    • RDS

    • RDS – adicionar função ao banco de dados

    Escolha Next:Permissions (Próximo: permissões) na parte inferior.

  3. Para Attach permissions policies (Anexar políticas de permissões), insira o nome da política do IAM criada anteriormente. Depois disso, escolha essa política na lista.

  4. Siga as instruções no console até terminar a criação da função.

    O anterior é um guia resumido para configurar uma função. Se quiser informações mais detalhadas sobre como criar funções, consulte Funções do IAM no Guia do usuário do IAM.

Para conceder acesso do Amazon RDS a um bucket do Simple Storage Service (Simple Storage Service (Amazon S3)), use o seguinte processo:

  1. Crie uma política do IAM que conceda ao Amazon RDS acesso a um bucket do S3.

  2. Crie uma função do IAM que o Amazon RDS possa assumir em seu nome para acessar seus buckets do S3.

    Para ter mais informações, consulte Criar um perfil para delegar permissões a um usuário do IAM no Guia do usuário do IAM.

  3. Anexe a política do IAM que você criou ao perfil do IAM que você criou.

Para criar a política do IAM

Inclua as ações adequadas para conceder o acesso que a instância de banco de dados exige:

  • ListAllMyBuckets – obrigatório

  • ListBucket – obrigatório

  • GetBucketACL – obrigatório

  • GetBucketLocation – obrigatório

  • GetObject – necessário para baixar arquivos do S3 em D:\S3\

  • PutObject – necessário para fazer upload de arquivos de D:\S3\ no S3

  • ListMultipartUploadParts – necessário para fazer upload de arquivos de D:\S3\ no S3

  • AbortMultipartUpload – necessário para fazer upload de arquivos de D:\S3\ no S3

  1. O comando da AWS CLI a seguir cria uma política do IAM denominada rds-s3-integration-policy com essas opções. Ele concede acesso a um bucket denominado amzn-s3-demo-bucket.

    Para Linux, macOS ou Unix:

    aws iam create-policy \ --policy-name rds-s3-integration-policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketACL", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/key_prefix/*" } ] }'

    Para Windows:

    Altere os finais de linha para os que são compatíveis com a interface (^, em vez de \). Além disso, no Windows, é necessário inserir um caractere de escape em todas as aspas duplas com um \. Para evitar a necessidade de inserir um caractere de escape em aspas no JSON, é possível salvá-lo em um arquivo e passá-lo como um parâmetro.

    Primeiro, crie o arquivo policy.json com a seguinte política de permissão:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketACL", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/key_prefix/*" } ] }

    Depois disso, use o seguinte comando para criar a política:

    aws iam create-policy ^ --policy-name rds-s3-integration-policy ^ --policy-document file://file_path/assume_role_policy.json
  2. Após a criação da política, observe o nome de recurso da Amazon (ARN) da política. O ARN é necessário para uma etapa subsequente.

Para criar perfil do IAM
  • O comando da AWS CLI a seguir cria a função do IAM rds-s3-integration-role para essa finalidade.

    Para Linux, macOS ou Unix:

    aws iam create-role \ --role-name rds-s3-integration-role \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'

    Para Windows:

    Altere os finais de linha para os que são compatíveis com a interface (^, em vez de \). Além disso, no Windows, é necessário inserir um caractere de escape em todas as aspas duplas com um \. Para evitar a necessidade de inserir um caractere de escape em aspas no JSON, é possível salvá-lo em um arquivo e passá-lo como um parâmetro.

    Primeiro, crie o arquivo assume_role_policy.json com a seguinte política:

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

    Depois disso, use o comando a seguir para criar a função do IAM:

    aws iam create-role ^ --role-name rds-s3-integration-role ^ --assume-role-policy-document file://file_path/assume_role_policy.json
    exemplo de usar a chave de contexto de condição global para criar a função do IAM

    Recomendamos usar as chaves de contexto de condição global aws:SourceArn e aws:SourceAccount em políticas baseadas em recursos para limitar as permissões do serviço a um recurso específico. Essa é a maneira mais eficiente de se proteger contra o problema "confused deputy".

    Você pode usar as duas chaves de contexto de condição global e fazer com que o valor aws:SourceArn contenha o ID da conta. Nesses casos, verifique se o valor aws:SourceAccount e a conta no valor aws:SourceArn usa o mesmo ID de conta quando eles são usados na mesma instrução de política.

    • Use aws:SourceArn se quiser acesso entre serviços para um único recurso.

    • Use aws:SourceAccount se você quiser permitir que qualquer recurso nessa conta seja associado ao uso entre serviços.

    Na política, certifique-se de usar a chave de contexto de condição global aws:SourceArn com o nome do recurso da Amazon (ARN) completo dos recursos acessando a função. Para integração do S3, certifique-se de incluir os ARNs de instância de banco de dados, conforme mostrado no exemplo a seguir.

    Para Linux, macOS ou Unix:

    aws iam create-role \ --role-name rds-s3-integration-role \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceArn":"arn:aws:rds:Region:my_account_ID:db:db_instance_identifier" } } } ] }'

    Para Windows:

    Adicione as chaves de contexto de condição globais à assume_role_policy.json.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceArn":"arn:aws:rds:Region:my_account_ID:db:db_instance_identifier" } } } ] }
Para anexar a política do IAM à função do IAM
  • O seguinte comando da AWS CLI anexa a política à função denominada rds-s3-integration-role. Substitua your-policy-arn pelo ARN da política que você anotou em uma etapa anterior.

    Para Linux, macOS ou Unix:

    aws iam attach-role-policy \ --policy-arn your-policy-arn \ --role-name rds-s3-integration-role

    Para Windows:

    aws iam attach-role-policy ^ --policy-arn your-policy-arn ^ --role-name rds-s3-integration-role

AWS CLI

Para conceder acesso do Amazon RDS a um bucket do Simple Storage Service (Simple Storage Service (Amazon S3)), use o seguinte processo:

  1. Crie uma política do IAM que conceda ao Amazon RDS acesso a um bucket do S3.

  2. Crie uma função do IAM que o Amazon RDS possa assumir em seu nome para acessar seus buckets do S3.

    Para ter mais informações, consulte Criar um perfil para delegar permissões a um usuário do IAM no Guia do usuário do IAM.

  3. Anexe a política do IAM que você criou ao perfil do IAM que você criou.

Para criar a política do IAM

Inclua as ações adequadas para conceder o acesso que a instância de banco de dados exige:

  • ListAllMyBuckets – obrigatório

  • ListBucket – obrigatório

  • GetBucketACL – obrigatório

  • GetBucketLocation – obrigatório

  • GetObject – necessário para baixar arquivos do S3 em D:\S3\

  • PutObject – necessário para fazer upload de arquivos de D:\S3\ no S3

  • ListMultipartUploadParts – necessário para fazer upload de arquivos de D:\S3\ no S3

  • AbortMultipartUpload – necessário para fazer upload de arquivos de D:\S3\ no S3

  1. O comando da AWS CLI a seguir cria uma política do IAM denominada rds-s3-integration-policy com essas opções. Ele concede acesso a um bucket denominado amzn-s3-demo-bucket.

    Para Linux, macOS ou Unix:

    aws iam create-policy \ --policy-name rds-s3-integration-policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketACL", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/key_prefix/*" } ] }'

    Para Windows:

    Altere os finais de linha para os que são compatíveis com a interface (^, em vez de \). Além disso, no Windows, é necessário inserir um caractere de escape em todas as aspas duplas com um \. Para evitar a necessidade de inserir um caractere de escape em aspas no JSON, é possível salvá-lo em um arquivo e passá-lo como um parâmetro.

    Primeiro, crie o arquivo policy.json com a seguinte política de permissão:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketACL", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/key_prefix/*" } ] }

    Depois disso, use o seguinte comando para criar a política:

    aws iam create-policy ^ --policy-name rds-s3-integration-policy ^ --policy-document file://file_path/assume_role_policy.json
  2. Após a criação da política, observe o nome de recurso da Amazon (ARN) da política. O ARN é necessário para uma etapa subsequente.

Para criar perfil do IAM
  • O comando da AWS CLI a seguir cria a função do IAM rds-s3-integration-role para essa finalidade.

    Para Linux, macOS ou Unix:

    aws iam create-role \ --role-name rds-s3-integration-role \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'

    Para Windows:

    Altere os finais de linha para os que são compatíveis com a interface (^, em vez de \). Além disso, no Windows, é necessário inserir um caractere de escape em todas as aspas duplas com um \. Para evitar a necessidade de inserir um caractere de escape em aspas no JSON, é possível salvá-lo em um arquivo e passá-lo como um parâmetro.

    Primeiro, crie o arquivo assume_role_policy.json com a seguinte política:

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

    Depois disso, use o comando a seguir para criar a função do IAM:

    aws iam create-role ^ --role-name rds-s3-integration-role ^ --assume-role-policy-document file://file_path/assume_role_policy.json
    exemplo de usar a chave de contexto de condição global para criar a função do IAM

    Recomendamos usar as chaves de contexto de condição global aws:SourceArn e aws:SourceAccount em políticas baseadas em recursos para limitar as permissões do serviço a um recurso específico. Essa é a maneira mais eficiente de se proteger contra o problema "confused deputy".

    Você pode usar as duas chaves de contexto de condição global e fazer com que o valor aws:SourceArn contenha o ID da conta. Nesses casos, verifique se o valor aws:SourceAccount e a conta no valor aws:SourceArn usa o mesmo ID de conta quando eles são usados na mesma instrução de política.

    • Use aws:SourceArn se quiser acesso entre serviços para um único recurso.

    • Use aws:SourceAccount se você quiser permitir que qualquer recurso nessa conta seja associado ao uso entre serviços.

    Na política, certifique-se de usar a chave de contexto de condição global aws:SourceArn com o nome do recurso da Amazon (ARN) completo dos recursos acessando a função. Para integração do S3, certifique-se de incluir os ARNs de instância de banco de dados, conforme mostrado no exemplo a seguir.

    Para Linux, macOS ou Unix:

    aws iam create-role \ --role-name rds-s3-integration-role \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceArn":"arn:aws:rds:Region:my_account_ID:db:db_instance_identifier" } } } ] }'

    Para Windows:

    Adicione as chaves de contexto de condição globais à assume_role_policy.json.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceArn":"arn:aws:rds:Region:my_account_ID:db:db_instance_identifier" } } } ] }
Para anexar a política do IAM à função do IAM
  • O seguinte comando da AWS CLI anexa a política à função denominada rds-s3-integration-role. Substitua your-policy-arn pelo ARN da política que você anotou em uma etapa anterior.

    Para Linux, macOS ou Unix:

    aws iam attach-role-policy \ --policy-arn your-policy-arn \ --role-name rds-s3-integration-role

    Para Windows:

    aws iam attach-role-policy ^ --policy-arn your-policy-arn ^ --role-name rds-s3-integration-role
PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.