Créez un rôle IAM et un code secret AWS
Vous pouvez configurer les pods Kubernetes pour accéder aux ressources AWS en vous authentifiant en tant que rôle IAM AWS au lieu de fournir des informations d'identification AWS explicites.
Pour vous authentifier à l'aide d'un rôle IAM AWS, un cluster Kubernetes doit être déployé à l'aide d'EKS. |
Créez un secret AWS Secret Manager
Cet exemple crée un secret AWS Secret Manager pour stocker les informations d'identification Trident CSI :
aws secretsmanager create-secret --name trident-secret --description "Trident CSI credentials" --secret-string "{"username":"vsadmin","password":"<svmpassword>"}"
Créer une politique IAM
Les exemples suivants créent une politique IAM à l'aide de l'interface de ligne de commande AWS :
aws iam create-policy --policy-name AmazonFSxNCSIDriverPolicy --policy-document file://policy.json --description "This policy grants access to Trident CSI to FSxN and Secret manager"
Fichier JSON de règles :
policy.json: { "Statement": [ { "Action": [ "fsx:DescribeFileSystems", "fsx:DescribeVolumes", "fsx:CreateVolume", "fsx:RestoreVolumeFromSnapshot", "fsx:DescribeStorageVirtualMachines", "fsx:UntagResource", "fsx:UpdateVolume", "fsx:TagResource", "fsx:DeleteVolume" ], "Effect": "Allow", "Resource": "*" }, { "Action": "secretsmanager:GetSecretValue", "Effect": "Allow", "Resource": "arn:aws:secretsmanager:<aws-region>:<aws-account-id>:secret:<aws-secret-manager-name>" } ], "Version": "2012-10-17" }
Créer un rôle IAM pour le compte de service
L'exemple suivant crée un rôle IAM pour le compte de service dans EKS :
eksctl create iamserviceaccount --name trident-controller --namespace trident --cluster <my-cluster> --role-name <AmazonEKS_FSxN_CSI_DriverRole> --role-only --attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonFSxNCSIDriverPolicy --approve