カスタム役割の管理
IBM Cloud® Metrics Routing サービスは、さまざまなアクション・セットをさまざまなプラットフォーム役割にマップします。 しかし、現在複数のロールにまたがっているアクションのいくつかを組み合わせて、割り当てをカスタムユースケースに対応させたい場合もあるでしょう。 カスタム役割を使用すれば、別々の役割にマップされているアクションを拾って選択することができ、次回サービスにアクセス権限を割り当てるときに、例えば 3 つの異なる役割を選択したりする必要がなくなります。
IBM Cloud Metrics Routingサービスにスコープされる新しいロールを作成できます。 つまり、2 つの異なるサービスのアクションをカスタム役割で組み合わせることはできませんが、単一のサービスについては、必要な数だけアクションを組み合わせて新しい役割にすることができます。 任意の名前でカスタム・ロールを作成すると、IBM Cloud Metrics Routingサービスへのアクセスを割り当てることができるアカウント内の誰もが、アクセスを割り当てる際にそのロールを使用できるようになります。
カスタム役割を管理するための許可
誰でも、アカウント内の IBM Cloud Metrics Routing サービスの事前定義された役割を表示できます。
ただし、カスタム役割を表示、作成、編集、または削除するには、 IAM Access Management
サービスおよびリソース・タイプ Role Management
に対する特定のアクセス権限が割り当てられている必要があります。
アクション | 管理者 | オペレーター | エディター | ビューアー |
---|---|---|---|---|
カスタム役割の表示 | ||||
カスタム・ロールを作成する | ||||
カスタム役割の更新 | ||||
カスタム役割の削除 |
コンソールでのカスタム・ロールの作成
以下のステップを実行します。
-
IBM Cloud® コンソールで、「管理」 > **「アクセス (IAM)」と移動し、「役割」**を選択します。
-
「作成」 をクリックします。
-
役割の名前を入力します。 この名前はアカウント内で固有である必要があります。 この役割の名前が、ユーザーがサービスに対するアクセス権限を割り当てるときに、コンソールに表示されます。
-
役割の ID を入力します。 この ID は CRN の中で使用されます。API を使用してアクセス権限を割り当てるときには、CRN が使用されます。 役割 ID は、先頭を大文字にして、英数字のみを使用する必要があります。
-
オプション: この役割の割り当てによってどのようなレベルのアクセス権限が付与されるかが、アクセス権限を割り当てるユーザーにわかるように、簡潔で役立つ説明を入力します。 この説明も、ユーザーがサービスに対するアクセス権限を割り当てるときに、コンソールに表示されます。
-
役割を作成するサービスを選択します。
-
使用可能なアクションを確認し、新しい役割に入れるすべてのアクションについて、**「追加」**を選択します。
新しい役割の作成に成功するには、サービス定義のアクションを少なくとも 1 つ追加する必要があります。 サービス定義のアクションがどれかわからない場合は、「タイプ」列を見てください。
-
アクションの追加が完了したら、**「作成」**をクリックします。
カスタム役割で使用しているアクションがサービスから除去された場合、そのカスタム役割は更新されません。また、除去されたアクションしか役割に含まれていない場合、その役割は無効になる可能性があります。
カスタム・ロールが不要になったため削除する場合は、Administrator
ロールが割り当てられている必要があります。 カスタム役割を削除すると、その役割を介してアクセス権限を割り当てられていたユーザー、アクセス・グループ、またはサービス ID のアクセス権限が自動的に更新されて、既存のポリシーから対象の役割が削除されます。
CLI を使用したカスタム役割の作成
以下のコマンドを実行して、 IBM Cloud Metrics Routing サービスの許可を作成します。
ibmcloud iam role-create ROLE_NAME --display-name DISPLAY_NAME --service-name metrics-router [-a, --actions ROLE_ACTION1 [ROLE_ACTION2...]] [-d, --description DESCRIPTION] [--output FORMAT] [-q --quiet]
説明
- ---display-nameDISPLAY_NAME
- コンソールに表示されるロールの表示名。
- --service-name SERVICE_NAME
- サービスの名前。
- -a, --actions ROLE_ACTION1,ROLE_ACTION2...
- 役割のアクション。 詳しくは、 IAM アクション を参照してください。
- -d, --description DESCRIPTION
- ロールの説明。
このコマンドで利用可能なすべてのパラメーターについて詳しくは、ibmcloud iam authorization-policy-create を参照してください。
例えば、デモ・カストーム・ロールを作成するには、以下のコマンドを実行します。
Cloudant データベース・アクションを実行するロールを作成します。
ibmcloud iam role-create demo --display-name "Demo custom role" --service-name metrics-router --actions metrics-router.target.create,metrics-router.target.list
Terraform を使用したカスタム役割の作成
Terraform を使用してカスタム役割を作成する前に、以下を完了していることを確認してください。
- Terraform CLI をインストールし、Terraform 用の IBM Cloud プロバイダー・プラグインを構成します。 詳しくは、 IBM Cloud® のチュートリアルを参照してください。 このプラグインは、以下のタスクを実行するために使用される IBM Cloud API を抽象化します。
main.tf
という名前の Terraform 構成ファイルを作成します。 このファイルでは、 HashiCorp 構成言語を使用してリソースを定義します。 詳しくは Terraformのドキュメントを参照。
以下の手順を使用して、カスタム・ロールを作成します:
-
main.tf
ファイルに引数を作成します。 The following example creates a custom role by using theibm_iam_custom_role
resource, wherename
is a unique name to identify the custom role. 新しいロールの作成に成功するには、少なくとも1つのサービス定義action
を追加する必要があります。resource "ibm_iam_custom_role" "customrole" { name = "Role1" display_name = "Role1" description = "This is a custom role" service = "metrics-router" actions = ["metrics-router.target.list"] }
service
でカスタム・ロールを作成するサービス名を指定できます。 詳細については、TerraformIdentity and Access Management(IAM)ページの引数リファレンスの詳細を参照してください。 -
構成ファイルの作成が完了したら、Terraform CLI を初期化します。 詳しくは、 作業ディレクトリーの初期化を参照してください。
terraform init
-
main.tf
ファイルからリソースをプロビジョンします。 詳しくは、 Terraform を使用したインフラストラクチャーのプロビジョニングを参照してください。-
terraform plan
を実行して、提案されたアクションをプレビューするための Terraform 実行プランを生成します。terraform plan
-
terraform apply
を実行して、計画に定義されているリソースを作成します。terraform apply
-