ポリシー有効性の確認

Prev Next

Classic/VPC環境で利用できます。

ポリシーを作成する前に、ポリシーの詳細内容の有効性を確認します。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST /api/v1/policy/validation

リクエストヘッダ

Sub Account APIで共通して使用されるヘッダの詳細は、Sub Accountのリクエストヘッダをご参照ください。

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
policyName String Required ポリシー名
  • ハングル、英字の大文字・小文字、日本語、記号。「_ -」を使用して3~30文字
  • 先頭文字はハングル、英字の大文字・小文字、日本語
description String Optional ポリシーの説明(Bytes)
  • 0~300
permissions Array Required 許可権限リスト

permissions

permissionsの説明は次の通りです。

フィールド タイプ 必須の有無 説明
effect String Required 権限を許可するかどうか
  • Allow (有効な値)
targets Array Required 権限許可の対象
condition Object Optional ポリシーコンディション
condition.{operator} Object Optional ポリシーコンディション演算子
condition.{operator}.{key} Object Optional ポリシーコンディションキー
condition.{operator}.{value} Array Optional ポリシーコンディションの値

targets

targetsの説明は次の通りです。

フィールド タイプ 必須の有無 説明
product String Required 許可対象のサービスコード
actions Array Required 許可対象のアクション
  • サービス別権限情報を参照して次のように適用
    • 詳細なアクション単位: アクション名を入力
    • すべての照会単位: View*と入力
    • すべての変更単位: Change*と入力
    • サービス単位: アスタリスク「*」を入力
resourceNrns Array Required 許可対象に対する NAVERクラウドプラットフォームリソースの識別値
  • 指定しない場合、アスタリスク「*」を入力

リクエスト例

リクエストのサンプルコードは次の通りです。

curl --location --request POST 'https://subaccount.apigw.ntruss.com/api/v1/policy/48ac3260-****-****-****-246e96591594?withPermissions=true' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
    "policyName": "policy",
    "description": "テスト",
    "permissions": [
        {
            "effect": "Allow",
            "targets": [
                {
                    "product": "Server",
                    "actions": [
                        "View*"
                    ],
                    "resourceNrns": [
                        "*"
                    ]
                }
            ]
        }
    ]
}

レスポンス

レスポンス形式を説明します。

レスポンスボディ

レスポンスボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
details Array - 有効性確認の詳細結果
success Boolean - 有効性確認結果
  • true | false
    • true: 有効
    • false: 有効ではない

details

detailsの説明は次の通りです。

フィールド タイプ 必須の有無 説明
type String - 確認結果のタイプ
  • INFO | WARNING | ERROR
  • ERRORの場合、有効性確認失敗
code String - 詳細コード
location String - 確認位置
message String - 確認結果メッセージ

レスポンスステータスコード

Sub Account APIで共通して使用されるレスポンスステータスコードの詳細は、Sub Accountのレスポンスステータスコードをご参照ください。

レスポンス例

レスポンスのサンプルコードは次の通りです。

確認の結果、有効なポリシーの場合

確認の結果、有効なポリシーの場合のレスポンスのサンプルコードは次の通りです。

{
  "success": true
}

確認の結果、有効でないポリシーの場合

確認の結果、有効でないポリシーの場合のレスポンスのサンプルコードは次の通りです。

{
  "details": [
    {
      "type": "WARNING",
      "code": "iam.policy.missingRelatedAction",
      "location": "",
      "message": "関連アクションが抜けています。{Server=[View/getInitScriptList, Change/changeInitScript, View/getRootPasswordServerInstanceList, Change/setDetailedMonitoring]}"
    }
  ],
  "success": false
}