セキュリティポリシー

セキュリティポリシーはJSON形式で指定します。
最も単純なセキュリティポリシーは以下です。

  1. {
  2. "Statements": [{
  3. "Actions": [
  4. "*"
  5. ],
  6. "Effect": "Allow",
  7. "Resources": ["*"],
  8. "Services": ["*"]
  9. }],
  10. "Version": "2016-04-01"
  11. }

このポリシーはあらゆる操作をあらゆるリソースに対して行うことが出来る。というものです。

Action

  1. {
  2. "Statements": [{
  3. "Actions": [
  4. "GS2-Inbox:*"
  5. ],
  6. "Effect": "Allow",
  7. "Resources": ["*"],
  8. "Services": ["*"]
  9. }],
  10. "Version": "2016-04-01"
  11. }

このポリシーは GS2 Inbox のあらゆる操作が行えるものです。
このポリシーを持つユーザのクレデンシャルでは、GS2 Inbox 以外のサービスは利用できません。

  1. {
  2. "Statements": [{
  3. "Actions": [
  4. "GS2-Inbox:SendMessage",
  5. "GS2-Inbox:DescribeMessage",
  6. "GS2-Inbox:ReadMessage",
  7. "GS2-Inbox:DeleteMessage"
  8. ],
  9. "Effect": "Allow",
  10. "Resources": ["*"],
  11. "Services": ["*"]
  12. }],
  13. "Version": "2016-04-01"
  14. }

Actions には特定のアクションを列挙することもできます。
APIの呼び出しに必要なアクションは APIリファレンス に記載されています。

Resources 

現在は * 以外を指定することはできません。

Services

サービスにはアクセストークンの利用を制限する機能です。
GS2 Auth でユーザのアクセストークンを発行する際にサービスIDを指定する必要があります。

例えば、以下のポリシーの場合

  1. {
  2. "Statements": [{
  3. "Actions": ["*"],
  4. "Effect": "Allow",
  5. "Resources": ["*"],
  6. "Services": [
  7. "service-0001"
  8. ]
  9. }],
  10. "Version": "2016-04-01"
  11. }

service-0001 というサービスIDで発行されたアクセストークンであれば、
このポリシーを持つユーザのクレデンシャルでAPIを呼び出すことができます。

しかし、service-0002 というサービスIDで発行されたアクセストークンを使ってAPIを利用しようとするとエラーとなります。

Comments