未来已来|人工智能与数据库融合发展分论坛议程初探 了解详情
写点什么

Amazon EFS 新增功能 – IAM 身份验证和接入点(一)

  • 2020-01-16
  • 本文字数:2127 字

    阅读完需:约 7 分钟

Amazon EFS 新增功能 – IAM 身份验证和接入点(一)

在构建或迁移应用程序时,我们经常需要跨多个计算节点共享数据。 许多应用程序都使用文件 API,并且借助 Amazon Elastic File System (EFS) 可以轻松在 AWS 上使用这些应用程序,提供您可以从其他 AWS 服务和本地资源访问的可扩展、完全托管的网络文件系统 (NFS)。


EFS 可按需从零扩展到 PB 级容量,全程无中断,并随着文件的添加和移除自动增长和缩减,无需您预置和管理容量。它为您提供良好的文件系统一致性,覆盖 3 个可用区EFS 的性能将根据存储的数据量扩展,并且提供了预置所需吞吐量的选项。


去年,EFS 团队的关注重点是优化成本,为此他们推出了 EFS 不频繁访问 (IA) 存储类存储价格相比 EFS 标准存储类最高降低了 92%。您 可以通过设置生命周期管理策略以将在一定天数内没有访问的文件移动到 EFS IA,从而快速降低成本。


今天我们将推出两个新的功能,以简化访问权限的管理、数据集的共享以及 EFS 文件系统的保护:


  • 适用于 NFS 客户端的 IAM 身份验证和授权,此功能用于识别客户端并使用 IAM 策略来管理客户端特定的权限。

  • EFS 接入点,此功能用于强制使用操作系统用户和组,此外还可选择限制对文件系统中某个目录的访问权限。


**IAM 身份验证和授权的使用


**在 EFS 控制台中,我可以在创建或更新 EFS 文件系统时设置文件系统策略。这是一个 IAM 资源策略,与 Amazon Simple Storage Service (S3) 存储桶策略类似,可以用于(例如)为所有客户端禁用根访问权限、强制执行只读访问权限或强制执行传输中加密。


基于身份的策略(例如 IAM 用户、组或角色使用的策略)可以覆盖这些默认的权限。这些新功能的底层是 EFS 目前使用安全组的基于网络的访问权限。



我选择了“默认禁用根访问权限”选项,单击设置策略,然后选择 JSON 选项卡。在此处我可以查看根据我的设置生成的策略,也可创建更高级的策略,例如向不同的 AWS 账户或特定的 IAM 角色授予权限。


在 IAM 策略中可以使用以下操作来管理 NFS 客户端的访问权限:


  • ClientMount,此操作将赋予挂载具有只读访问权限的文件系统的权限

  • ClientWrite,此操作将赋予向文件系统写入的权限

  • ClientRootAccess,此操作将以根用户身份访问文件



我检查了策略 JSON。我看到我可以挂载和读取 (ClientMount) 该文件系统,并且可以在该文件系统中写入 (ClientWrite),但由于我选择了禁用根访问权限的选项,我没有 ClientRootAccess 权限。


同样,我可以将策略附加到某个 IAM 用户或角色以赋予特定的权限。例如,我可以创建一个 IAM 角色,并使用如下策略赋予对此文件系统的完全访问权限(包括根访问权限):


Json


{    "Version": "2012-10-17",    "Statement": [        {            "Effect": "Allow",            "Action": [                "elasticfilesystem:ClientMount",                "elasticfilesystem:ClientWrite",                "elasticfilesystem:ClientRootAccess"            ],            "Resource": "arn:aws:elasticfilesystem:us-east-2:123412341234:file-system/fs-d1188b58"        }    ]}
复制代码


我启动了一个 Amazon Elastic Compute Cloud (EC2) 实例,此实例与该 EFS 文件系统位于同一 Amazon Virtual Private Cloud 中,它使用 Amazon Linux 2 和一个可以连接到该文件系统的安全组。此 EC2 实例使用我刚刚创建的 IAM 角色。


需要使用开源 efs-utils 以连接到使用 IAM 身份验证、传输中加密或同时使用这两种机制的客户端。正常情况下,我会在 Amazon Linux 2 上使用 yum 安装efs-utils,但新版本仍在不断推出,因此我将按照说明利用来自此存储库的源构建软件包。我将在更新的软件包可用时更新本博文。


为了挂载该 EFS 文件系统,我使用了 mount 命令。为了利用传输中加密功能,我添加了 tls 选项。此处我没有使用 IAM 身份验证,因此我在文件系统策略中为“*”委托人指定的权限将适用于此连接。


