Поделиться через


Просмотр инвентаризации нескольких облаков с помощью соединителя multicloud с поддержкой Azure Arc

Решение инвентаризации соединителя с несколькими облаками отображает актуальное представление ресурсов из других общедоступных облаков в Azure, предоставляя вам одно место для просмотра всех облачных ресурсов. В настоящее время общедоступные облачные среды AWS поддерживаются.

После включения решения инвентаризации метаданные из ресурсов в исходном облаке включаются в представления активов в Azure. Вы также можете применить теги Azure или политики Azure к этим ресурсам. Это решение позволяет запрашивать все облачные ресурсы через Azure Resource Graph, например запрос на поиск всех ресурсов Azure и AWS с определенным тегом.

Решение инвентаризации регулярно сканирует исходное облако, чтобы обновить представление, представленное в Azure. Можно указать интервал для запроса при подключении общедоступного облака и настройки решения инвентаризации.

Поддерживаемые службы AWS

Сегодня ресурсы, связанные со следующими службами AWS, сканируются и представлены в Azure. При создании решения инвентаризации все доступные службы выбираются по умолчанию, но при необходимости можно включить любые службы.

В следующей таблице показаны службы AWS, которые сканируются, типы ресурсов, связанные с каждой службой, и пространство имен Azure, соответствующее каждому типу ресурсов.

