Classic/VPC環境で利用できます。
ポリシーを作成する前に、ポリシーの詳細内容の有効性を確認します。
リクエスト
リクエスト形式を説明します。リクエスト形式は次の通りです。
メソッド | URI |
---|---|
POST | /api/v1/policy/validation |
リクエストヘッダ
Sub Account APIで共通して使用されるヘッダの詳細は、Sub Accountのリクエストヘッダをご参照ください。
リクエストボディ
リクエストボディの説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
policyName |
String | Required | ポリシー名
|
description |
String | Optional | ポリシーの説明(Bytes)
|
permissions |
Array | Required | 許可権限リスト |
permissions
permissions
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
effect |
String | Required | 権限を許可するかどうか
|
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 | 許可対象のアクション
|
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 | - | 有効性確認結果
|
details
details
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
type |
String | - | 確認結果のタイプ
|
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
}