Bash


$ sudo mkdir /mnt/shared$ sudo mount -t efs -o tls fs-d1188b58 /mnt/shared
复制代码


我的文件系统策略默认禁用根访问权限,因此我无法以根用户身份创建新文件。


Bash


$ sudo touch /mnt/shared/newfiletouch: cannot touch ‘/mnt/shared/newfile’: Permission denied
复制代码


我现在将使用 IAM 身份验证,将 iam 选项添加到 mount 命令(需要使用 tls 才能让 IAM 身份验证正常工作)。


Bash


$ sudo mount -t efs -o iam,tls fs-d1188b58 /mnt/shared
复制代码


当我使用此挂载选项时,将使用来自我的 EC2 实例配置文件的 IAM 角色以及附加到该角色的权限(包括根权限)进行连接:


Bash


$ sudo touch /mnt/shared/newfile$ ls -la /mnt/shared/newfile-rw-r--r-- 1 root root 0 Jan  8 09:52 /mnt/shared/newfile
复制代码


此处我使用该 IAM 角色来获取根访问权限。其他常见的使用案例包括强制执行传输中加密(使用 aws:SecureTransport 条件键)或为需要写入或只读访问权限的客户端创建不同的角色。


EFS IAM 权限检查将通过 AWS CloudTrail 进行记录,以便审计客户端对您的文件系统的访问。例如,当某个客户端挂载一个文件系统时,将在我的 CloudTrail 控制台中显示一个 NewClientConnection 事件。



本文转载自 AWS 技术博客。


原文链接:https://amazonaws-china.com/cn/blogs/china/aws-backup-ec2-instances-efs-single-file-restore-and-cross-region-backup/


2020-01-16 10:35749

评论

发布
暂无评论
发现更多内容

新mac笔记本需要做的事情

好好学习

Mac

解决 Django 多进程下,logging 记录日志错乱问题

AlwaysBeta

Python django 编程 日志 log

Jenkins权限管理

kcnf

如何搞定Kafka重复消费?

奈学教育

kafka kafka配置

《零基础学 Java》 FAQ 之 8-Java方法调用是传值还是传引用

臧萌

Java

谈谈控制感(6):虚幻的控制感也好用

史方远

职场 心理 成长

比AtomicLong更优秀的LongAdder确定不来了解一下吗?

一枝花算不算浪漫

并发编程 jdk源码

JAVA内存模型与线程

颇风

Java 内存模型 JVM

一文带你了解 HTTP 黑科技

cxuan

大前端 HTTP

CentOS 6 升级 glibc

wong

centos glibc

如何用一套引擎搞定机器学习全流程?

Apache Flink

大数据 flink 流计算 实时计算

如何发布一个npm包-创建,发布,更新,撤销及常见问题解决

Brave

npm

笔记:《如何系统思考》之如何应用系统思考

wiflish

思维方式

2020第一篇技术博客

java劝退师首席大弟子

生活

中小企业如何做运维自动化?

外滩运维专家

运维 spug 运维自动化 jenkins ansible

PhotoShop切图,一篇文章就够用了

cwang

Web 工具 PhotoShop

一想到有95%的问题还没解决,我就calm down了

赵新龙

科普 宇宙 后真相时代

写作对我的意义

Neco.W

总结 思考 写作 感悟

走进Golang之编译器原理

何磊

编译原理 Go 语言

Dart 进阶 | 深入理解 Function & Closure

LitaVadaski

flutter dart

华为“补洞”:去年重新设计超过6000万行代码

罗燕珊

华为 实体清单

写在开头

宋胖子

Android | Tangram动态页面之路(三)使用

哈利迪

android

键入网址后,其间发生了什么?

小林coding

TCP 计算机网络 网络协议 IP HTTP

Design Sprint 教你五天完成产品迭代

Yanel 说敏捷产品

产品 敏捷 设计 产品设计 团队

用原理认知世界,用情绪驱动行为

史方远

职场 心理 成长

英语学习中听和说的区别

董一凡

学习

识别代码中的坏味道(二)

Page

Java 面向对象 复杂代码优化 重构 CleanCode

汉字不能编程?别闹了,只是看着有点豪横!容易被开除!

小傅哥

spring 小傅哥 aop 汉字编程

MySQL事务解析

一个有志气的DB

MySQL 事务隔离级别 mysql事务

回“疫”录(20):世界从来不会欺负听话的人

小天同学

疫情 回忆录 现实纪录 纪实

Amazon EFS 新增功能 – IAM 身份验证和接入点(一)_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章