Служба AWS Тип ресурса AWS Пространство имен Azure
Анализатор доступа accessAnalyzerAnalyzers Microsoft.AwsConnector/accessAnalyzerAnalyzers
API Gateway apiGatewayRestApis Microsoft.AwsConnector/apiGatewayRestApis
API Gateway apiGatewayStages Microsoft.AwsConnector/apiGatewayStages
Синхронизация приложений appSyncGraphQLApis Microsoft.AwsConnector/appSyncGraphQLApis
Автомасштабирование autoScalingAutoScalingGroups Microsoft.AwsConnector/autoScalingAutoScalingGroups
Формирование облака cloudFormationStacks Microsoft.AwsConnector/cloudFormationStacks
Формирование облака cloudFormationStackSets Microsoft.AwsConnector/cloudFormationStackSets
Cloud Front cloudFront Microsoft.AwsConnector/cloudFrontDistributions
Облачная тропа cloudTrailTrails Microsoft.AwsConnector/cloudTrailTrails
Cloud Watch cloudWatchAlarms Microsoft.AwsConnector/cloudWatchAlarms
Сборка кода codeBuildProjects Microsoft.AwsConnector/codeBuildProjects
Сборка кода codeBuildSourceCredentialsInfos Microsoft.AwsConnector/codeBuildSourceCredentialsInfos
Config configServiceConfigurationRecorders Microsoft.AwsConnector/configServiceConfigurationRecorders
Config configServiceConfigurationRecorderStatuses Microsoft.AwsConnector/configServiceConfigurationRecorderStatuses
Config configServiceDeliveryChannels Microsoft.AwsConnector/configServiceDeliveryChannels
DAX daxClusters Microsoft.AwsConnector/daxClusters
DMS databaseMigrationServiceReplicationInstances Microsoft.AwsConnector/databaseMigrationServiceReplicationInstances
Dynamo DB dynamoDBContinuousBackupsDescriptions Microsoft.AwsConnector/dynamoDBContinuousBackupsDescriptions
Dynamo DB dynamoDBTables Microsoft.AwsConnector/dynamoDBTables
EC2 ec2Instances Microsoft.HybridCompute/machines/EC2InstanceId, Microsoft.AwsConnector/Ec2Instances
EC2 ec2AccountAttributes Microsoft.AwsConnector/ec2AccountAttributes
EC2 ec2Addresses Microsoft.AwsConnector/ec2Addresses
EC2 ec2FlowLogs Microsoft.AwsConnector/ec2FlowLogs
EC2 ec2Images Microsoft.AwsConnector/ec2Images
EC2 ec2Ipams Microsoft.AwsConnector/ec2Ipams
EC2 ec2KeyPairs Microsoft.AwsConnector/ec2KeyPairs
EC2 ec2Subnets Microsoft.AwsConnector/ec2Subnets
EC2 ec2Volumes Microsoft.AwsConnector/ec2Volumes
EC2 ec2VPCs Microsoft.AwsConnector/ec2VPCs
EC2 ec2NetworkAcls Microsoft.AwsConnector/ec2NetworkAcls
EC2 ec2NetworkInterfaces Microsoft.AwsConnector/ec2NetworkInterfaces
EC2 ec2RouteTables Microsoft.AwsConnector/ec2RouteTables
EC2 ec2VPCEndpoints Microsoft.AwsConnector/ec2VPCEndpoints
EC2 ec2VPCPeeringConnections Microsoft.AwsConnector/ec2VPCPeeringConnections
EC2 ec2InstanceStatuses Microsoft.AwsConnector/ec2InstanceStatuses
EC2 ec2SecurityGroups Microsoft.AwsConnector/ec2SecurityGroups
EC2 ec2Snapshots Microsoft.AwsConnector/ec2Snapshots
ECR ecrImageDetails Microsoft.AwsConnector/ecrImageDetails
ECR ecrRepositories Microsoft.AwsConnector/ecrRepositories
ECS ecsClusters Microsoft.AwsConnector/ecsClusters
ECS ecsServices Microsoft.AwsConnector/ecsServices
ECS ecsTaskDefinitions Microsoft.AwsConnector/ecsTaskDefinitions
EFS efsFileSystems Microsoft.AwsConnector/efsFileSystems
EFS efsMountTargets Microsoft.AwsConnector/efsMountTargets
EKS eksClusters Microsoft.AwsConnector/eksClusters
EKS eksNodegroups Microsoft.AwsConnector/eksNodegroups
Elastic Beanstalk elasticBeanstalkApplications Microsoft.AwsConnector/elasticBeanstalkApplications
Elastic Beanstalk elasticBeanstalkConfigurationTemplates Microsoft.AwsConnector/elasticBeanstalkConfigurationTemplates
Elastic Beanstalk elasticBeanstalkEnvironments Microsoft.AwsConnector/elasticBeanstalkEnvironments
Эластичная подсистема балансировки нагрузки версии 2 elasticLoadBalancingV2LoadBalancers Microsoft.AwsConnector/elasticLoadBalancingV2LoadBalancers
Эластичная подсистема балансировки нагрузки версии 2 elasticLoadBalancingV2Listeners Microsoft.AwsConnector/elasticLoadBalancingV2Listeners
Эластичная подсистема балансировки нагрузки версии 2 elasticLoadBalancingV2TargetGroups Microsoft.AwsConnector/elasticLoadBalancingV2TargetGroups
Эластичная подсистема балансировки нагрузки версии 2 elasticLoadBalancingV2TargetHealthDescriptions Microsoft.AwsConnector/elasticLoadBalancingV2TargetHealthDescriptions
EMR emrClusters Microsoft.AwsConnector/emrClusters
GuardDuty guardDutyDetectors Microsoft.AwsConnector/guardDutyDetectors
IAM iamAccessKeyLastUseds Microsoft.AwsConnector/iamAccessKeyLastUseds
IAM iamAccessKeyMetaData Microsoft.AwsConnector/iamAccessKeyMetaData
IAM iamMFADevices Microsoft.AwsConnector/iamMFADevices
IAM iamPasswordPolicies Microsoft.AwsConnector/iamPasswordPolicies
IAM iamPolicyVersions Microsoft.AwsConnector/iamPolicyVersions
IAM iamRoles Microsoft.AwsConnector/iamRoles
IAM iamManagedPolicies Microsoft.AwsConnector/iamManagedPolicies
IAM iamServerCertificates Microsoft.AwsConnector/iamServerCertificates
IAM iamUserPolicies Microsoft.AwsConnector/iamUserPolicies
IAM iamVirtualMFADevices Microsoft.AwsConnector/iamVirtualMFADevices
Сервер управления ключами kmsKeys Microsoft.AwsConnector/kmsKeys
Lambda lambdaFunctions Microsoft.AwsConnector/lambdaFunctions
Lightsail lightsailInstances Microsoft.AwsConnector/lightsailInstances
Lightsail lightsailBuckets Microsoft.AwsConnector/lightsailBuckets
Журналы logsLogGroups Microsoft.AwsConnector/logsLogGroups
Журналы logsLogStreams Microsoft.AwsConnector/logsLogStreams
Журналы logsMetricFilters Microsoft.AwsConnector/logsMetricFilters
Журналы logsSubscriptionFilters Microsoft.AwsConnector/logsSubscriptionFilters
Macie macieAllowLists Microsoft.AwsConnector/macieAllowLists
Macie2 macie2JobSummaries Microsoft.AwsConnector/macie2JobSummaries
Сетевые брандмауэры networkFirewallFirewalls Microsoft.AwsConnector/networkFirewallFirewalls
Сетевые брандмауэры networkFirewallFirewallPolicies Microsoft.AwsConnector/networkFirewallFirewallPolicies
Сетевые брандмауэры networkFirewallRuleGroups Microsoft.AwsConnector/networkFirewallRuleGroups
Открытие службы поиска openSearchDomainStatuses Microsoft.AwsConnector/openSearchDomainStatuses
Организация organizationsAccounts Microsoft.AwsConnector/organizationsAccounts
Организация organizationsOrganizations Microsoft.AwsConnector/organizationsOrganizations
RDS rdsDBInstances Microsoft.AwsConnector/rdsDBInstances
RDS rdsDBClusters Microsoft.AwsConnector/rdsDBClusters
RDS rdsEventSubscriptions Microsoft.AwsConnector/rdsEventSubscriptions
RDS rdsDBSnapshots Microsoft.AwsConnector/rdsDBSnapshots
RDS rdsDBSnapshotAttributesResults Microsoft.AwsConnector/rdsDBSnapshotAttributesResults
RDS rdsEventSubscriptions Microsoft.AwsConnector/rdsEventSubscriptions
Redshift redshiftClusters Microsoft.AwsConnector/redshiftClusters
Redshift redshiftClusterParameterGroups Microsoft.AwsConnector/redshiftClusterParameterGroups
Route 53 route53DomainsDomainSummaries Microsoft.AwsConnector/route53DomainsDomainSummaries
Route 53 route53HostedZones Microsoft.AwsConnector/route53HostedZones
SageMaker sageMakerApps Microsoft.AwsConnector/sageMakerApps
SageMaker sageMakerDevices Microsoft.AwsConnector/sageMakerDevices
SageMaker sageMakerImages Microsoft.AwsConnector/sageMakerImages
SageMaker sageMakerNotebookInstanceSummaries Microsoft.AwsConnector/sageMakerNotebookInstanceSummaries
Диспетчер секретов secretsManagerResourcePolicies Microsoft.AwsConnector/secretsManagerResourcePolicies
Диспетчер секретов secretsManagerSecrets Microsoft.AwsConnector/secretsManagerSecrets
Диспетчер секретов secretsManagerSecrets Microsoft.AwsConnector/secretsManagerSecrets
S3 s3Buckets Microsoft.AwsConnector/s3Buckets
S3 s3AccessControlPolicies Microsoft.AwsConnector/s3AccessControlPolicies
S3 s3ControlMultiRegionAccessPointPolicyDocuments Microsoft.AwsConnector/s3ControlMultiRegionAccessPointPolicyDocuments
S3 s3BucketPolicies Microsoft.AwsConnector/s3BucketPolicies
S3 s3AccessPoints Microsoft.AwsConnector/s3AccessPoints
SNS snsTopics Microsoft.AwsConnector/snsTopics
SNS snsSubscriptions Microsoft.AwsConnector/snsSubscriptions
SQS sqsQueues Microsoft.AwsConnector/sqsQueues
SSM ssmInstanceInformations Microsoft.AwsConnector/ssmInstanceInformations
SSM ssmParameters Microsoft.AwsConnector/ssmParameters
SSM ssmResourceComplianceSummaryItems Microsoft.AwsConnector/ssmResourceComplianceSummaryItems
WAF wafWebACLSummaries Microsoft.AwsConnector/wafWebACLSummaries
WAFv2 wafv2LoggingConfigurations Microsoft.AwsConnector/wafv2LoggingConfigurations

