This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.13.4. サービスアカウントの認証情報の外部での使用
サービスアカウントのトークンは、API に対して認証する必要のある外部アプリケーションに配布することができます。
イメージをプルするには、要求される imagestreams/layers
に対する get
権限が、この認証済みのユーザーに割り当てられている必要があります。また、イメージをプッシュするには、認証済みのユーザーに、要求される imagestreams/layers
に対する update
権限が割り当てられている必要があります。
デフォルトで、プロジェクトのすべてのサービスアカウントは同じプロジェクトの任意のイメージをプルする権限を持ち、builder サービスアカウントには同じプロジェクトの任意のイメージをプッシュする権限を持ちます。
手順
サービスアカウントのトークンを表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc describe secret <secret-name>
$ oc describe secret <secret-name>
以下は例になります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc describe secret robot-token-uzkbh -n top-secret
$ oc describe secret robot-token-uzkbh -n top-secret Name: robot-token-uzkbh Labels: <none> Annotations: kubernetes.io/service-account.name=robot,kubernetes.io/service-account.uid=49f19e2e-16c6-11e5-afdc-3c970e4b7ffe Type: kubernetes.io/service-account-token Data token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
取得したトークンを使用してログインします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc login --token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
$ oc login --token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9... Logged into "https://server:8443" as "system:serviceaccount:top-secret:robot" using the token provided. You don't have any projects. You can try to create a new project, by running $ oc new-project <projectname>
サービスアカウントとしてログインしたことを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc whoami
$ oc whoami system:serviceaccount:top-secret:robot