{"id":35089,"date":"2025-09-22T08:55:13","date_gmt":"2025-09-22T01:55:13","guid":{"rendered":"http:\/\/jupitek.maudemo.vip\/index.php\/2025\/09\/22\/tao-object-storage-key-truy-cap-khong-gioi-han\/"},"modified":"2025-09-22T08:55:13","modified_gmt":"2025-09-22T01:55:13","slug":"tao-object-storage-key-truy-cap-khong-gioi-han","status":"publish","type":"post","link":"https:\/\/jupitek.maudemo.vip\/index.php\/2025\/09\/22\/tao-object-storage-key-truy-cap-khong-gioi-han\/","title":{"rendered":"T\u1ea1o\u00a0<em>Object Storage key<\/em>\u00a0truy c\u1eadp kh\u00f4ng gi\u1edbi h\u1ea1n"},"content":{"rendered":"<p><!DOCTYPE html><br \/>\n<html lang=\"vi\"><br \/>\n<head><br \/>\n  <meta charset=\"utf-8\" \/><br \/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" \/><br \/>\n  <title>T\u1ea1o Object Storage Key truy c\u1eadp kh\u00f4ng gi\u1edbi h\u1ea1n<\/title><\/p>\n<style>\n    :root{\n      --bg:#ffffff;\n      --card:#f9f9fb;\n      --text:#1a1a1a;\n      --muted:#555;\n      --accent:#0066cc;\n      --border:#ddd;\n      --code:#f5f5f5;\n      --green:#16a34a;\n    }\n    *{box-sizing:border-box}\n    html,body{height:100%}\n    body{\n      margin:0;\n      font:16px\/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;\n      color:var(--text);\n      background:var(--bg);\n    }\n    .wrap{max-width:980px;margin:48px auto;padding:0 20px 60px}\n    header h1{font-size:clamp(22px,4vw,34px);margin:0 0 8px}\n    header p{color:var(--muted);margin:0 0 24px}\n    .card{\n      background:var(--card);\n      border:1px solid var(--border);\n      border-radius:14px;\n      padding:24px;\n      margin-bottom:18px;\n    }\n    h2{font-size:22px;margin:10px 0 12px}\n    h3{font-size:18px;margin:20px 0 8px;color:var(--accent)}\n    ul{margin:0 0 0 20px}\n    .note{\n      border-left:4px solid var(--accent);\n      background:#eef6ff;\n      padding:12px 14px;\n      border-radius:8px;\n      margin-top:12px\n    }\n    code, pre{\n      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n      font-size:14px;\n    }\n    pre{\n      padding:14px 16px;\n      background:var(--code);\n      border:1px solid var(--border);\n      border-radius:12px;\n      overflow:auto;\n      margin:10px 0 0;\n    }\n    .label{display:inline-block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);border:1px solid var(--border);border-radius:999px;padding:4px 10px;background:#fff;margin-bottom:8px}\n    .success{color:var();font-weight:600}\n    .grid{display:grid;gap:14px;grid-template-columns:1fr}\n    @media (min-width: 840px){ .grid{grid-template-columns: 1fr 1fr;} }\n    .kbd{display:inline-block;border:1px solid var(--border);border-bottom-width:2px;border-radius:6px;padding:0 6px;background:#f1f1f1}\n    footer{margin-top:30px;color:var(--muted);font-size:14px}\n    a{color:var(--accent);text-decoration:none}\n    a:hover{text-decoration:underline}\n  <\/style>\n<p><\/head><br \/>\n<body><\/p>\n<div class=\"wrap\">\n<header>\n<h1>T\u1ea1o <em>Object Storage key<\/em> truy c\u1eadp kh\u00f4ng gi\u1edbi h\u1ea1n<\/h1>\n<p>H\u01b0\u1edbng d\u1eabn n\u00e0y t\u1ea1o m\u1ed9t kh\u00f3a x\u00e1c th\u1ef1c cho Object Storage c\u00f3 quy\u1ec1n qu\u1ea3n l\u00fd <strong>t\u1ea5t c\u1ea3 bucket<\/strong> trong c\u00e1c v\u00f9ng (region) b\u1ea1n ch\u1ec9 \u0111\u1ecbnh\u2014d\u00f9ng \u0111\u1ec3 <em>list<\/em> v\u00e0 <em>create<\/em> bucket.<\/p>\n<\/header>\n<section class=\"card\">\n<h2>Quy tr\u00ecnh<\/h2>\n<ol>\n<li>\n<h3>B\u01b0\u1edbc 1 \u2014 Li\u1ec7t k\u00ea v\u00f9ng (regions) v\u00e0 ki\u1ec3m tra kh\u1ea3 n\u0103ng <code>Object Storage<\/code><\/h3>\n<pre><code>{\n  \"data\": [\n    {\n      \"capabilities\": [\n        \"Linodes\",\n        \"NodeBalancers\",\n        \"Block Storage\",\n        \"Object Storage\", &lt;== Region h\u1ed7 tr\u1ee3 Object Storage\n        \"Placement Groups\",\n        \"Block Storage Encryption\",\n        \"Linode Interfaces\"\n      ],\n      \"country\": \"france\",\n      \"id\": \"fr-pr-1\"  &lt;== ID c\u1ee7a region\n    }\n  ]\n}<\/code><\/pre>\n<\/li>\n<li>\n<h3>B\u01b0\u1edbc 2 \u2014 T\u1ea1o kh\u00f3a Object Storage truy c\u1eadp kh\u00f4ng gi\u1edbi h\u1ea1n<\/h3>\n<pre><code>{\n  \"label\": \"Regular OBJ Access - EU\",\n  \"regions\": [\n    \"fr-pr-1\"\n  ]\n}<\/code><\/pre>\n<div class=\"note\">\n            Sau khi th\u1ef1c thi, h\u00e3y <strong>l\u01b0u l\u1ea1i<\/strong> gi\u00e1 tr\u1ecb <code>secret_key<\/code> trong response. Kho\u00e1 b\u00ed m\u1eadt n\u00e0y ch\u1ec9 hi\u1ec3n th\u1ecb <em>m\u1ed9t l\u1ea7n duy nh\u1ea5t<\/em> \u1edf ph\u1ea3n h\u1ed3i c\u1ee7a thao t\u00e1c t\u1ea1o.\n          <\/div>\n<\/li>\n<\/ol>\n<\/section>\n<section class=\"card\">\n<h2>K\u1ebft qu\u1ea3 cu\u1ed1i c\u00f9ng<\/h2>\n<p>B\u1ea1n c\u00f3 th\u1ec3 d\u00f9ng kh\u00f3a \u0111\u1ec3 qu\u1ea3n l\u00fd <strong>m\u1ecdi bucket<\/strong> trong c\u00e1c region \u0111\u00e3 ch\u1ec9 \u0111\u1ecbnh khi t\u1ea1o kh\u00f3a.<\/p>\n<p class=\"success\">\ud83d\udc4d B\u1ea1n c\u0169ng c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp <em>bucket policy<\/em> \u0111\u1ec3 ki\u1ec3m so\u00e1t chi ti\u1ebft quy\u1ec1n truy c\u1eadp cho t\u1eebng bucket.<\/p>\n<p>Xem h\u01b0\u1edbng d\u1eabn chi ti\u1ebft v\u1ec1 bucket policy t\u1ea1i:<br \/>\n        <a href=\"https:\/\/techdocs.akamai.com\/cloud-computing\/docs\/define-access-and-permissions-using-bucket-policies\" target=\"_blank\" rel=\"noopener\"><br \/>\n          Akamai Cloud Computing Docs \u2014 Bucket Policies<br \/>\n        <\/a>\n      <\/p>\n<\/section>\n<footer>\n    <\/footer>\n<\/p><\/div>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u1ea1o Object Storage Key truy c\u1eadp kh\u00f4ng gi\u1edbi h\u1ea1n T\u1ea1o Object Storage key truy c\u1eadp kh\u00f4ng gi\u1edbi h\u1ea1n H\u01b0\u1edbng d\u1eabn n\u00e0y t\u1ea1o m\u1ed9t kh\u00f3a x\u00e1c th\u1ef1c cho Object Storage c\u00f3 quy\u1ec1n qu\u1ea3n l\u00fd t\u1ea5t c\u1ea3 bucket trong c\u00e1c v\u00f9ng (region) b\u1ea1n ch\u1ec9 \u0111\u1ecbnh\u2014d\u00f9ng \u0111\u1ec3 list v\u00e0 create bucket. Quy tr\u00ecnh B\u01b0\u1edbc 1 \u2014 Li\u1ec7t k\u00ea<\/p>\n","protected":false},"author":1,"featured_media":36540,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[119],"tags":[],"class_list":["post-35089","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-object-storage-api-workflows"],"_links":{"self":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/35089","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/comments?post=35089"}],"version-history":[{"count":0,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/35089\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/media\/36540"}],"wp:attachment":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/media?parent=35089"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/categories?post=35089"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/tags?post=35089"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}