セキュリティポリシー

セキュリティポリシーはJSON形式で指定します。

最も単純なセキュリティポリシーは以下です。

{
  "Statements": [{
    "Actions": [
      "*"
    ],
    "Effect": "Allow",
    "Resources": ["*"],
    "Services": ["*"]
  }],
  "Version": "2016-04-01"
}

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

Action

{
  "Statements": [{
    "Actions": [
      "GS2-Inbox:*"
    ],
    "Effect": "Allow",
    "Resources": ["*"],
    "Services": ["*"]
  }],
  "Version": "2016-04-01"
}

このポリシーは GS2 Inbox のあらゆる操作が行えるものです。

このポリシーを持つユーザのクレデンシャルでは、GS2 Inbox 以外のサービスは利用できません。

{
  "Statements": [{
    "Actions": [
      "GS2-Inbox:SendMessage",
      "GS2-Inbox:DescribeMessage",
      "GS2-Inbox:ReadMessage",
      "GS2-Inbox:DeleteMessage"
    ],
    "Effect": "Allow",
    "Resources": ["*"],
    "Services": ["*"]
  }],
  "Version": "2016-04-01"
}

Actions には特定のアクションを列挙することもできます。

APIの呼び出しに必要なアクションは APIリファレンス に記載されています。

Resources

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

Services

サービスにはアクセストークンの利用を制限する機能です。

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

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

{
  "Statements": [{
    "Actions": ["*"],
    "Effect": "Allow",
    "Resources": ["*"],
    "Services": [
      "service-0001"
   ]
  }],
  "Version": "2016-04-01"
}

service-0001 というサービスIDで発行されたアクセストークンであれば、

このポリシーを持つユーザのクレデンシャルでAPIを呼び出すことができます。

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