Представление ресурсов AWS в Azure

После подключения облака AWS и включения решения инвентаризации соединитель multicloud создает новую группу ресурсов с помощью соглашения aws_yourAwsAccountIdоб именовании. Представления ресурсов AWS создаются в этой группе ресурсов Azure с помощью AwsConnector значений пространства имен, описанных в предыдущем разделе. К этим ресурсам можно применить теги и политики Azure.

Ресурсы, обнаруженные в AWS и проецируемые в Azure, размещаются в регионах Azure с помощью стандартной схемы сопоставления.

Примечание.

Если у вас есть экземпляры EC2, которые уже подключены к Azure Arc, соединитель создаст ресурс инвентаризации EC2 в качестве дочернего ресурса Microsoft.HybridCompute/компьютеров, если предварительные требования выполнены в подписке, где находится компьютер Arc. В противном случае ресурс инвентаризации не будет создан.

Параметры разрешений

  1. Глобальное чтение: предоставляет доступ только для чтения ко всем ресурсам в учетной записи AWS. При появлении новых служб соединитель может сканировать эти ресурсы, не требуя обновленного шаблона CloudFormation.

  2. Минимальный привилегированный доступ. Предоставляет доступ на чтение только к ресурсам в выбранных службах. Если вы решили проверить дополнительные ресурсы в будущем, необходимо отправить новый шаблон CloudFormation.

