O conector do Amazon Athena para o AWS CMDB permite que o Athena se comunique com vários serviços da AWS para que você possa consultá-los com SQL.
Esse conector pode ser registrado como um catálogo federado no Glue Data Catalog. Ele é compatível com controles de acesso a dados definidos no Lake Formation nos níveis de catálogo, banco de dados, tabela, coluna, linha e tag. Esse conector usa o Glue Connections para centralizar as propriedades de configuração no Glue.
Pré-requisitos
Implante o conector na sua Conta da AWS usando o console do Athena ou o AWS Serverless Application Repository. Para obter mais informações, consulte Criar uma conexão de fonte de dados ou Usar o AWS Serverless Application Repository para implantar um conector de fonte de dados.
Parâmetros
Use os parâmetros nesta seção para configurar o conector do AWS CMDB.
nota
Os conectores de fonte de dados do Athena criados a partir de 3 de dezembro de 2024 usam conexões do AWS Glue.
Os nomes e definições dos parâmetros listados abaixo são para conectores de fonte de dados do Athena criados antes de 3 de dezembro de 2024. Eles podem diferir de suas propriedades de conexão do AWS Glue correspondentes. A partir de 3 de dezembro de 2024, use os parâmetros abaixo somente ao implantar manualmente uma versão anterior de um conector de fonte de dados do Athena.
-
spill_bucket: especifica o bucket do Amazon S3 para dados que excedem os limites da função do Lambda.
-
spill_prefix: (opcional) assume como padrão uma subpasta no
spill_bucket
especificado chamadoathena-federation-spill
. Recomendamos que você configure um ciclo de vida de armazenamento do Amazon S3 neste local para excluir derramamentos anteriores a um número predeterminado de dias ou horas. -
spill_put_request_headers: (opcional) um mapa codificado em JSON de cabeçalhos e valores de solicitações para a solicitação
putObject
do Amazon S3 usada para o derramamento (por exemplo,{"x-amz-server-side-encryption" : "AES256"}
). Para outros cabeçalhos possíveis, consulte PutObject na Referência da API do Amazon Simple Storage Service. -
kms_key_id: (opcional) por padrão, todos os dados transmitidos para o Amazon S3 são criptografados usando o modo de criptografia autenticado AES-GCM e uma chave gerada aleatoriamente. Para que sua função do Lambda use chaves de criptografia mais fortes geradas pelo KMS, como
a7e63k4b-8loc-40db-a2a1-4d0en2cd8331
, é possível especificar um ID de chave do KMS. -
disable_spill_encryption: (opcional) quando definido como
True
, desativa a criptografia do derramamento. É padronizado comoFalse
, para que os dados transmitidos para o S3 sejam criptografados usando o AES-GCM — usando uma chave gerada aleatoriamente ou o KMS para gerar chaves. Desativar a criptografia do derramamento pode melhorar o desempenho, especialmente se o local do derramamento usar criptografia no lado do servidor. -
default_ec2_image_owner: (opcional) quando definido, controla o proprietário padrão da imagem do Amazon EC2 que filtra Imagens de máquina da Amazon (AMIs). Se você não definir esse valor e sua consulta na tabela de imagens do EC2 não incluir um filtro para o proprietário, seus resultados incluirão todas as imagens públicas.
Bancos de dados e tabelas
O conector AWS CMDB do Athena disponibiliza os seguintes bancos de dados e tabelas para consultar seu inventário de recursos da AWS. Para obter mais informações sobre as colunas disponíveis em cada tabela, execute uma declaração DESCRIBE
usando o console ou a API do Athena.database
.table
-
ec2: esse banco de dados contém recursos relacionados ao Amazon EC2, incluindo os seguintes.
-
ebs_volumes: contém detalhes dos seus volumes do Amazon EBS.
-
ec2_instances: contém detalhes das suas instâncias do EC2.
-
ec2_images: contém detalhes das suas imagens do EC2.
-
routing_tables: contém detalhes das suas tabelas de roteamento de VPC.
-
security_groups: contém detalhes dos seus grupos de segurança.
-
subnets: contém detalhes das suas sub-redes VPC.
-
vpcs: contém detalhes das suas VPCs.
-
emr: este banco de dados contém recursos relacionados ao Amazon EMR, incluindo os seguintes.
-
emr_clusters: contém detalhes dos seus clusters do EMR.
-
rds: este banco de dados contém recursos relacionados ao Amazon RDS, incluindo os seguintes.
-
rds_instances: contém detalhes das suas instâncias do RDS.
-
s3: este banco de dados contém recursos relacionados ao RDS, incluindo os seguintes.
-
buckets: contém detalhes dos buckets do Amazon S3.
-
objects: contém detalhes dos seus objetos do Amazon S3, excluindo seu conteúdo.
Permissões obrigatórias
Os detalhes completos sobre as políticas do IAM exigidas por esse conector podem ser encontrados na seção Policies
do arquivo athena-aws-cmdb.yaml
-
Acesso de gravação do Amazon S3: o conector requer acesso de gravação a um local no Amazon S3 para mostrar resultados de grandes consultas.
-
Athena GetQueryExecution: o conector usa esta permissão para falhar rapidamente quando a consulta upstream do Athena é encerrada.
-
S3 List (Listar S3): o conector usa esta permissão para listar seus buckets e objetos do Amazon S3.
-
EC2 Describe (Descrever EC2): o conector usa esta permissão para descrever recursos, como suas instâncias do Amazon EC2, grupos de segurança, VPCs e volumes do Amazon EBS.
-
EMR Describe / List (Descrever / listar EMR): o conector usa esta permissão para descrever seus clusters do EMR.
-
RDS Describe (Descrever RDS): o conector usa esta permissão para descrever suas instâncias do RDS.
Performance
Atualmente, o conector AWS CMDB do Athena não oferece suporte a verificações paralelas. A redução de predicados é realizada dentro da função do Lambda. Sempre que possível, predicados parciais são enviados para os serviços que estão sendo consultados. Por exemplo, uma consulta para obter os detalhes de uma instância específica do Amazon EC2 chama a API do EC2 com o ID de instância específico para executar uma operação de descrição direcionada.
Informações de licença
O projeto do conector AWS CMDB do Amazon Athena é licenciado sob a Licença Apache-2.0
Recursos adicionais
Para obter mais informações sobre esse conector, visite o site correspondente