技術ブログ
渡部です。これは、 (全部俺) Oracle Cloud Infrastructure Advent Calendar 2018 の4日目のエントリです。
OCIの構成要素であるリソースにはOCIDと呼ばれる識別子が付与されています。
OCIのWeb管理コンソールのみを使用して管理操作を行う場合は、さほどOCIDを意識する必要はありませんが、 OCI CLIと呼ばれるコマンドラインの管理ツールを使用してOCIの管理操作を行う場合は、OCIDを意識する 必要がでてきます。
以下にOCI CLIを使用してIAMユーザーのOCIDを取得し、取得したOCIDを使用して、 IAMユーザーに対して操作(グループへの参加)を行う例を示します。 (OCI CLIについては後ほど触れる予定です)
$ # ユーザーを一覧表示
$ oci iam user list --all -c ${TENANT_OCID} --query "data[*].{id:id, name:name}" --output=table
+------------------------------------------------------------------------------+-----------------------+
| id | name |
+------------------------------------------------------------------------------+-----------------------+
| ocid1.user.oc1..aaaaaaaa7zi..........................................ixa | admin01 |
| ocid1.user.oc1..aaaaaaaax2o..........................................f4q | noprivs01 |
+------------------------------------------------------------------------------+-----------------------+
$ # グループを一覧表示
$ oci iam group list --all -c ${TENANT_OCID} --query "data[*].{id:id, name:name}" --output=table
+-------------------------------------------------------------------------------+-----------------------+
| id | name |
+-------------------------------------------------------------------------------+-----------------------+
| ocid1.group.oc1..aaaaaaaauqb..........................................u3q | Administrators |
| ocid1.group.oc1..aaaaaaaazzp..........................................6oa | testgroup01 |
+-------------------------------------------------------------------------------+-----------------------+
$ # グループにユーザーを追加
$ GROUP_OCID=ocid1.group.oc1..aaaaaaaauqb..........................................u3q
$ USER_OCID=ocid1.user.oc1..aaaaaaaa7zi..........................................ixa
$ oci iam group add-user --user-id=${USER_OCID} --group-id=${GROUP_OCID}
{
"data": {
"compartment-id": "ocid1.tenancy.oc1..aaaaaaaa6sl..........................................faa",
"group-id": "ocid1.group.oc1..aaaaaaaauqb..........................................u3q",
"id": "ocid1.groupmembership.oc1..aaaaaaaad54..........................................c4q",
"inactive-status": null,
"lifecycle-state": "ACTIVE",
"time-created": "2018-11-29T03:35:41.252000+00:00",
"user-id": "ocid1.user.oc1..aaaaaaaa7zi..........................................ixa"
},
"etag": "1e079d4cf2d7b7553157b3ab67ec10b22f204317"
}
このようなOCIDですが、いかんせん長すぎる気がしませんか?
ただ、AWSで(おそらくリソースIDの桁不足により)リソースIDが8桁から17桁に拡張された例があります。 あとからこのような羽目になるぐらいなら、あらかじめ長くして置いたほうが良かろう・・・という判断なのかもしれません。
なお、OCIの管理コンソールにおけるOCIDの表示はうまく工夫されています。 デフォルトとではOCIを短縮表示して邪魔にならないようにしつつ、 "Show"リンクをクリックするとフル表示になります。 また、"Copy"リンクをクリックするとOCIDがクリップボードにコピーされます。