企業管理の承認ポリシーテンプレートの作成
企業向けに、割り当てられた役割のセットに基づいてソースサービスがターゲットサービスにアクセスできるようにする、事前定義の承認ポリシーを作成します。 許可におけるソース・サービスとは、ターゲット・サービスへのアクセス権限を付与されたサービスです。 ソース・サービスは、許可が作成されたのと同じアカウントに含めることも、別のアカウントに含めることもできます。 ターゲット・サービスとは、割り当てる役割に基づいて、ソース・サービスがアクセスする許可を付与するサービスです。 ターゲット・サービスは常に、許可が作成されたアカウント内にあります。
| ソース | ターゲット | 説明 |
|---|---|---|
| 当該アカウント | 子アカウント | エンタープライズアカウント内のサービスは、テンプレートが割り当てられた子アカウント内のサービスにアクセスできます。 |
| 割り当てられたアカウント | 子アカウント | 割り当てられた子アカウント内のサービスは、同じ子アカウント内の別のサービスにアクセスできるようになります。 |
| 特定のアカウント | 子アカウント | 指定された子アカウントのサービスは、テンプレートが割り当てられた子アカウントのサービスにアクセスできるようになります。 |
以下のシナリオを確認し、承認ポリシーテンプレートが多くの承認ポリシーの作成と管理をどのように簡素化するかを理解してください
-
企業内のさまざまな子アカウントにおける承認関係の複製。
- たとえば、
File Storage for VPCサービスを利用している企業では、重要なデータのリージョン間レプリケーションを有効にすることで、災害復旧の体制を構築したいと考えるかもしれません。 データ複製を有効にするには、権限ポリシーテンプレートを作成し、各子アカウントに割り当てる必要があります。 この承認ポリシーでは、同じアカウント内の異なる地理的地域にある別のVPCのファイルサービスとやりとりできるように、1つのVPCのファイルサービスにアクセス権を付与します。 承認ポリシーテンプレートを作成し、送信元と送信先の両方に「File Storage for VPC」を指定することができます。 この承認ポリシーテンプレートの詳しい例については、このトピックの例を参照してください。 詳細については、「 File Storage for VPC におけるサービス間認証の設定 」を参照してください。
- たとえば、
-
企業アカウント内のサービスインスタンスが、多数の子アカウント内のリソースにアクセスできるようにする。
- 例えば、企業が子アカウントに存在する暗号化キーを使用してボリュームを暗号化する、集中型のデータストアを希望する場合があります。 承認ポリシーテンプレートを作成することで、ソースサービスであるエンタープライズアカウント内の
Block Storageサービスと、ターゲットサービスである子アカウント内のKey Management Serviceとの間のサービス間承認を定義できます。 このテンプレートアカウント割り当てると、各アカウントに、Block StorageサービスがKey Management Serviceへのアクセスを許可する承認ポリシーが自動的に作成されます。
- 例えば、企業が子アカウントに存在する暗号化キーを使用してボリュームを暗号化する、集中型のデータストアを希望する場合があります。 承認ポリシーテンプレートを作成することで、ソースサービスであるエンタープライズアカウント内の
コンソールでの認証ポリシーテンプレートの作成
承認ポリシーテンプレートを作成するには、以下の手順に従ってください
- コンソールで、「管理」>「アクセス (IAM)」>「許可」 にアクセスする。
- 「許可」 を選択し、「作成」 をクリックします。
- 企業ユーザー向けの目的を説明する承認テンプレートに名前と説明を入力します。
- 企業管理の承認ポリシーの説明を入力し、子アカウントユーザー向けの目的を説明します。
- 「作成」 をクリックします。
次に、以下の手順に従って承認ルールを作成します
-
承認ポリシーの詳細を指定するには、 承認に進みます。
-
ソースサービスが別のサービスへのアクセスを要求するアカウントを選択します。 この例では「割り当てられたアカウント」を選択しますが、考慮すべきオプションがいくつかあります
- このアカウント :単一のルートエンタープライズアカウント
- 割り当てられたアカウント(複数可): 権限テンプレートを子アカウントに割り当てると、ソースアカウントには、アクセス対象のリソースを保持するターゲット子アカウントと同じアカウントが入力されます。
- 特定のアカウント: 企業内の単一の特定のアカウント。
対象は常に、テンプレートが割り当てられている子アカウントにあります。 ソースは、ターゲット(割り当てアカウント)と同じ子アカウント、ルート企業アカウント(このアカウント)、または企業内の特定のアカウント(特定のアカウント)にすることができます。
-
次に、ソースサービスとリソースを選択します。 この例では、リストから VPCインフラストラクチャサービスを選択します。 **「次へ」**をクリックします。
- 特定のリソースをクリックしてスコープを選択します。
- 「 属性を選択 」をクリックします。
- リストから、 リソースの種類を選択します。
- 次のフィールドで、選択します。 File Storage for VPC 選択します。
- 次へ をクリックします。
-
対象サービスについては、リストから VPCインフラストラクチャサービスを選択します。 **「次へ」**をクリックします。
- 特定のリソースをクリックしてスコープを選択します。
- 「 属性を選択 」をクリックします。
- リストから、 リソースの種類を選択します。
- 次のフィールドで、選択します。 File Storage for VPC 選択します。
- 次へ をクリックします。
-
「
Editor」というロールを選択してください。 -
「 確認 」をクリックして、「 保存 」をクリックします。
-
テンプレートは、コミットして子アカウントに割り当てる準備ができました。
この例では、テンプレートが割り当てられたさまざまな子アカウントでデータ複製を有効にするための承認ポリシーを作成します。
テンプレートは、複数のアカウントに適用できるほど汎用的なものでなければ価値がありません。 前の例では、ソースとターゲットの両方に「 File Storage for VPC 」を指定していますが、具体的なインスタンス ID は含まれていません。これは、インスタンス ID が各アカウントリソースに固有のものだからです。
コンソールで承認ポリシーテンプレートを削除する
承認ポリシーテンプレートを削除すると、そのテンプレートのすべてのバージョンが削除されます。 下書き状態 またはコミット済み状態で参照されている承認ポリシーテンプレートは削除できます。 割り当て済み状態の承認ポリシーテンプレートは削除できません。まず割り当てを解除する必要があります。
コンソールでポリシーテンプレートを削除するには、以下の手順を実行してください
- IBM Cloud で、「 管理」>「アクセス(IAM)」>「テンプレート」 に移動します。
- 「許可」 をクリックします。
- 行動 アイコンをクリックします。
> テンプレートを削除する。
- テンプレートを削除してもよろしいか、確認してください。
コンソールで承認ポリシーテンプレートのバージョンを削除する
特定のバージョンだけを削除するには、次の手順を実行してください:
- IBM Cloud で、「 管理」>「アクセス(IAM)」>「テンプレート」 に移動します。
- 「許可」 をクリックします。
- 行動 アイコンをクリックします。
> バージョンを削除。
- このバージョンを削除してもよろしいですか?
CLI を使用して承認ポリシーテンプレートを作成する
承認ポリシーテンプレートを作成するには、CLIで以下の手順を実行します
-
認証ポリシーテンプレートの定義を設定するJSONファイルを作成します。 JSONファイルで使用できる属性の詳細については 、IAMポリシー管理API を参照してください。
次の例のJSONファイルでは、テンプレートの
nameとdescription、およびエンタープライズアカウントのaccount_idを指定しています。 次に、authorization policyの定義が定義されます。 この権限テンプレートは、割り当てられたアカウント内のすべてのFile Storage for VPCに対して「編集者」の役割を付与します。{ "name": "VPC_REGIONAL_REPLICATOR", "description": "Grant Editor Role between VPC File Storage to enable regional replication", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy": { "type": "authorization", "description": "Grant Editor on VPC File Storage", "control": { "grant": { "roles": [ { "role_id": "crn:v1:bluemix:public:iam::::role:Editor" } ] } }, "subject": { "attributes": [ { "key": "serviceName", "operator": "stringEquals", "value": "is" }, { "key": "resourceType", "operator": "stringEquals", "value": "share" } ] } , "resource": { "attributes": [ { "key": "serviceName", "operator": "stringEquals", "value": "is" }, { "key": "resourceType", "operator": "stringEquals", "value": "share" } ] } } } -
次のサンプルリクエストに示されているように、
authorization-policy-template-createコマンドを使用します
ibmcloud iam authorization-policy-template-create --file /path/to/vpc-share-authorization-template.json
CLI を使用して承認ポリシーテンプレートを更新する
承認テンプレートのロール、ターゲット、ソース、名前、説明は、コミットする前であればいつでも更新できます。
CLI を使用して承認テンプレートを更新するには、以下の手順を実行してください
-
新しい認証テンプレートの定義をJSONファイルに追加します。 JSONファイルで使用できる属性の詳細については 、IAMポリシー管理API を参照してください。
テンプレート名を更新すると、すべてのバージョンの名前が更新されます。
-
次のサンプルリクエストに示されているように、
authorization-policy-template-version-updateコマンドを使用しますiam authorization-policy-template-version-update VPC_REGIONAL_REPLICATOR 1 --file /path/to/vpc-share-authorization-template-updated.jsonこれは、更新されたJSONファイルを参照することで、
VPC_REGIONAL_REPLICATOR認証テンプレートのバージョン1を更新します。既存のテンプレートを更新する際は、「account_id」を削除してください
テンプレートをコミットした後で更新が必要な場合は、新しいバージョンを作成してください。
CLI を使用して認証テンプレートのバージョンをコミットする
承認テンプレートを確認し、そのバージョンにこれ以上の変更が加えられないようにコミットする。 これにより、テンプレート割り当て管理者が、お客様が準備完了を確認したときにのみバージョンを割り当てていることを確認できます。
-
authorization-policy-template-versionメソッドを使用して特定のバージョンを表示し、コミットする前に承認ポリシーテンプレートを確認してください。ibmcloud iam authorization-policy-template-version VPC_REGIONAL_REPLICATOR 1 -
CLI を使用して承認テンプレートをコミットするには、次のサンプルリクエストで示されているように、
authorization-policy-template-version-commitメソッドを使用しますibmcloud iam authorization-policy-template-version-commit VPC_REGIONAL_REPLICATOR 1
CLI を使用して承認テンプレートでアクセス権を割り当てる
CLIを使用して、企業内のアカウントに承認テンプレートを割り当て、そのアカウントに基本となる承認ポリシーを作成します。
-
次のサンプルリクエストで示されているように、
authorization-policy-assignment-createコマンドを使用して承認テンプレートを作成しますiam authorization-policy-assignment-create VPC_REGIONAL_REPLICATOR 1 --target-type Account --target <<ACCOUNT_ID>> -
authorization-policy-assignmentコマンドを使用して、以下のように割り当て状況の確認または更新を行いますiam authorization-policy-assignment <<POLICY_ASSIGNMENT_GUID>>
割り当てが基礎となるリソースを作成し、適切なステータスを表示するには、数秒かかる場合があります。
CLI を使用して承認テンプレートの割り当てを解除する
承認ポリシーの割り当てを解除すると、子アカウント内に作成された割り当てのすべての基礎となるリソースが削除されます。 CLIを使用して承認テンプレートを割り当て解除するには、次のコマンドを実行します
- 特定の承認ポリシー割り当てに対して未割り当てを実行するには、
authorization-policy-assignment-deleteコマンドを使用します。iam authorization-policy-assignment-delete <<POLICY_ASSIGNMENT_GUID>>
CLI を使用してアクセスポリシーテンプレートのバージョンを作成する
企業内のチームのアクセス要件が変化するにつれ、新たなニーズを満たすために、別のバージョンの承認テンプレートを作成する必要が生じる場合があります。 CLI を使用して新しい承認テンプレートバージョンを作成するには、以下の手順に従います
-
認証テンプレートの定義に変更がある場合は、JSONファイルを編集して反映させます。 JSONファイルで使用できる属性の詳細については 、IAMポリシー管理API を参照してください
-
次のサンプルリクエストに示されているように、
authorization-policy-template-version-createコマンドを使用しますibmcloud iam authorization-policy-template-version-create VPC_REGIONAL_REPLICATOR --file /path/to/vpc-share-authorization-template-updated_v2.json
CLI を使用して承認ポリシーテンプレートのバージョンを削除する
ドラフトまたはコミット済みの状態で参照されている承認ポリシー テンプレートの特定のバージョンを削除できます。 割り当て済み状態の承認ポリシーテンプレートは削除できません。まず割り当てを解除する必要があります。
CLIで承認ポリシーテンプレートのバージョンを削除するには、以下の手順を完了します
-
次のサンプルリクエストに示されているように、
authorization-policy-templateコマンドを使用して、承認ポリシーテンプレートのIDとバージョンを取得しますibmcloud iam authorization-policy-templates -
次のサンプルリクエストに示されているように、
authorization-policy-template-version-deleteコマンドを使用して特定のバージョンを削除しますibmcloud iam authorization-policy-template-version-delete VPC_REGIONAL_REPLICATOR 2
この例では、 VPC_REGIONAL_REPLICATOR ポリシーテンプレートのバージョン 2 を削除します。