SPF でテナントとユーザー ロールを管理する
System Center - Service Provider Foundation (SPF) では、ユーザー ロールが作成されたり、スコープが定義されたりすることはありません。 テナントを設定するには、テナントに代わって行われた要求を検証するために使用される証明書公開キーが必要です。
証明書を作成する
使用する既存の CA 証明書がない場合は、自己署名証明書を生成できます。 証明書から公開キーと秘密キーをエクスポートし、公開キーをテナントに関連付けることができます。
自己署名証明書を取得する
makecert.exe
(証明書作成ツール) を使用して証明書を作成します。
管理者としてコマンド プロンプトを開きます。
次のコマンドを実行して、証明書を生成します。
makecert -r -pe -n "cn=contoso.com" -b 07/12/2012 -e 09/23/2014 -ss My -sr CurrentUser -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 -sky exchange
このコマンドは、証明書を現在のユーザー証明書ストアに作成します。 それにアクセスするには、 Start 画面で「 certmgr.msc 」と入力し、 Apps 結果で certmgr.msc を選択します。 certmgr ウィンドウで、Certificates - Current User>Personal>Certificates フォルダーを選択します。
公開キーをエクスポートする
- 証明書を右クリックして、>すべてのタスク>エクスポートします。
- Export 秘密キーで、[いいえ] を選択し、秘密キーをエクスポートしません>次。
- Export ファイル形式で、Base-64 でエンコードされた X.509 (.CER)>次へ。
- File to Exportで、証明書 >Next のパスとファイル名を指定します。
- 証明書のエクスポート ウィザードの完了で、Finish を選択します。
PowerShell を使用してエクスポートするには、次のコマンドを実行します。
``S C:\> $path = "C:\Temp\tenant4D.cer"
PS C:\> $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($path)
PS C:\> $key = [Convert]::ToBase64String($cert.RawData)``
秘密キーをエクスポートします
- 証明書を右クリックし、>すべてのタスク>エクスポートを選択します。
- Export 秘密キーで、[Yes] を選択し、秘密キーをエクスポートします>次。 このオプションを使用できない場合に自己署名証明書を生成した場合は、-pe オプションが含まれていることを確認してください。
- Export ファイル形式で、個人情報交換 - PKCS #12 (.PFX)を選択します。 可能な場合は、証明書パス内のすべての証明書を含めが選択されていることを確認し、Next を選択します。
- File to Exportで、証明書 >Next のパスとファイル名を指定します。
- 証明書のエクスポート ウィザードの完了で、Finish を選択します。
テナントを作成する
Service Provider Foundation では、ユーザー ロールを作成したり、スコープ (クラウドなど)、リソース、アクションを定義したりすることはありません。 代わりに、 New-SCSPFTenantUserRole
コマンドレットは、ユーザー ロール名を持つテナントの関連付けを作成します。 関連付けが作成されると、System Center 2016 - Virtual Machine Manager でロールを作成するために対応する ID に使用できる ID も生成されます。
Developer のガイドを使用して、管理者 OData プロトコル サービスを使用してユーザー ロールを作成することもできます。
SPF コマンド シェルを管理者として実行します。
次のコマンドを入力して、テナントを作成します。 このコマンドは、
$key
変数に公開キーが含まれていることを前提としています。PS C:\> $tenant = New-SCSPFTenant -Name "contoso.cloudspace.com" -IssuerName "contoso.cloudspace.com" -Key $key
次のコマンドを実行して、テナントの公開キーが正常にインポートされたことを確認します。
PS C:\> Get-SCSPFTrustedIssuer
次の手順では、作成した
$tenant
変数を使用します。
VMM でテナント管理者ロールを作成する
次のコマンドを入力して、Windows PowerShell コマンド シェルの昇格に同意します。
PS C:\> Set-Executionpolicy remotesigned
次のコマンドを入力して VMM モジュールをインポートします。
PS C:\> Import-Module virtualmachinemanager
Windows PowerShell
T:Microsoft.SystemCenter.VirtualMachineManager.Cmdlets.New\-SCUserRole
コマンドレットを使用して、ユーザー ロールを作成します。 このコマンドは、上記の手順で説明したように作成された$tenant
変数を前提としています。PS C:\> $TARole = New-SCUserRole -Name contoso.cloudspace.com -ID $tenant.Id -UserRoleProfile TenantAdmin
注意事項
ユーザー ロールが VMM 管理コンソールを使用して以前に作成された場合、そのアクセス許可は、
New\-SCSUserRole
コマンドレットで指定されたものによって上書きされることに注意してください。VMM 管理コンソールの Settings ワークスペースの User Roles に表示されていることを確認して、ユーザー ロールが作成されたことを確認します。
ロールを選択し、ツール バーの Properties を選択して、ロールに対して以下を定義します。
Scopeで、1 つ以上のクラウドを選択します。
Resourcesで、テンプレートなどのリソースを追加します。
Actionsで、1 つ以上のアクションを選択します。
この手順を、テナントに割り当てられているすべてのサーバーに対して繰り返します。
次の手順では、作成した
$TARole
変数を使用します。
VMM でテナントのセルフサービス ユーザー ロールを作成する
次のコマンドを入力して、作成したテナントのセルフサービス ユーザーを SPF に作成します。
PS C:\> $TenantSSU = New-SCSPFTenantUserRole -Name ContosoCloudSpaceSSU -Tenant $tenant
次のコマンドを入力して、VMM で対応するテナント ユーザー ロールを作成します。
PS C:\> $vmmSSU = New-SCUserRole -Name ContosoCloudSpaceVMMSSU -UserRoleProfile SelfServiceUser -ParentUserRole $TARole -ID $TenantSSU.ID
VMM 管理コンソールの Settings ワークスペースの User Roles に表示されていることを確認して、ユーザー ロールが作成されたことを確認します。 ロールの親はテナント管理者であることに注意してください。
必要に応じて、テナントごとにこの手順を繰り返します。