3.4. デバイスマネージャー向け IoT
通常、デバイスマネージャーは、システム内のデバイス ID と認証情報の作成と管理を担当します。
3.4.1. 認証トークンの取得 リンクのコピーリンクがクリップボードにコピーされました!
デバイス管理 API にアクセスするには、API に対して自分自身を認証するためのトークンを取得する必要があります。
IoT テナントのデバイスへのアクセスは、IoTProject リソースへのアクセス権に基づいて、デバイスレジストリーによりマップされます。アカウントに IoTProject への 読み取り アクセス権がある場合に、このアカウントは、この IoT テナントのデバイスレジストリーに対して 読み取り 操作を実行することもできます。
トークンは、HTTP ヘッダー値 Authorization: Bearer <token> を追加して、ベアラートークン として API に提示する必要があります。詳細は RFC 6750 を参照してください。
次の設定例では、${TOKEN} を実際のトークンに置き換えます。
3.4.1.1. ユーザーの認証トークンの取得 リンクのコピーリンクがクリップボードにコピーされました!
現在の OpenShift のトークンを使用する場合は、トークンを抽出できます。
前提条件
- トークンをサポートするユーザーとして OpenShift インスタンスにログインする必要があります。
手順
現在のユーザーのトークンを抽出します。
oc whoami -t
oc whoami -tCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ユーザートークンの有効期間は限られているため、有効期限が切れた後にトークンを更新する必要がある場合があります。
3.4.1.2. サービスアカウントの認証トークンの取得 リンクのコピーリンクがクリップボードにコピーされました!
次の手順を実行して、新しいサービスアカウントを作成し、トークンを抽出します。
前提条件
- 新しいサービスアカウント、ロール、およびロールバインディングを作成するには、OpenShift インスタンスにログインする必要があります。
手順
新規のサービスアカウントを作成します。
apiVersion: v1 kind: ServiceAccount metadata: name: my-device-manager-account
apiVersion: v1 kind: ServiceAccount metadata: name: my-device-manager-account1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- サービスアカウントの名前
IoTProjectへのアクセスを許可する新しいロールを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、namespace 内のすべての
IoTProjectsへのアクセスを許可します。アクセスをさらに制限するには、より具体的なルールを使用します。新しいロールバインディングを作成し、ロールをサービスアカウントに割り当てます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サービスアカウントからトークンを取得します。
oc serviceaccounts get-token my-device-manager-account
oc serviceaccounts get-token my-device-manager-accountCopy to Clipboard Copied! Toggle word wrap Toggle overflow