보안 저장소에는 에이전트의 지침 및 설정과 별도로 자격 증명을 저장합니다. vault_ids로 보안 저장소를 세션에 연결하면 세션에서 해당 자격 증명을 사용할 수 있습니다.
요청을 보내는 위치에 따라 자격 증명 유형을 선택하세요.
| 요청 |
자격 증명 유형 |
세션에서 자격 증명을 사용하는 방식 |
| OpenAI에서 시작하는 MCP 연결 |
static_bearer 또는 mcp_oauth |
OpenAI가 설정에 지정된 MCP 서버에 접속할 때 인증에 사용합니다. |
| OpenAI에서 호스팅하는 샌드박스가 보내는 API 요청 |
environment_variable |
샌드박스 코드는 자리표시자가 담긴 환경 변수를 사용합니다. 승인된 호스트로 요청을 보낼 때 네트워크 프록시가 자리표시자를 시크릿으로 바꿉니다. |
예를 들어 샌드박스에서 보안 저장소의 시크릿으로 GitHub REST API를 호출할 수 있습니다. 샌드박스의 API 요청에 보안 저장소 시크릿 사용하기의 절차를 따르세요.
보안 저장소나 자격 증명을 조회해도 시크릿 값은 반환되지 않습니다. 그 밖의 MCP 연결에 대해서는 MCP 인증 옵션을 참고하세요.
권한이 제한된 애플리케이션 키에는 다음 권한을 부여하세요.
api.vaults.read 권한으로 보안 저장소와 자격 증명의 목록 및 개별 항목을 조회할 수 있습니다.
api.vaults.write 권한으로 보안 저장소와 자격 증명을 생성, 업데이트 또는 삭제할 수 있습니다.
API 클라이언트, MCP 서버 URL(mcp_url), 해당 서버의 액세스 토큰(access_token)을 준비하세요. 예시에서는 GitHub 도구를 사용합니다.
먼저 보안 저장소를 만드세요.
1
2
3
4
5
6const vault = await client.beta.agents.vaults.create({
name: "GitHub credentials",
metadata: {
external_user_id: "user_123",
},
});
1
2
3vault = client.beta.agents.vaults.create(
name="GitHub credentials", metadata={"external_user_id": "user_123"}
)
1
2
3
4
5
6
7
8vault, err := client.Beta.Agents.Vaults.New(ctx,
openai.BetaAgentVaultNewParams{
Name: openai.String("GitHub credentials"),
Metadata: map[string]string{"external_user_id": "user_123"},
})
if err != nil {
panic(err)
}
1
2
3
4
5
6
7
8
9
10
11
12
13var vault =
client
.beta()
.agents()
.vaults()
.create(
VaultCreateParams.builder()
.name("GitHub credentials")
.metadata(
VaultCreateParams.Metadata.builder()
.putAdditionalProperty("external_user_id", JsonValue.from("user_123"))
.build())
.build());
1
2
3
4vault = client.beta.agents.vaults.create(
name: "GitHub credentials",
metadata: { external_user_id: "user_123" }
)
보안 저장소 ID를 vault_id로 저장한 다음 토큰을 추가하세요. mcp_server_url에 지정한 서버에 자격 증명이 연결됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13// Replace the illustrative IDs and URLs below with your own resource values.
const vaultId = "vault_123";
const mcpUrl = "https://api.githubcopilot.com/mcp/";
const accessToken = process.env.GITHUB_TOKEN;
const credential = await client.beta.agents.vaults.credentials.create(vaultId, {
name: "GitHub access token",
auth: {
type: "static_bearer",
mcp_server_url: mcpUrl,
token: accessToken,
},
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14# Replace the illustrative IDs and URLs below with your own resource values.
vault_id = "vault_123"
mcp_url = "https://api.githubcopilot.com/mcp/"
access_token = os.environ["GITHUB_TOKEN"]
credential = client.beta.agents.vaults.credentials.create(
vault_id,
name="GitHub access token",
auth={
"type": "static_bearer",
"mcp_server_url": mcp_url,
"token": access_token,
},
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19// Replace the illustrative IDs and URLs below with your own resource values.
vaultId := "vault_123"
mcpUrl := "https://api.githubcopilot.com/mcp/"
accessToken := os.Getenv("GITHUB_TOKEN")
credential, err := client.Beta.Agents.Vaults.Credentials.New(ctx,
vaultId,
openai.BetaAgentVaultCredentialNewParams{
Name: "GitHub access token",
Auth: openai.CredentialAuthCreateParamUnion{
OfParamStaticBearer: &openai.CredentialAuthCreateParamStaticBearer{
McpServerURL: mcpUrl,
Token: accessToken,
},
},
})
if err != nil {
panic(err)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21// Replace the illustrative IDs and URLs below with your own resource values.
String vaultId = "vault_123";
String mcpUrl = "https://api.githubcopilot.com/mcp/";
String accessToken = System.getenv("GITHUB_TOKEN");
var credential =
client
.beta()
.agents()
.vaults()
.credentials()
.create(
CredentialCreateParams.builder()
.vaultId(vaultId)
.name("GitHub access token")
.auth(
CredentialAuthCreateParam.StaticBearer.builder()
.mcpServerUrl(mcpUrl)
.token(accessToken)
.build())
.build());
1
2
3
4
5
6
7
8
9
10
11
12
13
14# Replace the illustrative IDs and URLs below with your own resource values.
vault_id = "vault_123"
mcp_url = "https://api.githubcopilot.com/mcp/"
access_token = ENV.fetch("GITHUB_TOKEN")
credential = client.beta.agents.vaults.credentials.create(
vault_id,
name: "GitHub access token",
auth: {
type: "static_bearer",
mcp_server_url: mcp_url,
token: access_token
}
)
나중에 자격 증명을 업데이트할 수 있도록 자격 증명 ID를 credential_id로 저장하세요.
세션을 만들 때 앞서 저장한 보안 저장소 ID를 vault_ids에 전달하세요. MCP 설정에는 자격 증명에 지정한 것과 동일한 서버 URL을 사용하세요.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27// Replace the illustrative IDs and URLs below with your own resource values.
const mcpUrl = "https://api.githubcopilot.com/mcp/";
const vaultId = "vault_123";
const session = await client.beta.agents.sessions.create({
agent: {
model: "gpt-6-astra",
tools: [
{
type: "mcp",
server_label: "github",
transport: {
type: "http",
server_url: mcpUrl,
},
allowed_tools: ["search_issues", "issue_read"],
required: true,
connection_origin: "service",
},
],
},
environment: {
type: "none",
},
input: "Find open bugs reported in the last week.",
vault_ids: [vaultId],
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25# Replace the illustrative IDs and URLs below with your own resource values.
mcp_url = "https://api.githubcopilot.com/mcp/"
vault_id = "vault_123"
session = client.beta.agents.sessions.create(
agent={
"model": "gpt-6-astra",
"tools": [
{
"type": "mcp",
"server_label": "github",
"transport": {
"type": "http",
"server_url": mcp_url,
},
"allowed_tools": ["search_issues", "issue_read"],
"required": True,
"connection_origin": "service",
}
],
},
environment={"type": "none"},
input="Find open bugs reported in the last week.",
vault_ids=[vault_id],
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27// Replace the illustrative IDs and URLs below with your own resource values.
mcpUrl := "https://api.githubcopilot.com/mcp/"
vaultId := "vault_123"
session, err := client.Beta.Agents.Sessions.New(ctx,
openai.BetaAgentSessionNewParams{
Agent: openai.BetaAgentSessionNewParamsAgent{
Model: openai.String("gpt-6-astra"),
Tools: []openai.AgentToolParamUnion{
{
OfParamMcp: &openai.AgentToolParamMcp{
ServerLabel: "github",
Transport: openai.McpTransportParamUnion{OfParamHTTP: &openai.McpTransportParamHTTP{ServerURL: mcpUrl}},
AllowedTools: []string{"search_issues", "issue_read"},
Required: openai.Bool(true),
ConnectionOrigin: "service",
},
},
},
},
Environment: openai.EnvironmentParamUnion{OfParamNone: &openai.EnvironmentParamNone{}},
Input: openai.BetaAgentSessionNewParamsInputUnion{OfString: openai.String("Find open bugs reported in the last week.")},
VaultIDs: []string{vaultId},
})
if err != nil {
panic(err)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29// Replace the illustrative IDs and URLs below with your own resource values.
String mcpUrl = "https://api.githubcopilot.com/mcp/";
String vaultId = "vault_123";
var session =
client
.beta()
.agents()
.sessions()
.create(
SessionCreateParams.builder()
.agent(
SessionCreateParams.Agent.builder()
.model("gpt-6-astra")
.addTool(
AgentToolParam.Mcp.builder()
.serverLabel("github")
.transport(
McpTransportParam.Http.builder().serverUrl(mcpUrl).build())
.allowedTools(List.of("search_issues", "issue_read"))
.required(true)
.connectionOrigin(
AgentToolParam.Mcp.ConnectionOrigin.of("service"))
.build())
.build())
.environmentNone()
.input("Find open bugs reported in the last week.")
.vaultIds(List.of(vaultId))
.build());
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28# Replace the illustrative IDs and URLs below with your own resource values.
mcp_url = "https://api.githubcopilot.com/mcp/"
vault_id = "vault_123"
session = client.beta.agents.sessions.create(
agent: {
model: "gpt-6-astra",
tools: [
{
type: "mcp",
server_label: "github",
transport: {
type: "http",
server_url: mcp_url
},
allowed_tools: [
"search_issues",
"issue_read"
],
required: true,
connection_origin: "service"
}
]
},
environment: { type: "none" },
input: "Find open bugs reported in the last week.",
vault_ids: [vault_id]
)
Agents API는 서버 URL과 일치하는 자격 증명을 선택합니다. 세션에 연결된 자격 증명 중 여러 개가 일치하면 MCP 도구의 credential_id에 사용할 자격 증명 ID를 지정하세요.
OpenAI에서 호스팅하는 샌드박스가 보내는 API 요청에 시크릿을 제공하려면 environment_variable 유형의 자격 증명을 사용하세요. 샌드박스는 지정된 환경 변수로 자리표시자를 받습니다. 실제 시크릿은 샌드박스 외부에 보관됩니다.
이 워크플로우에는 openai_hosted 환경이 필요합니다. 자체 호스팅 환경이나 애플리케이션에서 실행하는 함수 도구에는 이 방식으로 자격 증명을 제공하지 않습니다.
위의 예시처럼 보안 저장소를 만드세요. 그런 다음 POST /v1/vaults/{vault_id}/credentials에 다음 필드를 포함한 자격 증명 생성 요청을 보내세요.
| 필드 |
GitHub API 토큰에 사용할 값 |
name |
GitHub API token |
auth.type |
environment_variable |
auth.secret_name |
GITHUB_TOKEN |
auth.secret_value |
애플리케이션의 시크릿 보관용 환경 변수에서 읽어 온 토큰 |
auth.networking.type |
limited |
auth.networking.allowed_hosts |
["api.github.com"] |
secret_name은 샌드박스 코드가 읽는 환경 변수의 이름입니다. secret_value는 실제 자격 증명 값입니다. 이 값을 프롬프트, 소스 파일 또는 로그에 포함하지 마세요.
allowed_hosts에는 스킴, 경로, 포트, 와일드카드를 제외한 정확한 호스트 이름을 지정하세요. 프록시는 포트 443 또는 8443을 사용하는 HTTPS 대상에만 시크릿을 제공합니다.
agent와 함께 다음 필드를 지정하여 세션을 만드세요. vault_123을 API가 반환한 보안 저장소 ID로 바꾸세요.
12345678910{
"vault_ids": ["vault_123"],
"environment": {
"type": "openai_hosted",
"network": {
"access": "restricted",
"allowed_domains": ["api.github.com"]
}
}
}
두 호스트 목록의 역할은 서로 다릅니다. allowed_domains는 샌드박스가 연결할 수 있는 호스트를 지정합니다. 자격 증명의 allowed_hosts는 프록시가 해당 시크릿을 제공할 수 있는 호스트를 지정합니다.
네트워크 액세스가 제한된 경우 자격 증명에 지정한 모든 호스트를 allowed_domains에 포함하세요. 환경 변수 자격 증명을 사용하는 세션에서는 network.access를 disabled로 설정하지 마세요.
세션에 연결된 환경 변수 자격 증명마다 secret_name이 달라야 합니다. environment.env에도 같은 이름을 정의하지 마세요.
에이전트에 메시지를 보내 샌드박스에서 다음 명령어를 실행하도록 요청하세요.
curl https://api.github.com/user \
-H "Authorization: Bearer $GITHUB_TOKEN"
이 명령어는 GITHUB_TOKEN에서 자리표시자를 읽습니다. 프록시는 자리표시자를 실제 토큰으로 바꾼 뒤 api.github.com으로 요청을 보냅니다. 요청이 성공하면 인증된 GitHub 사용자의 계정 정보가 JSON으로 반환됩니다. 샌드박스 안에서 환경 변수 값을 출력하면 자리표시자만 표시됩니다.
HTTPS 요청 헤더에는 자리표시자를 그대로 전달하세요. 요청 서명과 같은 로컬 연산에는 자리표시자로 실제 시크릿을 제공할 수 없습니다. 이런 작업을 수행하려면 자격 증명을 애플리케이션에 보관하고 함수 도구로 해당 작업을 제공하세요.
애플리케이션에서 공급자의 권한 부여 및 사용자 동의 플로우를 처리합니다. auth.type: "mcp_oauth"를 지정해 이 과정에서 받은 권한 부여 정보를 저장하세요. 액세스 토큰의 만료 시각을 알고 있다면 expires_at에 RFC 3339 형식의 타임스탬프로 지정하세요.
다음 예시에서는 공급자의 OAuth 플로우에서 받은 값을 사용합니다. Agents API가 토큰을 갱신할 수 있도록 refresh를 포함하세요.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27// Replace the illustrative expiry with your access token's actual expiry.
// Replace the illustrative IDs and URLs below with your own resource values.
const vaultId = "vault_123";
const mcpUrl = "https://mcp.example.com/mcp";
const accessToken = process.env.OAUTH_ACCESS_TOKEN;
const expiresAt = "2030-01-01T00:00:00Z";
const tokenEndpoint = "https://auth.example.com/oauth/token";
const clientId = "example-client-id";
const refreshToken = process.env.OAUTH_REFRESH_TOKEN;
const credential = await client.beta.agents.vaults.credentials.create(vaultId, {
name: "Example MCP OAuth credential",
auth: {
type: "mcp_oauth",
mcp_server_url: mcpUrl,
access_token: accessToken,
expires_at: expiresAt,
refresh: {
token_endpoint: tokenEndpoint,
client_id: clientId,
refresh_token: refreshToken,
token_endpoint_auth: {
type: "none",
},
},
},
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26# Replace the illustrative expiry with your access token's actual expiry.
# Replace the illustrative IDs and URLs below with your own resource values.
vault_id = "vault_123"
mcp_url = "https://mcp.example.com/mcp"
access_token = os.environ["OAUTH_ACCESS_TOKEN"]
expires_at = "2030-01-01T00:00:00Z"
token_endpoint = "https://auth.example.com/oauth/token"
client_id = "example-client-id"
refresh_token = os.environ["OAUTH_REFRESH_TOKEN"]
credential = client.beta.agents.vaults.credentials.create(
vault_id,
name="Example MCP OAuth credential",
auth={
"type": "mcp_oauth",
"mcp_server_url": mcp_url,
"access_token": access_token,
"expires_at": expires_at,
"refresh": {
"token_endpoint": token_endpoint,
"client_id": client_id,
"refresh_token": refresh_token,
"token_endpoint_auth": {"type": "none"},
},
},
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31// Replace the illustrative expiry with your access token's actual expiry.
// Replace the illustrative IDs and URLs below with your own resource values.
vaultId := "vault_123"
mcpUrl := "https://mcp.example.com/mcp"
accessToken := os.Getenv("OAUTH_ACCESS_TOKEN")
expiresAt := "2030-01-01T00:00:00Z"
tokenEndpoint := "https://auth.example.com/oauth/token"
clientId := "example-client-id"
refreshToken := os.Getenv("OAUTH_REFRESH_TOKEN")
credential, err := client.Beta.Agents.Vaults.Credentials.New(ctx,
vaultId,
openai.BetaAgentVaultCredentialNewParams{
Name: "Example MCP OAuth credential",
Auth: openai.CredentialAuthCreateParamUnion{
OfParamMcpOAuth: &openai.CredentialAuthCreateParamMcpOAuth{
McpServerURL: mcpUrl,
AccessToken: accessToken,
ExpiresAt: openai.String(expiresAt),
Refresh: openai.CredentialAuthCreateParamMcpOAuthRefresh{
TokenEndpoint: tokenEndpoint,
ClientID: clientId,
RefreshToken: refreshToken,
TokenEndpointAuth: openai.McpOAuthTokenEndpointAuthCreateParamUnion{OfParamNone: &openai.McpOAuthTokenEndpointAuthCreateParamNone{}},
},
},
},
})
if err != nil {
panic(err)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34// Replace the illustrative expiry with your access token's actual expiry.
// Replace the illustrative IDs and URLs below with your own resource values.
String vaultId = "vault_123";
String mcpUrl = "https://mcp.example.com/mcp";
String accessToken = System.getenv("OAUTH_ACCESS_TOKEN");
String expiresAt = "2030-01-01T00:00:00Z";
String tokenEndpoint = "https://auth.example.com/oauth/token";
String clientId = "example-client-id";
String refreshToken = System.getenv("OAUTH_REFRESH_TOKEN");
var credential =
client
.beta()
.agents()
.vaults()
.credentials()
.create(
CredentialCreateParams.builder()
.vaultId(vaultId)
.name("Example MCP OAuth credential")
.auth(
CredentialAuthCreateParam.McpOAuth.builder()
.mcpServerUrl(mcpUrl)
.accessToken(accessToken)
.expiresAt(expiresAt)
.refresh(
CredentialAuthCreateParam.McpOAuth.Refresh.builder()
.tokenEndpoint(tokenEndpoint)
.clientId(clientId)
.refreshToken(refreshToken)
.tokenEndpointAuthNone()
.build())
.build())
.build());
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26# Replace the illustrative expiry with your access token's actual expiry.
# Replace the illustrative IDs and URLs below with your own resource values.
vault_id = "vault_123"
mcp_url = "https://mcp.example.com/mcp"
access_token = ENV.fetch("OAUTH_ACCESS_TOKEN")
expires_at = "2030-01-01T00:00:00Z"
token_endpoint = "https://auth.example.com/oauth/token"
client_id = "example-client-id"
refresh_token = ENV.fetch("OAUTH_REFRESH_TOKEN")
credential = client.beta.agents.vaults.credentials.create(
vault_id,
name: "Example MCP OAuth credential",
auth: {
type: "mcp_oauth",
mcp_server_url: mcp_url,
access_token: access_token,
expires_at: expires_at,
refresh: {
token_endpoint: token_endpoint,
client_id: client_id,
refresh_token: refresh_token,
token_endpoint_auth: { type: "none" }
}
}
)
공급자가 요구하는 토큰 엔드포인트 인증 방식을 사용하세요. 예시에서는 none을 사용합니다. client_secret_basic과 client_secret_post도 지원합니다. 각 필드는 자격 증명 생성 API 레퍼런스에서 확인하세요.
만료된 토큰을 갱신할 수 없으면 유효한 토큰으로 교체하세요. 토큰이 만료되어도 자격 증명과 보안 저장소는 삭제되지 않습니다.
자격 증명을 업데이트하면 ID와 인증 유형을 유지하면서 시크릿을 교체할 수 있습니다. MCP 자격 증명의 경우 서버 URL도 유지됩니다. OAuth 자격 증명을 업데이트할 때는 저장해 둔 vault_id와 credential_id를 새 토큰 및 만료 시각과 함께 사용하세요.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20// Replace the illustrative expiry with your access token's actual expiry.
// Replace the illustrative IDs and URLs below with your own resource values.
const credentialId = "cred_123";
const vaultId = "vault_123";
const accessToken = process.env.OAUTH_ACCESS_TOKEN;
const expiresAt = "2030-01-01T00:00:00Z";
const credential = await client.beta.agents.vaults.credentials.update(
credentialId,
{
vault_id: vaultId,
...{
auth: {
type: "mcp_oauth",
access_token: accessToken,
expires_at: expiresAt,
},
},
}
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16# Replace the illustrative expiry with your access token's actual expiry.
# Replace the illustrative IDs and URLs below with your own resource values.
credential_id = "cred_123"
vault_id = "vault_123"
access_token = os.environ["OAUTH_ACCESS_TOKEN"]
expires_at = "2030-01-01T00:00:00Z"
credential = client.beta.agents.vaults.credentials.update(
credential_id,
vault_id=vault_id,
auth={
"type": "mcp_oauth",
"access_token": access_token,
"expires_at": expires_at,
},
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21// Replace the illustrative expiry with your access token's actual expiry.
// Replace the illustrative IDs and URLs below with your own resource values.
vaultId := "vault_123"
credentialId := "cred_123"
accessToken := os.Getenv("OAUTH_ACCESS_TOKEN")
expiresAt := "2030-01-01T00:00:00Z"
credential, err := client.Beta.Agents.Vaults.Credentials.Update(ctx,
vaultId,
credentialId,
openai.BetaAgentVaultCredentialUpdateParams{
Auth: openai.CredentialAuthRotateParamUnion{
OfParamMcpOAuth: &openai.CredentialAuthRotateParamMcpOAuth{
AccessToken: openai.String(accessToken),
ExpiresAt: openai.String(expiresAt),
},
},
})
if err != nil {
panic(err)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23// Replace the illustrative expiry with your access token's actual expiry.
// Replace the illustrative IDs and URLs below with your own resource values.
String credentialId = "cred_123";
String vaultId = "vault_123";
String accessToken = System.getenv("OAUTH_ACCESS_TOKEN");
String expiresAt = "2030-01-01T00:00:00Z";
var credential =
client
.beta()
.agents()
.vaults()
.credentials()
.update(
CredentialUpdateParams.builder()
.credentialId(credentialId)
.vaultId(vaultId)
.auth(
CredentialAuthRotateParam.McpOAuth.builder()
.accessToken(accessToken)
.expiresAt(expiresAt)
.build())
.build());
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16# Replace the illustrative expiry with your access token's actual expiry.
# Replace the illustrative IDs and URLs below with your own resource values.
credential_id = "cred_123"
vault_id = "vault_123"
access_token = ENV.fetch("OAUTH_ACCESS_TOKEN")
expires_at = "2030-01-01T00:00:00Z"
credential = client.beta.agents.vaults.credentials.update(
credential_id,
vault_id: vault_id,
auth: {
type: "mcp_oauth",
access_token: access_token,
expires_at: expires_at
}
)
새 토큰에 만료 시각이 있으면 expires_at을 포함하세요. 만료 시각 없이 새 액세스 토큰을 전달하면 기존에 저장된 만료 시각이 삭제됩니다. null을 명시적으로 지정해도 삭제됩니다.
환경 변수 자격 증명을 업데이트하려면 auth.type: "environment_variable"과 새 auth.secret_value 값을 POST /v1/vaults/{vault_id}/credentials/{credential_id}로 보내세요. 새 값을 사용하려면 새 세션을 만드세요. 보안 저장소를 업데이트해도 기존 샌드박스에 이미 설정된 자격 증명은 바뀌지 않습니다.
secret_name이나 networking을 변경하려면 새 자격 증명을 만드세요.
더 이상 필요하지 않은 자격 증명을 삭제하세요. 보안 저장소를 삭제하면 저장소와 그 안의 모든 자격 증명이 함께 삭제됩니다.
저장된 자격 증명을 삭제해도 공급자가 발급한 원래 토큰은 폐기되지 않으며 실행 중인 세션도 중지되지 않습니다. 공급자 측의 토큰 폐기와 세션 취소는 애플리케이션에서 처리합니다.