ウェブサービスを使用する
作成中です - Mitsuhiro Yoshida (トーク)
このドキュメントでは、ユーザがサービスにアクセスできるよう管理者がウェブサービスを設定する方法を説明します。サービスにアクセスするため、それぞれのユーザには特定のおよびユニークなセキュリティキー (「トークン」として知られています) があります。
ウェブサービスを有効にする
- 「設定 > サイト管理 > 拡張機能」にアクセスしてください。
- 「ウェブサービスを有効にする」をチェックした後、「変更を保存する」ボタンをクリックしてください。
注意: セキュリティ上の理由から、あなたが使用したい場合のみ、ウェブサービスを有効にしてください。
プロトコルを有効にする
通常、ユーザが使用したい外部アプリケーションが有効にすべきプロトコルを指示します。
- 「管理 > サイト管理 > プラグイン > ウェブサービス > プロトコル管理」にアクセスしてください。
- 必要に応じて、プロトコル (SOAP, REST, XMLRPC, AMF, ...) を有効にしてください。
ウェブサービス関数ドキュメンテーションを有効にする
プロトコル管理ページにてウェブサービス関数ドキュメンテーションを有効にすることにより、それぞれのユーザはセキュリティキーページでユーザ固有のウェブサービスドキュメンテーションを利用できるようになります。このオプションは主にウェブサービスクライアント開発者に有用です。誰もウェブサービスクライアントを作成していない場合、この機能を有効にする必要はありません。
サービスの作成
あなたの要求に事前構築のウェブサービスが合致しない場合、カスタムサービスを作成することができます。例) そのサービス経由でどのような標準ウェブサービス関数が利用できるか選択します。
あなたが露出する必要のある特定の関数のみを有効にすることができます。そのため、セキュリティ上の危険にさらされることはありません。
- 「管理 > サイト管理 > プラグイン > ウェブサービス > 外部サービス」にアクセスしてください。
- 「追加」リンクをクリックしてください。
- 認証済みユーザのみ - 有効にした場合、あなたは手動で認証ユーザを選択する必要があります。そうでない場合、そうでない場合、適切なパーミッションのユーザすべてが許可されます。
- 必須ケイパビリティ - 有効にした場合、ウェブサービスにアクセスするユーザすべてに対して、この選択されたケイパビリティがチェックされます (これは任意の追加セキュリティレイヤーです)。
- 名称を入力して、有効にしてください。
- 「サービスを追加する」ボタンをクリックしてください。
サービスに関数を追加する
現在、あなたのサービスは空であり何もしません。ウェブサービス関数を追加する必要があります。外部アプリケーションに何を許可するかにより、あなたの選択は決定します。例えば、「グループを作成する」を選択する場合:
- 「関数を追加する」リンクをクリックしてください。
- 「グループを作成する」を選択して、「関数を追加する」ボタンをクリックしてください。
あなたはサービス関数一覧に戻っていることでしょう。それぞれの関数において、「必須ケイパビリティ」が表示されています。ユーザは関数を実行するためのケイパビリティを必要とします。関数説明内のAPIドキュメンテーションにより、必須ケイパビリティに関して詳細情報を閲覧することができます (設定 > サイト管理 > 設定 > サイト管理 > プラグイン > ウェブサービス > APIドキュメンテーション)。
ケイパビリティを有効にする
最後のステップでは適切なパーミッションを付与します。以下のケイパビリティを許可してください:
- moodle/webservice:createtoken - ユーザがセキュリティキーを生成できるようにするため。
- webservice/rest:use, webservice/soap:use, webservice/xmlrpc:use, webservice/amf:use - 有効にされたプロトコルに合致します。
- 設定されている場合、サービス「必須ケイパビリティ」 (管理 > サイト管理 > プラグイン > ウェブサービス > 外部サービス > 「編集」リンク)。
- ウェブサービス関数に必要なケイパビリティ。あなたがサービスに関数を追加する場合、これらの必須ケイパビリティが一覧表示されます。ロールおよびケイパビリティに関する詳細は、ロールの管理ドキュメンテーションをご覧ください。
上記作業により、ウェブサービスの準備が整います。ユーザはセキュリティーキーを取得できるようになります。
代替設定
特定ユーザのみ認証する
- 「設定 > サイト管理 > プラグイン > ウェブサービス > 外部サービス」
- 「認証済みユーザ」リンクをクリックしてください (サービスには「編集」リンク経由で「認証ユーザのみ」を設定される必要があります)。
- ユーザを選択した後、「追加」をクリックしてください。
認証済みユーザに割り当てるケイパビリティが必要な場合、Moodleはその旨を表示します。さらに認証ユーザのフルネームをクリックした場合、あなたはいくつかのオプションを設定することができます:「IP制限および有効期限」
トークンを作成する
This feature allows you to create a token for specific user. It can be useful if a user doesn't have the moodle/create:token capability. This is also the only way to create a token for an administrator. For security reason, tokens are not automatically generated in the administrator security keys page.
- Settings > Site Administration > Plugins > Web services > Manage tokens
- Click on Add
- Select the created user and service
- Click on Saves changes
As you created a token for this user, you do not need to assign "moodle/webservice:createtoken" to him/her. Finally, note that, as for authorised users, you can also set IP restriction and Valid until on a token.