自動化ツールからのクラスタへのアクセス
IBM Cloud のIAM APIキーまたはサービスIDを使用して、自動化されたパイプライン、CI/CDツール、または非対話的に実行されるスクリプトからクラスターにログインします。
APIキーを使用したログイン
自動化やCI/CDパイプラインには、IAM APIキーの使用が推奨されます。
- APIキーを作成し、表示された内容を保存してください。このキーの値は、一度保存すると再度取得することはできません。
ibmcloud iam api-key-create <name> - API キーを使用してログインします。
ibmcloud login --apikey API_KEY - クラスター・コンテキストを設定します。
ibmcloud oc cluster config -c CLUSTER_NAME_OR_ID - クラスターにログインします。
oc login -u apikey -p API_KEY [--server=PRIVATE_SERVICE_ENDPOINT]
サービスIDを使用したログイン
他のクラスターやクラウド上のアプリが、ご自身のクラスターのサービスにアクセスする必要がある場合や、特定のユーザーに紐づいていない認証情報が必要な場合は、サービス ID を使用してください。
- サービス ID を作成します。
ibmcloud iam service-id-create CLUSTER_NAME-id --description "Service ID for cluster CLUSTER_NAME" - サービス ID に IAM ポリシーを割り当てます。
ibmcloud iam service-policy-create SERVICE_ID --service-name containers-kubernetes --roles ROLE --service-instance CLUSTER_ID - サービス ID の API キーを作成します。
ibmcloud iam service-api-key-create CLUSTER_NAME-key SERVICE_ID - 「API キーを使用したログイン」の手順に従い、 API キーを使用してログインしてください。
コンテキストに基づく制限によるクラスタの保護
プライベートサービスエンドポイントの許可リストは、今後サポートされなくなります。 プライベートサービスエンドポイントの許可リストから、コンテキストベースの制限へ、できるだけ早く移行してください。 具体的な移行手順については、「 プライベートサービスエンドポイントの許可リストからコンテキストベースの制限(CBR)への移行」を 参照してください。
コンテキストベースの制限(CBR)ルールを使用して、パブリックおよびプライベートのサービスエンドポイントへのアクセスを制御します。
IBM Cloud IAM を通じてユーザーにクラスターへのアクセス権を付与 した後、クラスターのパブリックおよびプライベートサービスエンドポイントに対して CBR ルールを作成することで、セキュリティをさらに強化することができます。 CBRルールに指定されたサブネットから送信された、クラスターマスターへの承認済みリクエストのみが許可されます。
クラスターが属するVPCとは異なるVPCからのリクエストを許可したい場合は、CBRルールにそのVPCのクラウドサービスエンドポイントのIPアドレスを含める必要があります。
例えば、クラスターのプライベート・クラウド・サービス・エンドポイントにアクセスするには、VPN または IBM Cloud を介して IBM Cloud Direct Link クラシック・ネットワークまたは VPC ネットワークに接続する必要があります。 CBRルールに、VPNまたは Direct Link トンネルのサブネットのみを指定することで、組織内の承認されたユーザーのみが、そのサブネットからプライベートクラウドサービスのエンドポイントにアクセスできるようにすることができます。
パブリック CBR ルール(クラスターにパブリックサービスエンドポイントがある場合)も、ユーザーの認証が取り消された後にそのユーザーがクラスターにアクセスするのを防ぐのに役立ちます。 ユーザーが組織を退職したら、そのユーザーにクラスターへのアクセス権限を付与する IBM Cloud IAM 権限を削除します。 ただし、ユーザーがクラスタの「 kubeconfig 」管理ファイルをコピーしてしまった場合、そのユーザーはそのクラスタにアクセスできるようになってしまう可能性があります。
組織が所有する既知のパブリックサブネットからのみ、クラスタのマスターへのアクセスを許可するパブリックCBRルールが設定されている場合、ユーザーが別のパブリックIPアドレスからアクセスを試みても、そのアクセスはブロックされます。
ワーカーノードのサブネットは、バックエンドのCBR実装(ただし、CBRルールやゾーンは除く)に自動的に追加・削除されるため、ワーカーノードは常にクラスタマスターにアクセスでき、ユーザーはこれらを自身のCBRルールに個別に追加する必要がありません。
CBR ルールによるクラスタの保護について詳しくは、「 コンテキストベースの制限によるクラスタリソースの保護 」および「 コンテキストベースの制限のシナリオ例 」を参照してください