8.7 HTTPSを使用したアクセスの検証

次のステップを使用して、HTTPSを介してOracle Unified Directory (OUD)にアクセスできることを検証します:

ノート:

この例では、OUDインスタンスの作成時にサンプル・データがインストールされていると想定しています。

外部LBRホスト:ポートに対するHTTPS/REST API

ノート:

次のすべての例で:
  • イングレス・レベルで外部IPが割り当てられている必要があります。
  • "| json_pp"は、クライアント側で読取り可能なjson形式で出力をフォーマットするために使用されます。これは、json_ppライブラリがない場合は無視できます。
  • userDN:userPasswordのBASE64は、次を使用して生成できます:
    echo -n "userDN:userPassword" | base64
  • 例1: データREST APIの呼出し:
    curl --noproxy "*" -k  --location \
    --request GET 'https://<External LBR Host>/rest/v1/directory/uid=user.1,ou=People,dc=example,dc=com?scope=sub&attributes=*' \
    --header 'Authorization: Basic <Base64 of userDN:userPassword>' | json_pp
    出力は次のようになります:
    {
       "msgType" : "urn:ietf:params:rest:schemas:oracle:oud:1.0:SearchResponse",
       "totalResults" : 1,
       "searchResultEntries" : [
          {
             "dn" : "uid=user.1,ou=People,dc=example,dc=com",
             "attributes" : {
                "st" : "OH",
                "employeeNumber" : "1",
                "postalCode" : "93694",
                "description" : "This is the description for Aaren Atp.",
                "telephoneNumber" : "+1 390 103 6917",
                "homePhone" : "+1 280 375 4325",
                "initials" : "ALA",
                "objectClass" : [
                   "top",
                   "inetorgperson",
                   "organizationalperson",
                   "person"
                ],
                "uid" : "user.1",
                "sn" : "Atp",
                "street" : "70110 Fourth Street",
                "mobile" : "+1 680 734 6300",
                "givenName" : "Aaren",
                "mail" : "user.1@maildomain.net",
                "l" : "New Haven",
                "postalAddress" : "Aaren Atp$70110 Fourth Street$New Haven, OH  93694",
                "pager" : "+1 850 883 8888",
                "cn" : "Aaren Atp"
             }
          }
        ]
    }
  • 例2 - 特定のOracle Unified Directoryインタフェースに対するデータREST APIの呼出し:
    curl --noproxy "*" -k  --location \
    --request GET 'https://oud-ds-rs-http-0/rest/v1/directory/uid=user.1,ou=People,dc=example,dc=com?scope=sub&attributes=*' \
    --header 'Authorization: Basic <Base64 of userDN:userPassword>' | json_pp
    • 前述の例では、Helmチャート・インストールのデプロイメント/リリース名として値'oud-ds-rs'が使用されていると想定しています。'oud-ds-rs-http-0'が外部LoadBalancerを指していると想定しています

イングレス・コントローラ・サービスのKubernetes NodePortに対するHTTPS/REST API

ノート:

