As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Referência de funções e permissões do IAM
Função do IAM para avaliação
Para realizar uma avaliação, a próxima geração do Resilience Hub precisa ser capaz de assumir uma função do IAM com várias permissões somente de leitura para descobrir e entender a configuração de seus recursos. AWS
Você pode criar uma função do IAM no console AWS do IAM. Escolha a política de confiança personalizada e use uma política de confiança como esta:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "resiliencehub.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {} } ] }
Para permissões, escolha a política AWSResilienceHubAsssessmentExecutionPolicy gerenciada e a política ReadOnlyAccess gerenciada. A ReadOnlyAccess política é necessária para o melhor desempenho da avaliação do modo de falha.
Service-Linked Função do IAM
O Resilience Hub de próxima geração cria automaticamente uma Service-Linked função com a política AWSResilienceHubServiceRolePolicy gerenciada. Essa função é necessária somente para o suporte da AWS Organizations.
Permissões de acesso ao arquivo de estado do Terraform
Se você estiver incluindo arquivos de estado do Terraform em seu serviço Resilience Hub de próxima geração, forneça permissões para ler os arquivos do Terraform do seu bucket do Amazon S3 com uma política como esta:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::s3-bucket-name/path-to-state-file" }, { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::s3-bucket-name" } ] }
Permissões do Amazon EKS
Se você estiver incluindo clusters do Amazon EKS em seu serviço Resilience Hub de próxima geração, siga o processo de três etapas a seguir para fornecer permissões do Resilience Hub de próxima geração para ler dados de configuração para seus clusters do Amazon EKS usando o controle de acesso baseado em funções (RBAC) do Kubernetes.
Etapa 1: aplique o seguinte ao seu cluster Amazon EKS
Isso concede ao Resilience Hub de última geração acesso somente de leitura aos recursos do Kubernetes necessários em todos os namespaces:
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 - services 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 - nodepools verbs: - get - list - apiGroups: - karpenter.k8s.aws resources: - awsnodetemplates - ec2nodeclasses 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
Etapa 2: mapear a função do IAM para o grupo Kubernetes
Mapeie a função do IAM que você criou para o grupo resilience-hub-eks-access-group Kubernetes. Você pode usar as entradas de acesso do Amazon EKS (recomendado) ou aws-auth ConfigMap o.
Opção A: usar entradas de acesso ao EKS (recomendado)
As entradas de acesso do EKS são o método preferido para gerenciar a autenticação do cluster. Seu cluster deve usar API nosso modo API_AND_CONFIG_MAP de autenticação.
aws eks create-access-entry \ --cluster-namecluster-name\ --principal-arn arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole \ --type STANDARD \ --kubernetes-groups '["resilience-hub-eks-access-group"]'
Opção B: usar aws-auth ConfigMap
Se seu cluster usa nosso modo CONFIG_MAP de API_AND_CONFIG_MAP autenticação, você pode editar o ConfigMap aws-auth em vez disso:
Usando eksctl:
eksctl create iamidentitymapping \ --clustercluster-name\ --regionregion\ --arn arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole \ --group resilience-hub-eks-access-group \ --username AwsResilienceHubAssessmentEKSAccessRole
Ou edite manualmente o ConfigMap:
kubectl edit -n kube-system configmap/aws-auth
Adicione isso abaixo mapRoles na seção de dados:
- groups: - resilience-hub-eks-access-group rolearn: arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole username: AwsResilienceHubAssessmentEKSAccessRole
Etapa 3: verificar
Confirme se os recursos do RBAC existem e se o mapeamento de funções está em vigor:
kubectl get clusterrole resilience-hub-eks-access-cluster-role kubectl describe clusterrolebinding resilience-hub-eks-access-cluster-role-binding
Se estiver usando entradas de acesso (Opção A):
aws eks describe-access-entry \ --cluster-namecluster-name\ --principal-arn arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole
Se estiver usando aws-auth ConfigMap (Opção B):
kubectl get configmap aws-auth -n kube-system -o yaml | grep -A 3 "ResilienceHubRole"