

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Verified Access ポリシーステートメントの構造
<a name="auth-policies-policy-statement-struct"></a>

次の表は、Verified Access ポリシーの構造を示しています。


| コンポーネント | 構文 | 
| --- | --- | 
| effect | `permit \| forbid` | 
| scope | `(principal, action, resource)` | 
| 条件句 | <pre>when {<br />    context.policy-reference-name.attribute-name             <br />};</pre>  | 

## ポリシーの構成要素
<a name="auth-policies-policy-components"></a>

Verified Access ポリシーには、次の構成要素が含まれています。
+ **効果** - アクセスの `permit` (許可) または `forbid` (拒否)。
+ **スコープ** - 効果を適用するプリンシパル、アクション、リソース。特定のプリンシパル、アクション、リソースを指定しないでおくと、Cedar のスコープを未定義のままにすることができます。この場合、ポリシーはすべてのプリンシパル、アクション、リソースに適用されます。
+ **条件句** - 効果が適用されるコンテキスト。

**重要**  
Verified Access では、条件節に含まれるトラストデータを参照することでポリシーが完全に表現されます。**ポリシーのスコープは、常に未定義のままにしておく必要があります。**その後、条件節に含まれる ID とデバイスのトラストコンテキストを使用してアクセスを指定できます。

## コメント
<a name="auth-policies-policy-comments"></a>

 AWS Verified Access ポリシーにコメントを含めることができます。コメントは、`//` で始まり改行文字で終わる行として定義されます。

以下の例は、ポリシー内のコメントを示しています。

```
// grants access to users in a specific domain using trusted devices
permit(principal, action, resource)
when {
  // the user's email address is in the @example.com domain
  context.idc.user.email.address.contains("@example.com")
  // Jamf thinks the user's computer is low risk or secure.
  && ["LOW", "SECURE"].contains(context.jamf.risk)
};
```

## 複数の句
<a name="auth-policies-multiple-clauses"></a>

`&&` 演算子を使用すると、1 つのポリシーステートメントに複数の条件句を含めることができます。

```
permit(principal,action,resource)
when{
 context.policy-reference-name.attribute1 &&
 context.policy-reference-name.attribute2
};
```

その他の例については、「[Verified Access ポリシーの例](trust-data-iam-add-pol.md)」を参照してください。

## 予約文字
<a name="auth-policies-semicolon"></a>

次の例は、コンテキストのプロパティでポリシー言語の予約文字である `:` (セミコロン) が使用されている場合のポリシーの記述方法を示しています。

```
permit(principal, action, resource) 
when {
    context.policy-reference-name["namespace:groups"].contains("finance")
};
```