Параметры периодической синхронизации

Время периодической синхронизации, выбранное при настройке решения инвентаризации , определяет частоту сканирования и синхронизации учетной записи AWS в Azure. При включении периодической синхронизации изменения ресурсов AWS отражаются в Azure. Например, если ресурс удаляется в AWS, этот ресурс также удаляется в Azure.

При желании при настройке этого решения можно отключить периодическую синхронизацию. При этом представление Azure может перестать синхронизироваться с ресурсами AWS, так как Azure не сможет повторно сканировать и обнаруживать изменения.

Запрос ресурсов в Azure Resource Graph

Azure Resource Graph — это служба Azure, предназначенная для расширения управления ресурсами Azure, обеспечивая эффективное и эффективное исследование ресурсов. Выполнение запросов в большом масштабе в заданном наборе подписок помогает эффективно управлять средой.

Запросы можно выполнять с помощью обозревателя Resource Graph в портал Azure. Ниже приведены примеры запросов для распространенных сценариев.

Запрос всех подключенных инвентаризаций ресурсов с несколькими облаками

resources
| where subscriptionId == "<subscription ID>"
| where id contains "microsoft.awsconnector" 
| union (awsresources | where type == "microsoft.awsconnector/ec2instances" and subscriptionId =="<subscription ID>")
| extend awsTags= properties.awsTags, azureTags = ['tags']
| project subscriptionId, resourceGroup, type, id, awsTags, azureTags, properties 

Запрос всех ресурсов в определенном соединителе

resources
| extend connectorId = tolower(tostring(properties.publicCloudConnectorsResourceId)), resourcesId=tolower(id)
| join kind=leftouter (
    awsresources
    | extend pccId = tolower(tostring(properties.publicCloudConnectorsResourceId)), awsresourcesId=tolower(id)
    | extend parentId = substring(awsresourcesId, 0, strlen(awsresourcesId) - strlen("/providers/microsoft.awsconnector/ec2instances/default"))
) on $left.resourcesId == $right.parentId
| where connectorId =~ "yourConnectorId" or pccId =~ "yourConnectorId"
| extend resourceType = tostring(split(iif (type =~ "microsoft.hybridcompute/machines", type1, type), "/")[1])

Запрос для всех виртуальных машин в Azure и AWS вместе с размером экземпляра

resources 
| where (['type'] == "microsoft.compute/virtualmachines") 
| union (awsresources | where type == "microsoft.awsconnector/ec2instances")
| extend cloud=iff(type contains "ec2", "AWS", "Azure")
| extend awsTags=iff(type contains "microsoft.awsconnector", properties.awsTags, ""), azureTags=tags
| extend size=iff(type contains "microsoft.compute", properties.hardwareProfile.vmSize, properties.awsProperties.instanceType.value)
| project subscriptionId, cloud, resourceGroup, id, size, azureTags, awsTags, properties

Запрос ко всем функциям в Azure и AWS

resources
| where (type == 'microsoft.web/sites' and ['kind'] contains 'functionapp') or type == "microsoft.awsconnector/lambdafunctionconfigurations"
| extend cloud=iff(type contains "awsconnector", "AWS", "Azure")
| extend functionName=iff(cloud=="Azure", properties.name,properties.awsProperties.functionName), state=iff(cloud=="Azure", properties.state, properties.awsProperties.state), lastModifiedTime=iff(cloud=="Azure", properties.lastModifiedTimeUtc,properties.awsProperties.lastModified), location=iff(cloud=="Azure", location,properties.awsRegion),  tags=iff(cloud=="Azure", tags, properties.awsTags)
| project cloud, functionName, lastModifiedTime, location, tags

Запрос для всех ресурсов с определенным тегом

resources 
| extend awsTags=iff(type contains "microsoft.awsconnector", properties.awsTags, ""), azureTags=tags 
| where awsTags contains "<yourTagValue>" or azureTags contains "<yourTagValue>" 
| project subscriptionId, resourceGroup, name, azureTags, awsTags

Следующие шаги