E-MapReduceのMetaServiceについて
今回の記事はアリババクラウドのビッグデータ処理サービスE-MapReduceについて、触れさせていただきたいと思います。
E-MapReduceは2.1.0 versionから、MetaServiceと呼ばれる機能をサポートするようになりましたが、業務上まだ利用されたことがない方がいらっしゃっるかと思いますので、その機能が一体なにできるのかを皆んさんに共有させて頂きたいです。
MetaServiceとは
一言でいうと、MetaServiceはE-MapReduceのRAMロールに一時的なセキュアトークンを払い出すウェブサービスです。その他、E-MapReduceクラスタの所属リージョンや、所属ネットワークタイルなどの情報を示すこともできます。
なぜMetaService必要なのか
MetaServiceが出る前に、MapReduceやHive、Sparkなどでジョブを開発する際に、ユーザーアカンウトのAccessKeyId及びAccessKeySecretを明示的に設定ファイルやコマンドパラメータなどに書かなければいけないですが、もちろん、セキュリティに情報漏洩のリスクが存在しております。
例えば、MapReduceの場合、下記のようなの入力を避けるができませんでした。
conf.set("fs.oss.accessKeyId", "${accessKeyId}");
conf.set("fs.oss.accessKeySecret", "${accessKeySecret}");
conf.set("fs.oss.endpoint","${endpoint}");
E-MapReduceクラスタ上にも、OSSのファイルを読み書きする際に、下記のようなAccessKeyIdとAccessKeySecret付きのURLを指定しなければなりませんでした。
hadoop fs -ls oss://[accessKeyId:accessKeySecret@]bucket[.endpoint]/object/path
このような課題を解決してくれるのがMetaServiceを利用したE-MapReduceアプリケーションロール (AliyunEmrEcsDefaultRole)です。デフォルトでは、クラスタを作成するときに、AliyunEmrEcsDefaultRole及びバインドする権限ポリシーが自動的に付与されるので、別にユーザー自身が作業する必要がありません。
ポリシードキュメントと権限付与ポリシーは以下となりますが、ご覧のように、OSSへアクセスアクションが与えられました。また必要に応じて、OSSへアクセス権限を調整したり(例えば、特定ディレクトリのみへのアクセスを制限したい場合)、LogServiceなど他のサービスへのアクセス権限を付与したりすることも可能です。
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": [
"emr.aliyuncs.com"
]
}
}
],
"Version": "1"
}
{
"Version": "1",
"Statement": [
{
"Action": [
"oss:GetObject",
"oss:ListObjects",
"oss:PutObject",
"oss:DeleteObject",
"oss:ListBuckets",
"oss:AbortMultipartUpload"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
MetaServiceによって、MapReduceやSparkなどの開発を行う際に、上記のように、AccessKeyId及びAccessKeySecretを入力する必要がなくなりました。また、クラスタ上で、OSSへサクセスする際にも、AccessKeyIdとAccessKeySecret付きのURLの指定も必要なく、Hadoopに慣れ親しんだユーザーが容易にコマンドを記述することができました。
hadoop fs -ls oss://bucket/path
hadoop fs -cp oss://bucket/path1 oss://bucket/path2
まとめ
いかがでしたでしょうか、MetaServiceを使い、ロールに必要な権限だけを付与することで、AccessKeyId及びAccessKeySecret漏洩のリスクを減らすだけではなく、ユーザーエクスペリエンスの向上にも繋がります、特に、OSS リソースに対話的にアクセスする場合に、OSS パスの長い文字列のURLを書く必要もなくなりましたので、皆さんぜひご活用してください。
Author And Source
この問題について(E-MapReduceのMetaServiceについて), 我々は、より多くの情報をここで見つけました https://qiita.com/qfkdy/items/9bc53ef97b479e66ccca著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .