« コンパートメント - Oracle Cloud Infrastructure特有の概念 | メイン | ブロックボリュームのアタッチメントタイプ »

OCID - OCIリソースの識別子

渡部です。これは、 (全部俺) Oracle Cloud Infrastructure Advent Calendar 2018 の4日目のエントリです。

OCIの構成要素であるリソースにはOCIDと呼ばれる識別子が付与されています。

1204_ocid.png

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がクリップボードにコピーされます。

1204_ocid_show.png

1204_ocid_copy.png

About

2018年12月 4日 00:00に投稿されたエントリーのページです。

ひとつ前の投稿は「コンパートメント - Oracle Cloud Infrastructure特有の概念」です。

次の投稿は「ブロックボリュームのアタッチメントタイプ」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。