Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memberikan AWS Resilience Hub akses ke sumber daya di kluster Amazon EKS Anda
AWS Resilience Hub memungkinkan Anda mengakses sumber daya yang terletak di kluster Amazon EKS asalkan Anda telah mengonfigurasi izin yang diperlukan.
Untuk memberikan izin yang diperlukan AWS Resilience Hub untuk menemukan dan menilai sumber daya dalam klaster Amazon EKS
-
Konfigurasikan peran IAM untuk mengakses kluster Amazon EKS.
Jika Anda telah mengonfigurasi aplikasi Anda menggunakan akses berbasis peran, Anda dapat melewati langkah ini dan melanjutkan ke langkah 2 dan menggunakan peran yang telah Anda gunakan untuk membuat aplikasi. Untuk informasi selengkapnya tentang cara AWS Resilience Hub menggunakan peran IAM, lihatBagaimana AWS Resilience Hub bekerja dengan IAM.
Jika Anda telah mengonfigurasi aplikasi menggunakan izin pengguna IAM saat ini, Anda harus membuat peran
AwsResilienceHubAssessmentEKSAccessRole
IAM di akun yang sama dengan cluster Amazon EKS. Peran IAM ini kemudian akan digunakan saat mengakses cluster Amazon EKS Anda.Saat mengimpor dan menilai aplikasi Anda, AWS Resilience Hub gunakan peran IAM untuk mengakses sumber daya di klaster Amazon EKS Anda. Peran ini harus dibuat di akun yang sama dengan cluster Amazon EKS Anda dan akan dipetakan dengan grup Kubernetes yang menyertakan izin yang diperlukan oleh untuk AWS Resilience Hub menilai kluster Amazon EKS Anda.
Jika klaster Amazon EKS Anda berada di akun yang sama dengan akun AWS Resilience Hub panggilan, peran harus dibuat menggunakan kebijakan kepercayaan IAM berikut. Dalam kebijakan kepercayaan IAM ini,
caller_IAM_role
digunakan di akun saat ini untuk memanggil API. AWS Resilience Hubcatatan
caller_IAM_role
Ini adalah peran yang terkait dengan akun AWS pengguna Anda.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::eks_cluster_account_id:role/caller_IAM_role" }, "Action": "sts:AssumeRole" } ] }
Jika klaster Amazon EKS Anda berada di akun silang (akun yang berbeda dari akun AWS Resilience Hub panggilan), Anda harus membuat peran
AwsResilienceHubAssessmentEKSAccessRole
IAM menggunakan kebijakan kepercayaan IAM berikut:catatan
Sebagai prasyarat, untuk mengakses kluster Amazon EKS yang digunakan di akun yang berbeda dari akun AWS Resilience Hub pengguna, Anda harus mengonfigurasi akses multi-akun. Untuk informasi selengkapnya, silakan lihat
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::eks_cluster_account_id:role/AwsResilienceHubExecutorRole" }, "Action": "sts:AssumeRole" } ] }
-
Buat
ClusterRole
danClusterRoleBinding
(atauRoleBinding
) peran untuk AWS Resilience Hub aplikasi.Membuat
ClusterRole
danClusterRoleBinding
akan memberikan izin hanya-baca yang diperlukan AWS Resilience Hub untuk menganalisis dan menilai sumber daya yang merupakan bagian dari ruang nama tertentu di klaster Amazon EKS Anda.AWS Resilience Hub memungkinkan Anda membatasi aksesnya ke ruang nama Anda untuk menghasilkan penilaian ketahanan dengan menyelesaikan salah satu dari berikut ini:
-
Berikan akses baca di semua ruang nama ke AWS Resilience Hub aplikasi.
AWS Resilience Hub Untuk menilai ketahanan sumber daya di semua ruang nama dalam klaster Amazon EKS, Anda harus membuat berikut dan.
ClusterRole
ClusterRoleBinding
-
resilience-hub-eks-access-cluster-role
(ClusterRole
) — Menentukan izin yang diperlukan oleh AWS Resilience Hub untuk menilai kluster Amazon EKS Anda. -
resilience-hub-eks-access-cluster-role-binding
(ClusterRoleBinding
) — Mendefinisikan grup bernamaresilience-hub-eks-access-group
di kluster Amazon EKS Anda yang memberikan penggunanya, izin yang diperlukan untuk menjalankan penilaian ketahanan di. AWS Resilience Hub
Template untuk memberikan akses baca di semua ruang nama ke AWS Resilience Hub aplikasi adalah sebagai berikut:
cat << EOF | kubectl apply -f - apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: resilience-hub-eks-access-cluster-role rules: - apiGroups: - "" resources: - pods - replicationcontrollers - nodes verbs: - get - list - apiGroups: - apps resources: - deployments - replicasets verbs: - get - list - apiGroups: - policy resources: - poddisruptionbudgets verbs: - get - list - apiGroups: - autoscaling.k8s.io resources: - verticalpodautoscalers verbs: - get - list - apiGroups: - autoscaling resources: - horizontalpodautoscalers verbs: - get - list - apiGroups: - karpenter.sh resources: - provisioners verbs: - get - list - apiGroups: - karpenter.k8s.aws resources: - awsnodetemplates verbs: - get - list --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: resilience-hub-eks-access-cluster-role-binding subjects: - kind: Group name: resilience-hub-eks-access-group apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: resilience-hub-eks-access-cluster-role apiGroup: rbac.authorization.k8s.io --- EOF
-
-
Memberikan AWS Resilience Hub akses untuk membaca ruang nama tertentu.
Anda dapat membatasi AWS Resilience Hub untuk mengakses sumber daya dalam satu set ruang nama tertentu menggunakan.
RoleBinding
Untuk mencapai ini, Anda harus membuat peran berikut:-
ClusterRole
— AWS Resilience Hub Untuk mengakses sumber daya di ruang nama tertentu dalam klaster Amazon EKS dan menilai ketahanannya, Anda harus membuat peran berikut.ClusterRole
-
resilience-hub-eks-access-cluster-role
— Menentukan izin yang diperlukan untuk menilai sumber daya dalam ruang nama tertentu. -
resilience-hub-eks-access-global-cluster-role
— Menentukan izin yang diperlukan untuk menilai sumber daya dengan cakupan klaster, yang tidak terkait dengan namespace tertentu, dalam kluster Amazon EKS Anda. AWS Resilience Hub memerlukan izin untuk mengakses sumber daya dengan cakupan klaster (seperti node) di klaster Amazon EKS Anda untuk menilai ketahanan aplikasi Anda.
Template untuk membuat
ClusterRole
peran adalah sebagai berikut:cat << EOF | kubectl apply -f - apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: resilience-hub-eks-access-cluster-role rules: - apiGroups: - "" resources: - pods - replicationcontrollers verbs: - get - list - apiGroups: - apps resources: - deployments - replicasets verbs: - get - list - apiGroups: - policy resources: - poddisruptionbudgets verbs: - get - list - apiGroups: - autoscaling.k8s.io resources: - verticalpodautoscalers verbs: - get - list - apiGroups: - autoscaling resources: - horizontalpodautoscalers verbs: - get - list --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: resilience-hub-eks-access-global-cluster-role rules: - apiGroups: - "" resources: - nodes verbs: - get - list - apiGroups: - karpenter.sh resources: - provisioners verbs: - get - list - apiGroups: - karpenter.k8s.aws resources: - awsnodetemplates verbs: - get - list --- EOF
-
-
RoleBinding
peran — Peran ini memberikan izin yang diperlukan AWS Resilience Hub untuk mengakses sumber daya dalam ruang nama tertentu. Artinya, Anda harus membuatRoleBinding
peran di setiap namespace AWS Resilience Hub untuk mengaktifkan akses sumber daya dalam namespace yang diberikan.catatan
Jika Anda menggunakan
ClusterAutoscaler
untuk penskalaan otomatis, Anda juga harus membuatRoleBinding
di.kube-system
Ini diperlukan untuk menilai AndaClusterAutoscaler
, yang merupakan bagian darikube-system
namespace.Dengan melakukan ini, Anda akan memberikan izin AWS Resilience Hub yang diperlukan untuk menilai sumber daya di dalam
kube-system
namespace saat menilai kluster Amazon EKS Anda.Template untuk membuat
RoleBinding
peran adalah sebagai berikut:cat << EOF | kubectl apply -f - apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: resilience-hub-eks-access-cluster-role-binding namespace: <namespace> subjects: - kind: Group name: resilience-hub-eks-access-group apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: resilience-hub-eks-access-cluster-role apiGroup: rbac.authorization.k8s.io --- EOF
-
ClusterRoleBinding
peran — Peran ini memberikan izin yang diperlukan untuk AWS Resilience Hub mengakses sumber daya dengan cakupan kluster.Template untuk membuat
ClusterRoleBinding
peran adalah sebagai berikut:cat << EOF | kubectl apply -f - --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: resilience-hub-eks-access-global-cluster-role-binding subjects: - kind: Group name: resilience-hub-eks-access-group apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: resilience-hub-eks-access-global-cluster-role apiGroup: rbac.authorization.k8s.io --- EOF
-
-
-
Perbarui
aws-auth ConfigMap
untuk memetakanresilience-hub-eks-access-group
dengan peran IAM yang digunakan untuk mengakses kluster Amazon EKS.Langkah ini membuat pemetaan antara peran IAM yang digunakan pada langkah 1 dengan grup Kubernetes yang dibuat pada langkah 2. Pemetaan ini memberikan izin ke peran IAM untuk mengakses sumber daya di dalam klaster Amazon EKS.
catatan
-
ROLE-NAME
mengacu pada peran IAM yang digunakan untuk mengakses cluster Amazon EKS.-
Jika aplikasi Anda dikonfigurasi untuk menggunakan akses berbasis peran, peran tersebut harus berupa peran invoker atau peran akun sekunder yang diteruskan AWS Resilience Hub saat membuat aplikasi.
-
Jika aplikasi Anda dikonfigurasi untuk menggunakan pengguna IAM saat ini untuk mengakses sumber daya, itu harus menjadi.
AwsResilienceHubAssessmentEKSAccessRole
-
-
ACCOUNT-ID
harus menjadi ID AWS akun cluster Amazon EKS.
Anda dapat membuat
aws-auth
ConfigMap
menggunakan salah satu cara berikut:-
Menggunakan
eksctl
Gunakan perintah berikut untuk memperbarui
aws-auth
ConfigMap
:eksctl create iamidentitymapping \ --cluster <cluster-name> \ --region=<region-code> \ --arn arn:aws:iam::<ACCOUNT-ID>:role/<ROLE-NAME>\ --group resilience-hub-eks-access-group \ --username AwsResilienceHubAssessmentEKSAccessRole
-
Anda dapat mengedit secara manual
aws-auth
ConfigMap
dengan menambahkan detail peran IAM kemapRoles
bagian data diConfigMap
bawah. Gunakan perintah berikut untuk mengedit fileaws-auth
ConfigMap
.kubectl edit -n kube-system configmap/aws-auth
mapRoles
bagian terdiri dari parameter berikut:-
rolearn
— Nama Sumber Daya Amazon (ARN) dari peran IAM yang akan ditambahkan.-
ARN Sintaks —.
arn:aws:iam::<ACCOUNT-ID>:role/<ROLE-NAME>
-
-
username
— Nama pengguna dalam Kubernetes untuk dipetakan ke peran IAM ().AwsResilienceHubAssessmentEKSAccessRole
-
groups
— Nama grup harus cocok dengan nama grup yang dibuat pada Langkah 2 (resilience-hub-eks-access-group
).
catatan
Jika
mapRoles
bagian tidak ada, Anda harus menambahkan bagian ini secara manual.Gunakan templat berikut untuk menambahkan detail peran IAM ke
mapRoles
bagian data diConfigMap
bawah.- groups: - resilience-hub-eks-access-group rolearn: arn:aws:iam::<ACCOUNT-ID>:role/<ROLE-NAME> username: AwsResilienceHubAssessmentEKSAccessRole
-
-