Teleport Discovery Service는 AWS 리소스를 발견하기 위해 AWS IAM 권한이 필요합니다.
이 권한은 Discovery Service 인스턴스가 사용할 수 있는 AWS IAM 신원에 연결되어야 합니다.
아래의 각 섹션에서는 특정 유형의 AWS 리소스를 발견하기 위해 사용되는 IAM 권한에 대해 설명합니다.
{
"Version" : "2012-10-17" ,
"Statement" : [
{
"Sid" : "EC2Discovery" ,
"Effect" : "Allow" ,
"Action" : [
"ec2:DescribeInstances" ,
"ssm:DescribeInstanceInformation" ,
"ssm:GetCommandInvocation" ,
"ssm:ListCommandInvocations" ,
"ssm:SendCommand"
] ,
"Resource" : "*"
}
]
}
{
"Version" : "2012-10-17" ,
"Statement" : [
{
"Sid" : "EKSDiscovery" ,
"Effect" : "Allow" ,
"Action" : [
"eks:DescribeCluster" ,
"eks:ListClusters"
] ,
"Resource" : "*"
} ,
{
"Sid" : "EKSManageAccess" ,
"Effect" : "Allow" ,
"Action" : [
"eks:AssociateAccessPolicy" ,
"eks:CreateAccessEntry" ,
"eks:DeleteAccessEntry" ,
"eks:DescribeAccessEntry" ,
"eks:TagResource" ,
"eks:UpdateAccessEntry"
] ,
"Resource" : "*"
}
]
}
권한을 특정 지역이나 EKS 클러스터로 좁히기 위해 ARNs 목록을 사용할 수 있으며, 와일드카드를 대신 사용할 수 있습니다.
리소스 ARN은 다음 형식을 가집니다:
arn:{Partition}:eks:{Region}:{Account}:cluster/{ClusterName}
EKSManageAccess
문장 내의 권한은 선택적이며, Discovery 서비스는 Teleport Kubernetes 서비스가 발견된 클러스터에 접근할 수 없더라도 EKS 클러스터를 발견할 수 있습니다.
EKSManageAccess
권한 중 일부를 생략하는 경우, Teleport Kubernetes 서비스가 각 EKS 클러스터에 접근할 수 있도록 보장하는 것은 귀하의 책임입니다.
{
"Version" : "2012-10-17" ,
"Statement" : [
{
"Sid" : "DocumentDBDiscovery" ,
"Effect" : "Allow" ,
"Action" : "rds:DescribeDBClusters" ,
"Resource" : "*"
}
]
}
{/* this comment is here to make the includes below render */ }
(!docs/pages/includes/database-access/reference/auto-discovery-unavailable.mdx dbType="DynamoDB"!)
{
"Version" : "2012-10-17" ,
"Statement" : [
{
"Sid" : "ElastiCacheDiscovery" ,
"Effect" : "Allow" ,
"Action" : "elasticache:DescribeReplicationGroups" ,
"Resource" : "*"
} ,
{
"Sid" : "ElastiCacheFetchMetadata" ,
"Effect" : "Allow" ,
"Action" : [
"elasticache:DescribeCacheClusters" ,
"elasticache:DescribeCacheSubnetGroups" ,
"elasticache:ListTagsForResource"
] ,
"Resource" : "*"
}
]
}
{/* this comment is here to make the includes below render */ }
(!docs/pages/includes/database-access/reference/auto-discovery-unavailable.mdx dbType="Keyspaces"!)
{
"Version" : "2012-10-17" ,
"Statement" : [
{
"Sid" : "MemoryDBDiscovery" ,
"Effect" : "Allow" ,
"Action" : "memorydb:DescribeClusters" ,
"Resource" : "*"
} ,
{
"Sid" : "MemoryDBFetchMetadata" ,
"Effect" : "Allow" ,
"Action" : [
"memorydb:DescribeSubnetGroups" ,
"memorydb:ListTags"
] ,
"Resource" : "*"
}
]
}
{
"Version" : "2012-10-17" ,
"Statement" : [
{
"Sid" : "OpenSearchDiscovery" ,
"Effect" : "Allow" ,
"Action" : [
"es:DescribeDomains" ,
"es:ListDomainNames"
] ,
"Resource" : "*"
} ,
{
"Sid" : "OpenSearchFetchMetadata" ,
"Effect" : "Allow" ,
"Action" : "es:ListTags" ,
"Resource" : "*"
}
]
}
{
"Version" : "2012-10-17" ,
"Statement" : [
{
"Sid" : "RDSDiscovery" ,
"Effect" : "Allow" ,
"Action" : [
"rds:DescribeDBClusters" ,
"rds:DescribeDBInstances"
] ,
"Resource" : "*"
}
]
}
RDS 데이터베이스를 검색하도록 구성된 Teleport Discovery Service는 RDS 인스턴스와 Aurora 클러스터를 모두 검색하려고 시도합니다. rds:DescribeDBInstances
권한은 RDS 인스턴스를 찾기 위해 사용되지만 발견된 Aurora 클러스터에 대한 추가 정보를 찾는 데에도 사용되므로, Aurora 클러스터만 발견해야 하더라도 이 권한을 포함해야 합니다. Aurora 클러스터 검색을 원하지 않으면 rds:DescribeDBClusters
권한을 생략할 수 있습니다.
{
"Version" : "2012-10-17" ,
"Statement" : [
{
"Sid" : "RDSProxyDiscovery" ,
"Effect" : "Allow" ,
"Action" : "rds:DescribeDBProxies" ,
"Resource" : "*"
} ,
{
"Sid" : "RDSProxyFetchMetadata" ,
"Effect" : "Allow" ,
"Action" : [
"rds:DescribeDBProxyEndpoints" ,
"rds:ListTagsForResource"
] ,
"Resource" : "*"
}
]
}
{
"Version" : "2012-10-17" ,
"Statement" : [
{
"Sid" : "RedshiftDiscovery" ,
"Effect" : "Allow" ,
"Action" : "redshift:DescribeClusters" ,
"Resource" : "*"
}
]
}
{
"Version" : "2012-10-17" ,
"Statement" : [
{
"Sid" : "RedshiftServerlessDiscovery" ,
"Effect" : "Allow" ,
"Action" : "redshift-serverless:ListWorkgroups" ,
"Resource" : "*"
} ,
{
"Sid" : "RedshiftServerlessFetchMetadata" ,
"Effect" : "Allow" ,
"Action" : [
"redshift-serverless:ListEndpointAccess" ,
"redshift-serverless:ListTagsForResource"
] ,
"Resource" : "*"
}
]
}