Container Service for Kubernetes (ACK) は、Alibaba Cloud アカウント、Resource Access Management (RAM) ユーザー、または RAM ロールへの ID 情報を含む kubeconfig ファイルに署名して発行します。これらの kubeconfig ファイルを使用して、ACK クラスタにアクセスできます。 kubeconfig ファイル管理機能を使用すると、クラスター、RAM ユーザー、または RAM ロールに基づいて、Alibaba Cloud アカウント、RAM ユーザー、または RAM ロールに発行された kubeconfig ファイルのステータスを表示できます。さらに、セキュリティリスクとなる可能性のある kubeconfig ファイルを削除し、権限を取り消すことができます。
kubeconfig ファイルの概要
kubeconfig ファイルには、クライアントが ACK クラスタにアクセスするために使用する認証情報が保存されます。 ACK コンソール を使用するか、DescribeClusterUserKubeconfig API 操作を呼び出して、kubeconfig ファイルをクエリできます。認証情報の漏洩によるデータ侵害を防ぐために、kubeconfig ファイルは機密にしておく必要があります。
kubeconfig ファイルは、ファイルの有効期限が切れると無効になります。 kubeconfig ファイルの有効期限のクエリ方法の詳細については、「クラスターの kebeconfig ファイルを取得し、kubectl を使用してクラスターに接続する」トピックの問題 2: kubeconfig ファイルで使用されている証明書の有効期限をクエリするにはどうすればよいですか?セクションをご参照ください。
kubeconfig ファイルのステータス
次の表は、ACK で使用される kubeconfig ファイルのステータスを示しています。
ステータス | 説明 |
未発行 | 現在のクラスターの kubeconfig ファイルは、RAM ユーザーまたは RAM ロールに発行されていません。 |
有効 | 現在のクラスターの kubeconfig ファイルは RAM ユーザーまたは RAM ロールに発行されており、kubeconfig ファイルはまだ有効です。 |
RAM ユーザーまたは RAM ロールに発行された kubeconfig ファイルは削除されましたが、ロールベースのアクセス制御 (RBAC) 権限は取り消されていません。 | |
期限切れ | 現在のクラスターの kubeconfig ファイルは RAM ユーザーまたは RAM ロールに発行されていますが、kubeconfig ファイルは期限切れです。 |
削除済み | 現在のクラスターの kubeconfig ファイルは RAM ユーザーまたは RAM ロールに発行されていますが、kubeconfig ファイルは削除されています。 kubeconfig ファイルを削除すると、kubeconfig 情報と RAM ユーザーまたは RAM ロールの RBAC バインディングも削除されます。 |
kubeconfig ファイルを削除する前に、有効な kubeconfig ファイルの重要度と有効期限を確認することをお勧めします。たとえば、退職した従業員に発行された kubeconfig ファイルを削除し、kubeconfig ファイルの期限切れによる業務の中断を防ぐことをお勧めします。また、ACK マネージドクラスターで API サーバー Webhook 認証に ack-ram-authenticator を使用することで、RAM ユーザーまたは RAM ロールが削除された後に、RAM ユーザーまたは RAM ロールの kubeconfig ファイルと RBAC 権限が自動的に取り消されるようにすることをお勧めします。
kubeconfig ファイルを削除する前に、リスクが発生しないことを確認してください。そうでない場合、kubeconfig ファイルを生成した ACK クラスタの API サーバーにアクセスできなくなります。
kubeconfig ファイルの維持と管理は、お客様の責任で行ってください。セキュリティリスクとなる kubeconfig ファイルはできるだけ早く削除する必要があります。
kubeconfig ファイル管理
ディメンション | シナリオ | 必要な権限 | 例 |
クラスター | ACK クラスタ内のすべての RAM ユーザーまたは RAM ロールの kubeconfig ファイルを管理します。 |
| |
RAM ユーザーまたは RAM ロール | RAM ユーザーまたは RAM ロールに発行されたすべての kubeconfig ファイルを管理します。 |
| |
削除された RAM ユーザーまたは RAM ロール | 削除された RAM ユーザーまたは RAM ロールの残存 kubeconfig ファイルを管理します。残存 kubeconfig ファイルはまだ有効です。 |
|
クラスター内の kubeconfig ファイルを管理する例
ACK コンソール にログインします。左側のナビゲーションウィンドウで、[承認] をクリックします。
[承認] ページで、[kubeconfig ファイル管理] タブをクリックします。次に、管理するクラスターを見つけ、[操作] 列の [kubeconfig ファイル管理] をクリックします。 [kubeconfig ファイル管理] パネルが表示されます。
クラスターの kubeconfig ファイルを保持している RAM ユーザーまたは RAM ロール、または クラスターの kubeconfig ファイルが削除されたが、まだ RBAC 権限を持っているユーザーを表示できます。
ユーザー情報: ユーザー名、ユーザー ID、アカウントタイプ、アカウントステータス。
kubeconfig ファイル情報: kubeconfig ファイルの有効期限とステータス。
RAM ユーザーまたは RAM ロールが保持している現在のクラスターの kubeconfig ファイルがどのアプリケーションでも使用されていないことを確認した後、RAM ユーザーまたは RAM ロールに対応する [操作] 列の [kubeconfig ファイルの削除] をクリックして、kubeconfig ファイルを削除します。
重要kubeconfig ファイルを削除する前に、リスクが発生しないことを確認してください。そうでない場合、kubeconfig ファイルを生成した ACK クラスタの API サーバーにアクセスできなくなります。
kubeconfig ファイルの維持と管理は、お客様の責任で行ってください。セキュリティリスクとなる kubeconfig ファイルはできるだけ早く削除する必要があります。
[kubeconfig ファイルの削除] をクリックすると、システムは API サーバーの監査ログに自動的にアクセスし、過去 7 日間の kubeconfig ファイルのアクセスレコードを確認します。この機能を使用するには、API サーバーのクラスター監査機能が有効になっていることを確認してください。詳細については、クラスター監査の操作をご参照ください。
RAM ユーザーまたは RAM ロールに発行された kubeconfig ファイルを管理する例
ACK コンソール にログインします。左側のナビゲーションウィンドウで、[承認] をクリックします。
[承認] ページで、[RAM ユーザー] タブをクリックします。 [RAM ユーザー] タブで、管理する RAM ユーザーを見つけ、右側にある [kubeconfig] [管理] をクリックします。 [kubeconfig 管理] パネルが表示されます。
[kubeconfig 管理] パネルには、RAM ユーザーまたは RAM ロールに属するクラスターの kubeconfig ファイルのステータスが表示されます。
クラスター情報: クラスターの名前と ID が含まれます。
kubeconfig ファイル情報: kubeconfig ファイルの有効期限とステータス、および過去 7 日間の kubeconfig ファイルを使用したアクセスレコードが含まれます。
クラスターの kubeconfig ファイルを削除するか、複数のクラスターの kubeconfig ファイルを一度に削除します。 kubeconfig ファイルを削除する前に、kubeconfig ファイルがどのアプリケーションでも使用されていないことを確認してください。
クラスターの kubeconfig ファイルを削除する: kubeconfig ファイルを削除するクラスターを見つけ、[操作] 列の [kubeconfig ファイルの削除] をクリックします。
複数のクラスターの kubeconfig ファイルを一度に削除する: kubeconfig ファイルを削除するクラスターを選択し、パネルの左下にある [kubeconfig ファイルの削除] をクリックします。
重要kubeconfig ファイルを削除する前に、リスクが発生しないことを確認してください。そうでない場合、kubeconfig ファイルを生成した ACK クラスタの API サーバーにアクセスできなくなります。
kubeconfig ファイルの維持と管理は、お客様の責任で行ってください。セキュリティリスクとなる kubeconfig ファイルはできるだけ早く削除する必要があります。
[kubeconfig ファイルの削除] をクリックすると、システムは API サーバーの監査ログに自動的にアクセスし、過去 7 日間の kubeconfig ファイルのアクセスレコードを確認します。この機能を使用するには、API サーバーのクラスター監査機能が有効になっていることを確認してください。詳細については、クラスター監査の操作をご参照ください。
残存 kubeconfig ファイルを削除する例
ACK コンソール
ACK コンソール にログインします。左側のナビゲーションウィンドウで、[承認] をクリックします。
削除された RAM ユーザーまたは RAM ロールの残存 kubeconfig ファイルが存在する場合、[承認] ページに次のメッセージが表示されます。
メッセージ内の [無効なアカウントに関連付けられている Kubeconfig ファイルを管理する] をクリックして、[削除された RAM ユーザー/ロールの Kubeconfig ファイルの削除] ページに移動します。
このページでは、kubeconfig ファイルと RBAC 権限 がまだ有効になっている削除された RAM ユーザーまたは RAM ロールを表示できます。
削除する残存 kubeconfig ファイルがどのアプリケーションでも使用されていないことを確認し、削除された RAM ユーザーまたは RAM ロールの右側にある [kubeconfig ファイルの削除] をクリックして、kubeconfig ファイルを削除します。
重要kubeconfig ファイルを削除する前に、リスクが発生しないことを確認してください。そうでない場合、kubeconfig ファイルを生成した ACK クラスタの API サーバーにアクセスできなくなります。
kubeconfig ファイルの維持と管理は、お客様の責任で行ってください。セキュリティリスクとなる kubeconfig ファイルはできるだけ早く削除する必要があります。
[kubeconfig ファイルの削除] をクリックすると、システムは API サーバーの監査ログに自動的にアクセスし、過去 7 日間の kubeconfig ファイルのアクセスレコードを確認します。この機能を使用するには、API サーバーのクラスター監査機能が有効になっていることを確認してください。詳細については、クラスター監査の操作をご参照ください。
ack-ram-tool
ack-ram-tool を使用して kubeconfig ファイルを削除する方法の詳細については、ack-ram-tool を使用して ACK クラスタの指定ユーザーの権限を取り消すをご参照ください。
よくある質問
7 日間のアクセスレコードチェックとは何ですか?
7 日間のアクセスレコードチェック機能は、過去 7 日間に kubeconfig ファイルが対応するクラスターへのアクセスに使用されたかどうかを確認します。チェック結果は参考用です。削除する kubeconfig ファイルがどのアプリケーションでも使用されていないことを確認する必要があります。
この機能を使用するには、API サーバーのクラスター監査機能が有効になっていることを確認してください。詳細については、クラスター監査の操作をご参照ください。
7 日間のアクセスレコードチェック結果をどのように理解すればよいですか?
チェック結果 | タイプ | 原因 |
成功 | アクセスレコードが見つかりません。 | 過去 7 日間に、kubeconfig ファイルはクラスターの API サーバーへのアクセスに使用されていません。 |
アクセスレコードが見つかりました。 | 過去 7 日間に、kubeconfig ファイルはクラスターの API サーバーへのアクセスに使用されています。 | |
失敗 | アクセスレコードのクエリに失敗しました。 | クラスター監査機能が無効になっているため、7 日間のアクセスレコードチェックに失敗しました。 |
クラスター接続の失敗やネットワークの問題など、その他のエラーにより、7 日間のアクセスレコードチェックに失敗しました。 |
どのようなシナリオで kubeconfig ファイルを削除できませんか?
異常なクラスター状態: 削除に失敗しました、削除中、削除済み、および 失敗 状態のクラスターの kubeconfig ファイルは削除しないでください。
異常な kubeconfig ファイルまたは証明書のステータス: 未発行、取り消し済み、および 不明 状態の kubeconfig ファイルは削除しないでください。
自分が保持している kubecofig ファイルは削除できません。
Alibaba Cloud アカウントに発行された kubeconfig ファイルは削除できません。
誤って削除された kubeconfig ファイルを復元したり、kubeconfig ファイルの履歴バージョンを復元したりできますか?
kubeconfig ゴミ箱を使用して、誤って削除された kubeconfig ファイルを復元したり、kubeconfig ファイルの履歴バージョンを復元したりできます。詳細については、kubeconfig ゴミ箱の使用をご参照ください。
kubeconfig ファイル管理のセキュリティに関するベストプラクティスは何ですか?
ACK クラスタへのアクセスに使用されるアカウントと認証情報 (RAM ユーザーの AccessKey ペア、トークン、kubeconfig ファイルなど) を管理し、機密性を維持する必要があります。アカウントを管理し、ACK クラスタの権限を付与する際には、最小限の権限の原則に従い、権限を速やかに取り消してください。たとえば、従業員が退職した後、できるだけ早く従業員のアカウントからクラスターアクセス権限を取り消す必要があります。また、ACK マネージドクラスターで API サーバー Webhook 認証に ack-ram-authenticator を使用することで、RAM ユーザーまたは RAM ロールが削除された後に、RAM ユーザーまたは RAM ロールの kubeconfig ファイルと RBAC 権限が自動的に取り消されるようにすることをお勧めします。
不適切な認証情報管理が原因で、RAM ユーザーの AccessKey ペアや kubeconfig ファイルなどの認証情報の漏洩または期限切れによって発生した損失または結果については、お客様が責任を負います。 責任共有モデルの要件を読み、理解していることを確認してください。
関連情報
従業員が退職した場合、または kubeconfig ファイルの漏洩が疑われる場合は、kubeconfig ファイルを取り消し、新しい kubeconfig ファイルを生成できます。詳細については、クラスターの kubeconfig ファイルを取り消すをご参照ください。