Red Hat Training
A Red Hat training course is available for OpenShift Container Platform
12.5. 許可されたシークレットの管理
API 認証情報を提供するほかに、Pod のサービスアカウントは Pod が使用できるシークレットを決定します。
Pod は以下の 2 つの方法でシークレットを使用します。
- イメージプルシークレットの使用: Pod のコンテナーのイメージをプルするために使用される認証情報を提供します。
- マウント可能なシークレットの使用: シークレットの内容をファイルとしてコンテナーに挿入します。
サービスアカウントの Pod がシークレットをイメージプルシークレットとして使用できるようにするには、以下を実行します。
$ oc secrets link --for=pull <serviceaccount-name> <secret-name>
サービスアカウントの Pod がシークレットをマウントできるようにするには、以下を実行します。
$ oc secrets link --for=mount <serviceaccount-name> <secret-name>
注記
シークレットを参照しているサービスアカウントにのみにシークレットを制限することはデフォルトで無効にされています。これは、serviceAccountConfig.limitSecretReferences がマスター設定ファイルで false (デフォルト設定) に設定されている場合はシークレットを --for=mount オプションを使ってサービスアカウントの Pod にマウントする必要がないことを意味します。ただし serviceAccountConfig.limitSecretReferences の値にかかわらず、--for=pull オプションを使用してイメージプルシークレットの使用を有効にする必要はあります。
以下の例では、シークレットを作成し、これをサービスアカウントに追加しています。
$ oc create secret generic secret-plans \
--from-file=plan1.txt \
--from-file=plan2.txt
secret/secret-plans
$ oc create secret docker-registry my-pull-secret \
--docker-username=mastermind \
--docker-password=12345 \
--docker-email=mastermind@example.com
secret/my-pull-secret
$ oc secrets link robot secret-plans --for=mount
$ oc secrets link robot my-pull-secret --for=pull
$ oc describe serviceaccount robot
Name: robot
Labels: <none>
Image pull secrets: robot-dockercfg-624cx
my-pull-secret
Mountable secrets: robot-token-uzkbh
robot-dockercfg-624cx
secret-plans
Tokens: robot-token-8bhpp
robot-token-uzkbh