サービス間の許可の確立
異なるアカウントハブVPCとDNS共有VPC間でVPEゲートウェイのDNS共有を設定するには、ハブVPC管理者がIAMサービス間( s2s )承認ポリシーを確立する必要があります。 詳しくは、許可を使用した、サービス間のアクセス権限の付与を参照してください。
注:
- DNS 共有 VPC とハブ VPC がハブ VPC 管理者と同じアカウントまたは異なるアカウントを使用している場合は、この DNS 共有 VPC にハブ VPC に対する
DNSBindingConnector権限を付与する IAM のサービス間許可ポリシーを作成する必要があります。 - 現在、UI では、ハブ VPC に対する
DNSBindingConnector権限を持つことができるのは すべての VPC インスタンス のみです。 「特定の」VPC を示すには、CLI で使用するために、API を使用するか、JSON ファイルで API 要求をラップする必要があります。 サンプル・コードは、 CLI および API で使用するために提供されています。
コンソール、CLI、API、Terraformを使って、 s2s 認証を確立できる。
コンソールで IAM s2s 認証ポリシーを作成する
コンソールで IAM s2s 認証ポリシーを作成するには、以下の手順に従う:
-
IBM Cloud コンソールで、 [管理] > [アクセス (IAM)] に移動します。 「 IBM Cloud® Identity and Access Management 」ページが表示されます。
-
サイド・パネルから、権限を選択します。
-
[権限の管理] ページで、[ 作成 ] をクリックします。
-
「サービスの承認」ページで、ソースアカウントを選択します:
-
アカウントで許可をセットアップする場合は、 「このアカウント」 を選択します。
-
企業アカウント認証を設定している場合は、 別のアカウント を選択します。
アカウントアカウント構成の場合のみ、 アカウント IDを入力して承認アカウント指定します。
-
-
ソース・サービスとして、リストから 「VPC インフラストラクチャー・サービス」 を選択します。
-
有効範囲を選択します。 「特定のリソース」 を選択します。
-
**「リソース・タイプ」**を選択します。 リストから 「仮想プライベート・クラウド」 を選択します。
-
ソース・サービス・インスタンスを選択してください。 「すべてのインスタンス」 を選択します。
特定のインスタンスを選択するには、 CLI または API の説明を使用する必要があります。 これは既知の制限事項です。
-
ターゲット・サービスについて、リストから 「VPC インフラストラクチャー・サービス」 を選択します。
-
スコープには、 Specific resourcesを選択する。
-
**「リソース・タイプ」**を選択します。 リストから 「仮想プライベート・クラウド」 を選択します。
ターゲットVPCを指定する場合は、 VPC IDを選択します。 オペレーター 文字列の等号を選択し、VPC値を入力する。
-
「サービス・アクセス」の下の「役割」セクションで、 DNSBindingConnector を選択します。
-
「許可」 をクリックします。
-
「許可の管理 (Manage authorizations)」 ページに戻ったら、再度 「作成」 をクリックし、同じステップに従って他の 2 つのサービスの許可をセットアップします。
CLI からの IAM s2s 許可ポリシーの作成
CLI から IAM s2s 許可ポリシーを作成するには、以下の手順を実行します。
-
CLI 環境をセットアップします。
-
CLI を使用してアカウントにログインしてください。 パスワードを入力すると、使用するアカウントとリージョンの入力を求めるプロンプトが表示されます。
ibmcloud login --sso -
IAM s2s 許可ポリシーを作成します。
ibmcloud iam authorization-policy-create is DNSBindingConnector --source-resource-type vpc --target-resource-type vpc
CLI からの特定の VPC インスタンスの指定
DNS 共有 VPC とハブ VPC がハブ VPC 管理者と同じアカウントを使用している場合は、この DNS 共有 VPC にハブ VPC に対する DNSBindingConnector 権限を付与する IAM サービス間許可ポリシーを作成する必要があります。
現在、UI Source service instance では、ハブ VPC に対する DNSBindingConnector 権限を持つことができるのは すべての VPC インスタンス のみです。
CLI から特定の VPC を示すには、API 要求コンテンツを含む JSON ファイルを使用する必要があります。 以下に例を示します。
ibmcloud iam authorization-policy-create --file JSON_FILE
ここで、 JSON_FILE の内容は次のとおりです。
{"type":"authorization","subjects":[{"attributes":[{"name":"accountId","value":"e38cfd44b6e44b249ac75dd5de0cc8aa"},{"name":"serviceName","value":"is"},{"name":"resourceType","value":"vpc"},{"name":"resource","value":"r006-fd189c4f-52a0-4694-abfd-186cb6011a3c"}]}],"roles":[{"role_id":"crn:v1:bluemix:public:is::::serviceRole:DNSBindingConnector"}],"resources":[{"attributes":[{"name":"accountId","value":"e38cfd44b6e44b249ac75dd5de0cc8aa"},{"name":"serviceName","value":"is"},{"name":"vpcId","value":"r006-ffaedf75-4f44-4ead-989d-cd37816a13d2"}]}]}
API を使用した IAM s2s 許可ポリシーの作成
API を使用して IAM s2s 許可ポリシーを作成するには、以下の手順を実行します。
-
API 環境をセットアップします。
-
API コマンドで使用する変数に、以下の値を格納してください:
export dns_shared_account_id=<dns_shared_vpc_account_id> export hub_account_id=<hub_vpc_account_id> export dns_shared_vpc_id=<dns_shared_vpc_id> export hub_vpc_id=<hub_vpc_id> -
異なるアカウント間でハブとDNS共有VPC間のDNS解決バインディングを作成および削除するには、 s2sポリシーはハブ VPC アカウントに存在する必要があります。 これにより、DNS 共有 VPC にハブ VPC に対する
DNSBindingConnector役割が付与されます。 を作成するにはs2sポリシーについては、policies方法 IAM ポリシー管理 API
要求の例
{
"type": "authorization",
"subjects": [
{
"attributes": [
{
"name": "accountId",
"value": "'$dns_shared_account_id'"
},
{
"name": "serviceName",
"value": "is"
},
{
"name": "resourceType",
"value": "vpc"
},
{
"name": "resource",
"value": "'$dns_shared_vpc_id'"
}
]
}
],
"roles": [
{
"role_id": "crn:v1:bluemix:public:is::::serviceRole:DNSBindingConnector"
}
],
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "'$hub_account_id'"
},
{
"name": "serviceName",
"value": "is"
},
{
"name": "vpcId",
"value": "'$hub_vpc_id'"
}
]
}
]
}
コマンド例
curl -sX POST "$iam_api_endpoint/v1/policies" -H "Authorization: Bearer ${iam_token}" -d '$request_body'
API を使用した特定の VPC インスタンスの指定
DNS 共有 VPC とハブ VPC がハブ VPC 管理者と同じアカウントを使用している場合は、この DNS 共有 VPC にハブ VPC に対する DNSBindingConnector 権限を付与する IAM サービス間許可ポリシーを作成する必要があります。
現在、UI Source service instance では、ハブ VPC に対する DNSBindingConnector 権限を持つことができるのは すべての VPC インスタンス のみです。
ハブ VPC に対する DNSBindingConnector 権限を DNS 共有 VPC に付与するためのサンプル API を以下に示します。 role_id が crn:v1:bluemix:public:is::::serviceRole:DNSBindingConnector であることに注意してください。
{
"type": "authorization",
"subjects": [
{
"attributes": [
{ "name": "accountId", "value": "Account S (Spoke)" }
,
{ "name": "serviceName", "value": "is" }
,
{ "name": "resourceType", "value": "vpc" }
,
{ "name": "resource", "value": "Spoke VPC ID" }
]
}
],
"roles": [
{ "role_id": "crn:v1:bluemix:public:is::::serviceRole:DNSBindingConnector" }
],
"resources": [
{
"attributes": [
{ "name": "accountId", "value": "Account H (Hub)" }
,
{ "name": "serviceName", "value": "is" }
,
{ "name": "vpcId", "value": "Hub VPC ID" }
]
}
]
}