仮想サーバ所有者(VSO)グループのメンバーのスナップショット管理を正常に無効にするには、VSOロールからそれぞれの権限を削除するだけでは済みません。VSOユーザはこれらの機能にアクセスできませんが、[My Servers]ポートレットには対応するボタンが表示され、VSOユーザがクリックするとエラーが表示されます。これを防ぐには、Manage_MyServersポートレットのコードを簡単に変更して、これらのボタンを表示しないようにします。
このドキュメントに特有の要件はありません。
このドキュメントは、特定のハードウェアやソフトウェアのバージョンに限定されるものではありません。
ドキュメント表記の詳細は、『シスコテクニカルティップスの表記法』を参照してください。
このセクションでは、[Manage_MyServers]ポートレットを変更して、このアクセス権を持たないVSOユーザの[Snapshot]ボタンを削除するために必要な情報を提供します。
任意のASCIIテキストエディタを使用して、ポートレットのJavascriptコードを編集できます。ただし、ファイルへのコピーアンドペーストと保存がサポートされている場合に限ります。画面上の回線の番号付けと検索機能をサポートする機能を使用することをお勧めします。必要に応じて簡単に元のコードを復元できるように、元のコードを変更する前にローカルテキストファイルに保存してください。
コードの変更は比較的簡単です。最初にユーザのロールを検出し、そのユーザがVSOグループのメンバーである場合は[スナップショットの管理(Manage Snapshots)]ボタンを無効にします。手順は以下のとおりです。
Cloud Portalを起動し、[Portal Designer] > [Browse Portlets]に移動します。
左側のパネルでJavaScriptフォルダを選択し、次にManage_MyServersを選択します。
メインパネルで、[表示]タブを選択します。Cloud Portalに、[Manage_MyServers]ポートレットのJavascriptコードが表示されます。
コードをすべて選択し、コピーしてテキストエディタに貼り付けます。この元のテキストのコピーをバックアップとしてローカルマシン上のファイルとして保存します。
getActionButtonContent(cntName,cntStatus,cntOwned)
その行の最後に開き括弧({)を追加します。次に、直後に次のコードの行を追加します。
var personRole = getCurrentUserRole();
2行は次のようになります。
function getActionButtonContent(cntName,cntStatus,cntOwned){ var personRole = getCurrentUserRole();
コードの次のセクション(行1104の周り)を見つけます。
buttons = buttons + '<div style="float:left; margin: 8px 9px; padding: 8px 2px; text-align: center; width: 10%; border: 1px solid #ffffff;">'+linkSnapshotStart+'<img src="http://www.cisco.com/RequestCenter/custom/EnterpriseEdition/'+imgSnapshot+'" '+imgSnapshotRollover+' alt="Create a named snapshot of the '+manageCntName+'\'s current state and data.">'+linkSnapshotEnd+'</Para><Para>Take Snapshot</div>';
コードのこのセクションの直前の行に、次の行を追加します。
if(personRole != 'Virtual Server Owner') {
行の最後に必ず開き括弧({)を挿入してください。
次に、コードの次の近くのセクション(行1112付近)を探します。
buttons = buttons + '<div style="float:left; margin: 8px 9px; padding: 8px 2px; text-align: center; width: 10%; border: 1px solid #ffffff;">'+linkDeleteSnapshotStart+'<img src="http://www.cisco.com/RequestCenter/custom/EnterpriseEdition/'+imgDeleteSnapshot+'" '+imgDeleteSnapshotRollover+' alt="Delete Snapshot of the Virtual Machine" title="Delete Snapshot of the '+manageCntName+'." >'+linkDeleteSnapshotEnd+'</Para><Para>Delete Snapshot</div>';
このセクションの直後の新しい行にifステートメントの閉じ括弧(})を追加します。変更されたコードの完全なセクションは次のようになります。
if(personRole != Virtual Server Owner) { buttons = buttons + '<div style="float:left; margin: 8px 9px; padding: 8px 2px; text-align: center; width: 10%; border: 1px solid #ffffff;">'+linkSnapshotStart+'<img src="http://www.cisco.com/RequestCenter/custom/EnterpriseEdition/'+imgSnapshot+'" '+imgSnapshotRollover+' alt="Create a named snapshot of the '+manageCntName+'\'s current state and data.">'+linkSnapshotEnd+'</Para><Para>Take Snapshot</div>'; buttons = buttons + '<div style="float:left; margin: 8px 9px; padding: 8px 2px; text-align: center; width: 10%; border: 1px solid #ffffff;">'+linkViewSnapshotStart+'<img src="http://www.cisco.com/RequestCenter/custom/EnterpriseEdition/'+imgViewSnapshot+'" '+imgViewSnapshotRollover+' alt="View Snapshots of the Virtual Machine" title="View Snapshots of the '+manageCntName+'." >'+linkViewSnapshotEnd+'</Para><Para>View Snapshots</div>'; buttons = buttons + '<div style="float:left; margin: 8px 9px; padding: 8px 2px; text-align: center; width: 10%; border: 1px solid #ffffff;">'+linkRevertSnapshotStart+'<img src="http://www.cisco.com/RequestCenter/custom/EnterpriseEdition/'+imgRevertSnapshot+'" '+imgRevertSnapshotRollover+' alt="Revert to Snapshot" title="Revert a '+manageCntName+' to a previous state using the snapshot of your choice." >'+linkRevertSnapshotEnd+'</Para><Para>Revert to Snapshot</div>'; buttons = buttons + '<div style="float:left; margin: 8px 9px; padding: 8px 2px; text-align: center; width: 10%; border: 1px solid #ffffff;">'+linkDeleteSnapshotStart+'<img src="http://www.cisco.com/RequestCenter/custom/EnterpriseEdition/'+imgDeleteSnapshot+'" '+imgDeleteSnapshotRollover+' alt="Delete Snapshot of the Virtual Machine" title="Delete Snapshot of the '+manageCntName+'." >'+linkDeleteSnapshotEnd+'</Para><Para>Delete Snapshot</div>'; }
新しく変更したコードを[Manage_MyServers]ポートレットの[View]タブにコピーし、[Save]をクリックします。VSOのボタンが非表示になります。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
10-Jan-2013 |
初版 |