2012-10-11 26 views
1

當用戶進行身份驗證以便以用戶身份啓動作業時,我正在使用IBM安全API(QSYGENPT,QSYRMVPT等)在iSeries系統上創建配置文件令牌。在系統上可以創建2,000,000個這樣的令牌,因此需要小心刪除不再需要的令牌。如果不這樣做將構成關鍵系統資源的泄漏。如何仔細檢查我在IBM iSeries上使用Profile Tokens的情況?

但是,我無法在系統上找到報告當前總計數的令牌,由特定工作和/或用戶創建的列表令牌或類似的東西,所以我無法驗證我的程序不會泄漏令牌。

到目前爲止,唯一的辦法似乎是使用系統的審計日記帳分錄並令人生厭地匹配令牌創建/刪除審計分錄。啊!

任何人都可以提供任何更好的想法?

回答

1

根據this page配置文件令牌有效的最長時間爲3600秒。我無法想象一個系統需要在一個小時內生成2,000,000個配置文件令牌的合法情況。我提到這只是爲了讓你放心 - 我不認爲你需要擔心你的程序泄露資源!

我不知道有任何方式列出配置文件令牌,但沒有理由不能維護自己的列表。

1)創建一個表(用iSeries說法中的物理文件)來存儲令牌創建的令牌ID,用戶ID和日期時間。如果您創建具有不同生命期的令牌,也許它的日期時間也會過期。

2)致電QSYGENPT API。

3)如果成功,向您的表中添加一條記錄。

4)定期運行一個作業,查看錶格中的所有記錄。如果當前日期時間晚於配置文件令牌的到期日期時間,請撥打QSYRMVPT API。

然後你就會知道有多少令牌被分配給誰,他們什麼時候會過期。

如果有問題的iSeries有正常的「每晚停機時間」,它會進行備份,補丁或任何可以稱爲QsyRemoveAllPrfTkns API的操作,並確保已刪除所有令牌,因此您將擁有完整的2,000,000從系統恢復時開始。

+0

「配置文件令牌有效的最長時間爲3600秒」 - 爲真,但令牌過期後仍可用「QSYRMVPT」刪除。此外,您只需在任何給定的令牌上調用「QSYRMVPT」一次,過期或不過期,強烈暗示過期不等於刪除。 –

+0

是的。然而,如果你按照我的建議跟蹤你分配的令牌,你可以等到他們3600的生命週期(或者你設置的任何東西)然後刪除它們 - 那麼你肯定會知道它們沒有被使用,並且他們被刪除。 我不知道這是肯定的,但我敢打賭,如果令牌沒有被刪除,當它到期時,它會被標記爲「已刪除」,因此可以重複使用 - 非常像物理文件中的記錄,重複使用已刪除的記錄= * YES實際上並未刪除該記錄,但爲了提高效率,它只會將其標記爲「已刪除」。 –

+0

只是FTR,你會失去你的賭注。計時不會消除令牌;只有QSYRMVPT等人。如果他們沒有被刪除,他們會佔用其中一個插槽,系統無法恢復它們。而且沒有API去除過期令牌。真的是我可以想象的這樣一個設施的最壞的實施。 –