建立 IAM 角色和 AWS 密碼
您可以將 Kubernetes Pod 設定為以 AWS IAM 角色進行驗證、而非提供明確的 AWS 認證、以存取 AWS 資源。
若要使用 AWS IAM 角色進行驗證、您必須使用 EKS 部署 Kubernetes 叢集。 |
建立 AWS Secret Manager 機密
以下範例建立 AWS Secret Manager 密碼來儲存 Trident CSI 認證:
aws secretsmanager create-secret --name trident-secret --description "Trident CSI credentials" --secret-string "{"username":"vsadmin","password":"<svmpassword>"}"
建立 IAM 原則
下列範例使用 AWS CLI 建立 IAM 原則:
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"
-
政策 JSON 檔案 * :
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" }
為服務帳戶建立和 IAM 角色
以下範例為 EKS 中的服務帳戶建立 IAM 角色:
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