次のすべての例で:
  • "| json_pp"は、クライアント側で読取り可能なjson形式で出力をフォーマットするために使用されます。これは、json_ppライブラリがない場合は無視できます。
  • userDN:userPasswordのBASE64は、次を使用して生成できます:
    echo -n "userDN:userPassword" | base64
  • これは、Helmチャート・インストールのデプロイメント/リリース名として値'oud-ds-rs'が使用されていると想定しています
  • 例1: 特定のKubernetesノードに対するデータSCIM APIの呼出し:
    curl --noproxy "*" -k --location \
    --request GET 'https://<Kubernetes Node>:30443/iam/directory/oud/scim/v1/Users' \
    --header 'Authorization: Basic <Base64 of userDN:userPassword>' | json_pp
    出力は次のようになります:
    {
       "Resources" : [
          {
             "id" : "ad55a34a-763f-358f-93f9-da86f9ecd9e4",
             "userName" : [
                {
                   "value" : "user.0"
                }
             ],
             "schemas" : [
                "urn:ietf:params:scim:schemas:core:2.0:User",
                "urn:ietf:params:scim:schemas:extension:oracle:2.0:OUD:User",
                "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
             ],
             "meta" : {
                "location" : "http://<Kubernetes Node>:30443/iam/directory/oud/scim/v1/Users/ad55a34a-763f-358f-93f9-da86f9ecd9e4",
                "resourceType" : "User"
             },
             "addresses" : [
                {
                   "postalCode" : "50369",
                   "formatted" : "Aaccf Amar$01251 Chestnut Street$Panama City, DE  50369",
                   "streetAddress" : "01251 Chestnut Street",
                   "locality" : "Panama City",
                   "region" : "DE"
                }
             ],
             "urn:ietf:params:scim:schemas:extension:oracle:2.0:OUD:User" : {
                "description" : [
                   {
                      "value" : "This is the description for Aaccf Amar."
                   }
                ],
                "mobile" : [
                   {
                      "value" : "+1 010 154 3228"
                   }
                ],
                "pager" : [
                   {
                      "value" : "+1 779 041 6341"
                   }
                ],
                "objectClass" : [
                   {
                      "value" : "top"
                   },
                   {
                      "value" : "organizationalperson"
                   },
                   {
                      "value" : "person"
                   },
                   {
                      "value" : "inetorgperson"
                   }
                ],
                "initials" : [
                   {
                      "value" : "ASA"
                   }
                ],
                "homePhone" : [
                   {
                      "value" : "+1 225 216 5900"
                   }
                ]
             },
             "name" : [
                {
                   "givenName" : "Aaccf",
                   "familyName" : "Amar",
                   "formatted" : "Aaccf Amar"
                }
             ],
             "emails" : [
                {
                   "value" : "user.0@maildomain.net"
                }
             ],
             "phoneNumbers" : [
                {
                   "value" : "+1 685 622 6202"
                }
             ],
             "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" : {
                "employeeNumber" : [
                   {
                      "value" : "0"
                   }
                ]
             }
          }
          ,
     .
     .
     .
     }
  • 例2 - 特定のOracle Unified Directoryインタフェースに対するデータSCIM APIの呼出し:
    curl --noproxy "*" -k --location \
    --request GET 'https://oud-ds-rs-http-0:30443/iam/directory/oud/scim/v1/Users' \
    --header 'Authorization: Basic <Base64 of userDN:userPassword>' | json_pp

HTTPS/REST管理API

ノート:

次のすべての例で:
  • "| json_pp"は、クライアント側で読取り可能なjson形式で出力をフォーマットするために使用されます。これは、json_ppライブラリがない場合は無視できます。
  • userDN:userPasswordのBASE64は、次を使用して生成できます:
    echo -n "userDN:userPassword" | base64
  • 例1: 外部LBRに対する管理REST APIの呼出し:
    curl --noproxy "*" -k --insecure --location \
    --request GET 'https://<External LBR Host>/rest/v1/admin/?scope=base&attributes=vendorName&attributes=vendorVersion&attributes=ds-private-naming-contexts&attributes=subschemaSubentry' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Basic <Base64 of userDN:userPassword>' | json_pp
    出力は次のようになります:
    {
       "totalResults" : 1,
       "searchResultEntries" : [
          {
             "dn" : "",
             "attributes" : {
                "vendorVersion" : "Oracle Unified Directory 12.2.1.4.0",
                "ds-private-naming-contexts" : [
                   "cn=admin data",
                   "cn=ads-truststore",
                   "cn=backups",
                   "cn=config",
                   "cn=monitor",
                   "cn=schema",
                   "cn=tasks",
                   "cn=virtual acis",
                   "dc=replicationchanges"
                ],
                "subschemaSubentry" : "cn=schema",
                "vendorName" : "Oracle Corporation"
             }
          }
       ],
       "msgType" : "urn:ietf:params:rest:schemas:oracle:oud:1.0:SearchResponse"
    }
  • 例2 - 特定のOracle Unified Directory管理インタフェースに対する管理REST APIの呼出し:
     curl --noproxy "*" -k --insecure --location \
    --request GET 'https://oud-ds-rs-admin-0/rest/v1/admin/?scope=base&attributes=vendorName&attributes=vendorVersion&attributes=ds-private-naming-contexts&attributes=subschemaSubentry' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Basic <Base64 of userDN:userPassword>' | json_pp
  • 例3 - イングレス・コントローラ・サービスのKubernetes NodePortに対する管理REST APIの呼出し:
    curl --noproxy "*" -k --insecure --location \
    --request GET 'https://oud-ds-rs-admin-0:30443/rest/v1/admin/?scope=base&attributes=vendorName&attributes=vendorVersion&attributes=ds-private-naming-contexts&attributes=subschemaSubentry' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Basic <Base64 of userDN:userPassword>' | json_pp