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