Bu konuda bir OSS/OSS-HDFS kimlik bilgisi sağlayıcısının nasıl yapılandırılacağı açıklanmaktadır.
Temel yapılandırma
OSS veya OSS-HDFS için AccessKey ID, AccessKey secret ve uç nokta değerlerini Hadoop core-site.xml dosyasında önceden yapılandırabilirsiniz. Bir EMR kümesi için bu parametreleri yapılandırmak üzere aşağıdaki adımları izleyin:
Hadoop-Common hizmetinin yapılandırma sayfasında core-site.xml sekmesine tıklayın.
Add Configuration Item seçeneğine tıklayın ve fs.oss.accessKeyId ile fs.oss.accessKeySecret yapılandırma öğelerini ekleyin.
OK seçeneğine tıklayın, çalıştırma nedenini girin ve OK seçeneğine tıklayın.
Aşağıda yer alan Save seçeneğine tıklayın.
AccessKey'leri Hadoop kimlik bilgisi sağlayıcıları ile saklayın
Temel yapılandırma yönteminde fs.oss.accessKeyId ve fs.oss.accessKeySecret değerleri core-site.xml dosyasında düz metin olarak saklanır. Bu değerleri şifrelenmiş bir çift halinde bir Hadoop Credential Providers dosyasında saklayabilirsiniz.
AccessKey ID, AccessKey secret ve güvenlik belirtecini aşağıdaki Hadoop komutunu kullanarak bir kimlik bilgisi dosyasında saklayın:
hadoop credential <subcommand> [options]
Dosya izinlerine ek olarak, kimlik bilgilerini şifrelemek için bir parola da belirtebilirsiniz. Parola belirtmezseniz sistem şifreleme için varsayılan bir dize kullanır.
hadoop credential create fs.oss.accessKeyId -value AAA -provider jceks://file/root/oss.jceks
hadoop credential create fs.oss.accessKeySecret -value BBB -provider jceks://file/root/oss.jceks
hadoop credential create fs.oss.securityToken -value CCC -provider jceks://file/root/oss.jceks
Kimlik bilgisi dosyasını oluşturduktan sonra sağlayıcı türünü ve konumunu belirtmek için aşağıdaki özelliği yapılandırın:
<configuration>
<property>
<name>fs.oss.security.credential.provider.path</name>
<value>jceks://file/root/oss.jceks</value>
<description>Specifies the credential file that stores your access keys. For example, jceks://file/${user.home}/oss.jceks points to the oss.jceks file in your home directory.</description>
</property>
</configuration>
JindoSDK kimlik bilgisi sağlayıcılarını kullanın
Varsayılan olarak JindoSDK; SimpleCredentialsProvider, EnvironmentVariableCredentialsProvider ve CommonCredentialsProvider ile yapılandırılır. Sistem geçerli kimlik bilgilerini alana kadar her sağlayıcıyı sırayla sorgular.
<configuration>
<property>
<name>fs.oss.credentials.provider</name>
<value>com.aliyun.jindodata.oss.auth.SimpleCredentialsProvider,com.aliyun.jindodata.oss.auth.EnvironmentVariableCredentialsProvider,com.aliyun.jindodata.oss.auth.CommonCredentialsProvider</value>
<description>Specifies the com.aliyun.jindodata.oss.auth.JindoCredentialsProvider. To use multiple providers, separate the class names with a comma (,). The system attempts to retrieve credentials from each provider in order. For more information about the providers, see Credential provider types.</description>
</property>
</configuration>
Aşağıdaki seçeneklerden bir kimlik bilgisi sağlayıcısı seçin:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TemporaryCredentialsProvider
-
Sağlayıcı türünü yapılandırın
<configuration> <property> <name>fs.oss.credentials.provider</name> <value>com.aliyun.jindodata.oss.auth.TemporaryCredentialsProvider</value> </property> </configuration> -
OSS veya OSS-HDFS kimlik bilgilerini yapılandırın
<configuration> <property> <name>fs.oss.accessKeyId</name> <value>YOUR_ACCESS_KEY_ID</value> </property> <property> <name>fs.oss.accessKeySecret</name> <value>YOUR_ACCESS_KEY_SECRET</value> </property> <property> <name>fs.oss.securityToken</name> <value>YOUR_SECURITY_TOKEN</value> </property> </configuration>
SimpleCredentialsProvider
-
Sağlayıcı türünü yapılandırın
<configuration> <property> <name>fs.oss.credentials.provider</name> <value>com.aliyun.jindodata.oss.auth.SimpleCredentialsProvider</value> </property> </configuration> -
OSS veya OSS-HDFS kimlik bilgilerini yapılandırın
<configuration> <property> <name>fs.oss.accessKeyId</name> <value>YOUR_ACCESS_KEY_ID</value> </property> <property> <name>fs.oss.accessKeySecret</name> <value>YOUR_ACCESS_KEY_SECRET</value> </property> </configuration>
EnvironmentVariableCredentialsProvider
-
Sağlayıcı türünü yapılandırın
<configuration> <property> <name>fs.oss.credentials.provider</name> <value>com.aliyun.jindodata.oss.auth.EnvironmentVariableCredentialsProvider</value> </property> </configuration> -
OSS veya OSS-HDFS kimlik bilgilerini yapılandırın
Aşağıdaki ortam değişkenlerini ayarlayın:
Parametre
Açıklama
OSS_ACCESS_KEY_ID
OSS veya OSS-HDFS için AccessKey ID.
OSS_ACCESS_KEY_SECRET
OSS veya OSS-HDFS için AccessKey secret.
OSS_SECURITY_TOKEN
OSS veya OSS-HDFS için güvenlik belirteci.
NotYalnızca süre sınırlı bir belirteç kullanılırken gereklidir.
CommonCredentialsProvider
-
Sağlayıcı türünü yapılandırın
<configuration> <property> <name>fs.oss.credentials.provider</name> <value>com.aliyun.jindodata.oss.auth.CommonCredentialsProvider</value> </property> </configuration> -
OSS veya OSS-HDFS kimlik bilgilerini yapılandırın
<configuration> <property> <name>jindo.common.accessKeyId</name> <value>YOUR_ACCESS_KEY_ID</value> </property> <property> <name>jindo.common.accessKeySecret</name> <value>YOUR_ACCESS_KEY_SECRET</value> </property> <property> <name>jindo.common.securityToken</name> <value>YOUR_SECURITY_TOKEN. (Required for time-bound tokens)</value> </property> </configuration>
CustomCredentialsProvider
-
Sağlayıcı türünü yapılandırın
<configuration> <property> <name>fs.oss.credentials.provider</name> <value>com.aliyun.jindodata.oss.auth.CustomCredentialsProvider</value> </property> </configuration> -
Parolasız hizmet URL'sini yapılandırın
<configuration> <property> <name>aliyun.oss.provider.url</name> <value>The URL of the password-free service.</value> </property> </configuration>aliyun.oss.provider.url http(s) ve Secrets protokollerini destekler:
-
HTTP(S) protokolü
HTTP(S) parolasız hizmeti için URL biçimi
http://localhost:1234/stsşeklindedir. HTTP parolasız protokolü yanıtın JSON biçiminde olmasını gerektirir.{ "AccessKeyId" : "XXXXXXXXX", "AccessKeySecret" : "XXXXXXXXX", "Expiration" : "2020-11-01T05:20:01Z", "SecurityToken" : "XXXXXXXXX", "LastUpdated" : "2020-10-31T23:20:01Z", "Code" : "Success" } -
Secrets protokolü
Secrets parolasız hizmeti için adres biçimi
secrets:///local_path_prefixolup genellikle Kubernetes senaryolarında kullanılır. Burada local_path_prefix yol ön ekidir:local_path_prefix değeri secrets:///secret/JindoOss ise düğümde /secret/JindoOssAccessKeyId, /secret/JindoOssAccessKeySecret ve /secret/JindoOssSecurityToken gibi dosyalar aranır.
local_path_prefix değeri secrets:///secret/JindoOss/ ise düğümde /secret/JindoOss/AccessKeyId, /secret/JindoOss/AccessKeySecret ve /secret/JindoOss/SecurityToken gibi dosyalar aranır.
-