이 페이지 개선에 도움 주기
이 사용자 설명서에 기여하고 싶으신가요? 이 페이지 하단으로 스크롤하여 GitHub에서 이 페이지 편집을 선택하세요. 여러분의 기여는 모두를 위한 더 나은 사용자 설명서를 만드는 데 도움이 됩니다.
액세스 항목에 대한 액세스 정책 연결 및 연결 해제
STANDARD
유형의 액세스 항목에 하나 이상의 액세스 정책을 할당할 수 있습니다. Amazon EKS는 클러스터에서 제대로 작동하는 데 필요한 권한을 다른 유형의 액세스 항목에 자동으로 부여합니다. Amazon EKS 액세스 정책에는 IAM 권한이 아니라 Kubernetes 권한이 포함됩니다. 액세스 정책을 액세스 항목에 연결하기 전에 각 액세스 정책에 포함된 Kubernetes 권한을 친숙해야 합니다. 자세한 내용은 액세스 정책 권한 단원을 참조하십시오. 요구 사항을 충족하는 액세스 정책이 없는 경우 액세스 정책을 액세스 항목에 연결하지 않습니다. 대신 액세스 항목에 대해 하나 이상의 그룹 이름을 지정하고 Kubernetes 역할 기반 액세스 제어 객체를 생성하고 관리합니다. 자세한 내용은 액세스 항목 생성 단원을 참조하십시오.
사전 조건
-
기존 액세스 항목. 파일을 만들려면 액세스 항목 생성 섹션을 참조하세요.
-
ListAccessEntries
,DescribeAccessEntry
,UpdateAccessEntry
,ListAccessPolicies
,AssociateAccessPolicy
,DisassociateAccessPolicy
권한을 보유한 AWS Identity and Access Management 역할 또는 사용자. 자세한 내용은 서비스 권한 부여 참조에서 Amazon Elastic Kubernetes Service에서 정의한 작업을 참조하세요.
액세스 정책을 액세스 항목에 연결하기 전에 다음 요구 사항을 고려하세요.
-
각 액세스 항목에 여러 액세스 정책을 연결할 수 있지만 각 정책은 액세스 항목에 한 번만 연결할 수 있습니다. 여러 액세스 정책을 연결하는 경우 액세스 항목의 IAM 보안 주체는 연결된 모든 액세스 정책에 모든 권한을 포함합니다.
-
클러스터의 모든 리소스에 대한 액세스 정책 범위를 지정하거나 하나 이상의 Kubernetes 네임스페이스 이름을 지정하여 범위를 지정할 수 있습니다. 네임스페이스 이름에 와일드카드 문자를 사용할 수 있습니다. 예를 들어
dev-
로 시작하는 모든 네임스페이스로 액세스 정책 범위를 지정하려는 경우 네임스페이스 이름으로dev-*
를 지정할 수 있습니다. 클러스터에 네임스페이스가 존재하고 철자가 클러스터의 실제 네임스페이스 이름과 일치하는지 확인합니다. Amazon EKS는 클러스터에 있는 네임스페이스의 철자나 존재 여부를 확인하지 않습니다. -
액세스 항목에 연결한 후에 액세스 정책의 액세스 범위를 변경할 수 있습니다. 액세스 정책의 범위를 Kubernetes 네임스페이스로 지정한 경우 필요에 따라 연결을 위해 네임스페이스를 추가 및 제거할 수 있습니다.
-
그룹 이름도 지정된 액세스 항목에 액세스 정책을 연결하는 경우 IAM 보안 주체는 연결된 모든 액세스 정책에 모든 권한을 보유합니다. 또한 그룹 이름을 지정하는 Kubernetes
Role
및RoleBinding
객체에 지정된 KubernetesRole
또는ClusterRole
객체에 모든 권한을 보유합니다. -
kubectl auth can-i --list
명령을 실행하면 명령을 실행할 때 사용한 IAM 보안 주체의 액세스 항목에 연결된 액세스 정책에서 할당한 Kubernetes 권한이 표시되지 않습니다. 이 명령은 액세스 항목에 지정한 그룹 이름 또는 사용자 이름에 바인딩하는 KubernetesRole
또는ClusterRole
객체에 Kubernetes 권한을 부여하는 경우에만 권한을 표시합니다. -
kubectl
명령을--as
또는username
--as-group
과 함께 사용하는 등 클러스터에서 Kubernetes 객체와 상호 작용할 때 Kubernetes 사용자 또는 그룹을 가장하면 Kubernetes RBAC 인증을 강제로 사용합니다. 따라서 IAM 보안 주체는 액세스 항목에 연결된 액세스 정책에서 할당한 권한을 보유하지 않습니다. IAM 보안 주체가 가장하는 사용자 또는 그룹에 있는 유일한 Kubernetes 권한은 해당 그룹 이름 또는 사용자 이름에 바인딩하는 Kubernetesgroup-name
Role
또는ClusterRole
객체에 부여한 Kubernetes 권한입니다. IAM 보안 주체가 연결된 액세스 정책의 권한을 보유하려면 Kubernetes 사용자 또는 그룹을 가장하지 않습니다. 또한 IAM 보안 주체는 액세스 항목에 지정한 그룹 이름 또는 사용자 이름에 바인딩하는 KubernetesRole
또는ClusterRole
객체에 부여한 권한도 계속 보유합니다. 자세한 내용은 Kubernetes 설명서에서 User impersonation을 참조하세요.
AWS Management Console 또는 AWS CLI를 사용하여 액세스 정책을 액세스 항목에 연결할 수 있습니다.
액세스 정책 권한
액세스 정책에는 Kubernetes verbs
(권한) 및 resources
가 포함된 rules
가 있습니다. 액세스 정책에는 IAM 권한 또는 리소스가 없습니다. Kubernetes Role
및 ClusterRole
객체와 마찬가지로 액세스 정책에는 allow
rules
만 포함됩니다. 액세스 정책의 콘텐츠는 수정할 수 없습니다. 자체 액세스 정책을 생성할 수 없습니다. 액세스 정책의 권한이 요구 사항에 맞지 않는 경우 Kubernetes RBAC 객체를 생성하고 액세스 항목의 그룹 이름을 지정합니다. 자세한 내용은 액세스 항목 생성 단원을 참조하십시오. 액세스 정책에 포함된 권한은 Kubernetes 사용자 대면 클러스터 역할의 권한과 유사합니다. 자세한 내용은 Kubernetes 설명서에서 User-facing roles
해당 콘텐츠를 보려는 액세스 정책을 선택합니다. 각 액세스 정책에 있는 각 테이블의 각 행은 별도의 규칙입니다.
이 액세스 정책에는 리소스에 대한 대부분의 권한을 IAM 보안 주체에 부여하는 권한이 포함됩니다. 액세스 항목에 연결된 경우 액세스 범위는 일반적으로 하나 이상의 Kubernetes 네임스페이스입니다. IAM 보안 주체가 클러스터의 모든 리소스에 대한 관리자 액세스 권한을 보유하려면 대신 AmazonEKSClusterAdminPolicy 액세스 정책을 액세스 항목에 연결합니다.
ARN - arn:aws:eks::aws:cluster-access-policy/AmazonEKSAdminPolicy
Kubernetes API 그룹 | Kubernetes 리소스 | Kubernetes 동사(권한) |
---|---|---|
apps |
daemonsets , deployments ,
deployments/rollback ,
deployments/scale , replicasets ,
replicasets/scale , statefulsets ,
statefulsets/scale |
create , delete ,
deletecollection , patch ,
update |
apps |
controllerrevisions , daemonsets ,
daemonsets/status , deployments ,
deployments/scale ,
deployments/status , replicasets ,
replicasets/scale ,
replicasets/status , statefulsets ,
statefulsets/scale ,
statefulsets/status |
get , list ,
watch |
authorization.k8s.io |
localsubjectaccessreviews |
create |
autoscaling |
horizontalpodautoscalers |
create , delete ,
deletecollection , patch ,
update |
autoscaling |
horizontalpodautoscalers ,
horizontalpodautoscalers/status |
get , list ,
watch |
batch |
cronjobs , jobs |
create , delete ,
deletecollection , patch ,
update |
batch |
cronjobs , cronjobs/status ,
jobs , jobs/status |
get , list ,
watch |
discovery.k8s.io |
endpointslices |
get , list ,
watch |
extensions |
daemonsets , deployments ,
deployments/rollback ,
deployments/scale , ingresses ,
networkpolicies , replicasets ,
replicasets/scale ,
replicationcontrollers/scale |
create , delete ,
deletecollection , patch ,
update |
extensions |
daemonsets , daemonsets/status ,
deployments , deployments/scale ,
deployments/status , ingresses ,
ingresses/status , networkpolicies ,
replicasets , replicasets/scale ,
replicasets/status ,
replicationcontrollers/scale |
get , list ,
watch |
networking.k8s.io |
ingresses , ingresses/status ,
networkpolicies |
get , list ,
watch |
networking.k8s.io |
ingresses , networkpolicies |
create , delete ,
deletecollection , patch ,
update |
policy |
poddisruptionbudgets |
create , delete ,
deletecollection , patch ,
update |
policy |
poddisruptionbudgets ,
poddisruptionbudgets/status |
get , list ,
watch |
rbac.authorization.k8s.io |
rolebindings , roles |
create , delete ,
deletecollection , get ,
list , patch , update ,
watch |
configmaps , endpoints ,
persistentvolumeclaims ,
persistentvolumeclaims/status ,
pods , replicationcontrollers ,
replicationcontrollers/scale ,
serviceaccounts , services ,
services/status |
get ,list ,
watch |
|
pods/attach , pods/exec ,
pods/portforward , pods/proxy ,
secrets , services/proxy |
get , list ,
watch |
|
configmaps , events ,
persistentvolumeclaims ,
replicationcontrollers ,
replicationcontrollers/scale ,
secrets , serviceaccounts ,
services , services/proxy |
create , delete ,
deletecollection , patch ,
update |
|
pods , pods/attach ,
pods/exec , pods/portforward ,
pods/proxy |
create , delete ,
deletecollection , patch ,
update |
|
serviceaccounts |
impersonate |
|
bindings , events ,
limitranges , namespaces/status ,
pods/log , pods/status ,
replicationcontrollers/status ,
resourcequotas ,
resourcequotas/status |
get , list ,
watch |
|
namespaces |
get ,list ,
watch |
이 액세스 정책에는 클러스터에 대한 액세스 권한을 IAM 보안 주체 관리자에게 부여하는 권한이 포함됩니다. 액세스 항목에 연결된 경우 액세스 범위는 일반적으로 Kubernetes 네임스페이스가 아닌 클러스터입니다. IAM 보안 주체의 관리 범위를 더 제한하려면 대신 AmazonEKSAdminPolicy 액세스 정책을 액세스 항목에 연결하는 방법을 고려합니다.
ARN - arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy
Kubernetes API 그룹 | Kubernetes nonResourceURLs | Kubernetes 리소스 | Kubernetes 동사(권한) |
---|---|---|---|
* |
* |
* |
|
* |
* |
이 액세스 정책에는 클러스터의 모든 리소스를 나열하고 볼 수 있는 권한을 IAM 보안 주체에 부여하는 권한이 포함되어 있습니다. 여기에는 Kubernetes 비밀
ARN - arn:aws:eks::aws:cluster-access-policy/AmazonEKSAdminViewPolicy
Kubernetes API 그룹 | Kubernetes 리소스 | Kubernetes 동사(권한) |
---|---|---|
* |
* |
|
이 액세스 정책에는 IAM 보안 주체가 대부분의 Kubernetes 리소스를 편집할 수 있는 권한이 포함되어 있습니다.
ARN - arn:aws:eks::aws:cluster-access-policy/AmazonEKSEditPolicy
Kubernetes API 그룹 | Kubernetes 리소스 | Kubernetes 동사(권한) |
---|---|---|
apps |
daemonsets , deployments ,
deployments/rollback ,
deployments/scale , replicasets ,
replicasets/scale , statefulsets ,
statefulsets/scale |
create , delete ,
deletecollection , patch ,
update |
apps |
controllerrevisions , daemonsets ,
daemonsets/status , deployments ,
deployments/scale ,
deployments/status , replicasets ,
replicasets/scale ,
replicasets/status , statefulsets ,
statefulsets/scale ,
statefulsets/status |
get , list ,
watch |
autoscaling |
horizontalpodautoscalers ,
horizontalpodautoscalers/status |
get , list ,
watch |
autoscaling |
horizontalpodautoscalers |
create , delete ,
deletecollection , patch ,
update |
batch |
cronjobs , jobs |
create , delete ,
deletecollection , patch ,
update |
batch |
cronjobs , cronjobs/status ,
jobs , jobs/status |
get , list ,
watch |
discovery.k8s.io |
endpointslices |
get , list ,
watch |
extensions |
daemonsets , deployments ,
deployments/rollback ,
deployments/scale , ingresses ,
networkpolicies , replicasets ,
replicasets/scale ,
replicationcontrollers/scale |
create , delete ,
deletecollection , patch ,
update |
extensions |
daemonsets , daemonsets/status ,
deployments , deployments/scale ,
deployments/status , ingresses ,
ingresses/status , networkpolicies ,
replicasets , replicasets/scale ,
replicasets/status ,
replicationcontrollers/scale |
get , list ,
watch |
networking.k8s.io |
ingresses , networkpolicies |
create , delete ,
deletecollection , patch ,
update |
networking.k8s.io |
ingresses , ingresses/status ,
networkpolicies |
get , list ,
watch |
policy |
poddisruptionbudgets |
create , delete ,
deletecollection , patch ,
update |
policy |
poddisruptionbudgets ,
poddisruptionbudgets/status |
get , list ,
watch |
namespaces |
get , list ,
watch |
|
pods/attach , pods/exec ,
pods/portforward , pods/proxy ,
secrets , services/proxy |
get , list ,
watch |
|
serviceaccounts |
impersonate |
|
pods , pods/attach ,
pods/exec , pods/portforward ,
pods/proxy |
create , delete ,
deletecollection , patch ,
update |
|
configmaps , events ,
persistentvolumeclaims ,
replicationcontrollers ,
replicationcontrollers/scale ,
secrets , serviceaccounts ,
services , services/proxy |
create , delete ,
deletecollection , patch ,
update |
|
configmaps , endpoints ,
persistentvolumeclaims ,
persistentvolumeclaims/status ,
pods , replicationcontrollers ,
replicationcontrollers/scale ,
serviceaccounts , services ,
services/status |
get , list ,
watch |
|
bindings , events ,
limitranges , namespaces/status ,
pods/log , pods/status ,
replicationcontrollers/status ,
resourcequotas ,
resourcequotas/status |
get , list ,
watch |
이 액세스 정책에는 IAM 보안 주체가 대부분의 Kubernetes 리소스를 볼 수 있는 권한이 포함되어 있습니다.
ARN - arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy
Kubernetes API 그룹 | Kubernetes 리소스 | Kubernetes 동사(권한) |
---|---|---|
apps |
controllerrevisions , daemonsets ,
daemonsets/status , deployments ,
deployments/scale ,
deployments/status , replicasets ,
replicasets/scale ,
replicasets/status , statefulsets ,
statefulsets/scale ,
statefulsets/status |
get , list ,
watch |
autoscaling |
horizontalpodautoscalers ,
horizontalpodautoscalers/status |
get , list ,
watch |
batch |
cronjobs , cronjobs/status ,
jobs , jobs/status |
get , list ,
watch |
discovery.k8s.io |
endpointslices |
get , list ,
watch |
extensions |
daemonsets , daemonsets/status , deployments , deployments/scale , deployments/status , ingresses , ingresses/status , networkpolicies , replicasets , replicasets/scale , replicasets/status , replicationcontrollers/scale |
get , list ,
watch |
networking.k8s.io |
ingresses , ingresses/status ,
networkpolicies |
get , list ,
watch |
policy |
poddisruptionbudgets ,
poddisruptionbudgets/status |
get , list ,
watch |
configmaps , endpoints ,
persistentvolumeclaims ,
persistentvolumeclaims/status ,
pods , replicationcontrollers ,
replicationcontrollers/scale ,
serviceaccounts , services ,
services/status |
get , list ,
watch |
|
bindings , events , limitranges , namespaces/status , pods/log , pods/status , replicationcontrollers/status , resourcequotas , resourcequotas/status |
get , list ,
watch |
|
namespaces |
get , list ,
watch |
액세스 정책 업데이트
액세스 정책이 도입된 이후 액세스 정책에 대한 업데이트 세부 정보를 확인합니다. 이 페이지의 변경 사항에 대한 자동 알림을 받아보려면 Amazon EKS 문서 기록 페이지에서 RSS 피드를 구독하세요.
변경 사항 | 설명 | 날짜 |
---|---|---|
AmazonEKSAdminViewPolicy 추가 |
비밀과 같은 리소스를 포함하여 확장된 보기 액세스에 대한 새 정책을 추가합니다. | 2024년 4월 23일 |
액세스 정책이 도입되었습니다. |
Amazon EKS에서 액세스 정책을 도입했습니다. |
2023년 5월 29일 |